Taking the Plunge

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

Deepest water I've made yet.  I had to make it in two layers to get different light levels.  Logically the water, walls and ground extend outward "forever", only my viewport is clipped

quite a drop, at least the water’s fairly deep

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.

I could hit the roll button, but then i'm not guaranteed a fail

she’s going to fail anyway, i wanted to test falling

3) Like climbing, the falling is sent as status back the the user controlling the character.

They are actually queued per user and shipped once the processing engine goes idle, like when it has additional prerequisites for step to continue

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.

The platform is 40 feet high

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.

I already took a big step toward a GM client in making a client that could handle multiple characters

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.

There's probably a post I could write about conditions and health points...

Just a (damp and brusing) flesh wound

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)

My previous underwater tests were based on very narrow and shallow water in which every cell was next to a boundary surface

those shadings on the side of the wall are light levels diminishing with depth

Advertisements


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s