background image

ΚΕΦΑΛΑΙΟ 1

Εισαγωγή

1.1

Κίνητρο

Η κατασκευή βιντεοπαιχνιδιών αποτελεί από μόνη της ένα πολύ ενδιαφέρον κομμάτι μελέ-

της, με πολλά παρακλάδια σε διάφορους και διαφορετικούς τομείς. Ένας από τους σημαντικό-

τερους άξονες μελέτης είναι ο προγραμματιστικός τομέας. Κίνητρο, λοιπόν, για την παρούσα

εργασία αποτελεί η ανάγκη για καλύτερη κατανόηση όλων εκείνων των συστημάτων και υπο-

συστημάτων που απαιτούνται για να δημιουργηθεί ένα παιχνίδι. Η κατανόηση των συστημά-

των αυτών προϋποθέτει τη μελέτη της ίδιας της μηχανής παιχνιδιών. Μηχανές όπως η Unity

1

και η Unreal Engine

2

παρέχουν ολοκληρωμένα εργαλεία για την ανάπτυξη 2D και 3D παιχνι-

διών, προσφέροντας γραφικά περιβάλλοντα, ενσωματωμένα συστήματα φυσικής και scripting.

Παράλληλα, μηχανές ανοιχτού κώδικα, όπως οι Godot

3

και Ogre3D

4

, προσφέρουν μεγαλύτερη

ελευθερία παραμετροποίησης και πρόσβαση στον πηγαίο κώδικα. Ωστόσο, ο στόχος αυτών των

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

λυπλοκότητά τους. Η εκμάθηση και η κατανόηση όλων των επιμέρους λειτουργικών ενοτήτων

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

νεται στη δημιουργία μιας, “ελαφριάς” μηχανής, δίνοντας βάρος στην εύκολη κατανόηση και

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

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

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

διών.

1.2

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

Στον χώρο της ανάπτυξης ψηφιακών παιχνιδιών, κεντρικό ρόλο διαδραματίζουν οι μηχανές

παιχνιδιών (game engines). Μια μηχανή παιχνιδιών αποτελεί ένα σύνολο λογισμικού που παρέ-

χει τα βασικά εργαλεία και τις υποδομές για την ανάπτυξη και εκτέλεση ενός παιχνιδιού. Μέσω

αυτής, οι προγραμματιστές και οι σχεδιαστές μπορούν να δημιουργούν και να διαχειρίζονται τα

1

https://unity.com/

2

https://www.unrealengine.com/

3

https://godotengine.org/

4

https://www.ogre3d.org/

1