Prefabs and map generation
I've added a few more prefabs using the Prefabber tool, shown below. As a new feature, I've added support for creature classification, so that instead of specifying explicit creatures, you could specify a classification and the runtime will pick a creature randomly that fits that classification. Also, because the screen real-estate is limited and I'm using abbreviations for things, I've added some tooltips as well. I've added support for a few more objects, e.g. chair, table (with scroll) and jugs. These object may 1) block visibility or not 2) block movement or not, 3) execute some effect when interacted with, or not. For example none of the previously mentioned objects block visibility, but bookshelves do.
While the prefab generator tool works great, I need to *smoothly* integrate the prefabs with the map generation. And here is where the fun (re)starts! I've expressed issues in the past about the difficulty in configuring the generator due to its input complexity. My crappy design of the configuration generation on the C# side didn't help, so I knew that was a ticking bomb. So, after lots of hours of focused work, I did an initial restructure of the C# side and it now looks far more promising. All the ugly complex bespoke configuration is data-driven through JSON so that in C# I pick a configuration and instantiate it using the current contained biome, the challenge rating of the level and only a few other parameters. There's still some work to be done until the dust settles, more details to come.
Most of my videos are straight from the Unity editor, so they include some extra stuff that shouldn't be there really, like menus etc. So, occasionally, I'd really like to be able to crop the video a bit, and also trim it slightly as needed. I was looking (ok, not too hard) for some free and simple video editing software but alas, it seems there were none to be found? I gave OpenShot a try, but didn't like it. Handbrake doesn't make it easy either. So, I obviously wrote my own tool using tkInter/python, imageio-ffmpeg and the actual ffmpeg binaries. The tool does only what's necessary: preview of video frames, custom cropping region, start/end frames for trimming, and export to mp4 via ffmpeg. That's it! Here's the test video by the way:
Some unfortunate but necessary bug squashing. First was some Unity instability. I upgraded to 2020.3.9 and the RecorderWindow plugin, even if not actively recording, started crashing Unity. Other fun stuff when upgrading is corruption of some data, in which case the Library folder has to be blasted and rebuilt, which takes a while. But the corruption is cunning: it looks like some legit code is breaking, and I'm on a wild goose chase before I angrily blast /Library to oblivion. Also fixed some other visual bugs, where some particle systems or decals would show even if they should not be visible, e.g. some damage effect shown in the explored-but-not-currently-visible area.