top of page
Banner_LifeLab_01.png

Intro to Games Programming

An introduction to scripting in Unity with C#: we were tasked at producing a simple first-person shooter game using what we learned throughout the module

2014
Unity
PC
Solo Project

Task

As an introduction to programming for games, we learned C# for Unity from scratch through a series of tutorials which would eventually lead up to our coursework assignment. To demonstrate that we had a good understanding of using C# in Unity, we were required to create a small and simple first-person shooter game with one level using a first-person controller and building upon it. We were assessed based on our ability to implement various systems such as shooting, ammo, health, pickups and many more.

​

Although the criteria and requirements were set out clearly, we were given the freedom to approach the general game however we wanted. Since hexagons are clearly awesome, I decided to create my level geometry and some of my assets around this. As such, this led to the world having a really simple geometric appearance which saved a fair bit of time, allowing focus to be spent on the programming side of the game. In addition to meeting the specific requirements, we were additionally rewarded extra marks for implementing a couple of new features which we didn't learn from the tutorials. For this, I implemented very simple enemy movement which essentially allowed enemies to float with no gravity and launched them periodically in the direction of the player every few seconds - ideally forcing the player to move fast and dodge. In addition to this, I created a quick stunbomb (basically a fancy grenade) which could be thrown by the player in order to freeze enemies within its proximity.

​

Despite it not being required at all, I decided to have a little bit of extra fun and quickly modelled most of the assets for the game. This included the gun, enemies, stunbomb, both pickups and that one hexagon mesh that is literally used for the entire level. These were quickly modelled using Blender and even more quickly textured in Substance Painter!

My Tasks

  • Learned the basics of C# for Unity

  • Produced basic systems and mechanics for a first-person shooter game

  • Constructed a level that supports the mechanics and features of the game

  • Provided player feedback for most features using either sound or other visual effects

  • Created a HUD that displays the player's name, score, health and ammo

  • Created a main menu, options screen and end screen with persistent data too

  • Created a target for the player to shoot (enemies) with working movement, health, damage dealing and death

  • Created various pickups for the player to acquire

  • Created a throwable object which would temporarily affect enemies within a proximity

  • Modelled and textured a few simple assets for use in the game

  • Learned the wonderful habit of commenting code!

Video

The embedded video below is a demonstration of the project in action. The video contains a full completed run of the level alongside the enemies and weapons in action (and my awful aiming too!) It also contains a lot of hexagons:

bottom of page