With a theme of 'Waves' we decided to make a game about starfish. One interesting thing about starfish is that they do not have a central brain. Each arm can override the other ones to pull the animal towards prey. This seemed like a cool setup for a coop game, although only tangentially related to the theme.

On the Friday we planned out the game where each player would control one arm of a star fish. They would need to work together to collect food and avoid a crab which could remove the arms. We used Phaser 2 with P2 physics and by the evening had the proof of concept basically working. With the confidence of developers who know just enough to be dangerous we thought we were nearly done.

All of Saturday was spent wrestling with the combination of the Physics engine, Phaser and Typescript. The type definitions were fairly new and incomplete which made things a bit harder. We were also at the edges of what was documented so there was a lot of trial and error. Aaron fought his way through getting the collision groups right, especially the arms colliding with each other. Aidan used his web skills to wip up some sliders for us to adjust values on the fly which helped with the experimentation. It was a careful balancing act to find values that felt right rather than a rigorous approach which means there are constants like const maxForce = 2000; // who knows scattered in the code.

On the Sunday we finally had the movement feeling right but had run out of time for our original plans so we had a meeting to decide how to turn the pieces we had into a game. It evolved into having the mouth on the ground and needing to bring burgers into it. Shells were obstacles that could get in your way and urchins would mess up your arm movement if you got spiked. There was also an urchin queen which was much larger. Due to it being added right at the end, its mass is quite light so it is easy to push away.

The resulting game is certainly interesting. It takes a bit to get the feel for having an arm tentacle but once you get the hang of it there is a lot you can do with the analogue feel. You can wave back and forwards to swim and curl around things you want to hold. At a local game dev meet up one person spent an hour playing, controlling all three arms and ended up quite proficient. The end result brings to mind the quote:

Shoot for the moon. If you miss it, you will still land among the stars.
- Norman Vincent Peale [1]

Lessons Learnt

Analogue controls can give interesting results.
Sometimes the end result doesn't end up quite where you were aiming.

  1. 1988 May 26, USA TODAY, “Peale still positive; Words he lives by” by Bethany Kandel, Section: NEWS, Page 2A, Gannett Co., Inc., McLean, Virginia. (NewsBank Access World News) ↩︎