Hello and welcome back! I apologize about the ~1 cycle hiatus. I thought that I mentioned it in my last devlog, but when I looked back it was nowhere to be seen. I moved house again – I was renting out a really cheap apartment with a fixed term lease to save some money and the lease expired in June, so I had to pack up and head out. Sorry about that! Amidst all the stress, it totally slipped my mind.
Anyways, onto the important things: what’s happened with TfQuest since the last update?
This session, I:
- Branched out another class of objects specifically as containers to reduce load times and complexity
- Added an entirely new inheritance system to the loading scripts (more information on that in a bit, and even more information in the Technical Digest)
- Started on ✨Content✨ finally
- Finalized a decent amount of the framework
For those who aren’t familiar, an inheritance system essentially means that an object in the game can have a parent. For instance, a shirt might be the parent of a red shirt, where the thing that changes between them is small enough that it’s worth using shirt as a template to make changes from.
TfQuest has a multiple inheritance system meaning that an object can have multiple parents. For instance, a bra + swimwear would give you a bikini – the form factor of the bra combined with the swimming speed that swimwear gives you. It’s a powerful tool for being able to create new objects.
What does the new inheritance system do, you ask? Well, most inheritance systems (like in TQ) are used to load in objects. This one is tracked throughout the whole game. Each item has a breakdown of its components. Let me few examples:
[Monster, Human, Guard, Spear] -> Human Guard
*POOF!* A transformation potion goes off.
[Monster, Human, Magical Girl, Spear] -> Magical Girl
[Monster, Player, Mage] -> Human Wizard
A wizard casts a curse on you! You’re shrinking!
[Item, Player, Amulet] -> Magical Amulet
[Item, Deployable Room, Safehouse, Forest] -> Deployable Safehouse
You use the safehouse! A cozy-looking tent appears in front of you.
[Room, Safehouse, Forest]
Everything updates automatically. All of the variables get recalculated for the magical girl based off of the new parents: Human, Magical Girl, Spear. This is a pretty tame example, but I hope it illustrates my point. This is a huge backbone and the basis for almost all of the interconnectivity between systems. I’ll have more complex showcases of the exact functionality in the Technical Digest, but this should illustrate my point. We’re talking quick (or slow), efficient, modular transformations between any two states. Yes, there are options for over time effects as well.
It's a big difference! A lot of thought went into the best way to accommodate all of the needs of TFQuest, and this was the best way to do it. As always there’s more information in the Technical Digest below, and thank you so much for reading! If you have any questions, please let me know! I’ll be around on Discord this evening (AST) to chat about any of the details.