λαπλούς παίκτες, ούτε υποστήριξη σύνθετων τρισδιάστατων σκηνών με προηγμένες τεχνικές,
όπως τρισδιάστατος φωτισμός και αντίστοιχα εφέ.
Παρά τους περιορισμούς αυτούς, καταβλήθηκε προσπάθεια υλοποίησης των βασικότερων
και ουσιωδέστερων χαρακτηριστικών που συνιστούν τον πυρήνα μιας μηχανής παιχνιδιών. Τα
χαρακτηριστικά αυτά λειτουργούν ως θεμελιώδης βάση και οδηγός για μελλοντική επέκταση,
δεδομένου ότι η προσθήκη επιπλέον λειτουργικοτήτων μπορεί να πραγματοποιηθεί ακολουθώ-
ντας παρόμοια σχεδιαστικά πρότυπα και τεχνικές που έχουν ήδη υιοθετηθεί.
3.3
Εκπαιδευτικός χαρακτήρας της μηχανής
Ένας επιπλέον και εξίσου σημαντικός στόχος της παρούσας εργασίας είναι ο εκπαιδευτικός
χαρακτήρας της μηχανής παιχνιδιών. Η ανάπτυξή της δεν αποσκοπεί μόνο στη δημιουργία ενός
λειτουργικού εργαλείου, αλλά και στη σε βάθος κατανόηση των βασικών αρχών που διέπουν
τον σχεδιασμό και την υλοποίηση σύγχρονων game engines.
Η αρχιτεκτονική της μηχανής έχει σχεδιαστεί με γνώμονα τη διαφάνεια και την αναγνω-
σιμότητα του κώδικα, επιτρέποντας την εύκολη μελέτη και επέκτασή του. Κάθε υποσύστημα
(γραφικά, ήχος, είσοδος χρήστη, scripting, διαχείριση πόρων) είναι σαφώς διαχωρισμένο, ώστε
να αναδεικνύεται ο ρόλος του και η αλληλεπίδρασή του με τα υπόλοιπα μέρη της μηχανής.
Η υποστήριξη της γλώσσας Python ως scripting γλώσσας ενισχύει περαιτέρω τον εκπαιδευ-
τικό χαρακτήρα της μηχανής, καθώς επιτρέπει τον διαχωρισμό μεταξύ της χαμηλού επιπέδου
υλοποίησης (C++) και της λογικής του παιχνιδιού. Με αυτόν τον τρόπο, ο χρήστης μπορεί να
επικεντρωθεί στη σχεδίαση συμπεριφορών και μηχανισμών παιχνιδιού, χωρίς να απαιτείται βα-
θιά γνώση διαχείρισης μνήμης ή συστημικού προγραμματισμού.
Επιπλέον, σε σύγκριση με εμπορικές μηχανές παιχνιδιών, οι οποίες καλύπτουν σαφώς ευρύ-
τερο φάσμα δυνατοτήτων και επιλογών, η απλότητα της παρούσας υλοποίησης (ως αποτέλεσμα
του περιορισμένου συνόλου λειτουργιών) την καθιστά κατάλληλο εργαλείο για την εκμάθηση
της κατασκευής παιχνιδιών.
Ο “no-GUI” χαρακτήρας της ενισχύει περαιτέρω τον εκπαιδευτικό της προσανατολισμό,
καθώς επιτρέπει την εστίαση στον προγραμματισμό και στους αλγορίθμους. Σε αντίθεση με
εμπορικές μηχανές, οι οποίες παρέχουν τη δυνατότητα ανάπτυξης ολοκληρωμένων παιχνιδιών
χωρίς την απαραίτητη συγγραφή κώδικα, η παρούσα μηχανή προϋποθέτει άμεση ενασχόληση με
τον προγραμματισμό, ενισχύοντας έτσι τη βαθύτερη κατανόηση των υποκείμενων μηχανισμών.
3.4
Εργαλεία και τεχνητή νοημοσύνη
Για την υλοποίηση της εφαρμογής “μηχανής παιχνιδιών” χρησιμοποιήθηκαν ως περιβάλλο-
ντα ανάπτυξης τα VS Code, Vim και Cursor. Ως σύστημα κατανεμημένου ελέγχου εκδόσεων
20