background image

2.2

Κύριες υποδομές και υποσυστήματα μιας μηχανής παιχνιδιών

Παρά το γεγονός ότι οι μηχανές παιχνιδιών μπορεί να διαφέρουν σημαντικά ως προς τα ερ-

γαλεία και τις δυνατότητές τους (π.χ. εμπορικές μηχανές όπως Unity, Unreal, Godot ή custom

lightweight μηχανές), η βιβλιογραφία δείχνει ότι όλες στηρίζονται σε έναν κοινό πυρήνα υπο-

συστημάτων. Όπως περιγράφηκε, και στο προηγούμενο κεφάλαιο, κάθε μηχανή παιχνιδιών έχει

έναν βασικό πυρήνα υποδομών: rendering engine, input, event handling, game-loop, physic

engine, sound handling, 2d-3d animation και threading και ένα βασικό πυρήνα υποσυστημά-

των: το επίπεδο πλατφόρμας, το σύστημα resource managment (Διαχείριση Πόρων), και ένα

math library (Μαθηματική βιβλιοθήκη). Στα παρακάτω κεφάλαια της θεωρίας θα ασχολη-

θούμε με την ανάλυση και κατανόηση όλων αυτών των υποδομών και των υποσυστημάτων ένα

ένα ξεκινώντας από τα υποσυστήματα.

Στην εργασία του, ([17]) παρουσιάζει τα βασικά, κατά τον ίδιο, συστήματα μιας μηχανής

παιχνιδιών, Σχήμα 2.2 αναφέροντας πως δεν υπάρχει στη βιβλιογραφία κάποια πιο συγκεκρι-

μένη ταξινόμηση.

Σχήμα 2.2: Αρχιτεκτονική Μηχανής Παιχνιδιών

2.2.1

Επίπεδο πλατφόρμας (Platform Layer)

Το επίπεδο πλατφόρμας είναι το χαμηλότερο στρώμα μιας μηχανής παιχνιδιών. Αποτελεί τη

«γέφυρα» ανάμεσα στη μηχανή και το λειτουργικό σύστημα, παρέχοντας ένα αφαιρετικό API

που επιτρέπει στα ανώτερα υποσυστήματα να λειτουργούν χωρίς να χρειάζεται να γνωρίζουν

τις λεπτομέρειες κάθε πλατφόρμας.

Σύμφωνα με ([4]), το επίπεδο πλατφόρμας περιλαμβάνει τις εξής βασικές λειτουργίες:

• Δημιουργία παραθύρου και context γραφικών (OpenGL, Vulkan, DirectX).

• Χειρισμό γεγονότων (events) και είσοδο από πληκτρολόγιο, ποντίκι, gamepads.

• Πρόσβαση σε χρονόμετρα υψηλής ακρίβειας (high resolution timers).

• Διαχείριση αρχείων (file I/O).

9