# Μηχανή παιχνιδιού

Μια **μηχανή παιχνιδιού** είναι ένα σύστημα λογισμικού σχεδιασμένο για τη δημιουργία και την ανάπτυξη βιντεοπαιχνιδιών. Υπάρχουν πολλές μηχανές παιχνιδιών οι οποίες είναι σχεδιασμένες να δουλεύουν σε κονσόλες βιντεοπαιχνιδιών και λειτουργικά συστήματα επιτραπέζιων υπολογιστών όπως τα Microsoft Windows, το Linux, και το Mac OS X. Η κεντρική λειτουργικότητα που παρέχεται τυπικά από μια μηχανή παιχνιδιού περιλαμβάνει μια μηχανή φωτοαπόδοσης ("renderer") για 2D ή 3D γραφικά, μια μηχανή φυσικής ή εντοπισμού συγκρούσεων (collision detection, καθώς και collision response), ήχο, scripting, animation, τεχνητή νοημοσύνη, δικτύωση, streaming, διαχείριση μνήμης, νήματα (threading), υποστήριξη τοπικοποίησης, και ένα γράφο σκηνής (scene graph). Η διαδικασία της ανάπτυξης παιχνιδιού συχνά οικονομικοποιείται με το ότι σε μεγάλο μέρος η ίδια μηχανή παιχνιδιού επαναχρησιμοποιείται για να δημιουργηθούν διαφορετικά παιχνίδια.

## Επισκόπηση

Οι μηχανές παιχνιδιών παρέχουν μια σουίτα οπτικών εργαλείων ανάπτυξης εκτός από επαναχρησιμοποιήσιμα στοιχεία λογισμικού. Αυτά τα εργαλεία γενικά παρέχονται σε ένα ολοκληρωμένο περιβάλλον ανάπτυξης ώστε να καθιστούν ικανή την απλή, γρήγορη ανάπτυξη παιχνιδιών με ένα οδηγούμενο από δεδομένα τρόπο. Αυτές οι μηχανές παιχνιδιών συχνά καλούνται "game middleware" επειδή, όπως με την εμπορική έννοια του όρου, παρέχουν μια ευέλικτη και επαναχρησιμοποιήσιμη πλατφόρμα λογισμικού η οποία παρέχει όλη την κεντρική λειτουργικότητα που απαιτείται, αμέσως έξω από το κουτί, για την ανάπτυξη μια εφαρμογής παιχνιδιού ενώ ταυτόχρονα μειώνει τα κόστη, τις πολυπλοκότητες, και το χρόνο μέχρι την αγορά (time-to-market) — όλοι κρίσιμοι παράγοντες στην υψηλά ανταγωνιστική βιομηχανία βιντεοπαιχνιδιών.

Όπως άλλες λύσεις middleware, οι μηχανές παιχνιδιών συνήθως παρέχουν μια αφαίρεση της πλατφόρμας, επιτρέποντας στο ίδιο παιχνίδι να τρέχει σε διάφορες πλατφόρμες συμπεριλαμβανομένων των κονσολών παιχνιδιών και των προσωπικών υπολογιστών με λίγες, αν όχι καθόλου, αλλαγές στον πηγαίο κώδικα του παιχνιδιού. Συχνά, το middleware παιχνιδιού σχεδιάζεται με μια βασισμένη σε στοιχεία αρχιτεκτονική η οποία επιτρέπει σε συγκεκριμένα συστήματα στη μηχανή να αντικατασταθούν ή να επεκταθούν με πιο εξειδικευμένα (και συχνά πιο ακριβά) στοιχεία middleware όπως το Havok για φυσική, το FMOD για ήχο, ή το Scaleform για UI και Βίντεο. Μερικές μηχανές παιχνιδιών όπως η RenderWare είναι και ακόμη σχεδιασμένες ως μια σειρά χαλαρά συνδεδεμένων στοιχείων middleware τα οποία μπορούν να συνδυαστούν κατά βούληση για τη δημιουργία μια προσαρμοσμένης μηχανής, αντί για την πιο κοινή προσέγγιση της επέκτασης ή της προσαρμογής μια ευέλικτης ενσωματωμένης λύσης. Με οποιοδήποτε τρόπο και αν η επεκτασιμότητα επιτυγχάνεται, παραμένει μια υψηλή προτεραιότητα στις μηχανές παιχνιδιών λόγω της ευρείας ποικιλίας χρήσεων για την οποίες αυτές εφαρμόζονται. Παρά την συγκεκριμένη έννοια του ονόματος, οι μηχανές παιχνιδιών συχνά χρησιμοποιούνται για άλλα είδη διαδραστικών εφαρμογών με πραγματικού χρόνου γραφικές απαιτήσεις όπως επιδείξεις μάρκετινγκ, αρχιτεκτονικές οπτικοποιήσεις, εκπαιδευτικές εξομοιώσεις, και περιβάλλοντα μοντελοποίησης.

