Taking the PlungePosted: 2015-04-21 Filed under: Coding, General Leave a comment
One of the other things I’d been working on was swimming (haven’t really tested it yet), and in the course of working on it I revisited falling, which I had worked on years ago when coding flight movement. In the Ikosa framework, falling is a type of movement, albeit a (largely) uncontrolled one. What I was trying to bridge recently was the transition between falling and falling into water (and falling through water), and ultimately sinking (that is, if you aren’t swimming, but are in water).
So, here’s the narrative:
1) i had to alter my playground setting to add water and a big diving board platform; and move my test creatures (wizard, spider and animated object) up to it. The following picture is from the POV of the “wizard” (using a largely unpainted greatsword wielder figure) standing at the edge, waiting to step off the platform
2) the character takes a step off the edge (into a region unsupported by gravity), and immediately gets to roll a reflex save to avoid falling. If she succeeds, she gets to void the movement.
3) Like climbing, the falling is sent as status back the the user controlling the character.
4) There’s actually a couple of falling steps and pathways depending on whether the liquid falling continues past a single 5 foot cube, but in this case the water is deep enough that damage is requested and (potentially) applied on the entry into the second 5 foot cube. At this point the system uses the fall distance accumulated from the original falling movement to determine how much damage to give.
5) This UI shows (but doesn’t pop) on the host UI at the moment. I haven’t worked client-server mechanics for a game-master specific UI notification as of yet. The GM needs to click “Edit” (very old UI I haven’t played with in years) to get an editor dialog as shown next.
6) After clicking OK, the damage prerequisite is met, the damage application step is processed and the client is notified, with the result’s showing on the log and the character sheet.
7) Finally a visual from the character after plunging and sinking. This image exposes a small deficiency in the visualization system…namely that under water screen masks (should be a bluish hue) are only applied directly against a surface boundary at the moment, and the character is actually only adjacent to a surface edge (the edge of the platform)