# Container Yard Firefight

- Author: StarKnightt
- Card: Creator prompt
- Theme: 3D browser games
- Stack: Not rebuilt
- Interaction: Pointer
- Licence: Credited link (Shared publicly by the author; full text with credit, removed on request)
- Verified: not yet
- Original post: https://github.com/StarKnightt/operation-ironhold/blob/HEAD/PROMPTS.md

## Original prompt

```text
build a complete realistic FPS shooter game in a single HTML file. everything inline — JS and CSS in the same file. no external dependencies except three.js from CDN (https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js). no build tools, no npm.

**core gameplay:**
- first person shooter, single player vs AI enemies
- WASD movement, mouse look with pointer lock on click
- left click to shoot, R to reload, shift to sprint, ctrl to crouch, space to jump
- sprint adds FOV push effect and lowers weapon slightly
- crouch lowers camera height and reduces movement speed
- jump with landing camera shake

**weapons system (switch with 1, 2, 3):**
- slot 1: assault rifle — full auto, 30 round mag, moderate spread that increases with sustained fire, semi-auto toggle with V key
- slot 2: shotgun — pump action, 8 shells, wide spread, high damage up close, pump animation between shots
- slot 3: pistol — semi auto, 15 rounds, accurate, fast draw speed
- each weapon needs a visible 3D viewmodel at bottom right — build them from three.js geometry (boxes, cylinders). add gloved hands holding the weapon
- weapon sway on mouse movement, bob when walking synced to footsteps
- muzzle flash (point light + sprite) on every shot
- shell casings that eject and bounce on the ground with physics
- reload animation (weapon dips down off screen and comes back)
- draw animation when switching weapons

**enemies (10 total):**
- humanoid models built from three.js geometry (capsule body, sphere head, box limbs)
- each enemy has a floating name tag and health bar above their head
- enemy names: VIPER, GHOST, REAPER, HAVOC, STRIKER, COBRA, TALON, WOLF, DIESEL, SHADOW
- enemies patrol waypoints around the map using simple pathfinding
- when they spot you (line of sight + distance check), they stop, aim, and shoot with human-like reaction delay (300-800ms random)
- enemies strafe left/right during combat
- headshot detection — 2x damage on head hitbox
- hit reaction animation (flinch backward)
- death animation (ragdoll-style fall, weapon drops to ground)
- enemies deal damage to player with visible red screen flash

**map design — abandoned warehouse district:**
- 60x60 unit play area
- concrete floor with grid texture (procedural)
- shipping containers (large colored boxes) placed as cover throughout
- two story building on one side with accessible second floor via ramp — gives sniper advantage
- long corridor between container stacks (close quarters)
- open center area with a destroyed vehicle (boxes arranged as car shape)
- chain link fence sections around the perimeter (thin planes with alpha)
- barrel stacks that block sightlines
- crate clusters for cover
- directional lighting with shadows casting from a sun position
- fog in the distance for atmosphere

**HUD:**
- crosshair center screen (dynamic — expands when moving/shooting, contracts when still)
- health bar bottom left with number (starts at 100)
- armor bar below health (starts at 50, reduces damage by 50%)
- ammo counter bottom right: current mag / total reserve
- weapon name and icon next to ammo
- kill feed top right — shows "YOU killed ENEMY" with headshot icon when applicable
- hit marker (white X flash) when you land a shot
- damage direction indicator (red arc on screen edge showing where damage came from)
- minimap top left showing player position, enemy dots (red when spotted), and map walls
- round timer top center counting down from 3:00
- kill counter: "X / 10 eliminated"

**audio (all procedural Web Audio API, no external files):**
- gunshot sounds per weapon (rifle = sharp crack, shotgun = deep boom, pistol = snap)
- reload sound (metallic click)
- footsteps synced to movement (concrete sound)
- bullet impact sounds (different for wall vs enemy)
- enemy death sound
- hit confirmation beep
- low health heartbeat warning when under 20hp
- ambient industrial hum in background

**post processing:**
- bloom on muzzle flash and bright lights
- vignette darkening at screen edges
- slight color grading (desaturated, slightly blue shadows)
- screen shake on taking damage and on shooting shotgun

**game flow:**
- start screen: "PRESS TO START" with title
- pointer lock activates on click
- kill all 10 enemies to win
- die or run out of time to lose
- end screen shows: kills, headshots, accuracy percentage, time survived
- restart button on end screen

**performance:**
- use merged geometries where possible to reduce draw calls
- shadow maps at 2048
- keep it running 60fps on mid-range hardware
- use instanced mesh for repeated objects like crates and barrels

make it feel like a real game. weight to the movement, punch to the guns, tension in the combat. not a tech demo.
```

Not rebuilt by 3dmotion yet. Credit stays with StarKnightt.

Prompt by StarKnightt (https://github.com/StarKnightt/operation-ironhold/blob/HEAD/PROMPTS.md) via 3dmotion.io/e/container-yard-firefight
