BACHELOROPPGAVE: Project NORS a Multiplayer Online Battle Arena

Total Page:16

File Type:pdf, Size:1020Kb

BACHELOROPPGAVE: Project NORS a Multiplayer Online Battle Arena 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............................
Recommended publications
  • Game Developers Who Started Their Careers by Working on Mods
    you can make games now! ANNUAL FALL 2012 INSIDE: HANDS-ON HOW-TOS FOR THE UNREAL DEVELOPMENT KIT, THE SOURCE ENGINE, AND MORE! Change Your World DOWNLOAD FREE* 2013 AUTODESK SOFTWARE The future is closer than you think. Join a whole new class of artists in the Autodesk Education Community, and receive free* access to the same software and tools used by professional digital artists. autodesk.com/freesoftware *Free products are subject to the terms and conditions of the end-user license agreement that accompanies download of the software. The software is for personal use for education purposes and is not intended for classroom or lab use. Autodesk is a registered trademark of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. © 2012 Autodesk, Inc. All rights reserved. DigiPen student games have won 40 awards at the Independent Games Festival—more than those of any other school. Download and play them at digipen.edu/gamers. NOUS PIXI NITRONIC RUSH 2012 IGF Student Showcase Winner 2012 IGF Student Showcase Winner 2012 IGF Honorable Mention DigiPen Institute of Technology offers bachelor's and master's degrees in hardware and software engineering applied to VLPXODWLRQYLGHRJDPHGHVLJQDQGGHYHORSPHQW¿QHDUWVDQG digital art production, and sound design. www.digipen.edu ANNUAL FALL 2012 CONTENTS postmortem 44 SNOWFIELD THE SNOWFIELD is an experimental project in emergent narrative set during World War I, made in eight weeks by a team of 10 student interns from Singapore and the U.S., that was featured in the Independent Games Festival 2012 Student Showcase.
    [Show full text]
  • Télécharger Le Mémoire
    CREM Centre de Recherche sur les Médiations Master AMINJ - 1ère année Parcours Conception de Dispositifs Ludiques Appropriation, construction et développement de l’univers des jeux vidéo alternatifs. Etude des pratiques discursives d’une communauté d’auteurs-joueurs. Mémoire en vue de l’obtention du master 1 Mention Information communication Présenté et soutenu par VUILLEMOT Pierre Directeur de recherche : GENVO Sébastien Année universitaire 2019-2020 1 CREM Centre de Recherche sur les Médiations Master AMINJ - 1ère année Parcours Conception de Dispositifs Ludiques Appropriation, construction et développement de l’univers des jeux vidéo alternatifs. Etude des pratiques discursives d’une communauté d’auteurs-joueurs. Mémoire en vue de l’obtention du master 1 Mention Information communication Présenté et soutenu par VUILLEMOT Pierre Directeur de recherche : GENVO Sébastien Année universitaire 2019-2020 2 Glossaire Asset packages : des fichiers de création afin de satisfaire les exigences et les téléchargeables (gratuitement ou non) et objectifs fixés. modifiables. Digital Rights Management (DRM Bitsy : outil de création affilié à la Free) : discours prônant la fin des DRM communauté Itch.io offrant un accès afin de permettre la distribution des simplifié au développement de petits œuvres sans les obligations présentes jeux. Extrêmement populaire dans avec lesdits DRM. certaines communautés de création Digital Rights Management (DRM) : alternatives. la gestion des droits numériques. Dans Build : le terme build désigne le passage l’industrie vidéoludique, les DRM vers une version exécutable de son jeu permettent de limiter la diffusion des vidéo. jeux achetés sur des plateformes de distribution. Les DRM impliquent des Care : « Activité caractéristique de obligations légales et matérielles (accès l’espèce humaine, qui recouvre tout ce à un réseau internet, création d’un que nous faisons dans le but de compte).
    [Show full text]
  • Software Reuse in Game Development: Creating Building Blocks for Prototyping
    DEGREE PROJECT IN COMPUTER SCIENCE AND ENGINEERING, SECOND CYCLE, 30 CREDITS STOCKHOLM, SWEDEN 2019 Software Reuse in Game Development: Creating Building Blocks for Prototyping RICKARD BJÖRKLUND KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Software Reuse in Game Development: Creating Building Blocks for Prototyping RICKARD BJÖRKLUND Master in Computer Science Date: June 5, 2019 Supervisor: Cyrille Artho Examiner: Martin Monperrus School of Electrical Engineering and Computer Science Host company: EA DICE AB Swedish title: Återanvändning i spelutveckling: byggstenar för prototyping iii Abstract As games and the technologies used by them have become more advanced, the cost of producing games have increased. Today, the latest AAA titles are the results of hundreds or as many as thousands of people working full-time for years, and even developing a prototype requires a large investment. This project sets out to reduce that cost by looking at how reusable building blocks can be used in the prototyping process. During the project, seven interviews with game designers were conducted. The interviews found that building character controllers for the player was the most common activity and one of the more difficult tasks when prototyping a new game. As a result, a tool for creating character controllers was made. The tool builds the character controllers to work as state machines where actions in a state and transitions between states are editable through a visual programming language. The visual programming language uses nodes. These nodes work as reusable building blocks. The tool was evaluated by six game designers and four programmers who all thought the tool used a good approach for building and prototyping char- acter controllers.
    [Show full text]
  • Game Developers
    GAME DEVELOPERS • Game Developer • Web Developer • Game Designer • Interactive Developer • Simulation Programmer • Unity Programmer • Software Engineer • Software Developer RÉSUMÉ BOOK | 2021 QUARTER 1 BACHELOR OF SCIENCE SOFTWARE & GAME DEVELOPMENT SKILLS AND EXPERIENCE To graduate from Neumont's Bachelor of Science in Software & Game Development degree program, students must show competency with the languages, tools, and skills listed below: LANGUAGES TOOLS, LIBRARIES • C++ & FRAMEWORKS • C# • Unity • Java • OpenGL • OpenGL Shader Language • WPF.NET • SQL • ASP.NET • JavaScript • JavaFX • HTML • OpenGL Extension Wrangler Library • CSS APPLICATIONS • Visual Studio PROJECT EXPERIENCE • Android Studio Software projects are completed by each student • Eclipse and/or lntelliJ IDEA quarterly of a year-round, three-year degree program. • Maya and/or Blender • Git Each student has completed five or more five-week projects in groups including desktop, web, and FOUNDATIONAL GAME distributed systems over the course of three years. DEV SKILLS Students have completed numerous individual projects • Strong coding abilities including a 10-week senior project from concept, • 3D game engine development construction, delivery, and presentation. • Artificial intelligence • Advanced game physics • Computer graphics • Linear algebra • Experience with agile methodologies • Mobile game development with Unity • Mobile Android app development • Game design and development using Unreal RÉSUMÉ BOOK | 2021 QUARTER 1 GAME DEVELOPERS GRADUATION DATE: DECEMBER 2020 John-William
    [Show full text]
  • Playful Game Jams: Guidelines for Designed Outcomes
    Playful Game Jams: Guidelines for Designed Outcomes William Goddard Richard Byrne Florian ‘Floyd’ Mueller Exertion Games Lab Exertion Games Lab Exertion Games Lab RMIT University RMIT University RMIT University Melbourne, Australia Melbourne, Australia Melbourne, Australia [email protected] [email protected][email protected] ABSTRACT game jam have provided outcomes for game designers, such Game jams are social events involving the integration of as exploring technology limits [1], experimenting with inter- various game making disciplines (e.g. programming, art, faces [34], and exploring themes [23]. Through the process design) to make games under constraints, such as a short of game making in a game jam, other outcomes are gener- fixed time. Game jams are emerging in areas such as re- ated such as social collaboration and learning [12]. Through search, education, and industry as events to facilitate game their productive outcomes and positive experience, game making for designed outcomes; i.e. outcomes elicited from jams have become established in game making culture where appropriately designed game jams. Game jams continue to they are now regarded as a rite of passage [37]. grow and be appropriated to new contexts, however, little is known about how to design game jams to facilitate designed Game jams continue to proliferate, through the creation outcomes. We identify participation in game jams as a con- of new events and the addition of locations and participa- structive form of play defined as ludic craft. Consequently, tion to established game jams. This growth has included we investigate the properties (e.g. rules) of game jams un- the appropriation to new contexts, such as game jams for der the lens of play on the playful vs.
    [Show full text]
  • Using Educational Games in the Classroom: Guidelines for Successful Learning Outcomes
    Using educational games in the classroom: guidelines for successful learning outcomes A handbook for teachers Publisher: European Schoolnet EUN Partnership AISBL Rue de Trèves 61 1040 Brussels - Belgium Funding organisation: Interactive Software Federation of Europe Author: Dr. Patrick Felicia, Lecturer, Researcher, Department of Computer Science, Waterford Institute of Technology, Ireland - [email protected] Editors: Benjamin Hertz, Viola Pinzi, Mona Sefen Design: Jessica Massini Picture credits: © Visual Generation/MrP/Anton/ Gennadiy Poznyakov/Sergey Nivens/Gorodenkoff Productions OU/Igor Stevanovic/ekkaphan/Gorynvd/Kaspars Grinvalds - stock.adobe.com Copyright: Published in September 2020. The views expressed in this publication are those of the author and not necessarily those of EUN Partnership AISBL or Interactive Software Federation of Europe (ISFE). Unless otherwise stated, content on this Handbook can be used under the Creative Commons Licence Attribution-ShareAlike 3.0 Unported (CC BY- SA 3.0) https://creativecommons.org/licenses/by-sa/3.0/ ISBN: 9789492913951 Contents 1. INTRODUCTION ......................................................5 1.1. Purpose of this handbook .........................................................6 1.2. What this handbook offers ........................................................6 1.3. Scope and target of this handbook .........................................6 1.4. Learning objectives .....................................................................6 2. WHY USE EDUCATIONAL GAMES? ..........................9
    [Show full text]