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.
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.1: Wallpaper
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
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
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)
4.1 Spider (Normal Enemy)
Figure 4.1.1: Animation: Idle
Figure 4.1.2: Animation: Walking
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.
The Same has been done for the robot as well as seen:
As for the demonstrated functionalities above, all of the scripts for them are as shown here:
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
Post a Comment