Jump (four legs, in place)

The jump of the game cycles for four 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 stretched out in mid-air, legs reaching, high above the grass.

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

What it is for

Jump (four legs, in place) is the jump of the nine game cycles, written for the fours 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. The spring is the front legs reaching, and the crouch's own numbers show why: the back legs bend one way while the front legs bend the opposite way, the ordinary shape of a four-legged body gathering itself to spring.

The principle it shows: anticipation

Before the character leaves the ground, the hindquarters sink and the front legs reach forward, opposite bends on the same body, storing the energy the spring then releases. Every later phase, the stretch at the top, the tuck in the fall and the bent-leg landing, reads as one clean arc largely because that opposing crouch primed it first.

The program, line by line

settings: h = 540, leg = 0.33, hold = 0, from = 0
when it starts
  show the side view
  if (from <= 0):
    glide back left leg 10, back left shin -20, back left foot 10, back right leg 10, back right shin -20, back right foot 10, front left leg -10, front left shin 20, front left foot -10, front right leg -10, front right shin 20, front right foot -10, dy (h*leg*(1 - cos(10*pi/180))), head -6, tail 10 over 0.16 s (out)
  if (from <= 1):
    glide back left leg -30, back left shin 10, back left foot 20, back right leg -30, back right shin 10, back right foot 20, front left leg 40, front left shin 20, front left foot 0, front right leg 40, front right shin 20, front right foot 0, dy 0, torso 6, head 8, tail 20 over 0.18 s (out)
  if (from <= 2):
    glide back left leg -24, back left shin 30, back left foot 10, back right leg -24, back right shin 30, back right foot 10, front left leg 30, front left shin 40, front left foot -10, front right leg 30, front right shin 40, front right foot -10, torso 0, head 4 over 0.18 s (smooth)
  if (hold == 1):
    sin wave on tail · every 0.5 s · amp 10
  else:
    if (from <= 3):
      glide back left leg 16, back left shin 10, back left foot 0, back right leg 16, back right shin 10, back right foot 0, front left leg 20, front left shin 10, front left foot -10, front right leg 20, front right shin 10, front right foot -10, torso -6, head -6 over 0.22 s (in)
    if (hold == 2):
      sin wave on tail · every 0.4 s · amp 14
    else:
      glide back left leg 0, back left shin 0, back left foot 0, back right leg 0, back right shin 0, back right foot 0, front left leg 0, front left shin 0, front left foot 0, front right leg 0, front right shin 0, front right foot 0, torso 0 over 0.06 s (in)
      glide back left leg 10, back left shin -20, back left foot 10, back right leg 10, back right shin -20, back right foot 10, front left leg -10, front left shin 20, front left foot -10, front right leg -10, front right shin 20, front right foot -10, dy (h*leg*(1 - cos(10*pi/180))), head -4 over 0.1 s (out)
      glide back left leg 0, back left shin 0, back left foot 0, back right leg 0, back right shin 0, back right foot 0, front left leg 0, front left shin 0, front left foot 0, front right leg 0, front right shin 0, front right foot 0, dy 0, head 0, tail 0 over 0.16 s (smooth)

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

h*leg*(1 - cos(10*pi/180))

Try this

  1. Hold the jump at the top (hold 1 instead of 0). The tail flutters 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 (four legs)

Jump (in place) is the same phased jump for a two-legged body, where both legs bend the same way rather than opposite each other. Fall (four 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, turns, body, head, arms
4 legs (a dog)yeswhole body, body, head, front legs, back legs, tail, ears
no legs (the monster with no legs)yeswhole body, turns, body, arms, tail, ears

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