60초의 공범 is a Godot 4 top-down stealth heist about planning an infiltration, dismantling layered security, and using a limited ten-second time recall when the plan breaks.
한국어 안내: 정식 임무 작전명: 검은 1분에서 헬릭스 시간 연구시설에 침투해 출입 카드, CCTV, 레이저, 금고 인증을 해결하고 크로노스 코어를 훔쳐 탈출합니다. 시간 회귀는 강제 반복이 아니라 최대 3회 사용할 수 있는 선택 능력입니다. 기존 20초/60초 전체 시간선 모드는 기술 회귀 검증용으로 보존됩니다.
Play the current main deployment on GitHub Pages.
GitHub Actions builds that URL from main. Check the repository Actions page for the deployed revision; a local working tree is not assumed to be live.
Screenshot/GIF placeholder: the live infiltrator crossing a security zone while an Echo draws a Guard and CCTV camera away.
The application uses an explicit GameMode enum instead of inferring a mode from scene names.
| Mode | Purpose | Entry |
|---|---|---|
OPERATION_BLACK_MINUTE |
Primary stealth-heist mission | Main menu → briefing → start mission |
PROTOTYPE_LOOP |
Preserved 20-second loop/Ghost/puzzle regression | Mission select or -- --prototype |
FACILITY_REGRESSION |
Preserved 60-second facility/visibility regression | Mission select or -- --facility-regression |
The primary mission does not force a full-level reset every 20 or 60 seconds. It uses Chrono Recall: three mission-persistent charges, up to ten seconds of rewindable recent history, and a maximum of three Echoes.
Infiltrate the Helix Temporal Research Facility, steal the Chronos Core, and return to the external extraction yard.
The authored blueprint is a 64×42 grid of 32 px cells (2048×1344 px) with:
- 15 named rooms and operational spaces;
- 10 deterministic Guards divided across 7 bounded response zones;
- 8 sweeping CCTV cameras;
- 3 laser barriers;
- Level 1, Level 2, and Vault access progression;
- objective-room highlighting on the tactical map plus visible L1/L2 pickup beacons;
- server override or research biometric authorization paths;
- 15 declared choke points with safe windows of at least three seconds.
The normal security progression is:
Briefing and tactical map
→ infiltrate reception
→ acquire Level 1 in the locker room
→ disable or avoid CCTV
→ disable laser power in electrical
→ acquire Level 2 in security
→ obtain server OR biometric vault authorization
→ enter the Chronos Vault
→ steal the Core
→ extract through the external yard
The first credential is the cyan L1 ACCESS card in the Locker Room. Open
the reception checkpoint, then press M/Tab: the tactical map
marks TARGET // L1 CARD around the correct room. Locked doors and terminals now
name the exact missing access or system action instead of failing silently.
A perfect no-Recall route is part of the mission contract. Recall is an optional recovery and improvisation tool: rewinding leaves the abandoned movement and permitted interactions behind as an Echo that Guards and cameras can see.
Extraction now produces a transparent 5,000–10,000 point operation report. SHADOW, TEMPORAL DISCIPLINE or PARADOX DECOY, UNTOUCHABLE, and BLACKOUT directives reward clean planning and meaningful Echo use. Both a perfect no-Recall route and a clean Echo-distraction route can earn S rank. Elapsed time is shown but is deliberately not scored.
| Input | Operation: Black Minute | Loop regression modes |
|---|---|---|
| WASD or arrows | Move | Move |
| Mouse | Face pointer | Face pointer |
| E | Interact, collect, hack, or use a door | Interact |
| Q | Chrono Recall | — |
| M or Tab | Open tactical map; mission pauses | — |
| R | — | Finalize and restart the current loop |
| Esc | Pause/resume or close map | Pause/resume |
| F11 | Toggle fullscreen | Toggle fullscreen |
| V | Mute/unmute | Mute/unmute |
In a browser, click the game once before using the keyboard. If the tab loses focus, return and click again. See Controls and Browser Input.
AppController owns menu and mode transitions. The formal mission is orchestrated by focused managers:
MissionDirectorandObjectiveGraph: mission state and acyclic objectives;AccessControlManager: credentials and door authorization;SecuritySystemManager: CCTV, lasers, zone alerts, and facility alert level;GuardZoneManager: zone assignment, bounded response, and alert recipients;PatrolScheduler: deterministic patrol phases, tile/choke reservation, and overlap prevention;ChronoRecallManager: bounded history, world snapshots, persistent charge spending, restore, and Echo creation;MissionPerformanceTracker: Recall-persistent detection/capture ledger and immutable extraction report;OperationBlackMinuteMap: blueprint-driven TileMap layers and facility layout.
The preserved loop modes continue to use GameManager + TimelineManager; the formal heist does not turn TimelineManager into a cross-mode god object. See Technical Architecture.
- Godot Engine 4.7 stable — standard GDScript build, not Mono
- Git
- Python 3 for the reproducible art pipeline and local Web server
The project pins Godot 4.7.stable.official.5b4e0cb0f, uses the Compatibility renderer, a responsive 1280×720 reference viewport, and a single-threaded Web export. There are no accounts, servers, analytics SDKs, secrets, or required environment variables at runtime.
git clone https://github.com/GODONGYEN/60-seconds-accomplice.git
cd 60-seconds-accomplice
godot --editor --path .Headless import and default menu boot:
godot --headless --path . --import
godot --headless --path . --quit-after 3Launch a preserved regression mode directly:
godot --path . -- --prototype
godot --path . -- --facility-regressionIf the executable is named godot4, substitute it in every command.
The operation blueprint has a standalone static solvability validator:
godot --headless --path . --script tools/validate_operation_black_minute.gdIt rejects invalid dimensions/counts, duplicate stable IDs, out-of-bounds or non-walkable required objects, disconnected room graphs, circular access/objective progression, missing vault-auth alternatives, missing no-Recall/Recall declarations, and choke safe windows shorter than three seconds.
Run the complete Godot harness without a third-party test add-on:
GODOT_BIN=godot tools/run_tests.shThe wrapper requires an explicit PASS marker in addition to the process exit code. The suite covers the preserved timeline mechanics, mission blueprint, objective/access/security logic, Chrono Recall snapshots and Echoes, Guard zones, and a deterministic virtual patrol simulation. Test failures are not converted to skips.
Gameplay references only normalized runtime atlases under assets/sprites/; AI-generated source sheets and previews are not loaded by scenes.
python3 -m venv .tools/venv
.tools/venv/bin/python -m pip install --requirement requirements-tools.txt
.tools/venv/bin/python tools/asset_pipeline.py process-all
.tools/venv/bin/python tools/asset_pipeline.py validate
.tools/venv/bin/python tools/environment_art_pipeline.py process-all
.tools/venv/bin/python tools/environment_art_pipeline.py validateOperation: Black Minute now gives all 15 rooms a deterministic material family, unique 2×2 room landmark, signatures, clipped practical-light recipe, and pause-safe micro-animation. Reinforced deep walls and rank-specific access doors preserve the original blueprint, collision, occlusion, and Guard sight-line authority. Mission state is visible in CCTV, laser, alert, Vault, extraction, and door art.
Generate repeatable native visual-QA captures (a graphical Compatibility backend is required):
godot --path . --script tools/capture_environment_screenshots.gd -- \
--output-dir=/tmp/60sa-environment-captures --size=1280x720 \
--mode=gameplay_initial --presentation-time=0.5
.tools/venv/bin/python tools/build_environment_contact_sheet.py \
--input-dir=/tmp/60sa-environment-captures \
--output=/tmp/operation-contact.png \
--mode=gameplay_initial --size=1280x720See Environment Art Bible, Visual Improvement Log, Art Pipeline, Asset Manifest, and Art Direction.
Install matching Godot 4.7 export templates, then run:
mkdir -p build/web
godot --headless --path . --export-release "Web" build/web/index.html
bash tools/copy_notices.sh build/web/licenses
test -f build/web/index.html
python3 -m http.server --directory build/web 8000Open http://localhost:8000/, never file://. A successful headless export does not by itself prove browser rendering, input, or console cleanliness; inspect those separately.
mkdir -p build/windows build/linux build/macos
godot --headless --path . --export-release "Windows Desktop" build/windows/Sixty-Second-Accomplice.exe
godot --headless --path . --export-release "Linux" build/linux/Sixty-Second-Accomplice.x86_64
godot --headless --path . --export-release "macOS" build/macos/Sixty-Second-Accomplice.zipDesktop artifacts are unsigned development builds. macOS Gatekeeper may warn; signing and notarization are not claimed without configured credentials.
.github/workflows/deploy-pages.yml exports the Web build and deploys the official Pages artifact.
- Keep
mainas the deployment branch. - In Settings → Pages, select GitHub Actions as the source.
- Push to
mainor run Deploy GitHub Pages manually. - Confirm the workflow revision and then open the play link above.
See Release Guide.
- Story
- Operation: Black Minute
- Facility layout
- Objective system
- Security systems
- Access control
- Chrono Recall
- Mission performance and debrief
- Guard zones and patrol scheduling
- Onboarding
- Roadmap
- There is one formal heist mission. Campaign progression, persistent saves, online leaderboards, and
CONTINUEare not implemented; mission results are session-only. - The only checkpoint is mission start. Capturing after Core theft does not create an extraction-phase checkpoint.
- Chrono Recall keeps only the current bounded branch; it cannot cross a previous Recall branch. At the three-Echo cap, the oldest Echo is removed.
- Guard movement uses deterministic authored routes, bounded zones, collision-aware steering, and reservations rather than a general navigation mesh.
- Vision cones are readable approximations; actual detection additionally uses physics line of sight and close-proximity awareness.
- CCTV and facility alerts coordinate nearby zones, but there are no reinforcements, combat, health, hearing simulation, or multiple enemy archetypes.
- Mission data and recordings are session-only and are not written to disk.
- Keyboard and mouse are the primary supported devices; controller rebinding and touch controls are out of scope.
- Current headless validation cannot certify actual Compatibility-renderer shadow pixels or browser UX. Do not infer a manual browser pass from automated tests.
Read CONTRIBUTING.md before opening a pull request. Large changes should begin with an issue so they preserve deterministic replay, mission solvability, and the regression modes.
Project-authored code and content are available under the MIT License. See THIRD_PARTY_NOTICES.md for Godot, build dependencies, and AI-source disclosure.
