Game Development- Final Project: Playable Game

25/9/2024 - 13/01/2024 / Week 1 - Week 15
Janice Marie Eng Chia Hui /0361521
Games Development/Bachelor of Design in Creative Media / Taylor's University 
Games Development: Final Project

Table of Contents:

  1. Instructions
  2. Task
  3. Feedback
  4. Reflection

Instructions



Task

To-do list: 
  • Component list:
    • Player long-range attack
    • Boss Mechanics
    • Refinements on enemy long-range attack
  • Source and put in music and sound effects
  • Complete the scene navigation
  • Complete UI Screens
  • Make Collectables
  • Make some text box for the story of the game
>>>PLEASE VIEW GAME DOCUMENT FOR MORE INFORMATION ABOUT GAME MECHENICS<<<

Components

Player long-range attack was done by following this video plus a bit of help from ai. The video mechanics was a bit different but ai help. I can explain what I did because I genuinely do not know what I did. In the end I managed to get the player to shoot.

For the boss mechanics, it was pretty straightforward. I just referenced the code that Sir taught us in class and did a lot of ontrigger enters to help destroy the game object. 

For the enemy long-range attack, there was something funny with my Animator tab so I just continued working on that.

Scene Navigation

My current scene list looks like this:
  • Main Menu
  • Level 1
  • Level 2
  • Boss Level, dialogue scene
  • Boss Level, fight scene
My plan for navigating between menu and level scenes:
  • Make use of the button on click function
My plan for navigation between different levels:
  • Make use of the on trigger enter go to another scene.
For the scene navigating code, I followed this video. From the same series as well, I made a transition for the scene switch. This is the video I followed. Navigating between the main menu and level scenes shares the same script as navigating between levels. 

Another thing of note is that for my boss's fight level, I lock the camera movement so that the boss can be in the frame. I learned how to do that from this video

Figure 1.1 Main Menu Scene (13/1/25)

Figure 1.2 Level 1 Scene (13/1/25)

Figure 1.3 Level 2 Scene (13/1/25)

Figure 1.3 Boss Level, fight scene (13/1/25)

UI Screen

Below are my list of UI screen:
  • Pause menu screen
  • Game Over screen
I had an issue with my Game Over Screen where when I try to respawn the player, the game did not reload as it was initially. I'm not too sure what I did with the code, but I did something and it somewhat worked later on.

I also used the timescale code to pause the game when the UI screens were open. Additionally, I turned off the Fire 1 input function when these screens were open, as I did not want the player to attack when I clicked on the UI.

Figure 2.1 Pause Menu Screen (13/1/25)

Figure 2.2 Game Over Screen (13/1/25)

Collectables

List of collectables to be made:
  • Dart (player long-range attack)
  • Hearts (health replenishes)
  • Checkpoint ( I know its not a collectable but I'm just going to put it here)
For the darts, following the code I followed online, I just added in an if statement. The statement was basically if hasdarts= true then the players long range attack code will play. 

For the hearts, I just edited my player controller script. It would say on collision enter with the heart game object, the hp will be max.

For the checkpoint, I followed this video tutorial

Figure 3.1 Checkpoint and dart collection in-game (13/1/25)

Figure 3.2 Heart Collectable in-game (13/1/25)

Text Box in-game

I wanted to make some story for my game. So I made some text boxes. They will appear when the player collides with an object. And they will give the player some information. Just a dialogue box with text. I made the assets first and then put them into Unity.

In Unity, again I just used the on-trigger enter function to show the dialogue boxes.

Figure 4.1 Resulting Dialogue box (13/1/25)

Music and Sound Effects sourcing

This was the least stressful part lmao. The vibe I was going for with the game was like a sneaky jazz song. So I tried looking for those types of music and sound effects. Attached below is all my sources for the sound. //Some sounds used aren't here tho cause I did not manage to get the link b4 closing the tab.

After sourcing the sounds, I followed this video on how to put sounds into your Unity game.

 
Sounds by Janice Eng

WebGL

When I was uploading the WebGL game to netlify, my game had an error screen. The problem was that from the scene change between the final boss dialogue scene and the final boss fighting scene had some problems loading properly.

However, after some digging, I manage to find a thread on reddit where they asked us to change the player settings before we build the game. I decided to try that out and it worked, yippie.

Following that, I actually fell asleep and lost so much progress with my work. Which cause me to submit the work 8 mins b4 the deadline T^T.

Figure 5.1 Error message that appears when I try to switch from one scene to the next

Figure 5.2 Reddit thread that helped me resolve the issue

Figure 6.1 Footage of Warith destroying my game (13/1/25)

Final Submission

Google Drive Link: 

Game Website(theres something wrong with the hp bar for lvl1 and 2, its fill amount wont change. Kill yourself at the start to reset the hp bar and allow the bar to properly track your health):

Game Design Document

Figure 6.1 Final Completed Game Design Document (13/1/25)

Final Video Presentation

Final Game Walkthrough (rerecorded after I had slept)


Reflection

What I learned:
  • Unity has a lot of built-in code like Scene Manger and UI that can help with scene navigation. 
  • If you have a game object that is set to Don't destroy on load and that game object is assigned to the game object of another game object, when you reload the scene the game object that is assigned will not be assigned any more. 
  • OnCollision enter is for colliders set to not is a trigger, on trigger enter is for colliders set to is trigger
Observations:
I do not understand what I have done in this project. If you ask me to explain to you, I will draw up blank. Like literally what even is this project. 

Honestly, the project timeline is horrendous, like making an actual game within less than 2 months. And you need to make your assets, source your audio, make the animations, and the code. As someone who has no coding background, this has been hell for me. 

Overall:
I'm pretty happy with how the game looked. But not really the game mechanics. With my limited knowledge on coding, I really did not have the brainpower or time to do more than the bare minimum.

Comments