Skip to content

v0.35 — Behavior Refactor + Prop System

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Jun 03:21

Behavior module system

  • All goose behaviors extracted from goose.py into individual modules in behaviors/ — each with its own state, stage enum, constants, and logic
  • Core loop is now clean dispatch; behaviors are self-contained and independently readable
  • Override slot pattern: behaviors influence core systems by writing to neutral-default attributes that the core reads blindly — no behavior identity checks anywhere in core code
  • Foundation for new behaviors going forward

New behavior: Carry Prop

  • Goose walks offscreen and returns with a knife in his beak
  • Wanders for a while carrying it, then either places it carefully on the ground or transitions to the next task and drops it mid-stride 0.7s into the new walk cycle
  • If a knife is already on screen, picks it up instead of fetching a new one
  • Smooth swap: heading to pick one up while still carrying another — drops at feet right before grabbing the next
  • Spinning drop when moving, straight drop when stopped

Prop physics

  • Gravity, bounce, friction, angular velocity — props can fall, tumble, and settle
  • launch_prop_falling and random_spin are shared helpers — all future prop drops use the same system automatically

Prop design mode

  • Dev debug tool for iterating new prop visuals before implementing their behavior
  • Variant panel: multiple shape/size configurations rendered side by side, active variant highlighted
  • Compass ring: 8 reference geese facing every cardinal and diagonal direction — checks how the prop reads at any angle
  • Shadow previews: prop rendered at beak height and at ground level to tune shadow scale and opacity at both extremes
  • Sine wave Z test: prop floating continuously through its full Z range so shadow behavior can be checked in motion
  • Flip button: mirrors the entire layout to the opposite side of the screen to catch left/right asymmetry
  • Activated via DEV_ForceSpawnProp in config.ini

Visual

  • Fake sleep eye adjusted to three-quarters open

Task weights

  • Carry Prop: 2/18 → 3/18
  • Collect Notepad: 3/18 → 2/18

Linux build is untested.