Showcase · 2 builds

Model Arena #03 — Last Sector: Operation Blackridge

A 3D tactical extraction shooter that runs in the browser. Same brief, two Claude models. Play both and decide which one fights better.

Arena #03 is a big step up from the 2D platformer: each model had to build a complete third-person 3D shooter from scratch, with an island, six locations, enemy squads with cover and flanking, loot, a shrinking Signal Collapse zone and a timed extraction.

Both builds are published exactly as delivered, together with each model's own report of what is finished, what is missing and how it was tested. Both are open source, so you can read every line.

Desktop only: you need a mouse and keyboard. Click the game once to lock the mouse, and press Esc to pause.

Curated by Ezkielyna Lab. Claude Opus 5.5 is also available through Ezkielyna API with a single key.

The briefThe exact prompt every entry received (169 lines).Read the full brief
# FRONTIER MODEL BENCHMARK — LAST SECTOR: OPERATION BLACKRIDGE

You are competing directly against other frontier coding models. Each model receives this exact brief in a fresh, empty folder. No human will write or edit code for you. Work autonomously until the game is genuinely finished: there is no time limit and no cost limit, so use as many build, test and polish iterations as the result needs.

Your job: **design, build, debug, play-test and polish a complete 3D tactical combat game that runs in a desktop browser.**

Not a mockup, not a tech demo, not a shooting gallery, not a single room, not a pile of half-finished systems. A player must be able to open it, play a full match from deployment to extraction, see results, and play again, and think: *"This is surprisingly good for a browser game."*

Make strong creative and technical decisions yourself. Do not ask questions. When something is unspecified, choose whatever produces the strongest *playable* result.

---

## 1. How you will be judged

| Weight | Area | What "excellent" looks like |
|---|---|---|
| 25 | **Complete game loop** | Menu → loadout → deploy → loot → fight → zone pressure → extraction → results → replay, with no dead ends or broken buttons |
| 20 | **Combat feel** | Distinct weapons, controllable recoil, clear hit feedback, satisfying but tactical |
| 20 | **Enemy AI** | Enemies perceive fairly, take cover, flank, search, miss sometimes, and never cheat |
| 15 | **World & visuals** | Believable semi-realistic island with real terrain, distinct locations, good lighting and readability |
| 10 | **Performance & stability** | 60 FPS on a mid-range desktop, 30+ on modest hardware, no crashes, no stuck states |
| 10 | **UI, audio & polish** | Clean tactical HUD, positional audio, working settings, no placeholder anything |

**Priority when anything conflicts:** player movement → shooting → enemy AI → one polished map → loot → zone → extraction → UI → audio → stretch goals. A smaller, polished game always beats a bigger broken one.

---

## 2. Deliverable (MUST — required for your build to be hosted and judged)

- A **static build** in `./dist/`, entry `./dist/index.html`, that runs from **any sub-folder of a plain static web host** (for example `https://host/arena/your-model/`). Use relative asset paths only (e.g. Vite `base: './'`). Test it by serving `./dist` from a sub-folder with a simple static server.
- **Everything bundled locally.** No CDN scripts or fonts, no runtime network requests, no backend, no API keys. WebAssembly is allowed only if the `.wasm` file is bundled inside `./dist`.
- **Size:** keep `./dist` under 80 MB, no single file over 15 MB. Compress textures and audio sensibly.
- `./README.md`: how to build (`npm install && npm run build`), controls, and a short design overview.
- `./CREDITS.md`: every external asset (model, texture, sound, font) with its source URL and license. Only CC0 or equivalently permissive assets are allowed. Prefer generating geometry, textures and audio procedurally in code. Never use assets, names, logos, maps or sounds from commercial games.
- `./REPORT.md`, written last and honestly: what is complete, what is partial or missing, known bugs, how you tested (resolutions, measured FPS, enemy counts), and anything you would do next.

---

## 3. The game

**Title:** LAST SECTOR. **Subtitle:** Operation Blackridge.

Single-player, third-person, **extraction / battle-royale-lite** combat. It is inspired by the tension of extraction shooters and battle royales, but it has its own identity. The player is dropped on **Blackridge Island**, an evacuated military-industrial island after a classified communications collapse. Autonomous combat units and rogue mercenary squads hold it. The player must scavenge, survive, move with a shrinking danger zone called **the Signal Collapse**, and reach extraction.

