Today's progress brings a first pass at security guards. If you look closely the yacht now has a little guy riding a long (a circle with an orientation line). If you bump the yacht he rushes over to see what the big idea is. If he sees you he will shoot at you -- with a gun of all things! The bullets don't hurt yet but it's still rude.

It was clear from the earliest prototypes that the yachts need some kind of aggression, otherwise they feel helpless and sinking them doesn't feel great, which is the opposite of the intended emotional experience of this game. Security guards shooting a whale with a gun is narratively nonsensical but it mechanically captures the harm the capitalist class does to the world for the purposes of this game. Pew pew pew.

There's some nice tricks in here, like landmasses obstructing vision, limited vision range, tracking your last known location after losing you. But the logic is still a bit haphazard and I don't love it. Specifically the guard runs over to the point of collision1 and looks in the direction of the collision which does not work as well in practice as it does on paper. I think rushing to the spot and automatically looking at the orca might be a better approach.

I find myself tripping over matter's collision system and the way it encodes data. I imagine it works the way it does for performance reasons but I am finding it difficult to work with directly. Future iterations will likely have some kind of intermediary system I talk to.

I am also at the end of the line with the messy prototypey code I have going. Next step will include breaking things up properly into modules and (shallow) classes. This is exciting because part of this project is figuring out best practices for working with signals, which are not totally obvious to me at this point!

Full thing is here. Only tested on mouse + desktop. Hold D for debug graphics.


  1. this is also a source of bugs where sometimes the correct collision gets misidentified and the guard runs off to defend a stone. ↩︎