TaleSpire Dev Log 451 - Hide plane where art thou?
·Hi,
Good news! The hide plane placement experiments I discussed in my last devlog have panned out quite well. We found some minor bugs during our internal testing sessions that I've already fixed, and in general, it's getting close to being ready.
But now, let's talk about what it even does. First, we need to recap how the current placement logic works: Any time a mini is moved[0], TaleSpire tries to automatically place the hide plane to a sensible spot[1] so you can actually see your mini and properly play. It does that by looking straight upwards from the new location until it finds an obstruction and then setting the hide plane to remove it. If there is no obstruction (= sky), nothing is removed. This system works fine when ceilings are mostly flat and without holes or irregularities. Unfortunately, turning this around means it doesn't work fine when ceilings are mostly... un-flat, with holes or irregularities.
That's a bummer because we want people to be creative and build good-looking things, but there often was a trade-off between interesting visuals and usability (or a lot of extra work to make good-looking work well). This, in turn, led to many people either being forced to build more simple than they want, or having to disable the automatic hide plane placement altogether - but we don't want to practically "force" users to have to manually place the hide plane just to get decent results. It takes time and effort and distracts you from what actually matters: the narrative, gameplay, and having fun with your friends.
Ideally, we want to live in a magical world where the automatic placement is perfect in every situation, and everyone is happy using it[2].
But what did we do to get closer to that magical world? I'm glad you asked!
It's still a pretty simple system, but in addition to checking straight upwards from new mini/camera locations, we also check diagonally upwards in 8 directions (forward, forward-right, right, backward-right, ...). If more than half of these directions are obstructed, we take the lowest obstruction of these "sideways-checks" and set the hide plane there instead of at the upwards obstruction. In practice, this improves behavior in several previously-annoying scenarios:
Note: In the following comparison pictures, the hide plane was automatically placed by moving the cat mini visible in the center of the images. The angle is often very top-down just because without looking at such an angle in the "old" comparison shot you would... just not see the mini (which is the entire problem of the old system)
Holes in ceilings or uneven ceiling heights (like with an internal balcony[3])
Note: This specifically also makes it much more satisfying to have a mini "jump" down a hole!
Pitched roofs
Thin hallways with high walls
Forests
There were a few scenarios we very specifically wanted to preserve because while hiding things more aggressively arguably makes things more easily playable, it can also detract from the amazing environments people build if we just cut away half of it any time a mini gets close to a structure. Good examples of those are
- Standing in front of an imposing city wall or cliff face where you have an unobstructed view of your mini in all but one direction (= where the wall/cliff is). If we cut that away, we'd lose the storytelling and worldbuilding gravitas such a monument can provide - and that'd be no good:
- Similarly, other structures like a wizard tower should absolutely be able to stand proudly (and not-hidden-by-hide-plane) on its hill. Cutting away everything but the bottom floor as soon as you begin to approach it just kills the flair - but of course, as soon as you enter, it needs to reveal the floor you're on properly:
Note: The forest example from before is the closest to the new system over-removing some of the nice-looking design. However, while with the old system it was usually possible to see your own mini by moving the camera around, it was essentially impossible to consistently see other minis around you without manually adjusting the hide plane. The new system still doesn't do a stellar job of this, but it does improve things.
As a final note, I do have to return to my previous statement that it's "still a pretty simple system". We will likely have to overhaul it at some point in the future since it still doesn't fix all cases of awkward automatic placement. For example the following situation with a simple, mostly flat tavern roof hasn't improved at all which annoys me greatly:
But that's all for now! If final release testing doesn't reveal any fatal flaw, you should receive the hide plane improvements (and some other small goodies) as part of the next patch.
Disclaimer: This DevLog is from the perspective of one developer. So it doesn't reflect everything going on with the team
[0]: Or the camera is set to a different position using the double right-click move
[1]: Unless you disable the automatic placement by enabling the padlock next to the hide plane slider.
[2]: Of course, such a magical world doesn't (and cannot) exist - we're striving to get closer to it, but it is a fundamentally unreachable goal. Manual adjustments will remain necessary in at least some cases. However, we aim to make these "some cases" as rare as possible; our tools should get out of your way and not make you do extra work.
[3]: I think the proper term would be a "gallery" or "atrium", but I'm neither an architect nor a native speaker, and the definitions of these words seem fuzzy to me, so "internal balcony" it is.
Guest
UserGuest
User