- 1 human player, **12–24 AI enemies** in squads of 2–4, one large arena. Do **not** build multiplayer.
- **Match length:** 8–15 minutes of tight pacing. Mix quiet exploration with intense fights and avoid long empty walks.
- **Randomized each match:** spawn point, enemy placement, loot, zone sequence, extraction point, and optionally the weather.

### Tech (your choice, justified by reliability and performance)
Three.js / React Three Fiber / Babylon.js, TypeScript preferred, optional physics (cannon-es, Rapier, Ammo). Keep high-frequency game state out of React. Use delta-time everywhere with no frame-rate dependent logic. Organize the code into clear modules (for example renderer, world, player controller, camera, weapons, damage, AI, perception, navigation, cover, loot, inventory, zone, extraction, audio, particles, UI, input, save, performance). **No single file over ~800 lines.**

---

## 4. MUST-have systems

### World
- A simulated island of roughly **600–1000 m** across, with **real terrain**: hills, slopes, roads, fields, forests, rock formations. The map must not be flat, and terrain must shape combat. If performance demands it, shrink the map and increase density rather than lowering quality.
- **At least 6 distinct locations**, each recognizable at a glance:
  1. **Blackridge Village:** houses, narrow streets, fences, garages, enterable interiors, close quarters.
  2. **Argo Outpost:** watchtowers, barracks, walls, containers, weapon loot, heavy enemy presence.
  3. **Cedar Hill:** forested high ground, rocks, long sightlines, marksman threat.
  4. **Northport:** docks, warehouses, cranes, container corridors.
  5. **Redstone Quarry:** a deep pit with ramps, machinery, exposed traversal.
  6. **Echo Research Facility:** late-game concrete complex, security rooms, rare gear, tougher enemies.
- Quiet **environmental storytelling**: abandoned vehicles, broken comms gear, barricades, evacuation signs, generators, damaged antennas.
- **Lighting:** late-afternoon golden hour drifting toward overcast evening, with a directional sun, hemisphere or ambient light, selective shadows and strategic fog. It should be atmospheric but always readable, never too dark.
- **Visual target:** believable semi-realistic HD, not AAA photorealism. Aim for realistic materials, natural light, believable scale, and restrained post-processing (tone mapping, subtle AO, mild grading). No random cubes pretending to be buildings, no default Three.js look, no neon, no heavy bloom, no chromatic aberration.

### Player
- **Third-person over-the-shoulder camera** with smooth follow and mouse look. Aiming moves the camera closer to the shoulder. The camera must never clip through walls or terrain (use raycast adjustment).
- **Controls:** WASD move · mouse look · Shift sprint · C/Ctrl crouch · Space jump/vault · RMB aim · LMB fire · R reload · F interact/loot · 1/2 primaries · 3 sidearm · 4 heal · G throwable · Tab inventory · M map · Esc pause · F3 debug overlay (FPS, enemies, draw calls, position, zone phase).
- **Movement:** grounded, never floaty. Acceleration and deceleration, slower while aiming and crouched, worse accuracy while sprinting, and a stamina meter that drains while sprinting and regenerates otherwise.
- **Health:** 100 HP, plus **helmet and vest at levels 1–3** with simple damage reduction. Damage comes from bullets, explosions, falls and the zone. Hits produce a directional indicator, a subtle vignette, a sound cue and a small camera reaction, never a full red screen. **Bandage** heals a little quickly and **medkit** heals a lot slowly. Healing is an interruptible action.

### Combat
- **Six fictional weapons** that clearly differ in damage, fire rate, magazine, reload time, recoil, spread, range and sound:
  - **RAVEN** assault rifle (balanced)
  - **VEX** SMG (fast, weak at range)
  - **SENTINEL** semi-auto marksman rifle (precise, strong recoil)
  - **BREACH** shotgun (devastating up close, slow follow-up)
  - **LONGBOW** bolt-action rifle (huge damage, slow)
  - **SIDEWINDER** sidearm (reliable backup)
