Jump (many legs, in place)

The jump of the game cycles for many legs, in the same named phases as the two-legged jump, so a game can start it at any point or hold the character at the top or in the fall.

A cartoon person and a dog with arms thrown up, legs tucked, high above the grass.

Use it in a cartoonOpen it in the block editorThe pack file (JSON)

What it is for

Jump (many legs, in place) is the jump of the nine game cycles, written for the many set: the same named phases (crouch, rise, apex, fall, land, recover) as Jump (in place), so a game can start from any one of them with from, or hold at the top or in the fall with hold. Every leg, named or numbered up to 16, moves together as one group, while the claws swing up and lift independently: the spring throws the claws up and the legs tuck in at the top.

The principle it shows: anticipation

Before the character leaves the ground, every leg crouches low and spreads together, storing the energy the spring releases, while the claws lift and the body sinks a little. Every later phase, the claws thrown up, the legs tucked at the top and spread out again on landing, reads as one clean arc because that low, spread crouch primed it first.

The program, line by line

settings: h = 540, leg = 0.1, hold = 0, from = 0
when it starts
  if (from <= 0):
    glide back left leg 14, back right leg 14, front left leg 14, front right leg 14, leg #4 14, leg #5 14, leg #6 14, leg #7 14, leg #8 14, leg #9 14, leg #10 14, leg #11 14, leg #12 14, leg #13 14, leg #14 14, leg #15 14, left shin 0, right shin 0, dy (0.012*h), left arm -2, right arm 2, left arm lift (0.034*h), right arm lift (0.034*h) over 0.14 s (out)
  if (from <= 1):
    glide back left leg -8, back right leg -8, front left leg -8, front right leg -8, leg #4 -8, leg #5 -8, leg #6 -8, leg #7 -8, leg #8 -8, leg #9 -8, leg #10 -8, leg #11 -8, leg #12 -8, leg #13 -8, leg #14 -8, leg #15 -8, left shin 0, right shin 0, dy 0, left arm -20, right arm 20, left arm lift (0.07*h), right arm lift (0.07*h), sx 0.97, sy 1.03 over 0.18 s (out)
  if (from <= 2):
    glide back left leg -14, back right leg -14, front left leg -14, front right leg -14, leg #4 -14, leg #5 -14, leg #6 -14, leg #7 -14, leg #8 -14, leg #9 -14, leg #10 -14, leg #11 -14, leg #12 -14, leg #13 -14, leg #14 -14, leg #15 -14, left shin 0, right shin 0, left arm -17, right arm 17, left arm lift (0.064*h), right arm lift (0.064*h), sx 1, sy 1 over 0.18 s (smooth)
  if (hold == 1):
    sin wave on left leg · every 0.4 s · amp 4
    sin wave on right leg · every 0.4 s · amp 4 · phase 3.141592653589793
  else:
    if (from <= 3):
      glide back left leg 10, back right leg 10, front left leg 10, front right leg 10, leg #4 10, leg #5 10, leg #6 10, leg #7 10, leg #8 10, leg #9 10, leg #10 10, leg #11 10, leg #12 10, leg #13 10, leg #14 10, leg #15 10, left shin 0, right shin 0, left arm -15, right arm 15, left arm lift (0.06*h), right arm lift (0.06*h) over 0.22 s (in)
    if (hold == 2):
      sin wave on left leg · every 0.3 s · amp 8
      sin wave on right leg · every 0.3 s · amp 8 · phase 3.141592653589793
    else:
      glide back left leg 14, back right leg 14, front left leg 14, front right leg 14, leg #4 14, leg #5 14, leg #6 14, leg #7 14, leg #8 14, leg #9 14, leg #10 14, leg #11 14, leg #12 14, leg #13 14, leg #14 14, leg #15 14, left shin 0, right shin 0, dy (0.012*h), left arm -5, right arm 5, left arm lift (0.04*h), right arm lift (0.04*h) over 0.16 s (out)
      glide back left leg 0, back right leg 0, front left leg 0, front right leg 0, leg #4 0, leg #5 0, leg #6 0, leg #7 0, leg #8 0, leg #9 0, leg #10 0, leg #11 0, leg #12 0, leg #13 0, leg #14 0, leg #15 0, left shin 0, right shin 0, dy 0, left arm 0, right arm 0, left arm lift (0.03*h), right arm lift (0.03*h) over 0.16 s (smooth)

Written out in full, exactly as the engine prints them:

0.012*h

0.034*h

0.07*h

0.064*h

0.06*h

0.04*h

0.03*h

Try this

  1. Hold the jump at the top (hold 1 instead of 0). The legs flutter gently instead of falling, so the character hangs at the apex for as long as a game needs.

    In the program: params.hold 0 → 1

  2. Start the jump from the landing (from 4 instead of 0). The crouch, spring, apex and fall are all skipped; only the touchdown crouch and the stand back up play.

    In the program: params.from 0 → 4

How it differs from Jump (in place) and Fall (many legs)

Jump (in place) is the same phased jump for a two-legged body with arms rather than claws and many legs moving as one group. Fall (many legs) is the open-ended loop a game switches to once the character is actually falling, rather than this move's own fall phase.

Works on

Worked out by the build: it plays the move in the engine on each body and checks what moves on screen. Nobody types this table.
BodyMoves?What moves
2 legs (a person)yeswhole body, body, arms
4 legs (a dog)yeswhole body, front legs, back legs
no legs (the monster with no legs)yeswhole body, body, arms

c4c:beh:cycle_jump_many · version 1.0.0 · c4c-free · by Jabbertoon