Hey guys, 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. As for the battle calculations, I talked a little about this in a Dev Diary on the Patreon, but the gist is that it's not as simple as a single formula (even though those can be quite complicated even in 'simple' games like Pokemon). What we want to do is split the math for that out into a chain of functions, then pass values down the chain. This would give us the opportunity for special abilities and effects that would require entirely new math to calculate their effects otherwise. For instance, using an extremely basic example, if our calculation is 'attack power - armour', and we have a weapon which ignores 25% of armour, instead of having a brand new calculation (attack power - (armour x 0.75)) we could instead 'inject' the values into the armour portion of the chain. It'll allow us freedom and modularity in order to have all kinds of gear effects. The devs have also been optimising code on a larger scale. What we're aiming for is a single point where the databases are linked into the program. That way we can use a reference to that location for all components, instead of having to reinstantiate them each time. This is much faster and lighter, and saves on duplication. It's also much easier to track back any issues that arise because of common code, since it's all in one place. Lore wise, I've been working on the map some more, drawing from the extra data Goldie has helped me with. Here's the second draft, by no means complete: Some of you may notice there are some extra species settlements there, and that it's one complete island (though it is not the whole world - it's enough to contain everything I have planned, but one day I'd like to open up new continents which will allow for more creatures and more colour variation in humans). I feel like this is a lot closer to what I want, though remember it is still a very rough draft of where I want things to be. What's missing are more human settlements and hamlets dotted around, as well as roads. Hopefully the mountains and rivers should make more sense now too. AnonDev1 has sadly had to leave our little cadre for the time being. They weren't able to do a great deal during their time (part of why they've opted out), so there shouldn't be any noticeable difference in progress. Still, I'm extremely grateful they wanted to help, and tried to, but when you're doing free work, a lot of other things have to come first. Until next time!