It took a few weeks altogether but I think I’m happy in calling the world map finished for now. It will no doubt undergo changes and additions in the future but for now I consider it finished.
Lately our primary concern has been to get Goldie’s work on the body system reviewed and merged into the main branch. This requires everyone, usually. The toughest part about everyone working in their free time is trying to schedule time together across three different timezones, so that’s been taking some time.
Goldie and I have had several long conversations about the intricacies of the body system and its behaviour, attempting to find the right balance between level of detail and functionality. With that in mind there have been some changes: The ‘Chest’ minor region has been removed altogether, as it didn’t provide enough to warrant the complexity of building it in. Muscularity and Fatness have both been deferred to the major upperbody and lowerbody regions, meaning you can have a very fat and curvy lower body, or perhaps treetrunk muscle thighs, with a smaller upper body. This is much simpler overall than attempting to track fatness/muscles on a part-by-part basis, which would in itself provide no real benefit for the amount of insanity it would need to function. In fact a lot of information has been offloaded from the minor regions and into major regions. I think this still allows a great deal of customisation, but is much more sane as far as structure goes.
The Body system is now nearing completion. Goldie’s had some serious workload from her job lately, but we’ve still managed to make some good progress. As the system is reaching it’s final stages, today I’ll mostly be talking about all the cool things it does.
Firstly, it does math. Lots of math. Figures and formulae are in place that allow it to calculate the total volume of any and all parts the character might have. Almost all parts have scaleable dimensions, meaning you can grow or shrink them, and the system then calculates that part’s volume, weight, absolute and relative size. This also allows us to provide a reasonably accurate figure for how much your character weighs. Relative volumes, for instance the volume of your breasts compared to the volume of your underlying body, are how the game also decides how to describe your parts. It won’t describe your sixteen-inch-long cock as enormous if you also happen to be twelve feet tall (a five-foot NPC might, though.)
A lot of time was put in by AnonDev2 recently creating a new character API, and by Crimson merging it into the main branch. Now that that’s done, we’ve been moving forward on the system which concerns itself with calculating damage and other numbers in battle.
The API in question is a clever idea of Crimson’s that AnonDev2 (who shall henceforth be known as Goldie) has been working on. It’s a level of abstraction that allows us to easily generate facets (health, stamina, resistances, things like that) without weighing down the system with properties we know they won’t need. For example, one NPC might not need health and other battle-centric stats since it will never be in combat, while a feral Canen or other monster won’t need sets of data necessary for simulating their physical body. It’s very light and means we only ever create what we need. It also means tht if we want to rewrite how a part works, the interface that the rest of the code uses doesn’t have to be rewritten. We can do drop-in replacements using the same API to be able to to do testing, if and when we need to.