Continuing from yesterday’s short one, today is Saturday so hope for a biggie with lots of awesomeness … and definitely not getting tangented creating a #ScreenShotSaturday since I did that earlier in the week 😛
The picture is the PID Controller successfully controlling the rolling Rigidbody along an A* path including a section ramped sideways to the direction of travel (to show it compensating for the disturbance caused). Of course, the whole thing is under the control of a Behavior Designer behaviour tree. The cyan line is the current move vector and red line that hovers, growing and twisting above it, is the force vector it’s trying to apply (along with a fading history). The purple cross on the floor is its current waypoint along the path. The yellow or green wire sphere is its range it will accept to that waypoint. Sadly GifCam got some oddity on the third section of the path where the screen went all green but I think it’s still quite cool to watch 🙂
For context, this is the development view of my Snowman AI needing more health. In Snowman Scuffle, the snowmen fuel the snowballs they throw with their own health = snow! Obviously injury also results in their losing snow health. To regain snow, Snowmen need to roll in some snow that’s appropriately smooth, deep, etc. I have developed an A* path generator that determines where is ‘good snow’ (perhaps I’ll go into detail on that some time if I need to work on it more or by request). Once the AI gets the path from that system, this aspect then is responsible for getting the Snowman rolling along it at a speed appropriate to gain the snow health it needs.
In fact, this is a blog post not a tweet, why don’t we push the boat out and have… another animation!
Here you can see (again in development view), the snowman shooting at a target dummy (which turns red when hit — I’ve since fixed the missing seen here).
And, when in-game, we get
(Note, most of my animated GIF lacks image effects that usually run — GIFs just don’t like all the extra colours, etc!)
Y’know what? Per my “post more often” resolution, I’m gonna post this to link from my #ScreenShotSaturday tweet then continue my devlog post separately.
P.s. Hmm… so that whole “definitely not getting tangented creating a #ScreenShotSaturday” thing kind’a didn’t work, huh! A morning of finding old screenshots, tweaking WordPress and creating a new header image. Still, at least the devblog is semi public now! Gulp. Right, tunes on, fresh coffee in-hand — definitely back to applying the PIDController path-following logic to non-rolling … by first diagnosing that weird Behavior Designer bug!