Prefabs and refactoring

Prefab in game: the liquid room
Prefab in editor: specify 4 connections (only 2 managed to be created)

So, the prefab loading work ended up being slower than projected, for a few reasons, one of them is IRL work and things, but the other important factor is just Bad Code that needs to be refactored:

  • I was trying to serialize 2D arrays of layout info in a variety of ways at the same time, and it backfired. 2D Arrays are stored by the game in some optimized form, but I can’t easily create that from from python (where the prefab editor is implemented in). So, eventually I had to create different classes and map from one to the other
  • The super-flexible json level specification is a double-edge sword, as it’s difficult to generate the json from the C# game state, especially if we start including prefabs etc. This is one of the reasons why I’m showing the same dungeons over and over; I’m choosing between a select few configurations . So now I’m slowly fixing that aspect, but I’ll possibly need some long uninterrupted hours to do that, which might be hard to come by.

Nevertheless, I did a few steps towards that direction, so it’s possible to put the prefab as a zone in a dungeon easily, but the dungeon configuration is a bit hard-coded. What’s missing is also the ability to use the prefab as a room type in a rooms-and-corridors generator. I suspect that part will be ready next week, barring any surprise IRL work.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.