Game Design/Development

Title screen

Gameplay image 1

Results screen
This is the third major iteration of UFO Repulsion. Now on the play store! Writeup sourced from my dev log.
​
This started out as a bullet based missile command. Instantiation is great for bullets. Eventually, i’ll be a good dev who instantiates everything ahead of time and stores everything for later use for MAXIMUM OPTIMIZATION.
Anyways, after working in processing (which is like java) and not having access to such libraries, i really wanted to make use of unity’s prefab instantiation.
​
Bullets were supposed to destroy UFO’s on contact. I messed up the parameter and the destruction code never executed. I think it turned out to be a much more distinctive game because of this bug.
​
Missiles:
-
As mentioned, they don’t destroy UFO’s.
-
They pass on their velocity to the UFO for additional oomph
-
They have a delay on creation so you can’t spam to win. Put in, taken out, put in again more effectively (between versions).
-
Destroy themselves once they stop touching the UFO
-
Missiles can’t push houses. This is less noticeable in the latest versions.
​
Houses:
-
Originally, they just start where i placed them. Then I made a script to generate them on play. Then I manually placed them because it gives me better control. Thus is life.
-
Houses have a lot of friction. Without it, all glancing blows would be deadly.
-
They rotate along with the turret. This is to balance out how players can spam a stream of missiles toward one corner of the screen to protect their houses. The houses are thus more accessible when players try this.
-
Houses pushed out of position can be rotated to death. If they are too far to the left or right and the turret is rotated in that direction, it is possible for the house to touch the destroyer. Players may also rotate so falling UFOs push their houses back into position. This is less crucial in Redux.
-
New in Redux, houses will return to their proper positions after a period of not getting hit. This one is really interesting as it completely changes the life system. It plays similarly to regenerating health in FPS’s.
-
5 housed down to 4 in Redux. This is to make protection of houses more difficult, because the lowest one was directly under the turret and usually safest.
-
UFO’s
-
They spawn from one of 3 spawners. They are no longer subject to gravity because of the change in location. In Redux, their starting velocity matches what they would need to hit the spaceship (to mimic them “aiming” for it).
-
They also receive a small randomized force during flight. Having later movement makes prediction more difficult, and increases the chances for players to lose.
-
UFO spawn rates increase every 10 seconds.
-
In Redux, UFO’s also receive a small downward boost that increases every 10 seconds.
​
Turret
-
It only rotates when the player clicks. (purely visual)
-
New to Redux, it auto aligns to face upward if the player is not shooting.
-
Since Redux is in space, the turret is on a spaceship. Shooting bullets pushes the spaceship in the opposite direction. Because of the aiming that UFO’s do, this makes unpredictable casualties more likely. However, this may also allow players to dodge fast-falling UFO’s. The spaceship will return to the center of the screen after a time.
​
Game elements
-
Originally, the game was just timed survival. This was the only notable scoring method.
-
In Redux, players get 1 point for a hit, and 10 points for a hit on a UFO who is set to smash into the spaceship. This is divided by the number of missiles fired.
-
The highscore variables actually matter now, as the game will note whether you did better or worse that the current play session’s highlights.
-
I really wanted the game to load and play quickly. So many apps take half a bathroom break to load and the course of 2 to be worthwhile. I wanted none of that, so the first 2 versions started immediately. Redux starts on the first tap.
-
After losing, the game doesn’t start immediately (starting in Redux). The game is still based on a single scene, and I have a much better method of keeping UFO’s from annihilating the next game upon reset.
​
Plans for expansion
-
I want to use JSON to store high scores and preferences.
-
Add options menu for handling high score
-
Add tutorial that explains the game better.
-
Sound effects and music. This would also be greatly improved with an options menu.
-
Visual effects are still rather minimal. I would like to use a tweening library to add some more pizzazz to each object.