In our game 'Skrot' a scrapyard for defective tech becomes the arena where the players must collaborate for survival or face the certain destruction by the gripping jaws of the crusher. The objective is to jointly survive for as long as possible on a moving conveyor belt which is heading for the crusher in an increasing speed. The players can jump, push, roll and walk by using pistons from eight different directions. You can also use the magnetism mechanism to either attract or repel each other, depending on which mood you are in.
You will face numerous of obstacles which you will overcome by using your combined strategies and skills. The physics based movements adds to the challenge and to a player experience which will keep you on the edge of your seat.
This project was a team collaboration in which I mainly contributed with creating and implementing the physics based magnetism. The initial idea was to use the magnetism mechanic as a grapple hook for the players to use to traverse the level. To favor more intuitive controls and the cooperative aspect of the game; this initial idea was scrapped and the mechanic was implemented on the players to be used as an attract or repel function which the players could activate or deactivate on input.
The base function of the mechanic is to apply force between the center of mass between the primitive component which enters the collision of an other. If the primitive components are of equal polarities the direction between the object's pivot points will be subtracted and repel each other on the set vector direction, and the opposite apply if the components are of different polarities. Opposites attracts, just like in real life. The dipole and monopole magnets creates different behavior depending on its size and shape due to its physics properties.
The utilization of the magnetism mechanic changed from being a functionality implemented on objects with different physics properties than the player character. This modification was challenging but resolved due to prototyping possible solutions on how to achieve certain behaviors on objects with different physics properties. The above prototype is an example which represents the player (white primitive component) with no magnetic properties and gravity and its attached grappling hook (red primitive component) with magnetic properties and zero gravity. The mechanic was modified to the intended functional behavior and implemented on the player characters.