Slab Format Addition: Origin and Coordinates
Slab Format Improvements
There are two related things I would like to see in the future for the slab format
Slab coordinates
Slab Origin “tile”
What is this solving?
Currently I have a way, through mods, to automatically place a slab at a precise location on the board. I would like this to be a more round-trip experience. So if you cut something from TaleSpire, you could then alter it and paste it back in the same position (or a modified position) from where it came from.
I believe this will be very important if/when slab copying/pasting is added to the symbiote API. Imagine systematically cutting sections of a board, changing all the grass tiles to snow tiles, randomizing rotations and then automatically pasting them back.
The current problem.
When I get a slab I do not know where that slab came from on the board, there also isn’t a known origin for that slab, it appears to be the asset closest to the (0,0,0) coordinate of the slab but I’m not quite sure on that and the behavior is different depending on the tile size, or if that asset is a prop.
When I create my own slab outside of TaleSpire I base all of my coordinates off of a full-sized tile in the slab, if one exists, and then have to offset the coordinates I paste that slab to, based on the position of that tile.
How this would help.
So I got to thinking, what if there were an Origin “Tile”, it doesn’t have to be an actual tile, it is just an origin that follows the same rules as a 1x1 floor tile. This “tile” would always be the (0,0,0) coordinate of the slab, it gives a reference point for every other asset in the slab, every asset's position is a relative position to that origin point. In theory, it doesn’t really exist, but we know it is there and we can base everything off of it and know how it behaves.
Incidentally, I think this will help solve the half-tile offset issues when pasting.
Now that we have a known slab origin point we can store the coordinates and dimensions of the slab itself. The main thing being, the location of this virtual tile in the world, so if we want to put it back in its original location we can do so. Secondary the min and max bound of the slab could be useful.
This wouldn’t really affect the hand placement of slabs, it should behave more-or-less the same, although if a slab has tiles in it that origin “tile” can be used to snap to the grid, so that issue with half-tiles may not be an issue any longer since all the tiles positions were relative to that one… you know, the one that doesn’t exist ;)
Other Thoughts
The support of external tools could aid greatly in TaleSpires success and I feel this would open the door for some very powerful tools.
Just a few Ideas this would make possible:
Select an area to randomize the rotation of floor tiles.
Select an area to add random debris.
Select a layout of floor tiles to generate room walls and contents onto, similar to the Cavern Helper video I posted on Discord.
Replace basic grass tiles or the 8×8 foam blocks with procedurally generated terrain and trees to fill out areas.
Create, on the fly random dungeons while you are playing. The next random room is generated and placed on the spot.
Select an area to place a random building or buildings, replacing the ground tiles and props in the area.
Select an area to light on fire, certain assets would be swapped out for damaged representations and fire props automatically added.
I could go on and on.
* I say “select an area” in here a lot, that might be another feature. Choose an area of affect to send to a symbiote for “processing”.
*Sorry for the long read, I’m pretty passionate about automation and TaleSpire.
Subscribe to post
Get notified by email when there are changes.