Documentation + User Guide


Differences from previous concept document:

There will be less different in my final game project from the previous concept document. All the killing methods for different monsters are created, managed and functioning well. With the help of the classmates and tutor, all the scripts needed is created. And so for the player health and the shield function. The only different is the map, I was planning to have a bigger map which the player can move around to run away from the monsters. However, when I was developing the game, I found it is difficult and may used up a lot of time. Due to the limited time, I set my game to have a smaller map.  

Besides, a new function different from previous game concept is I have added in the High Score function to collect and record high score when the player kills enemies.


User Guide:

Monster Crashing Car is a top down, action adventure & survival 2D game. It is basically single player game. Player controls the truck to move around in a dessert map. Player required to kill the monsters before the truck is damaged & destroyed by the monsters.

Above is the first UI which players will see on launching the game, different button leads player to different scene.

START button: This will lead you to the playing scene and start the game immediately

On top left showing the PLAYER's score and health, and the left top showing the SHIELD health.

HIGH SCORE button: Lead the player to High Score scene which show player's high score


Player can check their high score in this scene.

TIPS button: Showing tips on how to kill different monsters and some shield function


QUIT button: Quit from the game

Control Guide:

Up arrow key- Move forward

Down arrow key- Reverse

Left & Right arrow key-  Steering left & right respectively

Press/Release 'H'- Hide/Show Shield


Summary from Testing Session

Bugs and Problems

Based on the feedback form, I have summarized three main problems or bugs found in my game:

1. The truck will start to rotate when hitting the wall

After hitting the wall, the truck will start to rotate like below...


By fixing this problem, I have changed the Angular Velocity always set to 0 so that it won't rotate after collide with objects.

After fixing the truck movement, it becomes normal like below...


2. The high score is not updated 

The previous High Score scene is always showing the high score to be 0 and not updated when player getting higher score...


And also for the Game Over scene, the score is not updated when player die without getting high score...


After fixing the problem the High Score scene is updated and I have created a new Game Over scene to have a reasonable response to the players when they die...



As the diagram(New Game Over Scene) above shows, it tells the player how much they score in this game and compare with the high score.

3. The shield doesn't protect the truck from enemies attack.

Initially, when the shield hit the Undead King (which is one of the monsters can be killed only by shield), it will deduct the player's health. I have fixed that as the GIF below shows...


Suggestion to make game better:


From the pie chart, we noticed major testers feel enjoyable while playing the game, but there are suggestions to make the game better...


From the first feedback, I have added the sound effect to my game:

Enemy killed sound reference : https://opengameart.org/content/5-break-crunch-impacts

background music (while playing):

CREEPYTOWN from : https://soundimage.org/horror-2/

background music (menu):

PIXEL DRAMA from : https://soundimage.org/looping-music/

From second and last feedback which suggesting to regenerate the shield after the shield destroyed:

I won't add in this feature as I have a function to hide shield by pressing 'H' button, the shield will not regenerate if the player didn't protect it well. The destroyed shield will be the punishment for the player to make this game more challenging . When they lost their shield, they should run away from the enemies which they can't kill and only searching for the enemies which is able to kill.


Lastly, I would like say thank you to the third and fourth feedback which giving me a lot encouragement and affirmation.

Also I would like to say thank you to all testers and my tutor for spending time to play my game and giving meaningful feedbacks for the game.


Asset List

Art File:

Asset Store: Background photo of the Title scene - https://www.pinterest.com/pin/599963981589463142/?nic_v2=1a6HZfS3d

Monster Truck: Player's truck to control in game - https://opengameart.org/content/monster-truck-0

Undead King: Enemy -  https://opengameart.org/content/undead-king

Eye Rock & Frost Turtle: Enemy - https://opengameart.org/content/animated-walk-cycle-monsters-hijabi-from-eman-quest

Shield: from previous Invaderoids Game

Grave: To spawn enemies - https://opengameart.org/content/graveyard-set-pixel-art

chunkfive file: font from - https://www.fontsquirrel.com/fonts/chunkfive

Drought_tiles_pack file: tile map assets from - https://opengameart.org/content/drought-tiles-pack

Materials: Explosion prefab from previous practical

Movement Scripts file: 

seek script: to make enemies follow the truck(from previous practical)

Player file: 

EightWayAnimation script: to perform the animation of enemies movement (from previous practical)

Playing Scene file:

Title scene - the first UI when player launching the game, which showing some button to lead player to chosen scene.

GameOver scene - to display game over message when player health equal to zero (player die).

HighScore scene - to display high score to player.

Playing scene - the playing scene when player click start button.

Tips scene - to display player the tips to kill monsters and some shield function.

Prefab file: containing the prefab for enemies(UndeadKIng, EyeRock, FrostTurtle), Monster Truck, and Explosion

Enemies prefab is used by spawner to spawn multiple enemies.

Explosion prefab is used when collision between enemies and player happens.

Scripts File: 

BasicSpawner: to spawn random enemies in certain period of time 

DestroyAfterTime: for Explosion prefab to destroy after the explosion happen

DetachFromParentAndFollow - for not decrease player health when enemy hit the shield

EndGameListener: to determine whether the game end or not (Display different scene according to high score)

GetHighScore: to get the high score from HighScore script and display the high score on UI text

HideShield: to allow player to press"H' to hide shield

HighScore: to record when player get the high score

HurtOnCollision: to deduct player health when collide with enemies

PlayerHealth: to record current player health and destroy player when health is 0

Quit: to quit from the game on webGL

ScoreManager: to manage and update score to display on UI text

SelfDestroy: for FrostTurtle to destroy itself in certain time

ShieldDestroyEnemy: to destroy enemy(UndeadKing) when collide with shield

ShieldHealth: to record shield health and destroy shield when health = 0

switchScene: to switch scene when pressing the particular button

TruckDestroyEnemy: to destroy enemy(EyeRock) when collide with player truck

TruckMovement: to control truck movement (idea from - https://www.youtube.com/watch?v=Od_f6Y_OfYI )

UnitySingletonPersistent: to make high score to be a singleton object

Files

BuildT2.zip Play in browser
Oct 06, 2020

Leave a comment

Log in with itch.io to leave a comment.