The Esc4pe

A “primitive shooter” made with Unity3D in four weeks.


Date 28 February 2017
Role Game Programmer, Game Designer
Technologies Unity, .NET Framework, C#, LINQ
Platforms Windows, Linux, Mac OS X (Intel)
Genre 3D, First Person Shooter, Action, Adventure

In November 2016 I started to take a master degree in game development with Unity in an important technology school called CICE as a way to boost my knowledge in this game engine in order to improve my CV skills for looking jobs as game developer.

This project was the first of 4 main practical exercises focused on different areas of Unity 5.5/5.6. For this project the proposed idea by the teachers was to make a simple old-school fps, to put in practice the basics of the engine: vector maths, GameObject & Component architecture, basic scripting, basic physics, basic camera behaviors, basic UI, basic graphics, lighting and postprocessing techniques using the old Unity Standard Assets & Cinematics Effects, basic finite state machines for player and npcs, etc…

One of the goals of this exercise was to learn how NOT to do the common things in Unity and videogames in general (learn the bad practices to avoid them), because that, the game is totally unoptimized (its performance is not very stable).

The requisites of the project

To get the A+ grade in the practical exercise we will implement the following requisites in the project:

  • Basic player movement: run, walk and jump, using keyboard and mouse.
  • Basic life points system for player and enemies.
  • A life bar over the enemies.
  • 4 weapons: a single pistol, double pistols, a machine gun and a grenade.
  • 3 types of enemies:
    • One to shoot the player when him was in close range.
    • Another one with longest range (like a snipper).
    • Another one that explodes when made contact with the player.
  • Final boss with 2 different attack behaviors depending of his health.
  • A teleport-nests to invoke enemies.
  • All enemies movement behaviour was intially random routes (without use of navmesh) and go forward straight to the player when detect him.
  • Items: medpacks, ammo and the weapons.
  • A lava pit that can kill the player.
  • A custom particles.
  • A single level/scene.
  • A menu screen as separated scene.
  • Music tracks for menu screen and in-game.
  • Sound effects for the basic events (without using the mixer): shoot, enemies, etc…

Extras added by me

Because I have time enough before finish the main requisites, I’ve decided to add some extras for fun and to challenge myself:

  • An extra player movement: crouch and crouch walking.
  • An extra weapon with a range attack: the shotgun.
  • A shield points, and his items (shield plates and full shield torso), to minimize player damage.
  • An extra enemy similar to the first one but equiped with the shotgun.
  • Implemented ladders and the player behavior to use them.
  • A basic (and not very polished) support of XBox360 Controller for Windows, Linux and Mac OS platforms (using the built-in Unity input system).

Assets

For the graphic assets I’ve used some model packs from the Unity Asset Store and some free ones from the web. The sound effects are from freesound.com and the music are from Kevin MacLeod (incompetech.com).

An unexpected popularity

After deliver the practical exercise, I’ve decided to publish free the game to itch.io and GameJolt indie game stores without any other expectation to make easy available the game to anyone interested to play it. In less of 48h I been noticed by close friends that the game was featured in the main page on both sites, with a lot of visits, downloads and likes (near of 1500 visits and downloads during the first month).

At the moment of write this, the game has +56.4k views and +28k downloads on itch.io, and +136k visits and +55k downloads and count on GameJolt. Today the game still receiving visits, downloads and likes (an average of ~10 visits and ~5 downloads per day), mostly in GameJolt.

The community in both sites was very active in the first 2 years after the game was published, delivered a lot of helpful feedback about the game in comments and even recorded and published a lot of video reviews on Youtube (you have a link to a list where I recopìled all of them).

Even GameJolt featured the game in his Twitter feed: