Game Development - Task 3

Samer Muhamed Usef / 0357036 / Bachelors of Computer Science (Hons)

Games Development
Games Development Task 03: Project Prototype
17/06/024 - 09/07/2024 (Week 08 - Week 11)

Throughout this prototype, I've built my game consisting of 

1. Menu screen, 
2. Level design (Platforms, Environment, Background) 
3. Players (Script: MyPlayer- Animation *Idle, Walk, Attack, Death* + Health + Respawn + Jump System, Checkpoint System)
4. Enemies (Script: MyEnemy- Animation *Idle, Walk* + Patrol + Damage)
5. Health bar (Script: MyUI )
6. C# Scripts

1. Main Menu


Starting off with my game, I created a base screen for the main menu with the background texture being the final version. Others would be subject to change and added in as of now for the functionality purpose of my game and giving it some immersion of a sense of a real game.

Figure 1.1: Wallpaper

After that, I have added the clickable buttons which are enclose within a canvas (Play, Option, Exit) with 2 out of 3 of them working and the odd 1 being the Option button which will be later added for the final touches of the game.

Figure 1.2: Title + Buttons


2. Level design


When the user presses the play button they are brought into the realm of the Unknown Beyond where I started off with the base floor the player would be standing on to get to the upholds of Raftbold mountain. 

Here, I've imported an asset which specializes in Tile mapping and brought forward a grassy block of land that would blend in with the environment I have brought up together. 

Figure 2.1: Grassy/Dirt Tile Map


After that, I started working on the environment of the Unknown Beyond with the playfield background composed of mountains and clouds while the player traverses vertically towards the foothold of RaftBold. Assets yet again were taken from the asset I've finalized on during the assets/character modeling period.

Figure 2.2: Background


Next, using a png transparent image, I have brought out two mountains beside the playfield to exhibit what type of game I was going for which was pitched during the proposal period. Hence player would have to traverse vertically upward to get the Raftbold's foot top.

Figure 2.3: Mountain Blocks


After the environment of my game was set and ready, I went onto to put pngs of platforms I have come across which matched the rocky region of the environment and hence would be the platforms that would make the player have to keep going up towards to the foot hill.

Figure 2.4: Platforms


3.1 Player Animation (Leo)


After setting up the playfield, it was time to put a player in and test the waters. As for my player I had side tracked and went onto to use a character that I have gotten from unity with the animations included for the character as well. From the seen pictures below, I have assigned and implemented all the animations into my game which is fully functional as well.

Figure 3.1.1: Character: Leo

   Figure 3.1.2: Animation: Idle

Figure 3.1.3: Animation: Walking

Figure 3.1.4: Animation: Death


3.2 Player Attack Behavior

As the attacking animation is fully functional, I haven't made it such that the hit registered when attacking the enemy combatants within my game as of yet. I shall adding that in during the finalized version of the game.

Figure 3.2.1: Animation: Attack


Apart from the animation, I have added in a virtual camera with the help of the package CinemachineBrain which allows me to make the camera follow the player at all times. This was specially thought to us by sir and I had followed his steps.

Figure 3.2.2: Animation: Camera Rigging

3.4: Jump Mechanic 

Now the specialty of my game would be the unique feature, the jump mechanic. For the player to traverse through the platforms towards the top, the player can tap the w button once to get the default limit set but, to jump higher, the player would have to hold down the w key to jump higher which is crucial when going about platforms and enemies.

Figure 3.2.2: Jump Rigging


3.5: Respawn System

And lastly for the player, since death is coded into the players script with help of a health bar (talked about below) the players default spawn point has been set and label as a green diamond on the ground if, the player hasn't found a checkpoint while traversing and suddenly dies before it.
 
Figure 3.3.1: Animation: Respawn Point

If a character were to reach to the hut-campfire destination, the players checkpoint will be automatically updated to this as their new checkpoint (green diamond symbol as checkpoint) which is triggered by a box collider upon contact with player to provide ease for the players while going up to Raftbold mountain.
Figure 3.3.2: Bonfire Checkpoint

3.6 : MyPlayer + MyCheckpoint Script


Here is the line of code which is used to implement all of the relevant things needed for player:


Figure 3.6.1:  MyPlayer C#


Figure 3.6.2: MyCheckpoint C#

4. Enemies (Normal Enemies: Spider, Dog) (Mini Boss: Robot)


After adding all the needed animations and rigging the players script needs to work, I then started working on the enemies (mentioned in my character asset blog) and began on each of their riggings via C# script and their animations to provide some visualization of their cues.

4.1 Spider (Normal Enemy)
Figure 4.1.1: Animation: Idle

Figure 4.1.2: Animation: Walking


Here I've coded in Gizmos to better visualize and allow me to understand the set parameter path the enemy would be moving along, from right to left. 

Figure 4.1.3: Rigging: Pathway

4.2 Dog (Normal Enemy)

As seen for the spider, I have added in the same animations as the spider to the other two enemies I have in my game as well as the pathway script w gizmos to show visual representation.

Figure 4.2.1: Animation (Walking) & Pathway

4.3 Robot (Mini Boss)

The Same has been done for the robot as well as seen:

Figure 4.3.1: Animation (Walking) & Pathway

4.4 Script: MyEnemy

As for the demonstrated functionalities above, all of the scripts for them are as shown here:

                                                               Figure 4.3.1: MyEnemy C#

5 Health Bar


The last edition I have put for the prototype would be the health bar system (Design is subject to change). The health bar starts of players with a full set of health (100) but while touching enemies (as so far) the players health will deplete lower and when collided along the mini boss, half their health goes away and this is all scripted within a script known as MyUI where I plan to put the jump ui bar under the health bar as well to indicate how far Leo can jump if the bar is fully charged. 

Figure 5.1: Health UI and functional

The code put forth to implement the health bar into the game is shown below:

Figure 5.2: MyUI implementation


With that the game has:
  • Player (Animation, Jump mechanic, Health UI)
  • Enemies (Damage, Patrol)
  • Environment (Platforms, Background Mountain, Mountains at the side, Respawn mechanic) 
  • Menu Screen (Play and Quit button)
What needs to be done
  • Player (Attacking, Jump measure UI)
  • Enemies (Attacking, Health)
  • Environment (Decoration, Traps, Raftbold temple, Change of Scenery when traversing up)
  • Menu Screen (Option features, polished UI)
  • Sound effects for all relevant objects and characters 

Google Drive


Reflection

Throughout all the game designing minor modules I have, I've put more into this modules prototype compared to the others I have even though I know I haven't put much as I should have. But, its due to my passion of playing games from a young age. I used to play so much that my parents would scold me but that got my name around school as one of the best COD players, so i'll take that? Though. speaking on the prototype I was really restricted in terms of my Designing capabilities and had also bought an asset pack due to my inability of design and that really got me disappointed. Hence, I will try my best to come up with design aspects from myself, taking a design school module and I'm really excited and looking forward to the implementations and level design overall for my game, The Unknown Beyond. My goal would be to make it the Design School game page, at the top which is really not a ideal possibility but thinking like that brings forth more motivation towards my goal. I havent put much into the prototype but I'm really energetic towards making a polish finished enjoyable game for my final project. Please do look forward to it and more enquires based on my game, thank you!




Comments

Popular Posts