Biohazard-inspired developer tooling


I am still not sure if spending time on developer tooling as a solo dev is worth it or not - if feels productive, but sometimes whole days of work can go by and nothing about the actual game has improved, only the ephemeral spaghetti code around it. Anyway, heres something I came up with to help both with:

  • Managing game logic
  • Hand-painting custom levels

The basic idea is that each grid tile has a bunch of properties - chiefly:

  1. Can zombies navigate over it?
  2. Can civilians navigate over it?
  3. Is it editable? (When designing levels, I might want to make some starting roads/buildings/etc non-editable so they are fixed in-place)
  4. What kind of object occupies this square?

To represent this information in a way which was both easy to visualise and easy to edit, I was inspired by the NEPA-704 standard used in hazardous material handling - this diamond thingy:


Inspired by this, I now have 4 "semantic" layers of the in-game tilemap (which will be set to transparent normally) that each encode one of the 4 above tile properties into the 4 corners of a grid square. This layer is both read and written to in-game, and can also be conveniently edited in Godot using the tilemap painter for level design purposes. See pics:

Was it worth it? I'm not sure yet, but if it helps spot even one nasty bug before it happens then I think it was. In addition, I am hoping that this system is user-friendly enough that in the future I can delegate some level-design tasks to non-technical people and they will be able to make levels without having to touch any code.

Leave a comment

Log in with itch.io to leave a comment.