Home Artists Posts Import Register
Join the new SimpleX Chat Group!

Content

I'm now looking at compression and inflation of data prototypes, such as cars, humans, etc.


The prototype will contain a list of inflation algorithms for some data blocks (like B/body-structure), such as min(), max(), rand(), randPts(), etc. - that will convert the minimal prototype information into a full character, item, or other object.


This will reduce the complexity of adding new objects/creatures to the game, and make the CMS much simpler to integrate.


With this, I am also looking into adding species/races (which serve as the prototype for characters and other creature types), and later sub-groups that may include probabilities for racial traits like hair color.


Also, the first use case for the $ data-branch has revealed itself as part of the compatibility/save updating system. $ will store system information such as data version, with 1 sub level of recursion storing the data version for each major node. Such that CHAR.B.$.ver would store the version of the body/structure data format, so that it can be updated when that node/block is changed in future versions of the engine (such as adding bones, joints, and organs to the list, as needed for the upcoming wounding system).


This will make upgrading old saves and maintaining compatibility much easier going forward, and now that we have the core structure, anything using the older structure would simply be truncated/re-calculated as needed. That does mean that old items, etc will be flushed when we go to the new item system, but that would be hard to avoid anyway as item IDs will likely be changing. (we're going away from the S-Mart "<Dept#>-<Aisle#>-<Product#>" format to something more useful)


We will also be implementing non-npc/humanoid and generic creature encounters. Things from these encounters will not be tracked as NPCs, and thus cannot become enemies, be re-encountered, and for now cannot be captured. This is contingent, in part, on the fight and action system refactors (part of the encounter redesign/refactor for v0.27) so that actions aren't a hard-coded list... we can't very well have a stray dog punching you, can we?


I'm adding a small weather function to estimate sunlight% by time of day, nothing fancy for now, it won't include seasonal changes yet, but knowing how intense the daylight is at any given moment has many applications... 

(not everything, after all, is diurnal in nature. >BD) 

Comments

No comments found for this post.