Μερικές μηχανές παιχνιδιών παρέχουν μόνο ικανότητες φωτοαπόδοσης 3D πραγματικού χρόνου (real time 3D rendering) αντί της ευρείας γκάμας λειτουργικότητας που απαιτείται από τα παιχνίδια. Αυτές οι μηχανές βασίζονται στον δημιουργό του παιχνιδιού να εφαρμόσει το υπόλοιπο αυτής της λειτουργικότητας ή να το συνθέσει από άλλα στοιχεία middleware παιχνιδιού. Αυτού του τύπου οι μηχανές γενικά αναφέρονται ως «μηχανή γραφικών», «μηχανή rendering», ή «μηχανή 3D» αντί για τον πιο περιληπτικό όρο «μηχανή παιχνιδιού». Ωστόσο, αυτή η ορολογία χρησιμοποιείται ανακόλουθα καθώς πολλές πλήρεις σε χαρακτηριστικά μηχανές 3D παιχνιδιών αναφέρονται απλά ως «μηχανές 3D». Μερικά παραδείγματα μηχανών γραφικών είναι οι εξής: RealmForge, Truevision3D, OGRE, Crystal Space, Genesis3D, Irrlicht και JMonkey Engine. Οι μοντέρνες μηχανές παιχνιδιών ή γραφικών γενικά παρέχουν ένα scene graph, ο οποίος είναι μια αντικειμενοστρεφής αναπαράσταση του 3D κόσμου του παιχνιδιού η οποία συχνά απλοποιεί τον σχεδιασμό του παιχνιδιού και μπορεί να χρησιμοποιηθεί για πιο αποδοτικό rendering τεράστιων εικονικών κόσμων.

## Αφαίρεση υλικού

Πιο συχνά, οι 3D μηχανές ή τα συστήματα rendering στις μηχανές παιχνιδιών κατασκευάζονται πάνω σε ένα API γραφικών, όπως τα Direct3D ή OpenGL, το οποίο παρέχει μια αφαιρετικότητα λογισμικού της GPU ή της κάρτας βίντεο. Βιβλιοθήκες χαμηλού επιπέδου όπως τα DirectX, SDL και OpenAL επίσης χρησιμοποιούνται συχνά σε παιχνίδια καθώς παρέχουν πρόσβαση ανεξάρτητη από το υλικό σε άλλο υλικό του υπολογιστή όπως συσκευές εισόδου (ποντίκι (υπολογιστές), πληκτρολόγιο και joystick), κάρτες δικτύου και κάρτες ήχου. Πριν από τα επιταχυνόμενα από το υλικό 3D γραφικά, είχαν χρησιμοποιηθεί renderers λογισμικού. To rendering λογισμικού ακόμα χρησιμοποιείται σε κάποια εργαλεία μοντελοποίησης ή για εικόνες ακίνητα rendered όταν η οπτική ακρίβεια αποτιμάται πάνω από την επίδοση πραγματικού χρόνου (καρέ ανά δευτερόλεπτο) ή όταν το υλικό του υπολογιστή δεν συναντά απαιτήσεις όπως υποστήριξη shader ή, στην περίπτωση των Windows Vista, υποστήριξη για το Direct3D 10.

