Sunday, May 20, 2012

FLITS again

Okay, let's keep tools-fusion for later on and focus on the impending walk of Dumbladors. I had them stepping blindly yesterday, and now, I'm trying to use the "walker" controllers (the one that can follow slopes and so on) to control them, so that they can be placed like Applemen rather than suffering woodworm-like bugs.

I had some more "FLITS" bugs, with dumbladors disappearing into the void of the toroïdal space (?) as soon as they hit a wall 0_o

The good news is that InspectorWidget was already much more capable than I thought, despite its cryptic user interface:

  1. (1) touch here to set a "breakpoint on bounding-box intersection
  2. (2) once a monster appears, click its "name" (2 first letters of BLador.cmd plus current state number) to give it the inspector focus.
  3. (3) click the coordinates of one monster to "disable" it from execution (or resume its execution).
  4. (4) click the focused gob's "name" bar to switch between iGobControllers display or cdata (GOB's private variable used in GobScript) display.
  5. (5) touch "p*" or "a*" to enable the rendering of collision areas.
  6. press L to step to the next frame (slow-motion) or L+START to resume normal play (with breakpoints active).

After fixing the "silly sunday bug" (giving a positive v0 speed for a state that moves to the left :P), I think I identified the reason why blador disappears: the "deficit" for step-based walk increases by v0 at every frame, but I also have "delay xxx" instructions in my animation, which makes the GOB to accumulate deficit move over time. When it comes to turn around, it is first "wrapped" to the place it's supposed to be (not very ideal)... and that happened to be off-screen this time ^^"

1 comment:

PypeBros said...

the problem with accumulated STEPX can be solved by stating that "if you have a DELAY statement in your animation, it cancels all the deferred moves you had so far (absorbs the delta, somehow)."

That's absolutely mandatory as there *is* a pause in dumblador's stepping.