godot-genre-shooter-fps
Installation
SKILL.md
Genre: Shooter (FPS/TPS)
Gunplay feel, responsive combat, and competitive balance define shooters.
NEVER Do (Expert Anti-Patterns)
Gunplay & Hit Registration
- NEVER use
_process()for hit detection; strictly use_physics_process()to maintain frame-rate independent accuracy. - NEVER apply recoil to the physical weapon model; strictly apply it to Camera Rotation (kick) and Weapon Bloom (spread).
- NEVER trust the client for hit registration in multiplayer; strictly use Server-Authoritative validation with lag compensation.
- NEVER synchronize every bullet over the network; strictly use Client-Side Prediction and send only initial "Fire" events.
- NEVER use
Area3Dormove_and_collide()for high-speed ballistics; strictly usePhysicsDirectSpaceState3D.intersect_ray()for 100x better performance. - NEVER forget to exclude the player's own RID from hitscan raycasts; otherwise, shots will collide instantly with the barrel.
- NEVER use exact floating-point equality (==) for weapon cooldowns or timers; strictly use
is_equal_approx().