Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Build a first-person shooter: move+mouse-look controller, hitscan or projectile shooting, weapons, health, and enemy AI. Use for an FPS, or tuning aim feel, time-to-kill, recoil, or spread.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 71% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-22 | ✓→✗ | ▼ Worse | 54% | 0% |
A playbook for first-person shooters — the look/move controller, the shooting model, weapon feel, and combat. This is a compositional skill: it wires a 3D controller, input, and AI into a shooter. It does not re-teach 3D nodes or raycasts; it defines the shooting model and the feel knobs (TTK, recoil, spread) that decide whether the guns feel good.
tactical FPS, PvE shooter, boomer-shooter.
When not to use: third-person/2D shooting → reuse the shooting model here but build the camera/controller from the relevant genre. Wave survival with towers → tower-defense. For the camera/character body itself, use godot-3d-essentials / unreal-cpp-gameplay.
Scan → acquire a target → aim and fire → confirm the kill (feedback) → reposition / reload / advance. The whole experience rests on the aim-and-fire micro-loop feeling crisp: responsive look, clear hit feedback, and a death that reads instantly.
game-ai).| Knob | Effect | Sane default | |------|--------|--------------| | Time-to-kill (TTK) | lethality, forgiveness | Tune dmg × fire-rate × HP together (refs). | | Hitscan vs projectile | aim skill type | Hitscan = flick; projectile = lead/dodge. | | Damage falloff | range limiting | Full to ~20 m, floor by ~60 m. | | Headshot multiplier | skill reward | ~1.5–2.0×. | | Recoil pattern | learnable kick | Fixed pattern > pure random. | | Spread (bloom) | suppress laser-accuracy | First shot accurate; grows while firing. | | Fire rate / magazine / reload | rhythm, downtime | Reload = vulnerability window. | | Mouse sensitivity / FOV | comfort, readability | Always expose both as options. | | Aim assist (pad) | controller parity | Magnetism/slowdown near targets. |
python# Pseudocode. Cast from the camera; first hit takes damage scaled by range + headshot. direction = apply_spread(camera.forward, current_spread) hit = raycast(camera.world_position, direction, max_dist=RANGE, mask=SHOOTABLE) if hit: dmg = base_damage * falloff(hit.distance) if hit.is_head: dmg *= HEADSHOT_MULT hit.actor.take_damage(dmg) spawn_impact_fx(hit.point, hit.normal) # decal + sound + hitmarker
python# Pseudocode. Spawn a moving body; it deals damage on its own collision. p = spawn(projectile_scene, at=muzzle.world_position) p.velocity = camera.forward * PROJECTILE_SPEED p.on_hit = lambda other, point: (other.take_damage(base_damage), explode_fx(point)) p.lifetime = RANGE / PROJECTILE_SPEED # despawn so shots don't live forever
python# Pseudocode. TTK falls out of HP, per-shot damage, and fire rate — tune as one system. shots_to_kill = ceil(target_hp / damage_per_shot) ttk_seconds = (shots_to_kill - 1) / fire_rate_per_second # first shot at t=0
dt → sensitivity changes with FPS. Look shouldbe driven by raw mouse delta; movement integration uses dt (see physics-tuning).
pattern; keep the first shot accurate.
a distinct kill confirm.
fire rate, and HP as one system (Pattern 3).
server-side; use lag compensation (refs) and defer netcode to the engine multiplayer skill.
godot-3d-essentials (Godot) or unreal-cpp-gameplay / unreal-blueprints; Unity uses unity-physics + a character controller.input-systems (or unreal-enhanced-input) for look/move, rebinding, and gamepad aim assist.godot-physics / unity-physics for raycasts and projectile collision.game-ai with unity-navmesh / unreal-behavior-trees / Godot navigation.camera-systems for FOV/recoil kick and look smoothing; game-feel for hit-stop, screen shake, and impact juice.audio-design for weapon/impact sound; shader-programming for muzzle/impact VFX.prototype-fast to validate aim feel before building content.registration/lag compensation, and enemy AI states, read references/shooting-and-feel.md.
Other measured skills in the registry, with their headline benchmark lift.