3D Game in Unreal Engine 4: Department of Computer Science COMSATS University Islamabad, Lahore Campus
3D Game in Unreal Engine 4: Department of Computer Science COMSATS University Islamabad, Lahore Campus
3D Game in Unreal Engine 4: Department of Computer Science COMSATS University Islamabad, Lahore Campus
Session 2016-2020
M. Bilal Aslam
(iii) FA16-BCS-328 [email protected]
Khokhar
*The candidates confirm that the work submitted is their own and appropriate credit has
been given where reference has been made to work of others
Date: 31 July 2020 Name of Group Leader: Muneeb Hamza Signature: _____________
HoD: _____________________
Signature: _____________________
Abstract:
This project is a Third person melee combat action game which has combat emphasizing
on mix and match strategy to use both magic and sword to fight enemies. The combat is to
be challenging and tactical which will focus more in tactics and strategy than combo. Game
takes place in fantasy world with no apparent inspiration from any time period. The
Development of game will focus on using the industry standard tools and techniques to
develop an engaging, challenging and visually appealing game.
3 of 48 31 July 2020
Table of Content
Introduction ………………………………………………………….…… 08
Objectives ……………………………………………………………….... 09
Problem statement ………………………………………….…………….. 10
Assumptions & constraints ……………………….……………………… 11
Project scope ………………………………………….………………….. 11
4 of 48 31 July 2020
Chapter 5: Conclusion ……………………………………………………………….. 33
References ………………………………………………………………………...….. 34
Appendices ………………………………………………………………………….... 35
5 of 48 31 July 2020
List of Tables
6 of 48 31 July 2020
List of Figures
7 of 48 31 July 2020
Chapter 1: Introduction
1. Introduction
1.2.2 Genre:
Third person action-adventure.
The game will also have some calm moment that will have gameplay sections that
will focus on letting players know some background information about the
character and story through environmental story telling.
8 of 48 31 July 2020
1.2.5 Look and Feel:
The game is a fantasy game but still it will have a very grounded feeling and
combat. The game will not cross the line into high fantasy. The environments and
art will not be stylized and will rather lean towards realistic feel. Think of it as
something like in-between Lord of the Rings and God of War and The Witcher 3.
Don’t expect the game to go full on anime style or final fantasy. The game is to
have a rather serious and dark tone but not as dark as Witcher or game of thrones,
but it is to be kind of a middle ground between these. The only aspect of the game
that will remind the player that it is a fantasy game is the magic abilities and
enemies the players will face.
1.2 Objectives
The main objective of the project of the project to is to turn a promising idea into a great
feature and produce a game that is: -
Challenging
Engaging
Fun to Play
Action Oriented
Has Tactical Combat
Visually good looking game
Un-confusing for the player to play and traverse.
Feels Coherent and no part of the game takes place out of place
Rewarding for the player
The main goal at the end of completing the project is to have good skills required in game
development and to be able to produce high quality results in unreal engine 4 and all the
other tools.
The final product that project will strive for is a full-fledged 3d game that has around 2
hours of unique content. The project will focus on making PC standard game that can
engage users to download it if it was to be released publicly.
The purpose of this project is to develop a game that has following features
Fluid Animations
Responsive Combat
9 of 48 31 July 2020
Bug Free Experience
Detailed Environment
Challenging Gameplay
This project also aims to implement modern real time graphical technologies and features
such as:
Global Illumination
10 of 48 31 July 2020
1.4 Assumptions & Constraints
This project is not meant to be released publicly and is rather a high quality and highly
detailed prototype for a full-fledged large-scale project that can be released publicly and
be successful.
This project will require a modern PC with good graphics capability to run.
Scope of the project will cover all the aspects of game development from creating 3d assets
to level design, particles, physics, AI, Animation. The scope of the project is aimed at
exploring almost all mandatory aspects that go into making a game. The project will also
help to develop to skills that can be easily translated to other fields like AR, VR and making
interactive experiences.
11 of 48 31 July 2020
Chapter 2: Requirement Analysis
Next the production phase start where animations, assets and all other assets start getting
produced while the programmers can develop the gameplay functionality where unfinished
or placeholder assets are increased. During this any changes required are communicated
early so the team does not waste on assets that won’t be used or will be discarded.
During the next phase assets and features are locked and polished to the highest quality
possible.
Then the game is published, and development team then focuses on post-release support
for the game.
12 of 48 31 July 2020
FR 1-4 Player should be able to control the character
with minimal input lag.
13 of 48 31 July 2020
FR-2: AI Enemy
14 of 48 31 July 2020
2.3.3 Requirement Traceability Matrix:
15 of 48 31 July 2020
Player should be
rewarded based on his
FR-1-10 performance after High
every combat
scenario.
Player’ progress
FR-1-11 should be saved at High
certain points in game.
Enemy should be
FR-2-1 spawned at the correct High
time.
Enemy should be
FR-2-2 properly programmed Medium
to be controlled by AI.
Enemy should be able
to deal damage to
FR-2-3 Medium
player upon successful
hit.
Enemy should be
BR-2 AI Enemy FR-2-4 destroyed upon High
reaching zero health.
Enemy should be able
to locate and track
FR-2-5 player so it can always High
stay engaged in
combat.
Enemy must have its
attack pattern Medium
FR-2-6 interrupted after being
successfully hit by
player.
16 of 48 31 July 2020
2.4 Use Case Description
Priority: High
Actors: Player
Pre-condition:
Post Conditions
17 of 48 31 July 2020
Use Case ID: 02 Use Case Name: Load Game
Priority: High
Actors: Player
Use Case Summary User will be able to continue the Saved Game from
previous check point.
Post Conditions
18 of 48 31 July 2020
Use Case ID: 03 Use Case Name: Change Settings
Priority: Medium
Actors: Player
Use Case Summary User will be able to access the settings and change it.
Post Conditions
19 of 48 31 July 2020
Use Case ID: 04 Use Case Name: Edit Controls
Priority: Medium
Actors: Player
Use Case Summary User will be able to edit the Game Controls.
Pre-condition:
20 of 48 31 July 2020
Use Case ID: 05 Use Case Name: Player Movement
Priority: High
Actors: Player
21 of 48 31 July 2020
Use Case ID: 06 Use Case Name: Exit Game
Priority: Medium
Actors: Player
Post Conditions
22 of 48 31 July 2020
improve the complete development process from conception through implementation to
delivery.
We will use Iterative Model for this project. As this model will allow us to come back to
earlier stage and add more complex features. We will apply this model as we will be using
different versions of assets throughout the developments and come back with better assets
and features that will improve the game.
Inherent Versioning: With this model it’s easier to implement the update that are
done in the previous iterations. Also, we can easily rollback any iteration with
minimal losses.
Rapid Turnaround: This model will effectively reduce the time frames. Every
new iteration will be faster.
Agile Organization: With the help of iterative model it is easier to work small and
agile teams.
Easy Adaptability: Working with iterative model it is quite easy to adapt the
frequently changing iterations and the changing needs of the project.
23 of 48 31 July 2020
2.5.1 Phases:
Iterative model consists of five phases:
Implementation:
With the arranging and investigation off the beaten path, the real usage and building
procedure would now be able to start. All arranging, determination, and structure
docs yet are incorporate and actualized with this underlying emphasis of the
venture.
Testing:
When this present form cycle of the game has been coded and executed, the
subsequent stage is to experience a progression of testing methods to recognize and
find any potential bugs or issues through all the level and phases of the game that
have sprung up.
Evaluation:
When every single earlier stage has been finished, it is the ideal opportunity for a
careful assessment of improvement up to this stage. This permits the whole group,
just as customers or other outside gatherings, to analyse where the game is at, where
it should be, what can or should change, etc.
24 of 48 31 July 2020
This is the finished iterative model of the game, whereby the most as of late assembled
emphasis of the undertaking, just as all input from the assessment procedure, is taken back
to the arranging; advancement organize at the highest priority on the rundown, and the
procedure rehashes itself everywhere.
25 of 48 31 July 2020
Chapter 3: System Design
26 of 48 31 July 2020
3.2 Sequence Diagram
27 of 48 31 July 2020
3.3 Network Diagram
3.3.1 Data Picture of Gantt Chart:
28 of 48 31 July 2020
3.3.2 Gantt Chart:
29 of 48 31 July 2020
Chapter 4: System Testing
Test Test Test Case Pre- Test Steps Test Data Expected Results
Case Case Condition
Scenario
ID
TC-01 New To start new User 1. User will start the Select New User will start
Game game. should be game. Game New Game.
on main option.
menu 2. User will select the
screen. New Game option
from the main menu.
Test Test Test Case Pre- Test Steps Test Data Expected Results
Case Case Condition
Scenario
ID
TC-02 Load To load User 1. User will Load Game. Select User will load
Game saved game. should be Load Game saved game.
on main 1. User will select the option.
menu Load Game option
screen. from the main menu.
30 of 48 31 July 2020
4.1.3 Change Setting:
Test Test Test Case Pre- Test Steps Test Data Expected Results
Case Case Condition
Scenario
ID
TC-03 Change To change the User 1. User will select Select User will able to
Settings game settings. should be Setting option from Setting change game
on main main menu. option. settings.
menu or in
game play. 2. User will Press Esc
button if in game
play and select
Setting option from
pause menu.
Test Test Test Case Pre- Test Steps Test Data Expected Results
Case Case Condition
Scenario
ID
TC-04 Edit To change the User 1. User will select Select User will able to
control. game control should be Control option from Control change game
settings. on main main menu. option. control settings.
menu or in
game play. 2. User will Press Esc
button if in game
play and select
Control option from
pause menu.
31 of 48 31 July 2020
4.1.5 Player Movement:
Test Test Case Test Case Pre- Test Steps Test Data Expected Results
Case Condition
Scenario
ID
TC-05 Player To test the User 1. User will press Press User will able to
Movement player’s should be specified keyboard keyboard move the player
movement in in game buttons for player’s buttons while in game
the game. play. movement on the while in play.
screen. game play.
Test Test Case Test Case Pre- Test Steps Test Data Expected Results
Case Condition
Scenario
ID
TC-06 Exit To exit the User 1. User will click on Click on User will able to
Game game. should be Exit option from Exit exit the game.
on main main menu. Button.
menu or in
game play. 2. User will Press Esc
button if in game
play and click on
Save and Exit from
pause menu.
32 of 48 31 July 2020
Chapter 5: Conclusion
1. Working on a platform like Unreal Engine 4, taught us a lot of new skills and
we came to about many new technologies.
2. While working on UE4 we learned about Blueprint Visual Scripting.
3. We learned that while doing any kind of project, planning and work according
to schedule is the key. Do not push the deadlines otherwise it will cost you.
4. Building the AI enemy was a difficult task to handle.
5. Animation Cancelling is a feature that we added in game and it was tough
feature to build.
In this documentation we have explained about our project with details and
diagrams. Every step was a challenging one than the previous, but it cleared our
ambiguities. Despite of the fact that there are already many games in the market,
but we have focused on quality of the game. Our game will provide high quality
modelling, character’s build quality and 3d Environments.
33 of 48 31 July 2020
References
Iterative Model:
https://airbrake.io/blog/sdlc/iterative-model
Sequence Diagram:
http://www.cs.bilkent.edu.tr/~ugur/teaching/cs319/proj/06_02/doc/analysis/draft_files/im
age044.png
34 of 48 31 July 2020
Game Design Document
1. Title
1.1 Game Name:
The Realms (Working Title). The title represents the main areas that our game will
take us to. These are the mysterious lands that our hero must go to break the spell
binding the prince.
2. Game Overview
2.2 Genre:
Third person action-adventure.
The game will also have some calm moment that will have gameplay sections that
will focus on letting players know some background information about the
character and story through environmental story telling.
35 of 48 31 July 2020
art will not be stylized and will rather lean towards realistic feel. Think of it as
something like in-between Lord of the Rings and God of War and The Witcher 3.
Don’t expect the game to go full on anime style or final fantasy. The game is to
have a rather serious and dark tone but not as dark as Witcher or game of thrones,
but it is to be kind of a middle ground between these. The only aspect of the game
that will remind the player that it is a fantasy game is the magic abilities and
enemies the players will face.
3.1 Gameplay
3.1.1 Game Progression:
The game will progress in a linear manner and player will be awarded skill points
as he/she progresses. The better the player performs, the faster he will earn skill
points. However, there is base for how much the player will earn at-least so at-least
he has some abilities unlocked. These abilities will also be considered while
designing enemies so having more abilities and utilizing them will give the player
the edge in battles.
As already described the mission structure will be linear and will be mostly locked
behind combat scenarios.
36 of 48 31 July 2020
The game aims to throw players in the midst of an emotional and fantastical journey
that will let them have an insight into the main protagonists emotional burdens and
what it means to balance the responsibilities in life and when you lean towards only
one thing in life how it can cost you.
The gameplay wants the player to be careful while being aggressive as not being
aggressive will cost the players by running out of parry stamina and will be forced
to dodge as he/she waits for the enemy to stop barraging attacks.
3.2.1 Actions:
The player will be able to perform the following Actions
Move Left
Move Right
Move Forward
Move Backward
Sprint
Control the camera
Lock on To Enemy
Attack
Dodge
Magic Attack
Weak Parry
Strong Parry
Ultimate Attack
Player won’t be able to jump in the game and will only be able to jump over
obstacles while traversing. Moreover, when the player will lock onto enemy the
movement of player will switch to strafing which will allow the player to keep the
enemy always in sight no matter the movement.
3.2.2 Combat:
The game will feature melee combat with focus on mixing and matching sword and
magic attacks while using weak and strong parry to parry attacks or alternatively
use dodge to avoid attacks. There is no blocking in the game.
37 of 48 31 July 2020
The player will have two parry meters one for weak parry and one for strong parry.
Dodging will not have any stamina or any kind of meter that player will have to
wait for to refill.
Player will be rewarded more generously for parrying as the player will get greater
window to counterattack as opposed to dodging. There will also be unblock able attacks
that player can only dodge.
As for the enemies, the enemies will have gradually increasing difficulty level as
the game progresses and will have more complex attack patterns as the game
progresses.
The enemies will have some or all following actions during combat depending on
the enemy type:
Basic Attack
Magic Attack
Heavy Attack
Unlockable Attack
Parrying
Dodging
All these mechanics are subject to change or removal or being simplified
after play testing.
Game will have auto save after every combat scenario or at some certain points
there will be no manual saving option in the game. New game plus is planned that
will allow the player to play the game at a higher difficulty level with all of combat
upgrades right from the beginning.
Player will be able to reload last checkpoint and will be able to start a new campaign
from the main menu while saving their old campaign in a different slot so they can
play whichever campaign they like.
38 of 48 31 July 2020
4. Story, Setting and Character
The game will not have cut-scenes as they are simply out of scope of project for
now and will have story told through subtitled dialogues and environmental story
telling.
General look and feel of world have a medieval feeling but not inspired by
any era. Most of the areas in the game will have a dark and desolate feel as
the game takes place in a mysterious place called the realms.
o Throne room which will be the starting area, and this is where the first
boss fight will occur. It is a luxurious looking huge hall with two
thrones one for king and one for prince. The throne room has large
windows on sides and two large Sigel hung behind the throne. The
room is fully marbles and shiny with glorious chandelier hanging from
the roof. The player should get the feeling that this throne room only
belongs in a very rich king’ castle.
o After the throne room sequence the camera will cut and players will
start from a graveyard in a place which looks like the kingdom from
the future but is mostly destroyed and old like no one has been alive
at the place for decades. Player will fight dead common people from
here and go through the city streets that has small but destroyed houses
as the whole kingdom.
o Then the player will reach the main gate of the palace that is the same
palace as in the real world but is desolate and destroyed and devoid of
all its glory and looks like it has been like this for decades.
39 of 48 31 July 2020
o The next area is the whole palace that the player will explore and fight
and make their way fighting to the throne room again. But this palace
is the palace from the future which is huge but is very old and dark
and devoid of life.
4.2.2 Characters:
The main protagonist of the game who is in his early 20s and is part of the
royal guard and is very close to king and prince and loves them like his own
family. He is born with powerful magical abilities. The Protagonist is tall
and muscular and wears a sleeveless light armour and uses a light sword
that can be used with one hand while he can cast magic spells with other
hand. The protagonist has been trained since boyhood to be able to use magic and
swordsmanship in combat efficiently for getting recruited into royal guard who are
the closest security of king and his family. He has a troubled past and thinks that
he accidently killed his parents as a kid because he has always heard rumours that
have followed him for all his life. He knows he has these powers but thinks king
is just selfishly using these protect his own family and if he accidently killed his
parents then He has no way of knowing that he won’t do it again and is also scared
of his powers and is emotionally conflicted.
Dead Peasants. The Dead spirits of people who died because of the ongoing
famine and were angry with their king for not helping his people. They are
common looking people armed with knives or pitch forks or maybe only
sticks.
Dead Royal Guards. Highly skilled guards of palace that also died in the
ongoing famine. They are armoured with heavy weapons and are highly
skilled.
Final Boss. The final boss is an unknown man who was also a highly skilled
swordsman. He is almost in his 30s and is the toughest enemy in all of game.
He is also heavily armoured wearing the insignia of royal guard.
40 of 48 31 July 2020
5. Levels
5.1 Game Levels:
Each level should include a synopsis, the required introductory material (and
how it is provided), the objectives, and the details of what happens in the level.
Depending on the game, this may include the physical description of the map,
the critical path that the player needs to take, and what encounters are important
or incidental.
The starting level of the game is throne room where a mysterious man
appears and casts a spell on prince. This level is basically meant as a stage
for the boss fight that the game starts with. This level is meant to be
representative of what the situation of kingdom and this is a rich kingdom
of an extravagant king. This room is spacious enough, so the player has
enough room during boss fight especially considering that it’s the first boss
fight of game.
Next level is basically a huge area that consists of multiple sections starting
from a graveyard which is in the city and then includes a little section of
residential homes which leads to the palace. Rest of the level is the interior
of palace which is in a bad situation is basically a ruin. This level will lead
the player back to throne room eventually and where a second boss fight
will take place which will serve as the closure for game and is one way the
end of episode 1 of story. The level will start with less tactical but still
aggressive enemies and the player will eventually face more tactical
enemies as they get closer to the palace and starting with palace entrance
enemies will change drastically. The whole palace will not be explore-able
but some major parts of it.
41 of 48 31 July 2020
6. Interface
HUD:
The HUD will have Health Bar, Magic Bar, Left, Right Parry Stamina
bar displayed. HUD will be visible only during combat.
Camera:
Camera in-game will be third person over the shoulder camera controlled
by player. Camera can be locked on to enemy during combat.
7. Artificial Intelligence
Opponent and Enemy AI:
The dynamic adversary that plays against the game player and in this manner
requires vital basic leadership the foe AI will be fairly not mind boggling.
Computer based intelligence will consistently follow the player and will continue
assaulting or avoiding or dodging the assaults as indicated by foe and will be
adjusted in the wake of playtesting, so it feels forceful and testing without being
unjustifiable.
The AI will likewise speak with other adversary AIs, so the AI doesn't assault in
an out of line way where player is left overpowered in unreasonably way.
42 of 48 31 July 2020
8. Technical
8.3 Hardware:
The game will be developed using a PC with the following hardware. The same
hardware will be used for testing and will work as reference for performance
testing and optimization. Optimization will target 60 FPS on HD resolution.
The Assets will have a mostly realistic style and will not be highly stylized or
cartoony. Assets will not be targeted for achieving a photorealistic quality either.
For environment props and architectural props, blender is being used while Z-Brush
will be used for organic modelling like characters. Texturing will be done using
substance tools.
43 of 48 31 July 2020
Appendices
44 of 48 31 July 2020
45 of 48 31 July 2020
46 of 48 31 July 2020
47 of 48 31 July 2020
48 of 48 31 July 2020