- **Hitscan or projectile.** Choose whichever you can make most reliable. Either way you need range falloff, spread, recoil and impact effects. Projectiles also need travel time and light gravity.
- **Recoil** is vertical with slight horizontal variance, specific to each weapon, recovers toward center, and is controllable. Never use random camera shake.
- **Hip fire** is fast and inaccurate. **Aiming** tightens spread, slows movement and zooms the camera. The **dynamic crosshair** reacts to movement, aiming and firing, and stays small.
- **Reload:** real timing, magazine plus reserve ammo, and no firing while reloading. **Ammo types:** light, medium, heavy, shells, precision.
- **Impacts** use pooled effects (dust, sparks, debris, small decals) that differ by surface: terrain, concrete, metal, wood, body.
- **Hitboxes:** head, torso and limbs, with a headshot multiplier. **Kill and hit confirmation** is subtle: a small crosshair tick, a sound, and an enemy reaction.
- **Throwables:** **Frag Pulse** (area damage) and **Smoke Canister** (real visual cover that also blocks AI line of sight).

### Enemy AI (critical)
- A **state machine or behavior tree** with states: idle, patrol, investigate, search, combat, take cover, flank, retreat, dead.
- **Perception:** vision limited by distance, field of view and **real line of sight**, plus hearing of gunshots, explosions and nearby sprinting. Enemies **never** know where the player is without perceiving them. They remember the last known position, investigate it, search, and eventually give up and return to patrol.
- **Fair combat:** a reaction delay and a short aim-in period before the first shot. Accuracy depends on distance, archetype, player movement and cover, so enemies miss sometimes. They reload, reposition, **use cover** (walls, crates, rocks), occasionally retreat, and **flank** when the player camps behind one piece of cover.
- **Squads of 2–4** spread out, share awareness, and attack from different angles.
- **Archetypes:** Scout (fast, aggressive, light armor), Rifleman (standard), Guard (defends valuable areas), Marksman (keeps distance, accurate, slow), and Heavy (tough and slow, dangerous at close to medium range, used sparingly).
- **Navigation** by navmesh, grid, or waypoint graph plus local steering. Never recompute full paths every frame. **Enemies must not** shoot or see through walls or terrain, get stuck repeatedly, spawn in the player's view, or spam infinite ammo.
- **Pacing:** density grows toward the center and late game. Some areas should be quiet, because tension needs contrast.

### Loot & inventory
- Weapons, ammo, healing, armor, throwables and attachments are spread across the map with a **restrained rarity system** (common, uncommon, rare) shown through subtle cues rather than rainbow colors.
- Walk up and press **F**, with a contextual prompt such as `F — PICK UP  RAVEN AR` or `Medium Ammo × 30`.
- **Tactical inventory (Tab)** with slots for primary, secondary, sidearm, helmet, vest, backpack, healing, ammo and throwable. It must be fast, readable, and work with both mouse and keyboard, with no RPG bloat.

### Signal Collapse & extraction
- **Four zone phases**, each smaller and more damaging, ending at the extraction area. Show the countdown, the current and next zone, and whether the player is taking zone damage.
- **Map (M):** player position and heading, current and next zone, points of interest, and extraction, **never enemies**. **Minimap:** nearby terrain, heading and zone. **Compass** at the top of the screen with N/NE/E/… and degrees.
- **Extraction:** when the final phase activates, the player must reach the signal and **hold it for 15–30 seconds** while enemies push in. Show `EXTRACTION IN 00:18`. Surviving the hold means **MISSION COMPLETE**.

### Match flow & first five minutes
The player spawns safely, learns movement through small contextual prompts that disappear after use (`WASD — MOVE`, `RMB — AIM`, `F — PICK UP`), finds a weapon quickly, meets one low-threat enemy, understands looting, hears distant combat, gets the first zone warning, and decides where to go. Across a match the player should experience indoor and outdoor fights, elevation, open ground, close quarters, long sightlines, repositioning under zone pressure, and an extraction defense.

