background image

ΚΕΦΑΛΑΙΟ 6

Συμπεράσματα

6.1

Συμπεράσματα με βάση την θεωρητική έρευνα

Πρωταρχικός στόχος της παρούσας εργασίας είναι η κατανόηση του τρόπου οργάνωσης και

λειτουργίας μιας μηχανής παιχνιδιών από τα θεμελιώδη δομικά της στοιχεία. Από τη θεωρη-

τική έρευνα που πραγματοποιήθηκε και παρουσιάστηκε στο Κεφάλαιο 2 προέκυψαν ορισμένα

βασικά συμπεράσματα.

Αρχικά, οι μηχανές παιχνιδιών αποτελούν ιδιαίτερα πολύπλοκα λογισμικά συστήματα. Ειδι-

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

συστημάτων, η πλήρης υλοποίηση των οποίων, στο πλαίσιο μιας διπλωματικής εργασίας, είναι

εξαιρετικά δύσκολη έως και ανέφικτη.

Παράλληλα, διαπιστώθηκε ότι τόσο οι εμπορικές όσο και οι μικρότερης κλίμακας μηχανές

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

κύρια συστήματα που τις απαρτίζουν. Η παρατήρηση αυτή αποτέλεσε τη βάση πάνω στην οποία

σχεδιάστηκε και αναπτύχθηκε η μηχανή που παρουσιάζεται στην παρούσα εργασία.

Επιπλέον, κατά τη μελέτη της αρχιτεκτονικής των μηχανών παιχνιδιών καθίσταται εμφα-

νές ότι τα επιμέρους συστήματα και υποσυστήματα αλληλεπιδρούν σε μεγάλο βαθμό μεταξύ

τους και απαιτούν γνώσεις από διαφορετικά επιστημονικά και τεχνολογικά πεδία. Ενδεικτικά, η

ανάπτυξη μιας μηχανής παιχνιδιών προϋποθέτει ισχυρό μαθηματικό και γεωμετρικό υπόβαθρο,

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

κάρτα γραφικών, γνώση αλγορίθμων, καθώς και βασικές αρχές σχεδιασμού. Παράλληλα, απαι-

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

και άλλους συναφείς τομείς.

6.2

Συμπεράσματα απο την πρακτική υλοποίηση της μηχανής

Προχωρώντας στην πρακτική υλοποίηση της εργασίας, επιλέχθηκε η ανάπτυξη μιας ελα-

φριάς μηχανής παιχνιδιών για τη δημιουργία δισδιάστατων παιχνιδιών, χρησιμοποιώντας τη

γλώσσα προγραμματισμού C++ σε συνδυασμό με τις βιβλιοθήκες OpenGL και GLFW.

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

φάσεις αφορούσε τον τρόπο αναπαράστασης και διαχείρισης των αντικειμένων της σκηνής. Η

αρχική προσέγγιση βασιζόταν σε μια γενική κλάση GameObject, η οποία περιείχε βασικά δεδο-

μένα, όπως η θέση και το sprite κάθε αντικειμένου. Κάθε αντικείμενο της σκηνής υλοποιούνταν

71