Graviton Man is a 2D platformer that puts the player in control of time and gravity. The player must get to the exit of each level getting past enemies and simple puzzles. To help solve these puzzles the player has the ability to slow down/speed up time as well as increasing/inverting gravity. The player can use these abilities to help manipulate platforms and enemies as well as themselves.
Graviton Man was developed by a team of 4 people over a span of about 6 weeks. The game is written in C++ and uses DirectX 9 for rendering and FMOD for audio. The game runs on a simple tile based engine that renders and controls the world the player is in. There is not much special to say about the development of this game, the only notable technical features are the two main powers the player has. The player has the ability to control gravity which is done by checking for entities inside the area of effect of the gravity power and changing how gravity is applied to those entities per frame. The other power controls time which is simply done by changing the time value used to advance entities each frame (except for the player).
Graviton Man is powered by a tile based engine; Each level is defined by a text file that has a series of numbers indicating what tile is in each position. Furthermore, each tile has its own definition that sets properties about it. Tiles can cause player death, cause the end of the level, cause collision with the player, and more. Enemies, platforms, and other entity’s locations are also defined in the level file and are indicated by negative indexes in the level file. The level files can also contain switches; Switches are created using special indexes in the map file and then a small ‘script’ at the bottom of the level file that is ran by the switch when it’s activated. The scripting executed by these switches can do simple things such as adding/removing/toggling tiles and entities. Switches can also have a time limit, once this time is up the effect of the switch is undone; This is useful for creating things like doors that close after a set amount of time.
Along with standard platforming mechanics there are two main powers under the player’s control that drive gameplay. As the player progresses through levels they unlock the power to slow down and speed up time as well as the power to increase and invert gravity. These powers have a limit on how long they can be used before they must recharge; Also, the gravity tool only effects the area it’s drawn to include. These powers can be used in various ways; Time control is generally used to make platforming easier and sometimes must be used to get past long section of platform that would otherwise crush the player (the player is not affected by the time change). The gravity tool is much more interesting and can be used to move certain platforms as well as flinging enemies and the player’s own character. One of the enemies can only be killed by using the gravity tool to stick them to the ceiling and jumping into their stomach. Some platforms can be pulled down by increasing gravity around them as well as lifted up by inverting gravity on them. The player can invert gravity on themselves to fling themselves onto higher platforms and they can even juggle their character in the air if they are good at using the gravity tool. There is a lot that can be done with the gravity tool and it opens up lots of ways in which levels can be played.