### UI & screens
- **Tactical visual language:** charcoal, muted olive, off-white, restrained amber and tactical green. Avoid neon sci-fi, glassmorphism, big gradients, SaaS-dashboard menus, emoji, placeholder icons and military buzzword soup.
- **HUD:** weapon, ammo and fire mode bottom-right; health, armor and stamina bottom-left; compass at the top; phase and hostiles remaining in a corner. Keep text readable and never oversized.
- **Screens:**
  - Loading screen (`LAST SECTOR — LOADING BLACKRIDGE…` with progress, never a blank page)
  - Main menu (Deploy, Loadout, Settings, How to Play)
  - Loadout (Assault, Scout, Marksman, balanced)
  - Pause (Resume, Settings, Restart Mission, Quit to Menu)
  - **Mission Complete** and **Mission Failed** screens with the reason and stats (survival time, kills, accuracy, damage dealt, loot collected, distance traveled, extraction bonus), plus Retry and Main Menu buttons
- **Settings that actually work:**
  - Graphics preset (Low/Medium/High), resolution scale, shadow quality, vegetation density, post-processing
  - Master, SFX and music volume
  - Mouse and aim sensitivity, invert Y, camera shake
  - Reduced motion and high-contrast prompts
- **Every visible button must work.**
- **Saved in localStorage:** settings, loadout, best extraction time, successful extractions. The game must still run if localStorage is unavailable.
- **Resolutions:** perfect at 1366×768 and 1920×1080. On phones and tablets, show a polished "Best played on desktop" screen with the title art and controls. Never show a broken page, and never fake mobile controls.

### Audio
Weapon fire, reload, footsteps (at least grass, concrete and metal), enemy gunfire, impacts, wind and forest ambience, distant environment, UI sounds, zone warning and extraction signal. Use **positional audio**, where distance and direction matter. Synthesize sounds in code or use CC0 files. A failed audio load must never break the game.

### Performance
Target **60 FPS** on a mid-range desktop and **30+** on modest hardware with all enemies active in a firefight.
- Instanced vegetation with LOD and distance culling, plus frustum culling and sensible draw distances.
- Shadows only on important objects, with limited distance.
- Pooling for bullets, particles and impacts, and no per-frame garbage.
- No physics on decorative props.
- Real graphics presets.
- Automatic scaling (particles, vegetation distance, shadow range) when FPS drops.

---

## 5. STRETCH goals (only after every MUST item works)
Leaning, sliding, weapon attachments (red dot, 2×, compensator, extended mag), randomized weather (clear, cloudy, light rain) that doesn't cost performance, underground sections at Echo Facility, and vehicles. A broken vehicle is worse than none.

---

## 6. Quality assurance (MUST)
Do not stop at the first working build. Actually play the game repeatedly and fix what you find, over several refinement passes. At minimum, verify:

- **Movement:** walk, sprint, crouch, jump, slopes, stairs, collisions, camera collision.
- **Combat:** fire, aim, recoil, reload, weapon switching, ammo, damage both ways, death.
- **AI:** patrol, detection, line of sight (no seeing or shooting through walls or hills), losing aggro, search, cover, flanking, and no stuck enemies.
- **Loot:** pickup, inventory, armor, healing, ammo.
- **Zone and extraction:** countdowns, shrinking, damage outside the zone, next-zone display, extraction hold, results.
- **UI:** every screen and every button, at 1366×768 and 1920×1080, with no clipped HUD and no stretched canvas.
- **Performance:** measure FPS with maximum enemies, active combat, particles, and dense vegetation in view.
- **Build:** `npm run build`, then serve `./dist` from a **sub-folder** of a static server and play one complete match from that build.

Finish with a dedicated **polish pass**: lighting, terrain composition, weapon feel, enemy reactions, UI alignment, camera feel, audio balance, particle restraint, pacing and performance. Remove anything that feels unfinished.

---

## 7. Final instruction
Don't answer with plans, pseudocode or descriptions. **Build the game.** Create the files, install only what you need, run it, debug it, play it, improve the weak parts, and keep refining until it is the strongest version you can make. Then write `REPORT.md` honestly.

Optimize for being **actually playable, fun, polished, stable and visually impressive**, not for sounding sophisticated.

Entries

Open any version to play it and read how it was built.

Model Arena #03 — Last Sector: Operation Blackridge | Ezkielyna Store