thedivergentai/godot-genre-shooter-fps
Expert blueprint for First-Person Shooters: fps_camera_look, fps_movement_logic, hitscan_weapon_query, weapon_bobbing_system, procedural recoil, and FPS NEVER rules. Shared TPS/cover theory links to godot-genre-shooter. Keywords: FPS, movement physics, weapon bobbing, camera sway, hitscan, viewmodel, air control.
npx skills add https://github.com/thedivergentai/GD-Agentic-Skills --skill godot-genre-shooter-fps
First-person movement, look, viewmodel, and hitscan feel. Shared TPS/cover/soft-lock ownership lives in godot-genre-shooter.
_input mouse look (yaw/pitch)Also: procedural_recoil_handler.gd, hitscan_weapon_logic.gd, advanced_fps_controller.gd, weapon_state_machine.gd, frame_perfect_input.gd, bullet_decal_spawner.gd, weapon_spread_calc.gd, server_projectile_instance.gd, player_anim_bridge.gd, recoil_system.gd (pattern + bloom), aim_assist.gd (controller friction/magnetism).
advanced_weapon_controller.gd is shared theory — keep FPS feel in the scripts above; genre routing for TPS → sibling skill.
Move/Look → Aim → Fire (hitscan) → Recoil recover → Acquire
_process — use _physics_process + intersect_ray.exclude / add_exception for the player RID.== on float cooldowns — is_equal_approx._physics_process — _input / _unhandled_input for look.Transform3D — store yaw/pitch floats.delta before move_and_slide().Transform3D.looking_at for muzzle forward — use -transform.basis.z.AudioStreamPlayer for gunfire — layer mechanical + shot + tail.StringName.Procedural sine bob + look sway — weapon_bobbing_system.gd.
Ray forward/down from step_height when is_on_wall() after move_and_slide(); lift to step top for stairs.
Roll camera Z + local X offset from Input.get_axis("lean_left","lean_right") with lerp.
Hitscan vs projectile, spray patterns, and net prediction details that are not FPS-rig specific → godot-genre-shooter + combat/multiplayer complements. Implement FPS fire path via hitscan_weapon_query.gd + procedural_recoil_handler.gd + recoil_system.gd.
> MANDATORY for hitscan/projectile tradeoffs, three-layer recoil, aim assist, weapon balance matrices, and client prediction: fps-weapon-theory.md. Do NOT Load after MANDATORY script reads unless extending beyond bob/step/lean.
> Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.
intersect_ray patterns for hitscan registration without Area3D ballistics.-transform.basis.z forward vectors for aim, recoil, and muzzle direction._input vs _physics_process so mouse look stays zero-latency while movement stays physics-synced.! in expressions.Take thedivergentai/godot-genre-shooter-fps from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.