Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,26 @@
# Home Protector agent contract
# Home Protector OpenAI Game Builders contract

This repository is a Unity 2022.3.60f1 project completed from the existing `isometric scene` gameplay. Keep changes incremental and preserve working legacy systems while moving ownership to `Assets/_Project`.
This worktree is the WebGL-first OpenAI Game Builders submission lane for the Unity 2022.3.60f1 project. Keep changes incremental and preserve the verified `isometric scene` gameplay while adapting it for browser play.

## Required boundaries

- `HomeProtector.Core.GameSession` is the only source of Preparation, Combat, and Result state.
- Keep `WaveSystem`, `EnemySpawner`, `TowerSpawner`, `TargetManager`, and `ResourceManager` as the combat engine; adapt them through bridges instead of rewriting them.
- Keep CommonSoldier and Monkey. Treat the old PostBox prefab as the refrigerator placeholder and preserve its draggable, target, and resource behavior while migrating it.
- Keep microphone activation and a keyboard fallback on the same activation path.
- Do not add WebGL, GitHub Pages, NAN submission automation, or an in-game AI director.
- Add WebGL and browser compatibility only on `codex/openaigame2026`; keep platform-neutral fixes easy to cherry-pick.
- Do not add NAN submission automation or an in-game AI director.

## Contest delivery

- The required deliverable is a public browser link that starts without installation, approval, or login.
- Browser completion must never depend on microphone permission. Keyboard fallback uses the same player-activation path.
- Request microphone permission only after an explicit user gesture and only on HTTPS. Denial, timeout, or missing devices must fall back cleanly.
- Use this contest worktree as the only Unity writer while WebGL work is active. Treat the original Windows worktree as read-only for contest changes.
- Write local builds only to ignored `Builds/OpenAIGame2026-WebGL`. Never commit generated WebGL output to the source branch.
- If deployment needs a generated-output branch or hosting project, keep it separate from source history.
- Record the pre-challenge baseline and every challenge-period feature in `Docs/Submission/OpenAIGame2026`.
- Internal submission freeze is 2026-08-26 18:00 KST; prioritize a completable hosted build over additional content.

## Unity ownership

Expand All @@ -28,6 +40,7 @@ This repository is a Unity 2022.3.60f1 project completed from the existing `isom

- Let Unity own compile, serialization, reference, EditMode, PlayMode, and build verification.
- Use `Tools/Unity/Invoke-HomeProtectorUnity.ps1` for concise summaries. Read full Unity logs only after a failure.
- WebGL readiness requires a Unity WebGL build plus an HTTPS browser smoke test of Loading to final result, including keyboard fallback.
- Use `Tools/Git/Validate-UnityRepo.ps1` for repository hygiene; do not duplicate Unity semantic checks in shell scripts or skills.
- A missing Unity license is an explicit blocked check, never a passing result.

Expand Down
37 changes: 37 additions & 0 deletions Docs/Submission/OpenAIGame2026/baseline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# OpenAI Game Builders 2026 baseline

## Submission constraints

- Official source: https://openaigame2026.com/ (checked 2026-08-18 KST).
- Online qualifier submission closes on 2026-08-26.
- A publicly accessible game that runs directly in a browser is required.
- The core loop must be playable throughout judging without approval or installation.
- A 16:9 PNG or JPG thumbnail is required.
- A gameplay video of up to three minutes and a Codex collaboration explanation are optional scoring opportunities.
- Existing projects are allowed, but challenge-period additions must be identified.

## Pre-existing project baseline

- Baseline commit: `0e594273b5cda13ce8226dc187e2b6ea05c62e81`.
- Baseline date: 2026-08-18 KST.
- Engine: Unity 2022.3.60f1.
- Playable scene: `Assets/Scenes/isometric scene.unity`.
- Existing core: preparation, placement, wave combat, protected resources, legacy microphone activation, and keyboard-capable loading input.
- Preserved content identities include CommonSoldier, Monkey, Bear, Cockroach, Rice, Dryer, and CoolDryer.

## Challenge-period scope

Track additions here as they land on `codex/openaigame2026`:

| Date | Commit | New work | Codex contribution | Human decision |
|---|---|---|---|---|
| 2026-08-18 | pending | Contest worktree, WebGL contract, and reproducible baseline | Repository audit, isolation plan, and verification harness | WebGL-first schedule and use of the existing game concept |

## Release gate

- Loading screen reaches gameplay in a supported desktop browser.
- One complete preparation-to-result loop works from the hosted HTTPS URL.
- Keyboard fallback can activate the player with microphone permission denied.
- WebGL console has no uncaught exceptions or missing-content errors.
- Controls are visible before play starts.
- Public link works in a fresh browser session without authentication.