1.5
Η ανάγκη για μηχανές παιχνιδιών
Η ανάγκη για επαναχρησιμοποίηση λογισμικού είχε αρχίσει να εμφανίζεται ήδη πριν την
καθιέρωση των σύγχρονων game engines. Χαρακτηριστικό παράδειγμα αποτελεί το SCUMM
(Script Creation Utility for Maniac Mansion), το οποίο αναπτύχθηκε από τη Lucasfilm Games
το 1987 για την ανάπτυξη παιχνιδιών περιπέτειας. Το σύστημα αυτό επέτρεπε τον διαχωρισμό
της λογικής και του περιεχομένου του παιχνιδιού από τον χαμηλού επιπέδου κώδικα, επιτρέπο-
ντας την ανάπτυξη πολλαπλών τίτλων πάνω στην ίδια τεχνολογική βάση. Η προσέγγιση αυτή
μείωσε σημαντικά τον χρόνο ανάπτυξης και ανέδειξε τα οφέλη της επαναχρησιμοποίησης λογι-
σμικού, προαναγγέλλοντας πολλές από τις αρχές που υιοθετήθηκαν αργότερα από τις σύγχρονες
μηχανές παιχνιδιών.
Με την εξέλιξη των βιντεοπαιχνιδιών και ειδικότερα με τη μετάβαση από τα απλά δισδιά-
στατα (2D) περιβάλλοντα στα τρισδιάστατα (3D), οι απαιτήσεις σε επίπεδο τεχνολογίας και
υπολογιστικής πολυπλοκότητας αυξήθηκαν. Όπως περιγράφει το βιβλίο [6], η ανάπτυξη των
3D παιχνιδιών απαίτησε τη διαχείριση χιλιάδων πολυγώνων, προηγμένων φωτισμών, φυσικής
προσομοίωσης και ρεαλιστικής απεικόνισης του χώρου. Έτσι, ο προγραμματισμός ενός παιχνι-
διού “από το μηδέν” όπως γινόταν στις πρώτες δεκαετίες της βιομηχανίας έγινε πλέον σχεδόν
ανέφικτος για μεμονωμένους δημιουργούς ή μικρές ομάδες.
Αυτό οδήγησε στην ανάγκη δημιουργίας επαναχρησιμοποιήσιμων λογισμικών υποδομών,
γνωστών ως μηχανές παιχνιδιών (game engines). Μια μηχανή παιχνιδιών λειτουργεί ως ενδιά-
μεσο στρώμα (middleware) μεταξύ του προγραμματιστή και του υλικού (hardware), παρέχοντας
ένα σύνολο έτοιμων εργαλείων, βιβλιοθηκών και δομών που απλοποιούν τη διαδικασία ανάπτυ-
ξης . Αντί κάθε προγραμματιστής να γράφει εξ αρχής τον δικό του κώδικα για το rendering, τον
ήχο, τη φυσική ή τη διαχείριση των πόρων, οι μηχανές προσφέρουν αυτά τα υποσυστήματα σε
ενιαίο πλαίσιο.
Σύμφωνα με τον Jason Gregory [4], η δημιουργία των πρώτων εμπορικών game engines
στα μέσα της δεκαετίας του 1990 (όπως η id Tech 1 του Doom, 1993, και η Unreal Engine,
1998) σηματοδότησε μια νέα εποχή “λογισμικής βιομηχανοποίησης” των παιχνιδιών. Πλέον, τα
στούντιο μπορούσαν να διαχωρίσουν την “τεχνολογική βάση” από το “περιεχόμενο”, επιτρέπο-
ντας επαναχρησιμοποίηση, ευκολότερες ενημερώσεις και γρηγορότερους κύκλους ανάπτυξης.
Οι μηχανές παιχνιδιών μετατράπηκαν έτσι σε κεντρικό άξονα παραγωγής και σε βασικό εργα-
λείο κατανόησης του πώς λειτουργεί ένα παιχνίδι εσωτερικά. Η εξέλιξη αυτή κατέστησε τις
μηχανές παιχνιδιών θεμελιώδες στοιχείο της σύγχρονης ανάπτυξης βιντεοπαιχνιδιών, καθιστώ-
ντας απαραίτητη τη μελέτη της αρχιτεκτονικής και των επιμέρους υποσυστημάτων τους.
4