Με την ανατολή της επιταχυνόμενης από το υλικό επεξεργασίας φυσικής, διάφορα API φυσικής όπως το PAL και οι επεκτάσεις φυσικής του COLLADA (μιας ανταλλακτικής μορφής για 3D στοιχεία) έγιναν διαθέσιμα για να παρέχουν μια αφαιρετικότητα λογισμικού της μονάδας επεξεργασίας φυσικής διαφορετικών παρόχων middleware και πλατφορμών κονσολών.

## Ιστορία

Πριν από τις μηχανές παιχνιδιών, τα παιχνίδια τυπικά γράφονταν ως μοναδικές οντότητες: ένα παιχνίδι για το Atari 2600, για παράδειγμα, έπρεπε να σχεδιαστεί από το μηδέν για να κάνει βέλτιστη χρήση του υλικού εμφάνισης – αυτή η κεντρική ρουτίνα εμφάνισης σήμερα καλείται πυρήνας από τους δημιουργούς retro. Άλλες πλατφόρμες είχαν περισσότερα περιθώρια, αλλά ακόμα και όταν η εμφάνιση δεν ήταν μέριμνα, οι περιορισμοί μνήμης συνήθως σαμπόταραν προσπάθειες για τη δημιουργία της βαριάς σε δεδομένα σχεδίασης που μια μηχανή απαιτούσε. Ακόμα και σε πιο φιλικές πλατφόρμες, πολύ λίγα μπορούσαν να χρησιμοποιηθούν ανάμεσα σε παιχνίδια. Η γοργή ανάπτυξη του arcade υλικού – ο ακρογωνιαίος λίθος της αγοράς – σήμαινε ότι το μεγαλύτερο μέρος του κώδικα θα έπρεπε να πεταχτεί μετά έτσι και αλλιώς, καθώς οι μεταγενέστερες γενιές παιχνιδιών θα χρησιμοποιούσαν τελείως διαφορετικές σχεδιάσεις παιχνιδιών οι οποίες εκμεταλλευόντουσαν επιπλέον πόρους. Παρομοίως, οι περισσότερες σχεδιάσεις παιχνιδιών τη δεκαετία του 1980 σχεδιάζονταν διαμέσου ενός σκληρά κωδικοποιημένου συνόλου κανόνων με μια μικρή ποσότητα δεδομένων επιπέδου και γραφικών.

Η πρώτη γενιά μηχανών γραφικών τρίτων μερών ή renderers κυριαρχούνταν από τρεις παίκτες: την BRender από την Argonaut Software, την Renderware από την Criterion Software Limited και την Reality Lab της RenderMorphics. Η Reality Lab ήταν η ταχύτερη από τις τρεις και ήταν η πρώτη που αναλήφθηκε σε μια επιθετική κίνηση της Microsoft. Η ομάδα της RenderMorphics, οι Servan Keondjian, Kate Seekings και Doug Rabson, ακολούθως προσχώρησαν στο εγχείρημα της Microsoft το οποίο μετέτρεψε την Reality Lab στο Direct3D, πριν οι Keondjian και Rabson φύγουν για να ξεκινήσουν μια άλλη εταιρεία middleware Qube Software. Η Renderware τελικά αγοράστηκε από την EA.

