As part of my University module project, I have been tasked to develop a game, which involves building a functional 2D Game using the City Engine Physics library.
I have recreated a simpler version of the 3DS Mario Kart, which has similar functions of collecting items, defeating enemies and reaching an end-goal in order to win the game.
I have found this sprite design on Pinterest. The reason why I have decided to use it is because it matches the late night city aesthetic of my game. The purpose of the game is to enable the user to have a relaxed playing session, whilst also enjoying defeating the enemies and collecting objects. This game has a competitive edge, hwoever it is against ourselves, rather than others. This is because the high score only records the individual user's information.

Level 1:
Level 2:
Level 3:
Level 4:
These are the following features of my game:
- There are multiple levels, which are subclasses of a common class
- Implementation of GUI to enable level navigation
- A pop-up screen containing the game's instruction
- Pause and resume feature
- Mute and unmute feature
- Allow user to adjust background track's volume
- Enable user to quit game
- Enable player to collect various different forms of collectibles (i.e. Coins, Cookies, Teleportation Power Up)
- Sound effects and background tracks are implemented
- Implementation of collision events - reaction for when the player collides with another object in the game
- High score pop-up: the user's score is shown, along side with the top 3 highest scores
- Player statistics are displayed
- Remaining lives
- How many coins have been collected
- How many good cookies have been collected
- Current score
- How many tickets have been awareded to the player for defeating enemies
- I have implemented multiple timers with different functionalities
- I have included a timer for when the player dies, so when all of the lives of the player has been lost, the explosion occurs after a set period of time.
- Change to dark figure's behaviour after 3 shots
- Good cookie or bad cookie is spawned periodically until the max limit for that level is reached
- Cannon explosions - the image changes from cannon to explosion after it collides with something after a set period of time
- There's a period of time between when the game ends and when the high score pop-up is displayed
- High score system
- current score is displayed
- Top 3 scores of all time is displayed
- Enable user to exit game or restart from level 1
- I have implemneted enemies within my game, that the player has to defeat
- Included:
- patrolling enemy (i.e. the ghost)
- an enemy that follows the main player ( i.e. the dark figure)
- an enemy that shoots (i.e. the tank)
- Included:
- The player can shoot a projectile in both direction.
- The cannon, which is shot by the tank, is an example of the Implementation of an anti-gravitational projectile
These are the colours which I have used within the game
| Color | Hex |
|---|---|
| Black | |
| Russian Violet | |
| Purpureus | |
| Space Cadet | |
| Tropical Indigo | |
| Sandy Brown |
- EZGIF: enabling me to create an animation of my sprites moving
- RemoveBG: This website removes image background easily
- Free Sound: I have utilised this website to find various sound effects
- PNG HUT: Enemy Pixel
- Level 1 Audio: Background Audio for Level 1
- Level 2 Audio: Background Audio for Level 2
- Level 3 Audio: Background Audio for Level 3
- Level 4 Audio: Background Audio for Level 4
If you have any feedback, please reach out to me at alamfariha560@gmail.com