Vampire Survivor Benchmark — Claude Opus 5

Shared · Updated

Create me a 3d vampire survivor game. The game spec is in the project root.
Claude Opus 5·

NIGHTBOUND: LAST DAWN is built and verified.

1. Main scene: res://scenes/main/main.tscn

2. Controls: WASD/arrows or left stick = move · Space/A = Blood Surge · Esc/Start = pause · Enter/A = confirm · F3 debug overlay · F8 clock 1x/5x/20x/60x · F9 grant level · F10 spawn chest (debug builds only).

3. Implemented systems: full state flow (menu → character select → run → death/victory → results), player controller with Blood Surge, damage/armour/bleed/slow/lifesteal rules, 6 weapons + 6 evolutions with every exact level step, 6 passives with recalculated stats, XP curve + queued level-ups + weighted three-card choices + one reroll, 3+3 inventory slots with in-place evolutions, 6 ordinary enemy archetypes + Crimson Knight elite + all 4 bosses (Bell Keeper, Inquisitor, Moon Bishop, three-phase Solar Warden), threat-budget wave director with all 8 phases and timed encounters, XP motes/health phial/blood magnet/time shard, elite & boss chests, KayKit arena with Forest-pack decoration, full HUD + level-up/chest/pause/settings/Legacy/results screens, 3 characters with unlock conditions, 6 Legacy upgrades, validated user://save.cfg, pooling with hard caps everywhere, spatial hash targeting, damage numbers, camera shake, reduced-flash border pulse, and an F3 debug overlay.

4. Automated tests (run, not assumed):

  • 10 unit files, 59 test methods, 0 failures (res://tests/run_tests.tscn)
  • Integration smoke, spec §32.2: 63 checks, 0 failures
  • Accelerated full run: 19 checks, 0 failures — 20:00 at 60×, all 4 bosses, an evolution, victory, results payload
  • Performance soak §32.3: 27 checks, 0 failures — 240 enemies + 200 projectiles + 80 zones + 220 motes for 30 s, every cap held

5. Smoke test: 90-second normal-speed run passed with 0 uncaught errors (90.0 s clock, 121–183 kills, 5–6 level-ups). Menus, HUD, level-up cards, chest/evolution panel, pause menu and debug overlay were each verified on-screen in the editor.

6. Deliberate differences: renderer left on the project's pre-existing GL Compatibility instead of Forward+; player and bosses use the rigged KayKit models with the bundled Rig_Medium animations while the 240-enemy crowd uses one-draw-call static meshes flattened from the same models (spec allows static); player-attack hits resolve via the enemy registry rather than one Area3D per projectile (enemy contact damage and pickups do use the specified layers); UI screens are thin .tscn roots that build their layout in code; content data lives in typed Resources created by data/*_library.gd instead of many .tres files; audio is silent (no bundled audio assets) but every event id is wired. Caveat: this host presents ~1 FPS for any windowed 3D scene (a single-cube baseline measured 1.2 FPS), so on-screen FPS is unmeasurable here — headless logic ran at 137–142 FPS under maximum load.

7. Report: res://BUILD_REPORT.md (includes the full §41 acceptance checklist).