background image

ένα βίντεο-παιχνίδι και που απαιτούνται για την παραγωγή αυτού. Για τον σκοπό αυτό δίνει

μια σειρά από βασικές λειτουργικότητες, που πιστεύει ότι είναι απαραίτητες για μια μηχανή

παιχνιδιών:

• Μια μηχανή για την παραγωγή 2, 3 διαστάσεων γραφικών (rendering engine for 2d 3d

graphics)

• Μηχανισμό διαχείρισης δεδομένων εισόδου από πληκτρολόγιο, ποντίκι κλπ. (input handling)

• Την βασική δομή επανάληψης του παιχνιδιού με τις βασικές της ρουτίνες (game loop)

• Μηχανή διαχείρισης της Φυσικής (συγκρούσεις αντικειμένων κλπ.) (Physics engine)

• Διαχείριση του ήχου (Sound)

• Διαχείριση των κινούμενων γραφικών (Animation for 2d and 3d)

• Δυνατότητες παραλληλισμού με πολλαπλά νήματα (Process threading)

Ενώ ως επιπλέον αναφέρονται και τα παρακάτω:

• Δυνατότητα scripting

• Τεχνητή νοημοσύνη

• Ύπαρξη δικτύου

• Υποστήριξη για πολλαπλές πλατφόρμες

• Τοπική υποστήριξη (Localization support)

Παρόμοια συμπεράσματα αντλούνται και από τη δουλειά ([15]) με τη μελέτη τους για την

ανάκτηση αρχιτεκτονικής μιας μηχανής παιχνιδιών δείχνουν ότι οι πιο κοινές ενότητες που

συναντώνται σε όλες τις μηχανές είναι το επίπεδο πλατφόρμας, η διαχείριση πόρων και το

rendering, επιβεβαιώνοντας ότι υπάρχει μια σχετική «συναίνεση» γύρω από τα υποσυστήματα

που θεωρούνται θεμελιώδη.

Στο βιβλίο ([13]) δίνει ένα ακόμα χαρακτηριστικό στις μηχανές παιχνιδιών ορίζοντάς τες

ως λογισμικά που αποτελούνται από διάφορα, διαφορετικά εργαλεία (κομμάτια προγράμματος)

βοηθητικά για τον δημιουργό παιχνιδιών που όμως κρύβουν τις λεπτομέρειες χαμηλού επιπέδου

(low level) των λειτουργιών και των υλοποιήσεων από αυτόν.

Τέλος, ένα σημαντικό στοιχείο για την σωστή κατανόηση του ορισμού θα πρέπει να αφορά

και τα αρχιτεκτονικά πρότυπα και επιλογές που υιοθετούνται ([9]). Οι παραδοσιακές μηχα-

νές χρησιμοποιούσαν κυρίως ιεραρχικά scene graphs. Οι πιο σύγχρονες, όμως, προσεγγίσεις

υιοθετούν αρχιτεκτονικές όπως η Entity–Component–System (ECS) Σχήμα 2.1, ([12]) καθώς

προσφέρει καλύτερη απόδοση, χαμηλότερη σύζευξη και μεγαλύτερη ευελιξία, και θα αναλυθεί

σε μεγαλύτερο βάθος σε επόμενο κεφάλαιο.

7