top of page

EVIL ROBOTS: CITY INVASION

ROLES

Independent

DESCRIPTION

Evil Robots: City Invasion is a thrilling top-down shooter game created in Unity with a city theme. The objective of the game is to defend the city and defeat all enemies, including the final boss, without losing all five lives. The game challenges players to navigate through a dangerous level as a powerful tank, battling waves of evil robots along the way. The gameplay mechanics are dynamic, requiring players to strategize and adapt to survive each encounter. The final level features a boss that spawns minion robots, creating an intense battle that tests the player's skill and determination.

YEAR

2020

GENRE

Top-Down Shooter

PLATFORM

Unity

GAMEPLAY

DEVELOPMENT

As this was one of my first experiences creating a game, I focused on level design and game mechanics for my game, Evil Robots: City Invasion. The game begins in the outskirts of the city and progresses through to the final level set in a carpark where the player fights the boss enemy. I chose the carpark as the final location because it offered gameplay opportunities for the player to approach the enemy from different directions while providing cover to protect themselves.

The win condition of the game is to defeat the final boss and save the city, however if the player loses all five lives they will be presented with a "Game Over" screenTo keep the gameplay engaging, I included two enemy types that get progressively harder to defeat, with each new type introduced at each level. Below are the stats I chose for the player and various enemy types.

  • Player:

    • Begins with 1000 health and 5 lives

    • Each bullet does 50 damage

    • Each mine does 100 damage to enemies

  • Soldier enemy type:

    • Bullet does 25 damage

    • Health value of 400

    • Explodes upon death, doing 100 damage to the player if within range

  • Turret enemy type:

    • Bullet does 50 damage

    • Health value of 500

    • Explodes upon death, doing 100 damage to the player if within range

  • Boss enemy type:

    • Does not shoot the player directly

    • Spawns smaller soldier enemies with 10 health every 5 seconds

    • Has a health value of 1000

During the development process, I faced a few challenges that required some creative problem-solving. One recurring issue was the disappearance of scripts from the soldier and soldier bullet prefabs. I discovered that removing and reattaching the component solved the problem. For the proximity mines, I struggled with getting them to damage both players and enemies. To resolve this, I created a trigger sphere around the explosion prefab and attached a script to it, specifying the damage and lifespan. Using the OnTriggerStay function, I made it so the script would call the TakeDamage method for any game object with the player or enemy tag that collided with the sphere. Additionally, implementing a game over screen proved to be tricky. I needed to show the death of the player's droid before transitioning to the "Game Over" scene. To achieve this, I created a separate function that, when called by the PlayerHealth script, set a boolean to true. This boolean initiated a timer that, when it reached zero, called the method to change the scene.

Creating Evil Robots: City Invasion was an interesting and challenging experience. I faced a number of difficulties and had to overcome many obstacles along the way. However, my passion for the project kept me motivated and I felt a great sense of accomplishment when I finally completed the game.

bottom of page