Game Title: Diet Trouble

2021-07-15
7 pages
1902 words
University/College: 
Boston College
Type of paper: 
Report
This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The main character in the game is Rotund, a black haired obese man, trying to lose weight by jogging across the city while avoiding or killing enemy units (junk food) along the way. The game setting is based on a city; at level 1 - set on the player's neighborhood, at level 2 - set in the park and the level 3 - set in the city.

At every level, he has to collect tokens to earn points and bat to combat the enemy units represented inform of vegetables and fruits. There are also obstacles such as crates, trees and stationary cars that the player has to overcome in order to reach the gym.

Platform: Personal Computer

The game is a horizontal moving platform that allows the player to advance.

At level 1, the character moves throughout the field while eliminating or avoiding the enemy, Ice Scream. The character also encounters obstacles like crates and may collect bonuses in the form of broccoli. This game has a health bar (HUD) feature that monitors the life point of the player at each layer.

At level 2, the character is requires to find a key to unlock the gate at the park in order to advance to the next level. A new enemy unit, Hot Diggity Dog is introduced along with two new bonuses, grape for 1 point and tomato for 2 points. The enemy units, Ice Scream and Hot Diggity Dog will be moving at different speeds, back and forth across the platform. The character will have to maneuver across the platform by jumping on trees and bushes. There are some pickups that are blocked by certain obstacles (Dead trees) whereby the player has to get the bat (Powerup) to remove the obstacles.

Level 3 (final level) that requires the character to reach the gym after living the park. At this level, the player has to overcome obstacles in the form of walls and hydrants. There are some platform tiles that will 'collapse' causing the character to fall from upper to lower height. Player will have to look out for traps called Burger Tower, enemy units that are fixed at certain locations and cannot be destroyed by the player.

There are also 'broken' hydrant shooting off water and levitating floor tiles, both of which carries the player to higher grounds. Watermelon is an additional pickup which is worth 10 points.

Title Screen:

Scene Name: GameMenu

Added AudioSource to the Main Camera

"Mario Theme"

Attached a C# script, ResetPoints.cs that I have written to reset the player's scores to 0 when starting a new game.

START button will redirect player to the plotline page (Screen Name: Plotline)

Plotline Screen (Additional scene):

Scene Name: Plotline

This scene is where the player is introduced to Mr. Rotund and given the objective of the game.

I have also included a cut out of Mr. Rotund who is animated to 'talk'

The background is similar to Title Screen (GameMenu), as well as the button used in this scene.

The INSTRUCTION button uses the ChangeScene.cs script to direct the player to the instruction page (Scene Name: Instruction)

Instruction Screen (Additional scene):

Scene Name: Instruction

Changes made to the font color

Level 1 (Play 1):

Scene Name: GameStaging

For the Main Camera, I have added an AudioSource - "Mario Theme" set on loop and attached a C# script, CameraFollow.cs, allowing the camera to follow the player throughout the scene.

"Mario Theme"

The AudioSource and CameraFollow.cs is assigned to each level in the game.

Deleted the C# script, KillUnit.cs as its functionality is the same as in other C# scripts, Damage.cs & SelfDestruct.cs.

Added another AudioSource to the prefab, Player (D, n.d.)

Modified the codes in the following C# scripts:

Damage.cs - Checks if player has picked up the bat and if he is attacking (pressing 'a'); if player has bat (upgrade is true) and is attacking (noDmg is true), the player receives no damage to his health bar and the 2nd AudioSource is played each time the player is touched by enemy (Game Object with tag "Deadly")

Will call upon TakeDamage() function from PlayerHealth.cs if player is touched by the enemy and is not attacking (pressing 'a')

Points.cs - Added PlayerPrefs to store the points earned by player in a string variable called "ScoreCard" and this "ScoreCard" is updated whenever player collects pickups (vegetables or fruits) throughout the game.

Bat is my design for a power up that the player can pick up and use; its available at all levels.

Cutscene 1 Screen (Additional scene):

Screne Name: OneToTwoTransition

An additional scene I designed to act as the transition from Level 1 (Neighborhood) to Level 2 (Park) where the player will get instructions on what to do for Level 2 (Play 2).

The scene is similar to Plotline Scene with the only difference being the text written and the button name (NEXT LEVEL button).

Level 2 (Play 2):

Scene Name: GameStagingPark

Used the TileMapEditor that I imported to lay the tiles for my background and foreground.

