Peck

A busy little idle: small bobs and a shuffle from side to side at the same pace, like a bird pottering about on the ground.

A cartoon person and a dog lifted a few pixels and shifted a little to one side, mid-shuffle.

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

What it is for

Peck was written for the bird: a small, fussy movement for a bird standing on the ground between other actions. It suits any small, busy character, such as a mouse, a nervous kid or a squirrel waiting for a nut. It is a background move, small enough to run while someone else talks. Despite the name, the head does not dip: the whole body bobs, so on the bird it reads as pottering rather than pecking at the ground.

The principle it shows: arcs

The bob and the shuffle use the same speed, and that is the trick. The bob is a one-way wave, up and back twice for every side-to-side swing, so the body traces a small looping path instead of moving up and down and sideways separately. Paths like that look natural, because living things rarely move in straight lines. Change the speed of only one wave and the loop breaks into a jitter.

The program, line by line

when it starts
  abssin wave on dy · w 2.2 · amp -5
  sin wave on dx · w 2.2 · amp 3

Try this

  1. Bob 15 pixels instead of 5. Each bob becomes a proper little hop, and the shuffle turns into a skipping step from foot to foot.

    In the program: wave · amp -5 → -15

  2. Shuffle 15 pixels to each side instead of 3. The character now sways well across its spot while it bobs, like someone dancing on the spot.

    In the program: wave · amp 3 → 15

How it differs from Breathe, Fidget and Hop across

Breathe and Fidget bob in place without shuffling, Breathe with a breath of stretch and a lean, Fidget with a lean so slow you hardly see it. Hop across also bobs while moving sideways, but it travels a long way and squashes on every landing. Peck stays on its spot and keeps every movement tiny.

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
4 legs (a dog)yeswhole body
no legs (the monster with no legs)yeswhole body

c4c:beh:bird_idle · version 1.0.0 · CC0 (public domain) · by Jabbertoon