Ο όρος «μηχανή παιχνιδιού» ήρθε στην επιφάνεια στα μέσα της δεκαετίας του 1990, ειδικά σε σχέση με 3D παιχνίδια, όπως τα βολών πρώτου προσώπου (FPS). (*Δείτε επίσης:* μηχανή βολών πρώτου προσώπου). Τόση ήταν η δημοτικότητα των σειρών παιχνιδιών Doom και Quake που, αντί να δουλέψουν από μηδενική βάση, άλλοι δημιουργοί πήραν άδεια για τα κεντρικά κομμάτια του λογισμικού και σχεδίασαν τα δικά τους γραφικά, χαρακτήρες, όπλα και επίπεδα – το «περιεχόμενο του παιχνιδιού» ή τα «στοιχεία του παιχνιδιού». Ο διαχωρισμός των ειδικών για το παιχνίδι κανόνων και δεδομένων από βασικές έννοιες όπως ο έλεγχος σύγκρουσης και οι οντότητες του παιχνιδιού σήμαινε ότι οι ομάδες μπορούσαν να μεγαλώσουν και να ειδικευτούν.

Μεταγενέστερα παιχνίδια, όπως το *Quake III Arena* και το *Unreal* του 1998 της Epic Games σχεδιάζονταν με αυτή την προσέγγιση στο μυαλό, με τη μηχανή και το περιεχόμενο αναπτυγμένα ξεχωριστά. Η πρακτική της αδειοδότησης τέτοιας τεχνολογίας έχει αποδειχθεί ότι είναι μια χρήσιμη βοηθητική πηγή εσόδων για κάποιος δημιουργούς παιχνιδιών, καθώς μια μόνο άδεια για μια υψηλής ποιότητας εμπορική μηχανή παιχνιδιού μπορεί να κυμανθεί από $10,000 μέχρι εκατομμύρια δολάρια, και ο αριθμός των αποδεκτών αδειών μπορεί να φτάσει αρκετές ντουζίνες εταιρειών (όπως έγινε με την Unreal Engine. Τουλάχιστον, οι επαναχρησιμοποιήσιμες μηχανές κάνουν την ανάπτυξη συνεχειών παιχνιδιών γρηγορότερη και ευκολότερη, το οποίο είναι ένα πλεονέκτημα αξίας στην ανταγωνιστική βιομηχανία βιντεοπαιχνιδιών.

Οι μοντέρνες μηχανές παιχνιδιών είναι μερικές από τις πιο πολύπλοκες εφαρμογές για γράψιμο, με το να συχνά χαρακτηρίζονται από τελειοποιημένα συστήματα που αλληλεπιδρούν για να εγγυώνται μια ακριβώς ελεγχόμενη εμπειρία χρήστη. Η συνεχής εξέλιξη των μηχανών παιχνιδιών έχει δημιουργήσει ένα ισχυρό διαχωρισμό ανάμεσα στο rendering, το scripting, την τέχνη, και το σχεδιασμό επιπέδων. Είναι τώρα κοινό, για παράδειγμα, για μια τυπική ομάδα ανάπτυξη παιχνιδιού να έχει πολλές φορές περισσότερους καλλιτέχνες απ' ότι προγραμματιστές.

Τα παιχνίδια βολών πρώτου προσώπου παραμένουν οι κυρίαρχοι χρήστες μηχανών παιχνιδιών τρίτων μερών, αλλά τώρα επίσης χρησιμοποιούνται σε άλλα είδη. Για παράδειγμα, το βιντεοπαιχνίδι ρόλων *The Elder Scrolls III: Morrowind* και το MMORPG *Dark Age of Camelot* βασίζονται στη μηχανή Gamebryo, ενώ το επίσης MMORPG,*Lineage II*, στην Unreal Engine. Οι μηχανές παιχνιδιών χρησιμοποιούνται επίσης για παιχνίδια αρχικά ανεπτυγμένα για οικιακές κονσόλες: για παράδειγμα η μηχανή RenderWare χρησιμοποιείται στο *Burnout* και μέσω Rockstar Advanced Game Engine της στα franchises *Grand Theft Auto*.

Ο προγραμματισμός με νήματα γίνεται όλο και πιο σημαντικός λόγω των μοντέρνων πολυπύρηνων συστημάτων (π.χ. ο Cell της Sony και των αυξημένων απαιτήσεων σε ρεαλισμό. Τυπικά νήματα περιλαμβάνουν το rendering, το streaming, τον ήχο, και τη Φυσική. Τα αγωνιστικά παιχνίδια έχουν τυπικά βρεθεί στην πρώτη γραμμή του προγραμματισμού με νήματα με τη μηχανή Φυσικής να τρέχει ένα ξεχωριστό νήμα πολύ πριν άλλα υποσυστήματα του πυρήνα μετακινήθηκαν, κατά ένα μέρος επειδή το rendering και σχετικές εργασίες απαιτούν μόνο ενημέρωση στα 30-60 Hz. Για παράδειγμα, το Need For Speed στο Playstation τρέχει την Φυσική του στα 100 Hz συγκρινόμενα με το Forza Motorsport 2 που τρέχει τη Φυσική του στα 360 Hz.

Αν και ο όρος πρωτοχρησιμοποιήθηκε στη δεκαετία του 1990, υπάρχουν κάποια προγενέστερα συστήματα στη δεκαετία του 1980 τα οποία επίσης θεωρούνται μηχανές παιχνιδιών, όπως τα συστήματα AGI και SCI της Sierra, το σύστημα SCUMM της LucasArts και η Μηχανή Freescape της Incentive Software. Ωστόσο, αντίθετα με τις μοντέρνες μηχανές παιχνιδιών, αυτά τα συστήματα δεν χρησιμοποιήθηκαν ποτέ σε προϊόντα τρίτων μερών (εκτός του συστήματος SCUMM το οποίο πήρε άδεια και χρησιμοποιήθηκε από την Humongous Entertainment).

## Πρόσφατες τάσεις

Καθώς η τεχνολογία των μηχανών παιχνιδιών ωριμάζει και γίνεται πιο φιλική προς το χρήστη, η εφαρμογή των μηχανών παιχνιδιών έχει διευρυνθεί σε έκταση, και τώρα χρησιμοποιείται για σοβαρά παιχνίδια: οπτικοποίησης, εκπαίδευσης, ιατρικής και στρατιωτικής εξομοίωσης εφαρμογές. Για να διευκολύνουν αυτή την προσβασιμότητα, νέες πλατφόρμες υλικού στοχεύονται τώρα από μηχανές παιχνιδιών, περιλαμβανομένου κινητών τηλεφώνων (π.χ. το iPhone) και φυλλομετρητών (π.χ. Shockwave, Flash, Silverlight, Unity Web Player, O3D).

Επιπρόσθετα, περισσότερες μηχανές παιχνιδιών κατασκευάζονται πάνω σε Υψηλού επιπέδου γλώσσες προγραμματισμού όπως η Java και η C#/.NET (π.χ. TorqueX, Blade3D, και Visual3D.NET) ή Python (Panda3D). Καθώς τα περισσότερα από τα πλούσια σε 3D παιχνίδια είναι περισσότερο περιορισμένα από την GPU (δηλαδή περιορισμένα από την ισχύ της κάρτας γραφικών), οι ενδεχόμενες καθυστερήσεις των υψηλού επιπέδου γλωσσών προγραμματισμού γίνονται αμελητέες, ενώ τα οφέλη παραγωγικότητας που προσφέρονται από αυτές τις γλώσσες στους δημιουργούς μηχανών παιχνιδιών γίνονται κέρδος. Αυτές οι πρόσφατες τάσεις προωθούνται από εταιρείες όπως η Microsoft για να υποστηρίξουν ανεξάρτητη ανάπτυξη παιχνιδιών σε περισσότερες πλατφόρμες, όπως το Xbox360 και το Zune χρησιμοποιώντας το .NET Framework και το XNA για γραφικά και rendering ήχου. Γίνεται ευκολότερο και φθηνότερο από ποτέ να δημιουργηθούν μηχανές παιχνιδιών για πλατφόρμες οι οποίες υποστηρίζουν διαχειριζόμενα πλαίσια.

## Middleware

Μερικές εταιρείες τώρα ειδικεύονται στην ανάπτυξη σουιτών λογισμικού γνωστές ως "middleware". Οι δημιουργοί middleware αποπειρώνται να «προανακαλύψουν τον τροχό» με την ανάπτυξη εύρωστων σουιτών λογισμικού οι οποίες περιλαμβάνουν πολλά στοιχεία που ένας δημιουργός παιχνιδιού μπορεί να χρειαστεί για να κατασκευάσει ένα παιχνίδι. Τα περισσότερα προγράμματα middleware παρέχουν δομές που κάνουν εύκολη την ανάπτυξη, όπως λειτουργίες γραφικών, ήχου, Φυσικής και AI. Η Gamebryo και η RenderWare είναι τέτοια ευρείως χρησιμοποιήσιμα προγράμματα middleware.

Μερικά middleware κάνουν μόνο ένα πράγμα, αλλά το κάνουν πιο πειστικά ή πιο αποδοτικά απ' ότι οι γενικού σκοπού μηχανές. Για παράδειγμα, η *SpeedTree* χρησιμοποιήθηκε για να κάνει render τα ρεαλιστικά δέντρα και βλάστηση στο παιχνίδι ρόλων *The Elder Scrolls IV: Oblivion*.

Τα τέσσερα πιο ευρείως χρησιμοποιούμενα πακέτα middleware τα οποία παρέχουν υποσυστήματα λειτουργικότητας περιλαμβάνουν το Bink της RAD Game Tools, το Firelight FMOD, το Havok, και το Scaleform GFx. Η RAD Game Tools αναπτύσσει το Bink για βασικό rendering βίντεο, μαζί με το Miles audio, και το Granny 3D rendering. Το Firelight FMOD είναι μια χαμηλού κόστους εύρωστη βιβλιοθήκη ήχου και σύνολο εργαλείων. Το Havok παρέχει ένα εύρωστο σύστημα εξομοίωσης Φυσικής, μαζί με μια σουίτα λύσεων animation και συμπεριφοράς. Το Scaleform παρέχει GFx για για υψηλής απόδοσης Flash UI, μαζί με μια υψηλής ποιότητας λύσης αναπαραγωγής βίντεο, και έναν πρόσθετο Επεξεργαστή Μεθόδου Εισόδου (IME) για την υποστήριξη Ασιατικής συζήτησης μέσα στο παιχνίδι.

Μερικά middleware περιέχουν πλήρη πηγαίο κώδικα, άλλα απλά παρέχουν API αναφορά για μια μεταγλωτισμένη δυαδική βιβλιοθήκη. Μερικά προγράμματα middleware μπορούν να αδειοδοτηθούν και με τους δύο τρόπους, συνήθως για μια υψηλότερη χρέωση για τον πλήρη πηγαίο κώδικα.

### MMOG middleware

Το middleware για massively-multiplayer online games είναι πολύ πιο πολύπλοκο απ' ότι για βιντεοπαιχνίδια μονού παίκτη. Ωστόσο η αυξανόμενη δημοτικότητα των MMOGs παρακινεί την ανάπτυξη τέτοιων πακέτων middleware. Μερικές εξέχοντες λύσεις, βασισμένες πάνω στις αγορές, περιλαμβάνουν:

* Unreal Engine 3 (μόνο πελάτης)
* CryEngine2 (μόνο πελάτης)
* Gamebryo (μόνο πελάτης)
* Trinigy Vision Engine (μόνο πελάτης)
* Q (μόνο πελάτης, αλλά με λύση εξυπηρετητή ως 'Messiah')
* Multiverse Network
* Bigworld Technology
* HeroEngine
* Monumental Games
* Exit Games Neutron
* Project Darkstar (Ανοικτού Κώδικα)
* DX Studio (μόνο πελάτης)

## Μηχανές παιχνιδιών FPS

Ένα πολύ γνωστό υποσύνολο των μηχανών παιχνιδιών είναι οι μηχανές παιχνιδιών των 3D παιχνιδιών βολών πρώτου προσώπου (FPS). Ρηξικέλευθη ανάπτυξη σε όρους οπτικής ποιότητας γίνεται στα παιχνίδια FPS σε ανθρώπινη κλίμακα. Ενώ οι εξομοιωτές πτήσης και οδήγησης και τα παιχνίδια στρατηγικής πραγματικού χρόνου (RTS) παρέχουν αυξανόμενα ρεαλισμό σε μια μεγάλη κλίμακα, τα παιχνίδια βολών πρώτου προσώπου βρίσκονται στην πρώτη γραμμή των γραφικών υπολογιστή σε μικρότερες, πιο ανθρώπινες κλίμακες.

Η ανάπτυξη των μηχανών γραφικών FPS οι οποίες εμφανίζονται στα παιχνίδια μπορεί να χαρακτηριστεί από μια σταθερή αύξηση σε τεχνολογίες, με μερικές καινοτομίες. Προσπάθειες στο να οριστούν διακριτές γενιές οδηγούν σε αυθαίρετες επιλογές του τι αποτελεί μια βαριά τροποποιημένη έκδοση μια 'παλιάς μηχανής' και του τι είναι μια καινούργια μηχανή.

Η κατάταξη είναι πολύπλοκη καθώς οι μηχανές παιχνιδιών συνδυάζουν παλιές και νέες τεχνολογίες. Χαρακτηριστικά που θεωρούνται προχωρημένα σε ένα νέο παιχνίδι τον ένα χρόνο, γίνονται αναμενόμενα πρότυπα τον επόμενο χρόνο. Παιχνίδια με ένα μείγμα παλιάς γενιάς και νεότερων χαρακτηριστικών είναι η νόρμα. Για παράδειγμα το *Jurassic Park: Trespasser* (1998) εισήγαγε την Φυσική στα παιχνίδια FPS, αλλά αυτό δεν έγινε κοινό μέχρι το 2002. Το *Red Faction* (2001) χαρακτηριζόταν από καταστρέψιμους τοίχους και έδαφος, κάτι ακόμα όχι κοινό σε μηχανές χρόνια μετά (για παράδειγμα στο *Unreal Tournament 2004* ακόμα δεν υπάρχουν καταστρέψιμα αντικείμενα). Το *Battlezone* (1998) και το *Battlezone II: Combat Commander* (1999) πρόσθεσαν μάχη βασισμένη σε οχήματα στο σύνηθες μείγμα FPS, κάτι το οποίο δεν έγινε κύριο ρεύμα μέχρι αργότερα. Τα *Tribes 2*, *Battlefield 1942*, *Halo: Combat Evolved* και *Unreal Tournament 2004* έκαναν πλήρως πραγματοποιήσιμο το δυναμικό για μάχη με οχήματα και ενσωμάτωση στα παιχνίδια βολών πρώτου προσώπου.

## Δείτε επίσης

* Κατάλογος μηχανών παιχνιδιών
* Κατάλογος μηχανών παιχνιδιών βολών πρώτου προσώπου

## Αναφορές

## Εξωτερικοί σύνδεσμοι

* GameMiddleware.org Αρχειοθετήθηκε 2008-09-17 στο Wayback Machine., ένας ιστότοπος αναφοράς που αφορά το middleware παιχνιδιών και μηχανές παιχνιδιών διαθέσιμα για εμπορική χρήση
* DevMaster.net 3D Engines Database, κατάλογος των δημοφιλέστερων εγγεγραμμένων μηχανών παιχνιδιών (σύμφωνα με την αναζήτηση Google για "game engine")
* Terrain in Games, μια εκτενής περίληψη του rendering εδάφους στις μηχανές παιχνιδιών της περιόδου 1997-2000
* Τα μαθηματικά πίσω από μια Μηχανή 3D, μια απλή εξήγηση του πως να εμφανίζονται σημεία δεδομένων 3D σε μια οθόνη υπολογιστή 2D.