Background tiles (Valente, 2016

Foreground tiles (A. (2016)

Block tiles (Valente, 2016)

Block contains tiles that are tagged as "Block"

I have written the C# script, TurnAbout.cs to check for tiles tagged "Block"

Game object attached with this script will turn about when it touches "Block" tile

Included a vegetable and fruit game sprite to my collectible item (Stored them as prefabs), both Tomato and Grape (D, 2014)

Attached Collectible.cs to destroy the item if player collides into it

I have set trees (Tree_1, Trees_2 & Trees_3), benches & bushes as obstacles in the game (Stored them as prefabs) as it fits in the scenery

Trees & bushes (S, 2015)

Benches (Park Benches Sprite)

Dead Tree used to block players from reaching the Key (G, 2012)

Key to unlock Park_Gate (Character Sprites, 2013)

The goal (Park_Gate) for player to clear level 2

Fences placed next to the Park_Gate

For my enemy units, I have designed a new character called Hot Diggity Dog.

I have created 4 types of Hot Diggity Dog prefab, each with different speed

HotDiggityDog & HotDiggityDog2 can only move forward

Attached with the following scripts:

MoveForward.cs - Allows unit to move forward with an assigned speed

SelfDestruct.cs - Destroys unit when it collides into the player

DestroyOffscreen.cs - Destroy the unit when it goes off screen

HotDiggityDogBound & HotDiggityDogBound2 can move back and forth

Both attached with MoveForward.cs & TurnAbout.cs

HotDiggityDogBound does not have SelfDestruct.cs as it is not meant to be destroyed by player

I have also added two new prefabs for Ice Scream, IceScreamBound1 & IceScreamBound2.

Instead of DestroyOffscreen.cs, both prefabs are attached with TurnAbout.cs to allow them to move back & forth across the platform & both can move at different speed

Added a 4th spawner to spawn only HotDiggityDog2 & set Spawner 3 to spawn IceScreamBound1 & IceScreamBound2

Modified Player.cs

Player can destroy Dead_Tree (Dead_Tree tagged "Tree") only when he is equipped with bat (Equiped with bat will set upgrade to true)

When player obtains Key (Set unlock to true), then he can advance to the next scene by touching the Park_Gate

Cutscene 2 Screen (Additional scene):

Screne Name: TwoToThreeTransition

Same as Cutscene 1 Screen, designed to act as the transition from Level 2 (Park) to Level 3 (City) where the player will get instructions on what to do for Level 3 (Play 3).

Level 3 (Play 3):

Scene Name: GameStagingCity

Used the TileMapEditor that I imported to lay the tiles for my background and foreground.

Background tiles

Foreground tiles (G, 2012)

Platform tiles (Used as the upper ground for this level) (2D Tilesets & Game Elements. n.d.)

Some of the tiles has been attached with Collectible.cs so that the tile 'collapses' when player steps on it, causing player to descend to the lower ground

Used Broccoli, Tomato & Watermelon for this level's collectible pickups

Attached Collectible.cs to destroy the item if player collides into it

Watermelon is stored as a prefab (D, 2014)

Have set stationary cars, brick walls & crates as obstacles in the game (Stored them as prefabs) as it fits in the scenery

Crates taken from - Lynda.com - Unity 5: 2D Essential Training

Brick walls (Textures for platformers pixel art photo-realistic vector set | Stock Vector, 2014)

Stationary cars (G, 2012)

Stationary cars are tagged as "Block" for TurnAbout.cs to use

Created a levitating platform for player to get to the upper ground by animating Platform tiles

Player can also get to the upper grounds by stepping on the hydrant, the water coming out of the hydrant will lift the player to the upper ground

Done by animating the hydrant (Caddoc909, 2013)

Set a new enemy unit, Burger Tower that I have drawn to be fixed at certain location on the scene

This unit cannot be destroyed by player & are tagged as "Trap"

Stored as 2 prefabs, BurgerTower & BurgerTower2 to alternate the animation where the burger stretches up

Added a 5th spawner to spawn only HotDiggityDogBound2 & set Spawner 2 to spawn IceScreamBound1 & IceScream2

The goal for this level is the Gym_Door tagged as "GymEntrance"

Gym, Gym-Stair & Gym_Door (Gymnasium Building Clipart - Download Images, Photos, Pictures, n.d.)

People exercising in the gym

Modified Damage.cs

When player comes into contact with game object tagged as "Trap", he loses 10 health points

Modified Player.cs

When player comes into contact with game object tagged as "GymEntrance", scene changes to the next scene (Scene Name: GameWon)

Win screen:

I have created this scenario with 2 scenes.

In the case where player is able to finish the game:

Scene Name: GameWon

Changed text on the scene

Added an AudioSource (D, n.d.)

Added ScoreText to display points earned by the player throughout the game

In the case where player is unable to finish the game as his health points is 0:

Scene Name: GameOver

Changed text on the scene

Added an AudioSource (D, n.d.)

Added ScoreText to display points earned by the player throughout the game

Code I created

ChangeScene.cs - Changes the scene upon mouse click

Collectible.cs - Destroys the game object when it comes in contact with the player

GameComplete.cs - Change scene to Scenes/OneToTwoTransition

ResetPoints.cs - Set the scores to 0 when player starts a new game

SelfDestruct.cs - Destroys the game object when it comes in contact with the player

TurnAbout.cs - When enemy comes into contact with a game object tagged with "Block", the enemy turns about & moves in the opposite direction

Code I reused/ referenced

Modified codes:

Damage.cs - Lynda.com - Survival Shooter Tutorial - 6 of 10: Player Health - Unity Official Tutorials (new) (U. 2014)

Checks if player has come into contact with bat tagged as "Powerup" (upgrade set to true if player picks up bat)

If upgrade is true, then checks if player is pressing 'a' to attack

If 'a' is pressed and player collides onto game object tagged "Deadly", play audio

If 'a' not pressed and player collides onto game object tagged "Deadly", calls the TakeDamage() function from PlayerHealth.cs

If player comes into contact with game object tagged with "Trap", calls the TakeDamage() function from PlayerHealth.cs

Player.cs - Lynda.com - Unity 5: 2D Building an Adventure Game

Controls player to move left or right as well as flipping the character to face the right direction

Assigns speed to player in the game

Scales the collider when player is equipped with a weapon (bat)

Manages all state of change associated with animation swapping

Allows player to look up or duck

For OnTriggerEnter2D(Collider2D target):

Bat tagged as "Powerup" - set upgrade to true

Key tagged as "Key" - set unlock to true

Park_Gate tagged as "Door" - change scene to Scenes/TwoToThreeTransition if unlock is true

Dead_Tree tagged as "Tree" - Destroy Dead_Tree if upgrade is true &a...

Have the same topic and dont`t know what to write?
We can write a custom paper on any topic you need.

Request Removal

If you are the original author of this essay and no longer wish to have it published on the collegeessaywriter.net website, please click below to request its removal: