TaleSpire Dev Log 317

Here is a  DevLog about Today's upcoming Patch. It isn't a significant patch seen from an outside perspective but does contain some code refactors, which will make it easier to do future things.

Camera Refactor

The Camera Controller file has been rewritten to utilize camera Modes rather than being a single monolithic class. This code refactor also unifies the in-game camera controller with the photo-mode controller. Making it a lot easier to add new modes such as a player-restricted mode.

From a code point of view, things like "Max Tilt" and "Min Tilt" have moved from the "CameraController" class to one called "RootTargetCameraMode." which is one of the Modes inheriting from the CameraModeBase class.

With this breakdown into Modes, it is a lot easier to make contextual controllers as well as potentially make new default modes which can be set by using:


// as in :
public static void SetDefaultMode<T>(bool applyCameraMode = false) where T : CameraModeBase

A couple of examples of CameraModes are :
FreeFlyCameraMode and TopDownCameraMode, both being used in PhotoMode

Asset Inventory

This update also contains a slight change to the Asset Inventory. I'm referring to the boxes at the bottom of the screen. You can now right-click-drag down from the Asset Library rather than holding "X" (although holding down "X" still works). I wish I could say that such a minor thing was a quick fix, but it did require a bit of a rewrite. So, more time than I'd like to admit. Luckily, it did help bring us closer to our future vision for the Asset Inventory, being able to add emotes, effects, Creature blueprints, locations, and most other things down there for quick access. 

Removing PhotoMode Upscaling

I've removed the PhotoMode upscaling. It's been broken for a long time. And even when it "sort of" worked, the result wasn't a proper upscaled render, rather a post-upscaled version of the current frame-buffer. Resulting in a larger file, but not actually higher detailed density.

We can look into this again in the future, but properly fixing it will take quite a bit of effort.

Cut Volume/Box

The "Cut Volume/Box" has been left on the wayside for a little while. But, with things like "player-restricted camera-mode"[1]  coming up, it will be easier for us to decide where to cut when the volume is enabled. Before that though, there are a few things needed for it to become more useful. One bug is partially fixed in this update. Others need a little bit more work.
Select and move Creatures through holes created by the Cut Volumes is now fixed. Although this is great, it has introduced an issue where it is more difficult to open doors in the volume due to the Pixel Picker not knowing the difference between Placables that are cut, and the ones that aren't. Passing this information into the Pixel Picker is absolutely possible but requires changes to the asset materials and passing some data along through a couple of rendering systems. Having that data will also enable us to make a higher-up cut for assets currently not cut by the system. And with that, hope it will result in the sense of seeing what is in the current room without also having a bunch of floating props from the floor above.

For now, only the "select and move Creatures through the holes" fix is in, which isn't perfect, but should help in scenarios like going through narrow corridors and labyrinths.

All in all, though, this patch should help pave the way for future features.
The Patch will show up a little bit later in the day.

Thanks for checking out this DevLog.

Player restriction mode is a feature we're working on to allow the GM to restrict the player's camera movement, not being able to move too far away from their assigned Creatures. A part of this feature request.

PS: Baggers has a friend visiting and will be taking an extended week off for the occasion.

Good stuff!  For me at least, PhotoMode is not an important feature, but restricting the player camera certainly is. Thanks for your work & continued blogs!