A 2D block pushing game with a mechanic to add complexity and a new approach to the genre. While the game is two dimensional, it is based within a three dimensional field; bearing the x, y & z coordinates. The added mechanic is the ability to revert an action which the player had made. This action only occurs from blocks pushed by the player. The design of the first level has been laid out below.
In the level above, you can push the block forward, then sitting in either of the sides you can retract your move. This will pull the block back allowing you to push it into the other slot. This gives you access to the goal which is marked as the red arrow on the map. This mechanic in turn with new gimmicks should offer an easy mobile game experience or one which players can do on their computer too.
The game will follow a strict event cycle which will not be broken. This is to ensure simplicity in design and development. The event cycle is as follows;
- Player Input - an event cannot be played without the input of the player. Should the player not input an action; the game will continue to render but no logic is pressed.
- Player Action - Based on the input given; the player character will react accordingly. An example of this could be the player moving in a given direction.
- Level Reaction - This step can be missed if the player character did not interact with a level element that wasn't themselves. An example of a level action would be a block being pushed.
- Physics Update - Rosie holds a very simple physics environment. This would extend to the conerns of heavy gravity and weight comparisons when a binary force is applied. This physics update would be applied to all elements within the level; including the player's character which may have been pushed off a ledge.
- Status Check - Once the physics update has been performed; the game checks any logical flags. This could include; the player having died via being crushed by a block. The player having completed a level by reaching the goal tile.
A block's size should be varied, allowing for greater flexibility in design. For this reason; a block cannot have its location pointed to one coordinate on the map. Instead, each space of the 3D map which is taken by the block should be considered as its coordinates. When a block moves, each of its coordinates should be updated as well as asserted to ensure it can be updated. Look at the example diagram below;
In this space; two axes have been labelled, X and Y. For the sake of simplicity we'll be ignoring the third dimension for the time being. Our Standard Block which is coloured orange occupies two coordinates on the map 2,2
& 3,2
. A wall also exists within our example, on the tile 3,4
.
Let's define our cardinal directions as the following;
- North:
0,1
- East:
1,0
- South:
0,-1
- West:
-1,0
If we apply a north directed force to our Standard Block it should assert whether each of its occupied coordinates can perform the transform successfully.
pA[ 2, 2 ] + d[ 0, 1 ] = p2[ 2, 3 ]
Check whether p2 is valid
pB[ 3, 2 ] + d[ 0, 1 ] = p2[ 3, 3 ]
Again, check whether p2 is valid
Looking at the map we know the p2
positions to be transformed to are valid as they are empty and within the bounds of the map. Therefore, the Standard Block can move north within our map. Now, we have the map below;
The mechanism of this game is straightforward, combining it with gimmicks in levels or elements wtihin them; a more interesting environment can be created. Below, some gimmicks which have been pre-thought are listed.
While being the ordinary of the game, it still has some features which are worth noting in this series.
- Can be pushed by the player's character.
- Two standard blocks cannot be pushed in their connected direction.
- When a standard block's push has been reverted; it will push the character.
- A standard block being reverted against the player's character into a wall will kill them.
- A standard block being reverted against another standard block will push it but not when towards a wall.
Figure c.5: Standard Block Reverted Against Another Standard Block
Figure c.6: Standard Block Invalid Inversion Against Wall
- If a Standard Block is to fall on the player's character, it will kill them.
- A Standard Block cannot be pushed into a wall
A light version of the standard block.
- Can be pushed by the player's character.
- Any number of paper blocks can be pushed together.
- A reverted paper block will push one or more other paper blocks but not a standard block or the player's character.
- Will be crushed when a standard block is pushed against it into a wall.
- Will be crushed when a standard block reverts against it into a wall.
- If a Paper Block is to fall on the player's character, it will remain above them until the character's player moves away and a 'physics update' is performed.
Acts identically to the Standard Block but has extended behaviour.
- When a Magnet Block comes in contact with another Magnet Block; it joins to form one element within the world.
- When magnetizing, memory which related to each separate entity is overlapped.
Figure e.2.i: Magnetic Blocks
Figure e.2.ii: First Magnetic Block pushed
Figure e.2.iii: Second Magnetic Block pushed and Connects with First
Figure e.2.iv: Connected Magnetic Block reverts Second push
Figure e.2.v: Connected Magnetic Block reverts First push afterwards
- Even when magnetized to form a larger entity, it still will act the same as the standard block in core behaviour.
A unique block which shares some similarish behaviours with the Magnet and Paper Block.
- Can be pushed by the player's character.
- Two Magnetic Blocks combine after making contact. Two Goo Blocks must be pushed towards contact to form a larger Block (the resulting larger Goo Block will not move in this Action).
Figure f.2.i: Goo Block not combining on Contact
Figure f.2.ii: Goo Block combining on Push into Contact
- A large goo block will adjust its shape when only a portion of it can perform a transformation due to a map edge, wall or Standard Block (see images for clarity). However, the mutation is only made depending on where the Player's Character pushes from.
Figure f.3.i: Goo Block which has been combined
Figure f.3.ii: Combined Goo Block not mutating when pushed on side of Wall
Figure f.3.iii: Combined Goo Block mutates shape when pushed on opposite side of Wall
- If a Goo Block falls on the player's character, they won't be hurt, but instead; will emerge from the top of the Goo Block.
Figure f.4.i: Goo Block reverted above Player's Character
Figure f.4.ii: Goo Block falling onto Player's Character
Figure f.4.iii: Player's Character emerges from top of fallen Goo Block
- A Goo Block being reverted against the player's character will cause the block to engulf the player's character and emit them at the top.
Figure f.5.i: Goo Block reverted onto Player's Character
Figure f.5.ii: Players' Character emerges from top of fallen Goo Block
- Goo Blocks can be combined vertically by them falling at least one block's height onto another Goo Block. Alternatively, if two Goo Blocks are stacked, the Player's Character can walk atop them to force their combination.
Figure f.6.i: Goo Block pushed onto Stack does not Combine
Figure f.6.ii: Goo Block falling onto Stack Combines
Figure f.6.iii: Walking atop Goo Block stack results in Combination
- Emerging works on a set of priorities. If the space above the Player's Character is occupied when a Goo Block is reverted over them; another direction to emit the Player's Character must be decided. The priorities are up, backward, forward, left, right. Where directions are from the perspective of the Player's Character towards the reverted Goo Block.
Figure f.7.i: Player's Character forced Backward
Figure f.7.ii: Player's Character forced Forward on longer Goo Block
- When a Goo Block is squashed with a Standard Block, it squeezes to the surface of the Standard Block. This is similar to how the Player's Character emerges from a Goo Block which has engulfed them. However, it is possible there is no direction the Goo Block could emerge, in this case; it is destroyed.
Figure f.8.i: Crushed Goo Block is pushed to Surface
Figure f.8.ii: Crushed Goo Block is forced Right
Figure f.8.iii: Crushed Goo Block destroyed when no available Options exist
Very different in behaviour to Standard Blocks.
-
Cannot be pushed by the player's character.
-
Gravity is not applied to these blocks and they can remain in the air.
-
When the player presses the action button while facing a Temple Block, the character is locked but has the ability to move the block in a 3-dimensional direction. That being UP, DOWN, LEFT or RIGHT. Left and Right being from the perspective of the player's character.
-
In terms of pushing, these blocks act the same as Standard Blocks. Meaning, they can't be pushed towards another Temple Block they are against or towards a wall.