Galactic Enforcer

Aim of this Project

The aim of this project was to develop a prototype based upon an idea, in this case me and my team was given the task of generating an idea, prototype that idea, take critism, refine and polish the prototype into a playable demo.

What did we create?

Galactic Enforcer a 2.5D, top down, sci-fi, shooter with two different modes code names ‘Nova’ and ‘Terra’.

‘Nova’ – The user is placed within an asteroid style game mode where the user has to avoid asteroids, either destroy or die by enemies, all whilst travelling to different planets for the second game mode of the game.

‘Terra’ – The second game mode, code name ‘Terra’ is the terrestrial game mode, that replicates the world when the game has simulated the ship landing on a planet ‘that is, on the users request’. Terra mode, is still a top down shooter however instead the user now controls a 3D character.The user simply has to navigate around a linear style level, whilst encountering semi-tasks and enemies, to eventually collect their bounty.

What did I do?

Galactic Enforcer is you could say a predecessor of classified which if you don’t already know, was my Second Year Team project for my University module over at the University of Salford. Our X statement is two games merged into one, which my main contribution was programming one side of the project. Heavily focusing on 3D elements, this was new territory for me. More to the fact that my main experience, in the past, was more geared towards 2D programming however I did work on a top down style game previously, so I did have some experience that was transferable.

Anyhow, I was main programmer for the terra (3D) side of the game. Mainly working with 3D objects, I have implemented many awesome different mechanics / features within the game, such as adding and syncing humanoid animations, with movement and other action states, added semi-intelligent AI that uses state machines to patrol, chase and attack players, editor extensions (fixing line errors & organising inspector window), multiplayer, checkpoints, optimisation, interactive in game objects, pooling, UI, dynamic objects & more! Download this tech document , I quickly created for one of my assignments whilst at University!

Having an extra axis, obviously requires more programming, which has has been a massive yet beneficial learning experience for me, especially in terms of time. Classified my previous project was built using C#/XNA, simply creating a cube was time consuming, whereas Unity it just the case of simply drag and drop, manipulating a few values and Eureka! You have a cube at your disposal – within minutes.

What problems did I encounter?

From my experience, I have encountered countless minor errors as do many other programmers however there is two major setbacks in which I encountered and the first bieng education. There was mechanics within the game that I have never really attempted to program, and therefore required myself to find solutions outside of University – independently. Spending time educating myself to the point where I have collected enough data to write a solution is time consuming. However from this, I feel that my research skills are strong and I can work independently,

Another the major setback of this project was the fact that version control was working for others and not so functional for the rest. This was a major setback because by the first month of prototyping we had hundreds of files that needed updating, exchanging, deleting or just tweaking. Without version control it’s harder to control all this because we have to do everything manually, meaning we have to dedicate more time in this area, then elsewhere.

Description