ODYSSEY INVADER
Battle waves of enemies whilst avoiding enemy fire to last as long as you can. Challenge friends to get the highest score!
Team / Duration: 3 / 7 Weeks
Genre: Mobile Endless Runner Bullet Hell
Focus: Design and produce a complete mobile game
My Role: Game & UI Designer, Programmer (C#)
Engine: Unity
Purpose: University MA Project (2021) - Client Brief
Software Used: Unity Engine / Adobe Illustrator
The Brief
The assignment given by the client was to “create a complete and releasable ‘Endless runner’ game that requires no controller for Android Tablet or similar with approximately 10 minutes of playable content.”
The final artefact was to be presented to the industry client alongside a presentation detailing the development processes for the game.
The Concept
The gameplay was to be simple with most of the action centered around enemy spawining, the player would be able to move left and right and use an ability button; at the start it was unsure if the abilities would be a single shield ability or multiple that spawn randomly.
To be able to have the game playable on mobile devices with the best performance possible, we opted for a simplistic, low poly approach to the assets and textures, the detail would be in the lighting and post-processing done at the end of development.
As this was the case, the artist designed the assets & colour palette to fit a Cyberpunk-esque theme.
UI
Design & Mechanics
I started with a basic prototype that included the main mechanics (Shooting, Movement and enemy spawning) and later iterated on the mechanics to feel more responsive and satisfying to the player.
Movement:
Initially the plan was to create a multi-directional controller, with the player moving all around the screen and shooting enemies approaching from all directions, however that was ruled out pretty early on, due to not technically not fitting the identity of an ‘endless runner’. Therefore it was decided to keep the player on singular axis and only being able to move left and right.
After the basic movement controls were introduced and tested, feedback suggested that the movement felt stiff and awkward, to fix this I suggested adding a slight tilt in the direction the player is moving, to simulate more realistic flight as seen in many mobile games that include flight controls.
To polish the game and make it feel complete I created some UI for the game. This included the title logo and iconography that would act as the buttons and descriptor images during gameplay.
Shooting:
When approaching the shooting mechanics within the game, I took inspiration from the hit classic Space Invaders. However instead of the player controlling when to shoot, the character would shoot automatically when moving, similar to games such as the Bullet Hell Monday series. This was a conscious choice made to avoid needing too many buttons on screen, ruining visual quality and avoid adding unnecessary features.
Abilities:
The shield ability was one of many abilities that were thought of in the initial plan for the game. The original idea was for the player to collect random abilities as they went along, similar to Jetpack Joyride’s vehicle system, however instead of using the ability straight away, the player would press an ability button to activate the ability when they needed it, in the same vein as Mario Kart’s dice system. Because of time constraints and scope of the project, this design was thrown out in favour of a singular shield ability.
In the prototype, the shield was designed as a barrier that appears in front of the character when activated, this was upgraded later on to a sphere that surrounds the player with a scrolling texture on to simulate an energy field that then goes on cooldown (The length of which is indicated by greying out the UI shield button).
A heart is taken off when the player takes a hit from an enemy or projectile and enters a small invulnerability phase; in this phase the player’s mesh colour flickers from its normal colour to red then back and if the player has moved forward due to difficulty scaling then the player is moved back down to the starting location whilst invulnerable then moves back up to previous location after the phase ends. The phase is a safety feature to ensure the player doesn’t die instantly from making 1 mistake.
Upon losing all of their hearts the player character is deactivated, the explosion particle effect plays and the death menu is activated. The particle effect provides important visual feedback to the player and clearly defines the gameplay state of the game.
Enemy Types:
The enemy types correspond to the specific stage that the game is in. Overall there are 3 distinct categories of enemies:
-
Enemy type 1 is the “Singles”
-
Marked by “Enemies Spawning” notification
-
Split into 3 different sub-types
-
The 2 drones
-
The Spree
-
The Barge
-
-
Attack in set patterns and last for a short duration before exiting the screen
-
Player must avoid projectiles or destroy them to proceed
-
-
Enemy type 2 is the “Mines”
-
Marked by “Warning Minefield” notification
-
Slowly move through the viewport without changing direction
-
Player must avoid touching them or destroy them to proceed
-
-
Enemy type 3 is the “Waves”
-
Marked by “Wave Alert” notification
-
Multiple enemies slowly moving from side to side and occasionally firing projectiles forward
-
Player must destroy some of them to avoid being hit when they fly forwards
-
Each particular enemy is largely managed through their animations with animation events to notify the script of when to trigger the shooting and the departure of the enemies