Portfolio

Autonomous Arcade

dubh3124/AutonomousArcade

active

Planner Supervisor

Project steering and planning runtime

Use this surface when planning is stuck, failed, awaiting review, or needs operator guidance.

Markdown supported. Use paragraphs, bullets, and code-style notes when needed.

Planv7 · idle
Latest attemptexpansion · completed
Session4e9e55eb-e05f-4e8a-8597-ab014e796716
RuntimeNo signal
Quiet for1636h 48m
RecommendedMonitor work graph

Planner State

idle

The planner is not currently blocking execution.

Planning Attempts

5
expansion · completed4e9e55eb-e05f-4e8a-8597-ab014e796716
Jun 07, 03:46 UTC -> Jun 07, 03:46 UTC

Create a polished HTML5 8-Ball Pool game. Split this into however many recommended work items.

The implementation should feel like a professional arcade-quality billiards prototype: clean visuals, precise aiming, satisfying cue interaction, realistic ball motion, and a clear game-state loop. Should allow playing against CPU for now.

Goal

Build the complete source code for an 8-Ball Pool game using Phaser 4. Prefer Matter.js physics for realistic circle-to-circle collisions, friction, and rolling behavior. If Phaser 4 support or project constraints make Matter.js impractical, use the best available Phaser physics approach while preserving the gameplay behavior below.

Game Architecture

Use a clean scene structure:

  • BootScene: preload or initialize assets.
  • MenuScene: title screen and start action.
  • GameScene: main gameplay.

Canvas size:

  • 1024x576
  • 16:9 aspect ratio

Keep the source modular, with clear helper functions for table drawing, ball setup, aiming, cue interaction, physics updates, pocket handling, and turn evaluation.

Visual Design

Draw the pool table programmatically if no textures are available.

Table requirements:

  • Dark green felt bed: 0x1d5f3a
  • Dark wooden cushions/borders: 0x4a2e1b
  • Six pockets:
    • Four corners
    • Two side centers
    • Black circles with subtle inner-shadow styling

Ball rendering:

  • Cue ball is white.
  • Balls 1-7 are solids.
  • Ball 8 is black.
  • Balls 9-15 are stripes.
  • Balls should look smooth and slightly 3D using highlights, gradients, or specular shine.
  • Striped balls should have a clear stripe overlay.

Physics And Movement

Implement realistic billiards-style movement.

Required behavior:

  • Elastic circle-to-circle ball collisions using mass and velocity vectors.
  • Friction/damping applied every update tick so balls naturally roll to a stop.
  • Stop threshold:
    • If a ball’s velocity magnitude drops below 0.5, set velocity to zero.
    • This prevents micro-jitter.
  • Pocket detection:
    • Every update tick, check distance from each ball to all six pocket centers.
    • If distance < pocketRadius, trigger a pocket animation.
    • Pocket animation should scale the ball down to 0, fade it out, then remove it from active play.

Aiming And Cue Controls

The cue stick should only appear when all active balls are fully stationary.

Cue behavior:

  • Cue stick points directly at the cue ball.
  • It rotates smoothly based on the mouse pointer position.
  • Draw a dotted aiming guideline extending from the cue ball in the shot direction.

Shot mechanic:

  • Player clicks and drags away from the cue ball to pull back the cue.
  • Pull-back distance controls shot power.
  • Show a visual power meter while aiming.
  • On mouse release:
    • Animate the cue stick striking forward.
    • Convert pull-back distance into an impulse vector.
    • Apply that impulse to the cue ball.

Game State Machine

Implement these states:

  • WAITING_FOR_PLAYER
  • AIMING
  • CUE_STRIKE
  • BALLS_MOVING
  • EVALUATING_TURN

Track:

  • Current player: Player 1 or Player 2
  • Assigned ball type:
    • Solids
    • Stripes
    • Unassigned before first legal pot
  • Potted counts
  • Current turn outcome

Cue ball scratch:

  • If the cue ball is pocketed, respawn it at the kitchen line on the starting side.
  • Penalize the active player and pass turn according to a simple MVP rule.

Code Quality Requirements

  • Organize code into clean, modular functions.
  • Keep gameplay constants centralized.
  • Include inline comments for non-obvious physics logic, especially:
    • Velocity vector calculations
    • Collision response
    • Friction/damping
    • Shot impulse conversion
  • Prioritize playability and polish over exhaustive official 8-ball rule coverage.
  • The result should be runnable as a complete game prototype.

Accepted 5 work item(s)

expansion · completed6d529d71-9fef-4cf6-8bb7-5ba01dcd0987
May 27, 02:17 UTC -> May 27, 02:22 UTC

QA and bugfix each game

Accepted 4 work item(s)

expansion · completed9a8c4461-4a81-4afc-8431-b0ec74571b2d
May 26, 01:32 UTC -> May 26, 01:33 UTC

Accepted 4 work item(s)

expansion · completed23d19843-160d-4643-896e-cbd0ff82cf6f
May 25, 16:48 UTC -> May 25, 16:50 UTC

Retry from the stalled planner attempt. Use the preserved runtime context, avoid repeating completed work, and propose only remaining public-demo readiness tasks for Autonomous Arcade.

Retry context
Previous attempt id: planning_attempt_69c8ce51-c34e-4bd9-8c49-d689077288ab
Previous attempt mode: expansion
Previous attempt status: stalled
Previous session id: ab8cb0d2-533f-4b3b-9f36-3e8a76239ac9
Created at: 2026-05-25T16:09:35.371Z
Started at: 2026-05-25T16:09:41.088Z
Completed at: 2026-05-25T16:23:54.914Z
Previous operator note: Recover from stuck planning state. Inspect completed arcade work and propose only remaining public-demo readiness work. Keep slices small and lane-aware.
Previous error: Planning session stalled with no recent Cognition activity
Resume from canonical project state. Preserve useful prior context, but do not assume the previous attempt completed planning unless a plan was submitted.

Accepted 3 work item(s)

expansion · stalledab8cb0d2-533f-4b3b-9f36-3e8a76239ac9
May 25, 16:09 UTC -> May 25, 16:23 UTC

Recover from stuck planning state. Inspect completed arcade work and propose only remaining public-demo readiness work. Keep slices small and lane-aware.

Planning session stalled with no recent Cognition activity