A fun filled iOS and Android gravity changing platformer game with amazing visuals and
fast-pased gameplay. Currently available in
Apple app store.

Downloads

Introduction

This is a Unity 3d powered game completely coded in C# using Mono Develop. I worked on
the whole project as the only programmer and received help from two artists who
produced most of the art work.

Initially I came up with the pitch to do this kind of a 2d plat-former and with the
idea of playing with gravity. But I was unsure of the implementation aspects of it.
After the pitch, I started working on a Game treatment
document which was to get the initial ideas flowing. I then started working on the
core mechanics of the game which is the gravity changing aspect, and soon realised
that using Unity Physics is not the best idea after
all. I quickly developed two three system which utilised Unity Physics in one way
or the other but was unable to achieve the state that I wanted. So I decided to
take the hard road.

I created a template of the level inside Blender3D modelling software which was just
couple of ploys, and then imported it into Unity. Then I programatically grabbed
all of the vertices on a given plane which was predetermined
and calculated the Bezier path taking those vertices as control points. So I ended
up with a conceptual bezier path that I could place the player in at any point. I
then had to develop the jump mechanic to comply with
this approach. I do this by manually calculating a line intersection check for a
given line segment (not bezier segment) and if collided I would then calculate the
exact point of hit. I found this approach to be much
more elegant and predictable as oppose to using the any one of Unity physics
approaches (even if they worked). This all is handled by a Finite State machine and
the game runs on 60 framed per second nearly all the time.