BACHELOROPPGAVE: Project NORS a Multiplayer Online Battle Arena
Total Page:16
File Type:pdf, Size:1020Kb
BACHELOROPPGAVE: Project NORS A Multiplayer Online Battle Arena Game Implemented in Unreal Engine 4. FORFATTERE: Jonathan Ness Aleksander Olsen Marius Rødland Chris Andre Sand DATO: 15.05.2015 Project NORS A Multiplayer Online Battle Arena Game Implemented in Unreal Engine 4. Sammendrag av Bacheloroppgaven Tittel: Project NORS Et Flerspiller Nettbasert Kamp Arena spill Utviklet i Unreal Engine 4. Dato: 15.05.2015 Deltakere: Jonathan Ness Aleksander Olsen Marius Rødland Chris Andre Sand Veiledere: Simon McCallum Oppdragsgiver: Høgskolen i Gjøvik Kontaktperson: Project NORS, [email protected] Nøkkelord: Norway, Norsk, Nors, Unreal Engine, Bachelor, MOBA, IMT Antall sider: 204 Antall vedlegg: Tilgjengelighet: Åpen Sammendrag: NORS er et nytt MOBA spill med spennende egenskaper som det å kunne mestre naturens krefter. Med denne kraften kan spillern endre miljøet til sin fordel i denne episke kampen om Storbritania mellom de brutale Vikin- gene og Saxons. Denne oppgaven vil beskrive prosessen vi brukte når vi skulle lage NORS og hvordan det hele startet som en ide og endte opp som et fullverdig spill. i Project NORS A Multiplayer Online Battle Arena Game Implemented in Unreal Engine 4. Summary of Graduate Project Title: Project NORS A Multiplayer Online Battle Arena Game Implemented in Unreal Engine 4. Date: 15.05.2015 Participants: Jonathan Ness Aleksander Olsen Marius Rødland Chris Andre Sand Supervisor: Simon McCallum Employer: Høgskolen i Gjøvik Contact Person: Project NORS, [email protected] Keywords: Nors, Unreal Engine, Bachelor, MOBA, IMT Pages: 204 Attachments: Availability: Open Abstract: NORS is a new MOBA game with exiting features such as, controlling the elements. With this ability, the player can control and change the environment to their benefit in the epic battle for Great Britannia between the brutal Vikings and the Saxons. This thesis will describe the process we used to make NORS and how it started as a mere idea to a complete game. ii Project NORS A Multiplayer Online Battle Arena Game Implemented in Unreal Engine 4. Preface We would like to extend our thanks to Simon McCallum for being the project supervisor. He provided valuable guidance and encouragement throughout the project. A big thanks to Epic Games and the Unreal Engine community for valuable tutorials, plugins and help that were used throughout the project. Notable ones being the VaRest plugin by Vladimir Alyamkin and the Video Tutorials by Epic Games. iii Project NORS A Multiplayer Online Battle Arena Game Implemented in Unreal Engine 4. Contents Preface .......................................... iii Contents ......................................... iv List of Figures ...................................... viii 1 Introduction ..................................... 1 1.1 Project Description...............................1 1.1.1 Background...............................1 1.1.2 Goal...................................2 1.2 Project Audience................................2 1.2.1 Product Audience............................2 1.2.2 Thesis Audience............................3 1.3 Academic Background.............................3 1.4 Roles.......................................3 1.5 Development Framework...........................3 1.5.1 Software Development Methodology.................3 1.5.2 Schedule................................4 1.6 Document Structure..............................4 2 Requirements and Design ............................. 5 2.1 Design......................................5 2.1.1 Game Design Document........................5 2.1.2 Initial Design..............................5 2.1.3 Psychology...............................7 2.1.4 Final Design...............................7 2.2 Requirements..................................8 3 Technical Design ................................... 9 3.1 Unreal Engine..................................9 3.2 Blueprint....................................9 3.2.1 Classes.................................. 10 3.2.2 Variable................................. 10 iv Project NORS A Multiplayer Online Battle Arena Game Implemented in Unreal Engine 4. 3.2.3 Function................................. 10 3.2.4 Event.................................. 11 3.2.5 Macro.................................. 11 3.2.6 Colapsed Code............................. 12 3.2.7 Actor Component............................ 12 3.2.8 Widget.................................. 12 3.2.9 Construction Script........................... 12 3.3 Version Control................................. 13 3.4 Tracking and documentation.......................... 13 3.5 Blender..................................... 13 4 Development Process ................................ 15 4.1 Working Hours................................. 15 4.2 Development Tools............................... 15 4.2.1 Unreal Engine 4............................ 15 4.2.2 Blender................................. 17 4.2.3 Version control............................. 18 4.3 Project Workflow................................ 19 4.3.1 Scrum.................................. 19 4.3.2 Schedule................................ 20 4.4 Development Workflow............................ 21 5 Implementation ................................... 23 5.1 Spells...................................... 23 5.2 Items....................................... 24 5.3 GUI....................................... 25 5.3.1 Inventory................................ 26 5.3.2 Shop................................... 26 5.3.3 Minimap................................ 27 5.4 Blueprint Structure............................... 27 5.4.1 Pawns and Character.......................... 27 5.4.2 Champion and Proxy Pawn...................... 28 5.4.3 BaseMinions.............................. 28 5.4.4 Minion_FootSoldier.......................... 29 v Project NORS A Multiplayer Online Battle Arena Game Implemented in Unreal Engine 4. 5.5 AI........................................ 30 5.5.1 BaseMinions.............................. 31 5.5.2 Minion_FootSoldier.......................... 32 5.5.3 Jungle Creeps.............................. 32 5.5.4 Pathfinding............................... 32 5.5.5 Behavior Tree.............................. 34 5.5.6 Behavior Tree in Unreal Engine 4................... 34 5.5.7 AI controller.............................. 37 5.5.8 Minion AI Controller.......................... 37 5.5.9 Tower Targeting............................ 38 5.5.10 Conclusion............................... 38 5.6 Physics...................................... 38 5.6.1 Collision................................. 39 5.7 User Data.................................... 40 5.7.1 Security................................. 41 5.7.2 Blueprint Solution........................... 41 5.8 Ingame Networking.............................. 42 5.8.1 Replicated Variables.......................... 43 5.8.2 Replicated Functions.......................... 43 5.8.3 Problems................................ 44 5.9 Buildings.................................... 44 5.9.1 Tower.................................. 44 5.9.2 Main Hall................................ 44 5.9.3 Barracks................................. 44 5.10 Animation.................................... 45 6 Deployment ..................................... 47 6.1 Building..................................... 47 6.1.1 Different Machines........................... 47 6.1.2 Errors.................................. 47 7 Testing and User Feedback ............................. 49 7.1 Testing...................................... 49 7.1.1 Testing with kids............................ 49 vi Project NORS A Multiplayer Online Battle Arena Game Implemented in Unreal Engine 4. 7.1.2 Testing with Game Programming students.............. 50 7.2 User Feedback.................................. 50 7.3 Balancing.................................... 50 8 Discussion ...................................... 53 8.1 Different approaches.............................. 53 8.1.1 Testing and User Feedback....................... 53 8.1.2 Class Structure............................. 53 8.1.3 Code Limitation............................. 53 8.2 Future Development.............................. 53 8.2.1 Features................................. 53 8.2.2 Ingame Content............................. 54 8.2.3 Future Bachelor Project........................ 54 9 Conclusion ...................................... 55 Bibliography ....................................... 56 A Project NORS: Terminology ............................ 57 B Project NORS: Project Plan ............................. 59 C Project NORS: Design Document ......................... 71 D Project NORS: Gantt chart ............................. 78 E Project NORS: Confluence Wiki .......................... 81 F Project NORS: Business Model ........................... 94 G Project NORS: Grouprules ............................. 97 H Project NORS: Daily Scrum Log .......................... 100 I Project NORS: Meeting Notes ........................... 150 J Project NORS: Toggle Time Tracking ....................... 169 vii Project NORS A Multiplayer Online Battle Arena Game Implemented in Unreal Engine 4. List of Figures 1 The different classes..............................6 2 The different elements.............................7 3 Variables in Blueprint.............................. 10 4 Function in Blueprint.............................. 11 5 Widget Designer................................ 13 6 Bad Blueprint Code............................... 15 7 Better Blueprint Code............................