ebook img

Project NORS A Multiplayer Online Battle Arena Game Implemented in Unreal Engine 4 ... PDF

221 Pages·2015·10.66 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Project NORS A Multiplayer Online Battle Arena Game Implemented in Unreal Engine 4 ...

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 ProjectNORS AMultiplayerOnlineBattleArenaGame ImplementedinUnrealEngine4. Sammendrag av Bacheloroppgaven Tittel: ProjectNORS EtFlerspillerNettbasertKampArenaspill UtvikletiUnrealEngine4. Dato: 15.05.2015 Deltakere: JonathanNess AleksanderOlsen MariusRødland ChrisAndreSand Veiledere: SimonMcCallum Oppdragsgiver: HøgskoleniGjøvik Kontaktperson: ProjectNORS,[email protected] Nøkkelord: Norway, Norsk, Nors, Unreal Engine, Bachelor, MOBA, IMT Antallsider: 204 Antallvedlegg: 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 startetsomenideogendteoppsometfullverdigspill. i ProjectNORS AMultiplayerOnlineBattleArenaGame ImplementedinUnrealEngine4. Summary of Graduate Project Title: ProjectNORS AMultiplayerOnlineBattleArenaGame ImplementedinUnrealEngine4. Date: 15.05.2015 Participants: JonathanNess AleksanderOlsen MariusRødland ChrisAndreSand Supervisor: SimonMcCallum Employer: HøgskoleniGjøvik ContactPerson: ProjectNORS,[email protected] Keywords: Nors,UnrealEngine,Bachelor,MOBA,IMT Pages: 204 Attachments: Availability: Open Abstract: NORSisanewMOBAgamewithexitingfeaturessuchas, controlling the elements. With this ability, the player can controlandchangetheenvironmenttotheirbenefitinthe epicbattleforGreatBritanniabetweenthebrutalVikings and the Saxons. This thesis will describe the process we usedtomakeNORSandhowitstartedasamereideato acompletegame. ii ProjectNORS AMultiplayerOnlineBattleArenaGame ImplementedinUnrealEngine4. Preface WewouldliketoextendourthankstoSimonMcCallumforbeingtheprojectsupervisor. Heprovidedvaluableguidanceandencouragementthroughouttheproject.Abigthanks toEpicGamesandtheUnrealEnginecommunityforvaluabletutorials,pluginsandhelp thatwereusedthroughouttheproject.NotableonesbeingtheVaRestpluginbyVladimir AlyamkinandtheVideoTutorialsbyEpicGames. iii ProjectNORS AMultiplayerOnlineBattleArenaGame ImplementedinUnrealEngine4. Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv ListofFigures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 ProjectDescription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2 Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 ProjectAudience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.1 ProductAudience . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.2 ThesisAudience . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 AcademicBackground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5 DevelopmentFramework . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5.1 SoftwareDevelopmentMethodology . . . . . . . . . . . . . . . . . 3 1.5.2 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.6 DocumentStructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 RequirementsandDesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.1 GameDesignDocument . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.2 InitialDesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.3 Psychology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.4 FinalDesign. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 TechnicalDesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.1 UnrealEngine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 Blueprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2.1 Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2.2 Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 iv ProjectNORS AMultiplayerOnlineBattleArenaGame ImplementedinUnrealEngine4. 3.2.3 Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2.4 Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2.5 Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2.6 ColapsedCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2.7 ActorComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2.8 Widget. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2.9 ConstructionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3 VersionControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.4 Trackinganddocumentation. . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.5 Blender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4 DevelopmentProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.1 WorkingHours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2 DevelopmentTools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2.1 UnrealEngine4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2.2 Blender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2.3 Versioncontrol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.3 ProjectWorkflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.3.1 Scrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.3.2 Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.4 DevelopmentWorkflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 BlueprintStructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.4.1 PawnsandCharacter . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.4.2 ChampionandProxyPawn . . . . . . . . . . . . . . . . . . . . . . 28 5.4.3 BaseMinions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5.4.4 Minion_FootSoldier . . . . . . . . . . . . . . . . . . . . . . . . . . 29 v ProjectNORS AMultiplayerOnlineBattleArenaGame ImplementedinUnrealEngine4. 5.5 AI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.5.1 BaseMinions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.5.2 Minion_FootSoldier . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.5.3 JungleCreeps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.5.4 Pathfinding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.5.5 BehaviorTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.5.6 BehaviorTreeinUnrealEngine4 . . . . . . . . . . . . . . . . . . . 34 5.5.7 AIcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.5.8 MinionAIController . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.5.9 TowerTargeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.5.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.6 Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.6.1 Collision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.7 UserData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.7.1 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.7.2 BlueprintSolution . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.8 IngameNetworking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.8.1 ReplicatedVariables . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.8.2 ReplicatedFunctions . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.8.3 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.9 Buildings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.9.1 Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.9.2 MainHall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.9.3 Barracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.10 Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6 Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.1 Building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.1.1 DifferentMachines . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.1.2 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 7 TestingandUserFeedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 7.1 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 7.1.1 Testingwithkids . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 vi ProjectNORS AMultiplayerOnlineBattleArenaGame ImplementedinUnrealEngine4. 7.1.2 TestingwithGameProgrammingstudents . . . . . . . . . . . . . . 50 7.2 UserFeedback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 7.3 Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 8 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 8.1 Differentapproaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 8.1.1 TestingandUserFeedback . . . . . . . . . . . . . . . . . . . . . . . 53 8.1.2 ClassStructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 8.1.3 CodeLimitation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 8.2 FutureDevelopment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 8.2.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 8.2.2 IngameContent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 8.2.3 FutureBachelorProject . . . . . . . . . . . . . . . . . . . . . . . . 54 9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 A ProjectNORS:Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 B ProjectNORS:ProjectPlan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 C ProjectNORS:DesignDocument . . . . . . . . . . . . . . . . . . . . . . . . . 71 D ProjectNORS:Ganttchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 E ProjectNORS:ConfluenceWiki . . . . . . . . . . . . . . . . . . . . . . . . . . 81 F ProjectNORS:BusinessModel. . . . . . . . . . . . . . . . . . . . . . . . . . . 94 G ProjectNORS:Grouprules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 H ProjectNORS:DailyScrumLog . . . . . . . . . . . . . . . . . . . . . . . . . . 100 I ProjectNORS:MeetingNotes . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 J ProjectNORS:ToggleTimeTracking . . . . . . . . . . . . . . . . . . . . . . . 169 vii ProjectNORS AMultiplayerOnlineBattleArenaGame ImplementedinUnrealEngine4. List of Figures 1 Thedifferentclasses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Thedifferentelements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 VariablesinBlueprint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4 FunctioninBlueprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5 WidgetDesigner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6 BadBlueprintCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7 BetterBlueprintCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 8 GoodBlueprintCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 9 Blender:BlenderStartViking . . . . . . . . . . . . . . . . . . . . . . . . . 17 10 Blender:ArmatureofViking . . . . . . . . . . . . . . . . . . . . . . . . . . 18 11 Blender:Weight-PaintViking . . . . . . . . . . . . . . . . . . . . . . . . . 19 12 Blender:VikingUV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 13 Blender:VikingAnimation . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 14 Blender:VikingApply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 15 Blender:VikingFbxExport. . . . . . . . . . . . . . . . . . . . . . . . . . . 22 16 Thespellsdatatable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 17 Theflowofthespells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 18 Tableexample. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 19 GUIExplained. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 20 Shopexample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 21 UMLDiagramofBaseMinion . . . . . . . . . . . . . . . . . . . . . . . . . 29 22 Creationofsubclasses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 23 Minion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 24 UnrealEngineComponentsfortheMinions . . . . . . . . . . . . . . . . . 31 25 NavmeshPolygongraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 26 BehaviorTree:minionBehaviorTree . . . . . . . . . . . . . . . . . . . . . . 36 27 UMLAIController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 28 MinionAIControllerUML . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 viii ProjectNORS AMultiplayerOnlineBattleArenaGame ImplementedinUnrealEngine4. 29 CreatingofnewTraceChannel . . . . . . . . . . . . . . . . . . . . . . . . 40 30 SimpleCollisionbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 31 Collisionoptionsforobjects . . . . . . . . . . . . . . . . . . . . . . . . . . 42 32 AnimationStructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 33 Blendspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 34 ChampionStartAnimation . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 35 Feedbackdiagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 ix

Description:
NORS is a new MOBA game with exiting features such as, to Epic Games and the Unreal Engine community for valuable tutorials, plugins and help .. We want 5% of the userbase to be generating content for the game. Using an already made Game engine as the Unreal or Unity is something we.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.