Taking the Plunge
Posted: 2015-04-21 Filed under: Coding, General Leave a commentOne 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.

Since there’s nothing stopping the sequence of steps, these seem to appear all at once (more or less)
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.

In this case: 2d3 non-lethal. Falling into at least 10 feet of water reduces fall distance by 20 feet, and converts the next 20 into non-lethal with reduced dice size.
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.

a bit bare bones, but presumably the GM has been following the action so far and know why he’s clicking the button
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)