Logo
News
HomeTeam
Dev-Blog
TaleSpireJoin us on Discord

TaleSpire Dev Log 423 - Internal data-structure changes

Baggers · 1 year ago
Banner

Hi again folks.

This dev-log won’t be of note to most people as it concerns changes to some internal data structures. However, there are folks out there hacking around with the internals of TaleSpire, and this will be relevant to them.

As some non-modders will be reading along, here is a little intro to the state of modding in TaleSpire.

We have taken a damn long time getting any form of modding into TaleSpire. We are finally getting caught up with Symbiotes, slabs, and the mod browser, but we are late to the party. In the meantime some talented folks have used a variety of tools (such as BepInEx) to “hack” around in the game and patch in their own content.

This is very cool, but it’s not something we can officially support. There are a bunch of reasons for that, but the important one for today is that TaleSpire is a building site. One of the realities of early access is that you sell the game before it is finished, so now you are building the rest while trying not to break the thing you sold people. This is tricky, but as trade-offs go, it’s one we are very happy to have made.

However, you can imagine the problems of building a house while people are in it. Sometimes, you end up building a kitchen right where someone had their stuff. The kitchen always needed to be there, but it’s still a significant change.

We have one of those changes coming up very soon.

We are currently adding support for modding in creatures. Part of this process involved removing some Unity libraries we no longer want to depend on, and one of those is Unity.Entities.

We tested out Unity’s ECS a long time back, and it wasn’t a great fit for us. However, it the library also contained a zero-copy data format called Blob Assets that was very useful, and it’s how we have been storing our asset-pack index data until now.

The problem is that that feature ties us to Unity.Entities, and so it had to go. We have written our own zero-copy format and used it to replace everything that used Blob Assets before.

It works great, and there is no change to TaleSpire’s behavior. So that’s a big win!

BUT, if anyone has been messing with the index in order to add custom content, we will have broken that.

The way we usually tackle this for new features is to have a public Beta. This lets players try the new stuff while giving unofficial modders some time to work out any needed fixes.

This time is different, though, as there is no feature for the community to try. But we still want to give you folks a chance to test stuff. So, we have put up a Steam branch for you. The access code is c9m32rumt30w.

We’ve got some fairly hefty refactoring coming in the new year, so we will have these kinds of issues again. However we will do our best to get you branches early so we can keep as much working as possible.

As always, if you’ve got any questions, feel free to hit me up on Discord.

Peace!



0 Comments
  • Oldest ▾
    • Oldest
    • Newest
    • Best
Subscribe
G
G
Guest
User
Guest
User
Write a Comment...

© 2005-2025 BouncyRock.com

HomeTeamDev-BlogTaleSpireJoin us on Discord