Environmental Mechanics - BIGBOSSKANE/Body_Builder_Game GitHub Wiki
Guide:
- Implemented Feature - This feature has been implemented into the game
- Core Feature - This feature is a necessary aspect of the game
- Optional Feature - This feature is optional, and can be implemented later
- Conceptual Feature - This feature will need some work before it is ready to be implemented
- Scrapped Feature - This feature should not be used, although aspects of it could be recycled
Environmental Mechanics
Structures/Ground/Platforms - Implemented Feature As either flat or diagonal ground, or walls, this is the surface that the player can walk, jump and collide on. Short diagonals can be used as ramps if the player is just a head or has the Powerslide legs.
Box - Implemented Feature
If we wish to have an aim and throw mechanic for the arms, we will require an upper torso sprite for the character holding the box, so that it can be animated to look and aim where the player controller is pointing.
Boxes are all squares that vary in size, from just smaller than the character's torso, to squares the height of the player. Small boxes can be picked up and placed by the character, provided they have arms. The player character can also push boxes (regardless of the number of components they have) with a force increasing by the player's number of components (and overall mass), and decreasing with larger boxes. Weighted boxes (with a black and yellow caution outline on them) are heavy, and so pushing them is only half as effective as pushing a non-weighted box. You also cannot pick these boxes up except with the specialised Lifter arms. Large boxes cannot be lifted, and should use a shoving animation to indicate their mass. Boxes can be used by the player as platforms from which to jump. Puzzle solutions may involve placing a line of boxes in a field of fans and using them as mid-air stepping stones to jump between. Boxes can also spawn or be placed or pushed into corners. Without arms, they then become impossible to move. In this way we can set levels up so that the player can only use the box as a platform, and then later gain additional uses for it if they acquire arms. To prevent the player from getting stuck in a level by misplacing a box, walls that boxes aren't supposed to get stuck against should have short ledge in front of them (a quarter the height of a small block), so that the box stops against the ledge, and then the player can stand on the ledge and push it back away from the wall.
Button - Implemented Feature
Each button is as wide as the character is tall, and comprised of a grey outer ring (up to the standard height of the character's heel), and a brightly coloured button on top (an ankle high).
When the player's legs or torso, or a cube is placed on a button, it will activate. Some buttons are different, using yellow and black diagonal stripes instead of the metal ring (in the same way that heavy boxes are indicated), these can only be triggered by heavy boxes.
Each type of button has a specific colour and is linked to a door, fan, conveyor belt, or another mechanical level element by a cable (which has a matching coloured light indicator above or adjacent to it), and when activated, will trigger that element, and cause both the button and cable to glow. Red buttons are switches, blue buttons are pressure pads, and green buttons are timers.
There are 3 different types of buttons, each with their own activation requirements.
Pressure Buttons (blue) These buttons only activate while there is a persistent weight on them. As soon as the weight is removed, they instantaneously deactivate. They have 4 springs along their front sides, and a horizontal glass tube, containing a large spring coil in the front-centre of their design.
Switch Buttons (red) These buttons are activated by any weight or physical projectiles. Once activated, they remain activated (even if there is nothing still on the button) until struck by another weight or physical projectile. They have a single light on their front-centre, which lights up while the button is active.
Timer Buttons (green) These buttons are activated by any weight or physical projectiles. Once activated, and there is no remaining force applied to the button, they only remain activated for a limited amount of time (if you leave a box on a timer button, it won't start counting down until it is removed). Any application of weight or force to the button will immediately reset the timer. As the timer counts down and accelerating and loudening ticking sound will play. (Scrapped Feature) A and a number display on their front will count down (scrapped because this makes scaling the button very difficult and having the sound play can feel more urgent than just showing the player the time.)
Cable - Implemented Feature
Connects a button to a mechanism or hazard that is further away. This connection will be visually depicted by the path of the cable. This can involve just a collection of rectangles arranged to form a line linking the button to the object.
Checkpoint/Cloner - Implemented Feature This is a small podium that acts as a checkpoint. Whenever you step on it, it saves your part configuration, allowing them to respawn there instead of the start of the level if you die. The cloner does not save the state of level, only the player's parts, so they should be positioned between puzzles that don't directly connect to each other (in case the player respawns without a required component loadout that was available previously in the level).
Conveyor Belt - Implemented Feature Moves debris, enemies, the player character and cubes in the direction that the conveyor belt spins.
Damaged Floor/Walls - Implemented Feature
These blocks of the ground look cracked and broken. The player can use the Ground Breaker legs or a Banshee beam or Saw bot charge to destroy it.
Debris - Optional Feature These scraps of metal attract Gyre robots, they are produced by destroyed boxes and enemy robots. For debris, we should just get the different parts of each destroyed object, add some scorch marks, and cut along some of the edges with a lasso tool to make them rough.
Door - Implemented Feature
Doors manipulated by buttons and power cells. They can slide up, down, left, right, or swing on a hinge. Enemies caught beneath a closing door are destroyed (or in the case of a boss, damaged).
Doors will primarily be used to force the player to explore and experiment with levels of the environment. However, there are alternative uses. In the case of two parallel passages (one on top of the other), a vertical sliding door can be used to always block one of the passages, or whilst raised, act as a jumping platform in the area above the lower passage. Hinge joints can be used in a similar way, as both doors, but also platforms to jump from.
Electrified Panels - Core Feature (currently implemented as red spikes until an art asset is created)
This ground has exposed cables with visible lightning arcing across it. Coming into contact with this will instantly kill the player, even if they are rolling over it with the Spear Augment for their head. Until this visual asset is ready for use, we will use red triangles protruding from the surface, as they are commonly associated with danger in video games. Boxes placed on these panels will explode. So whereas spikes act as both a barrier and a puzzle element (where players can build stepping stones with boxes, the electrified panels are an impassable barrier, that will require the player to find another route.
End of Level Elevator - Potential Feature
After the first district, Porter, your transport companion will be used to signify the end and beginning of most levels. Entering the elevator at the start of the level and pressing up will cause you to return to the overworld. Entering the elevator at the end of the level will automatically snap you to an animation of the elevator either ascending or descending and end the level, moving to the next one if there are more left in the district. Potentially the camera could zoom in on the player, and a loading screen could play out in the elevator, before the camera zooms out on the next level.
Fans
These spawn air current projectiles that move perpendicular to the motion of the fan's blades. The air currents will push debris, the player and cubes forcefully in the direction they are travelling, by an amount greater than gravity. Fans will be the main method for the character to recover after falling off a ledge to the lower part of a level, without the required parts. While in the air current of a fan, the player will not be able to jump (unless it is a horizontal air current and they are on the ground), however, they can throw a box into the air currents, and since boxes do not rotate, it can act as a floating platform (we could potentially even code it so that boxes automatically magnetise to the central spot above the fan, and then lock in position at the max height, to create consistency).
Fan Level concept - The player is faced by a massive pit in front of the end goal. Along the bottom of the pit, there are 5 fans pointed upwards. They try to use the air currents to get across, but can't quite make it. Instead, they will have to double-back and push a box on the ground floor (beneath the starting point) onto the first fan, where it will then act as a platform for them to ascend to the upper reaches of the level. Once up there, the player will have to complete several puzzles with the intent of dropping boxes down into the pit of fans, to continue building platforms to the end of the level.
Grapple Tether Points
These dots provide targets for the Grappler Arms to fire their tether shot at. Once tethered, the player can swing from these.
Handholds
These allow the player character to climb walls. They will sit on panels that run along the surface of the wall or ceiling, contrasting against it (usually light against a dark wall). The handholds themselves will be small and abundant so we won't need to line up the character's hands perfectly with them..
Elevators and Platforms (single platforms to chunks) Implemented but buggy, avoid implementing from now
These platforms move back and forth along a path laid out by a groove set into the wall. The platform size varies from single blocks to entire chunks of the level. They also have a slam feature, where they accelerate towards one end of their motion range, hurling the player and giving them a huge boost if they jump at the endpoint.
Laser Router - Implemented Feature These globes exist in the background and cannot collide with the player. When a charged laser hits one of them, they will store that charge, and use it to fire 1 to 2 beams in new directions, and potentially also trigger an object to activate. They can also be triggered to do things when hit by the laser, like move back and forth, or rotate, creating moving laser threats for the player.
Power Cells - Implemented Feature
These batteries require powerful beams of energy to be charged. They will appear to be glass, metal-capped cylinders with a black lightning bolt etched on their front. Once charged, they glow yellow, blue or orange (based on the source that charged them... which does not have any impact of the mechanical effect), and activate all environmental features connected by cables permanently. The only way to source the energy to charge them is from the beam attack of a Banshee or a Laser Router.
Overcharged Power Cells - Optional Feature Some Power Cells already contain corrupted energy, appearing to contain a green liquid, with green lightning surging along their surfaces. These Power Cells explode when charged like a normal Power Cell, destroying all destructible environment, enemies, and player parts in their radius (about 3 times the player's height). These will potentially see use in boss fights, as cores that need to be destroyed to damage the boss.
Sawblades
These blades move back and forwards along a path defined by a groove, or rotating mechanical arms. If the player comes in contact with a saw blade, they will be killed.
Spike Pit
A pit of exposed spikes that will kill the player on contact. You can get over it quite literally by simply jumping, or placing boxes and using those as platforms.