Jinkies! Well that was harder than I thought it would be…

Here’s a summary of all the things that were released with v0.3:

  • Path-finding between z-levels
  • New jobs for work and home, which are prioritized based on time of day
  • New tasks for pathing to the current job location
  • Items for houses
  • Efficiency improvements to some tasks
  • Some debugging support
  • Lots of random bug fixes (some that I created, some that I found)

It took a long time to get here, and it was a lot of work for things that I don’t consider core game mechanics. As such, I moved a few items that I had originally slated for v0.3 to later versions so that I can finally start on some of the more fun stuff (this is reflected in the Version Plan).

For anybody that’s curious, the way that my path-finding algorithm works between z-levels is basically like this:

  1. Find the nearest stair (up or down depending on whether or not the entity is above or below the destination) to the destination
  2. Path from destination to the stair
  3. Add a step to the path descending or ascending to the next z-level from the stair
  4. If the new z-level is not the destination z-level, go to step one with the current location as the new destination
  5. Otherwise, path from the current stair to the entity

This works really well, but sometimes, if an entity is in a building across the map on an above-ground z-level, with a destination on an above-ground level, then step 5 will fail. If this is the case, then I use a similar algorithm to simply have the entity path to the ground level. Once the entity does this, the next time its turn comes around it should then attempt to path to it’s job location again from the ground floor, which should work as expected.

What’s next

v0.4 will implement the Event system, which I’m hoping will be a pretty core part of the core game mechanic. As I mentioned in my last post, a goal I have in developing this game is to have the bulk of the work be content creation, rather than game development, so that I don’t need to code in specific logic for every type of event.

After events, I’m hoping to add in super-powers and then items.

Known issues

  • There’s a bug with houses that sometimes spawns items on top of walls
  • Another bug with houses that sometimes leaves the upper levels disconnected, without doors or stairs
  • Some NPCs seem to wander around even though they have an assigned job location