Skip to content

Null Pow!

  • Arrow keys — move pointer
  • Space — start / restart
CharacterLanguageBehavior
*ptr (player)Collects data, eats nulls with try-catch
NULL (C)CDirect chase — targets player’s current tile
nil (Ruby)RubyAmbush — targets 4 tiles ahead of player
None (Python)PythonPincer — targets mirror of NULL’s position
undefined (JS)JSErratic — random when far, direct chase when close
  • State machine: Each ghost cycles through chase/scatter/frightened/eaten modes
  • Tile-based movement: Grid-snapped with lerp interpolation, direction queuing for input buffering
  • 4 distinct AI: Classic Pac-Man ghost personalities
  • Reactive dot grid: ~170 dots with individual signals, createMemo for win detection
  • Composite characters: undefined’s glitch shards animate via Math.sin(performance.now())

View on GitHub