Deep Dive is an ongoing Gamasutra series with the goal of shedding light on specific design, art, or technical features within a video game, in order to show how seemingly simple, fundamental design decisions aren't really that simple at all.
Check out earlier installments, including using a real human skull for the audio of Inside, and the challenge of creating a VR FPS in Space Pirate Trainer.
Who: Zeke Virant, Developer
Hello, I’m Zeke Virant, and I’m the developer of Soft Body (PS4/PC). In addition to action games, I've worked on a few narrative and art games. I like collaborating and have regularly worked with Stephen Lawrence Clark on a few projects such as Palace of the Organizer, one of the games in his Rooftop Cop collection.
Before games, I worked as a musician and created a broad range of musical and dramatic works. I still love working with music and trying to figure out the best way to organize and structure music for games.
What: Controlling Two Things at the Same Time
Soft Body is a difficult, meditative action game where you control two beautiful, gooey snakes at the same time. In the game, you paint the world with your body, and as you do so, the world changes around you and reveals new obstacles and challenges. Although the action can be quite tense, the mood and aesthetic is (mostly) contemplative and calm. And while the game is beholden to shmups and twin-stick shooters, it also incorporates non-traditional action game elements like painting, small puzzles, and artistic flourishes such as interactive musical vignettes.
Soft Body has two modes with distinct rule sets: Soft Game and Hard Game. In this article, I will primarily focus on the design of game's split-mind control scheme, that is, the act of controlling two independent avatars at the same time. While split-mind controls play a role in Soft Game mode, they are the core of Hard Game mode's design.
HARD GAME: you control two snakes, one with each joystick on a gamepad. The Left Snake (yellow) can paint walls. The Right Snake (blue) can pop enemies and push balls on a rail. If either snake is damaged, you fail the level.
In Hard Game mode, people play through the game level-by-level while controlling two snakes at the same time (each joystick on a gamepad controls a single snake). To complete a level, each snake must complete all of their objectives without being damaged by obstacles, enemies, or projectiles. If one of the snakes is damaged, the level is failed and the player must restart from the beginning of the level. In other words, the player must keep both snakes alive to complete the level.
To further complicate things, many of the snakes’ abilities are asymmetrical. For example, only the snake controlled with the left analog stick (left snake) can paint walls, and only the right snake can push balls on a rail and destroy enemies.
Why: Making Seemingly Impossible Mental Tasks into an Engaging Game
Controlling two things at the same time is difficult. Although I stumbled onto the idea at the beginning of development, it took me a year to fully embrace it. For one, the mechanic was intimidating. The act of controlling two snakes at once seems like a mentally impossible task the first time you experience it – like your brain is actively resisting what you want it to do. Things that seem like they should be simple – things like moving the snakes in different directions or maintaining some distance between them – are actually challenging and strange. Due to the tricky nature of the task (or despite it), I ended up working out nine different control schemes before I was able to settle on two distinct modes.
L — snake controlled by left analog stick
R — snake controlled by right analog stick
Prototype 1 L & R — left snake and right snake can move freely all the time | This prototype was thrown together very fast. Most of my attention was spent on tuning the avatar's movement and animation which I wrote about here. |
---|---|
Prototype 2 R | L — right snake is confined to the left half of the screen, left snake is confined to the right side | This was initially conceived as a funny prototype, and I showed it to a few people as a joke (haha, it’s hard to do). |
Prototype 3 L — left snake only | Only one avatar. If this avatar collides with a projectile, it is death; it can paint walls, push balls on the rail, and pop enemies. Introduction of the game's three objectives:PAINT — paint walls by moving the snake close to them, also removes enemy armorPUSH — push a ball on a rail by getting close to itPOP — pop enemies by colliding with them |
Prototype 4 L[R] — right snake is reintroduced but as an optional avatar; left snake is unchanged | LEFT SNAKE — The main avatar. If this avatar collides with a projectile or lethal obstacle, the level is failed.RIGHT SNAKE — By default, this avatar is attached to the Left Snake. However, the Right Snake can be detached from the Left Snake by pushing the right joystick in a direction. When the right joystick returns to the center, the Right Snake immediately teleports back to the Left Snake and reattaches to it. Right Snake cannot be killed; it will teleport back and reattach if it collides with a lethal obstacle or projectile, i.e. stunned. LEFT SNAKE — can paint walls, can push balls on the rail, pop enemies, remove enemy armor, level is failed if snake is popped by projectiles or obstaclesRIGHT SNAKE — can go through walls, can pop enemies, can push ball on rails, Right Snake returns to the Left Snake if damaged |
Prototype 5 L -> [R] — right snake is now an optional power-upThe Right Snake is a power-up that must be acquired before it can be used. | Abilities unchanged. |
Prototype 6 L* -> [R^] — left snake (named Soft Body) cannot pop enemies without first acquiring the right snake power-up (named Ghost Body) | The two Snakes are starting to become more asymmetrical. The Left Snake can only paint. Only the Right Snake can pop enemies and push balls on a rail. The Left Snake must get the Ghost Body power-up in order to complete most levels. LEFT SNAKE — can paint walls and remove enemy armor, level is failed if snake is damaged by projectiles or obstaclesRIGHT SNAKE — can go through walls, can pop enemies, can push ball on rails, Right Snake returns to the Left Snake if damaged |
Prototype 7 (final Soft Game mechanics) L* -> [R^(…)] — a cooldown timer mechanic implemented | (Cooldown) The Right Snake (Ghost Body) does not immediately return to the left snake if the joystick is not being pushed. (Stun) If the Right Snake takes damage by colliding with a lethal obstacle or projectile, it returns to Left Snake and must wait 1 second before being able to detach. This was added to prevent people from spamming the ability. Stun and reattaching cooldowns added to Right Snake but otherwise abilities unchanged. |
Prototype 8 (unused Co-op mechanics) L* —Player 1, left snakeR^ — Player 2, right snake | Both move freely, unless stunnedIf a snake is damaged, it is stunned in place and cannot be controlled. If other player collides with the stunned snake, it will be rescued and regain control. The level is failed if both snakes are stunned. LEFT SNAKE — it can paint walls and remove enemy armorRIGHT SNAKE —can pop enemies and push balls on rail; unlike the right snake (Ghost Body) in "Soft Game," this snake cannot go through walls |
Prototype 9 (final Hard Game mechanics) L* & R^ — left snake and right snake can move freely all the timeThe level is failed if a projectile, enemy, or lethal obstacle damages either snake. | LEFT SNAKE — it can paint walls and remove enemy armorRIGHT SNAKE —can pop enemies and push balls on rail; unlike the Right Snake (Ghost Body) in "Soft Game," this snake cannot go through walls |
Soft Game mode
The Ghost Body was the first good implementation of a 2nd snake. Introduced in Prototype #4 and gradually refined until Prototype #7, it is a power-up that can be used as an additional avatar. By default, the Ghost Body is attached to the main avatar, the Soft Body. In other words, the Ghost Body sits on top of the Soft Body and is controlled by the same stick as the Soft Body (left stick) until it is detached by moving the right stick in a direction. The Ghost Body will automatically reattach to the Soft Body if it isn't being used.
No tags.