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

Content

Working on some more CHAR/OBJ complex-property refactors/optimizations.

I'm going to move all calculations (for STATS, METRICS, etc.) into an easier to manage/mod FORMULAS table, and combining that with optimizations for caching and invalidation of current, maximum, and scaling values.

This is moving toward a unified API for fetching/dynamically-generating all calculated properties. This will allow for lazy-loads/on-demand-updates of things, and it will simplify the codebase and ensure future compatibility of (most)all gamesave data. (It won't matter if I change where/how something is stored once this abstraction layer is added, so these refactors can stop breaking compatibility)

This also makes the logic-engine/game-rules more flexible and the work reusable for completely different games and rule systems. (as well as special/custom builds)


All of the complex properties support TEMP and PERM modifiers, like the existing stats system. Which makes nearly every value modifiable (such as a ring that adds +2 to a skill), and allows optimized recalculations (such as invalidating ONLY the PERM.equip value when equipment is changed; to prevent iterating over unchanged data branches)

This should significantly reduce overhead and the amount of time it takes to process/update characters/objects in-world, keeping the game stable as the scale of encounters grows.


This planning comes in light of needing to add the Aspect Levels, and related  sub-properties, to the system. All of these complex fields are pretty damned similar in data structure, so I am trying to standardize them and simplify implementation of new features and content, as well as maintenance of those existing.

Comments

No comments found for this post.