Diploma Thesis We Designed and Implemented a 3D Game for Personal Computers Based on the Worldwide Popular English Board Game Cleudo
Total Page:16
File Type:pdf, Size:1020Kb
Poluteqneio Krhthc Sqolh Hlektronikwn Mhqanikwn kai Mhqanikwn Upologistwn Σχεδιασμός kai UlopoÐhsh miac Diadrasτικής Triσδιάσtathc ProsomoÐwshc tou Epitrapèziou Paiqnidioύ “Cluedo” me Χρήση Αυτόnomwn Logismik¸n Αντιπάλων Alèxandroc Μαυρομμάτης Exetasτική Epiτροπή Anap. Kaj. AikaterÐnh Μανιά (HMMU) Epik. Kaj. Ant¸nioc Delhγιαννάκης (HMMU) Anap. Kaj. Miχαήλ G. Lagουδάκης (HMMU) Χανιά, Septèmbrioc 2013 ii Alèxandroc Μαυρομμάτης Septèmbrioc 2013 Technical University of Crete, Greece School of Electronic and Computer Engineering Design and Implementation of an Interactive 3D Simulation of the Board Game “Cluedo” Using Autonomous Software Opponents Alexandros Mavrommatis Thesis Committee Associate Professor Katerina Mania (ECE) Assistant Professor Antonios Deligiannakis (ECE) Associate Professor Michail G. Lagoudakis (ECE) Chania, September 2013 iv Alèxandroc Μαυρομμάτης Septèmbrioc 2013 PerÐlhyh Sth παρούσα διπλωματική ergasÐa σχεδιάσthke kai υλοποιήθηκε èna triσδιάσtato paiqnÐdi gia προσωπικούc upologistèc, basismèno sto παγκόσμια diadedomèno αγγλικό epitrapèzio paiqnÐdi Cleudo. To Cluedo eÐnai èna epitrapèzio paiqnÐdi sτρατηγικής sto opoÐo κάθε paÐqthc, mèsa από mia σειρά upojèsewn, èqei wc sτόqo na brei th λύση ενός musτήριou φόnou. Αρχικά sχεδιάsthke h gewmetrÐa tou paiqnidiού me χρήση tou ergaleÐou Autodesk 3ds Max kaj¸c kai oi χαρακτήρες twn paiqt¸n. Sth sunèqeia me χρήση thc μηχανής paiqnidi¸n Unity3D υλοποιήθηκε h leitourgÐa tou paiqnidiού. Τοποθετήθηκαν ufèc, ήχοι, kiνούmena sqèdia (animations), effè, ta opoÐa èdwsan ῾῾ζωή᾿᾿ sto paiqnÐdi mac. 'Epeita υλοποιήθηκαν oi upomoνάδες tou paiqnidioύ όπως tou diaqeirisτή paiqnidiού, diaqeirisτή paÐqth kai sqedÐashc twn grafik¸n diepaf¸n. Tèloc υλοποιήθηκε kai h τεχνητή νοημοσύνη twn antÐpalwn paiqt¸n pou touc èdwse πλήρη autonomÐa κατά th διάρκεια tou paiqnidiού. H τεχνητή νοημοσύνη perieÐqe thn ulopoÐhsh ενός algorÐjmou Path Planning, gia thn èxupnh kÐnhsh twn paiqt¸n, kaj¸c kai miac loγικήc, mèsw sunaρτήσεων χρησιμόthtac, pou ja akoλουθήσουν oi paÐqtec κατά th διάρκεια tou paiqnidiού. To paiqnÐdi μετά thn oλοκλήρωσή tou, δοκιμάσthke από èna plήθος qrhst¸n diaforetik¸n φύλων, hliki¸n kai επαγγελμάτwn kai axioloγήθηκε mèsw twn erwthmatologÐwn QUIS (Questionnaire for User Interaction Satisfaction). vi Alèxandroc Μαυρομμάτης Septèmbrioc 2013 Abstract In this diploma thesis we designed and implemented a 3D game for personal computers based on the worldwide popular English board game Cleudo. Cluedo is a strategy board game in which every player, in a series of suggestions, aims to find the solution of a mysterious murder. In the beginning, we designed the geometry of the game, using the graphics software Autodesk 3ds Max, as also the avatars of the players. Later we implemented the function of the game using the game engine Unity3D. We added textures, sounds, animations, effects, that gave "life" to our game. After that, we implemented the components of the game such as the game and player operators and the design of graphical interface. At the end, we implemented the artificial intelligence of the opponents that gave them full autonomy during the game. The artificial intelligence includes the implementation of a Path Planning algorithm, for the players to move smartly, and the implementation of a logic, via utility functions, that the players will follow during the game. The game, after its completion, it was tested by a number of users of different sexes, ages and occupations, and it was evaluated via the QUIS (Questionnaire for User Interaction Satisfaction). viii Alèxandroc Μαυρομμάτης Septèmbrioc 2013 EuqaristÐec Αρχικά ja ήθελα na euqarisτήσω thn epiblèpousa καθηγήτρια Dr. KaterÐna Μανιά gia thn επίβλεψή thc κατά thn εκπόnhsh thc διπλωματικής mou ergasÐac, kaj¸c kai όti mou èdwse thn eukairÐa na κάνω πράξη mia idèa mou. Sth sunèqeia ja ήθελα na euqarisτήσω touc kajhghtèc thc epiτροπής mou Dr. Ant¸nio Δεληγιαννάκη kai Dr. Miχαήλ Λαγουδάκη gia to χρόno pou afièrwsan sthn ανάγνωση tou keimènou kai idiaÐtera ton k. Λαγουδάκη gia thn poλύτιμη boήθειά tou πάνω sta jèmata τεχνητής νοημοσύνης. Ja ήθελα epÐshc na euqarisτήσω ton Ge¸rgio-Alèxandro Koulièrh gia thn βοήθειά tou πάνω se jèmata fwtiσμού kai σκιάσεων, kai thn fÐlh mou Stèlla Μαροπάκη gia to χρόno pou afièrwse sthn dokimή tou paiqnidiού. 'Ena μεγάλο euqarist¸ ston k. Man¸lh Ntαουντάκη, Group Brand Manager thc etaireÐac Hasbro Hellas S.A. gia ta όσα èkane ¸ste na πάρω thn ègkrish από thn etaireÐa Hasbro Inc. gia thn dhmiourgÐa tou paiqnidiού. Tèloc euqarist¸ poλύ thn oikoγένειά mou kai touc fÐlouc mou pou me sτήριξαν sta èxi χρόnia thc foÐthsήc mou. Septèmbrioc 2013 Alèxandroc Μαυρομμάτης x Alèxandroc Μαυρομμάτης Septèmbrioc 2013 Περιεχόμενα 1 Eiσαγωγή1 1.1 Eisαγωγή . .1 1.2 Σύντomh Periγραφή . .1 1.2.1 Κανόnec Paiqnidiού . .3 1.2.2 Υπόθεση . .4 1.2.3 KathgorÐa . .5 1.3 Πλατφόρμα . .6 1.4 Βασικά Τεχνικά Qarakthrisτικά . .6 1.4.1 Σύσthma Grafik¸n . .6 1.4.2 Σύσthma Φυσικής . .7 1.4.3 Σύσthma 'Hqou . .7 1.4.4 Σύσthma Fwtiσμού . .7 1.4.5 Σύσthma DiaqeÐrishc Paiqnidiού . .7 1.4.6 Σύσthma DiaqeÐrishc PaÐqth . .7 1.4.7 Σύσthma Γραφικής Διεπαφής Χρήσth . .8 1.4.8 Σύσthma Τεχνητής Noημοσύνης . .8 1.5 Δομή ErgasÐac . .8 2 Epiσκόπηση Σχετικής 'Ereunac 11 2.1 Eisαγωγή . 11 2.2 Istορική Αναδρομή Binteopaiqnidi¸n . 11 2.3 KathgorÐec Binteopaiqnidi¸n . 14 2.3.1 Δράσης (Action) ........................... 14 2.3.2 Peripèteiac (Adventure) ....................... 15 2.3.3 Ρόlwn (RPGs) ............................ 15 xi Alèxandroc Μαυρομμάτης Septèmbrioc 2013 ΠΕΡΙΕΧΟΜΕΝA 2.3.4 ProsomoÐwshc (Simulation) ..................... 16 2.3.5 Στρατηγικής (Strategy) ....................... 17 2.3.6 Ajlhtiσμού (Sport) ......................... 18 2.3.7 Epitrapèzia kai PaiqnÐdia Kart¸n (Board and Card games) ... 18 2.4 Triσδιάσtatec Bibliojήkec Grafik¸n (3D APIs) . 19 2.4.1 Direct3D . 20 2.4.2 OpenGL . 20 2.4.3 X3D . 21 2.4.4 Direct3D ενάντια OpenGL ...................... 21 2.5 DÐktua GewmetrÐac (Meshes) . 22 2.6 Fwtiσμός (Lighting) . 22 2.7 Ufèc (Textures) . 24 2.8 Skiastèc (Shaders) . 24 2.9 Kiνούμενα Sqèdia (Animations) . 25 2.10 Φυσική (Physics) . 26 2.11 Περιβάλλοnta Ανάπτυξης Grafik¸n . 26 2.11.1 Logiσμικά Σχεδιασμού Grafik¸n . 27 2.11.2 Mhqanèc Grafik¸n . 28 2.11.3 Mhqanèc Paiqnidi¸n . 29 2.11.4 Mhqanèc Φυσικής . 32 2.12 Τεχνητή Νοημοσύνη . 34 2.12.1 Λήψη Απόφασης (Decision Making) . 34 2.12.2 Εύρεση Bèltistou Monopatiού (Path Planning) . 35 2.12.3 BeltÐwsh tou Αλγόριjmou A* .................... 39 3 Teqnoloγική Βάση 41 3.1 Eisαγωγή . 41 3.2 Autodesk 3ds Max .............................. 41 3.3 Δομή ErgaleÐou Autodesk 3ds Max . 42 3.3.1 AntikeÐmena (Objects) . 42 3.3.2 Ufèc (Textures) . 43 3.3.3 Fwtiσμός (Lighting) . 44 3.3.4 Κάμερες (Cameras) . 44 3.3.5 Kiνούμενa Sqèdia (Animations) . 45 xii Alèxandroc Μαυρομμάτης Septèmbrioc 2013 ΠΕΡΙΕΧΟΜΕΝA 3.3.6 Tropopoihtèc Antikeimènwn ...................... 46 3.3.7 Εξαγωγή se μορφή VRML97 . 46 3.4 Unity3D . 47 3.5 Δομή kai Arqitektoνική thc Unity3D . 49 3.5.1 Metasqhmatiσμόc (Transform) . 50 3.5.2 'Hqoc (Audio) . 50 3.5.3 Γραφική Διεπαφή (GUI) . 52 3.5.4 Eiσαγωγή GewmetrÐac ......................... 53 3.5.5 Kiνούμενa Sqèdia (Animations) . 54 3.5.6 Fwtiσμός (Lighting) . 55 3.5.7 Ufèc (Textures) . 57 3.5.8 Κάμερες (Cameras) . 58 3.5.9 Skiastèc (Shaders) . 59 3.5.10 Φυσική (Physics) . 59 3.5.11 Prokataskeuèc (Prefabs) . 60 3.5.12 RujmÐseic ............................... 60 3.6 Scripting sto Unity3D . 61 3.6.1 Gl¸ssec Programmatiσμού Scripting tou Unity3D . 62 3.6.2 Basikèc Συναρτήσειc tou Unity3D . 62 3.6.3 Συναρτήσειc Γραφικής Διεπαφής ................... 64 3.6.4 Συναρτήσειc Programmatisτή ..................... 65 4 Σχεδιασμός Paiqnidiού kai Γραφικής Διεπαφής Χρήσth 67 4.1 Eiσαγωγή ................................... 67 4.2 Σενάριo .................................... 67 4.3 Σχεδιασμός Paiqnidiού ............................ 68 4.3.1 Σχεδιασμός PÐstac .......................... 68 4.3.2 Σχεδιασμός Χαρακτήρων ....................... 72 4.4 Γραφικό Περιβάλλοn 'Enarxhc ......................... 74 4.5 Γραφική Διεπαφή Χρήσth ........................... 79 5 UlopoÐhsh Paiqnidiού 85 5.1 Eiσαγωγή ................................... 85 5.2 Φυσική (Physics) . 85 5.3 Kiνούμενα Sqèdia (Animations) . 86 xiii Alèxandroc Μαυρομμάτης Septèmbrioc 2013 ΠΕΡΙΕΧΟΜΕΝA 5.4 KÐnhsh Κάμερας ................................ 87 5.5 Skiastèc (Shaders) . 91 5.6 Γραφικό Περιβάλλοn 'Enarxhc ......................... 92 5.7 Γραφική Διεπαφή Χρήσth ........................... 95 5.8 'Hqoc (Audio) . 97 5.9 DiaqeÐrish Paiqnidiού ............................. 99 5.10 DiaqeÐrish PaÐqth ............................... 103 5.11 Τεχνητή Νοημοσύνη ............................. 110 5.11.1 Εύρεση Bèltistou Monopatiού (Path Planning) . 110 5.11.2 Λήψη Απόφασης (Decision Making) . 118 6 Axioλόghsh Susτήματoc 127 6.1 Eiσαγωγή ................................... 127 6.2 Mèjodoc Axioλόghshc ............................ 127 6.3 Στόqoc kai Apotelèsmata .......................... 135 6.4 Συμπεράσματa ................................. 137 7 Apotelèsmata kai Mellontikèc Επεκτάσειc 141 7.1 Eiσαγωγή ................................... 141 7.2 Στόqoc kai Apotelèsmata .......................... 141 7.3 Mellontikèc Επεκτάσειc kai Belti¸seic ................... 142 7.4 EpÐlogoc .................................... 144 BibliografÐa 150 xiv Alèxandroc Μαυρομμάτης Septèmbrioc 2013 Κατάλοgoc Σχημάτwn 1.1 H exèlixh tou Cleudo sto pèrasma twn χρόnwn . .2 1.2 Περιεχόμενα epitrapèziou paiqnidiού . .2 2.1 Gnwstèc koνσόlec binteopaiqnidi¸n . 12 2.2 Ta pr¸ta binteopaiqnÐdia