thedivergentai/godot-genre-shooter
Expert blueprint for TPS/hybrid shooters: soft-lock aim assist, cover validation rays, SpringArm TPS camera, and genre routing to FPS sibling for viewmodel/hitscan feel. Use for third-person/cover shooters and hybrids. Keywords: TPS, soft_lock, cover, SpringArm3D, hybrid shooter, aim assist — not FPS-only movement.
npx skills add https://github.com/thedivergentai/GD-Agentic-Skills --skill godot-genre-shooter
Ownership: third-person, hybrid, and shared genre routing (cover, soft-lock, spring-arm camera).
Not owned here: FPS movement, viewmodel bob, FPS camera look, FPS-only hitscan/recoil dumps — use godot-genre-shooter-fps.
Engage → Aim (soft-lock/cover) → Fire → Confirm → Acquire Next
_process() for hit registration — _physics_process + space-state queries.WeaponData Resources.> Read before implementing the matching system:
Also available: advanced_weapon_controller.gd (shared weapon controller — prefer FPS skill for FPS feel), shooter_patterns.gd, projectile.gd, weapon_recoil_pattern.gd (spray Resource), lag_compensator.gd (server rewind).
| Need | Action |
|---|---|
| Over-shoulder TPS | tps_camera_spring_arm.gd |
| Cover check before peek-fire | cover_validator_rays.gd |
| Soft-lock / assist | soft_lock_aim_assist.gd |
| True FPS digsite | → godot-genre-shooter-fps |
| Need | Action |
|---|---|
| Hitscan / projectile theory | Shared WeaponData + space-state; FPS implementation details in shooter-fps |
| Pooled projectiles | projectile.gd / patterns script |
| Explosion radius | ShapeCast3D pattern in shooter_patterns.gd |
| Need | Action |
|---|---|
| Client juice | Predict tracers locally |
| Damage | Server authoritative; show no-reg on mismatch |
| Net rewind / lag comp | lag_compensator.gd + advanced-meta-systems.md |
| Learnable spray | weapon_recoil_pattern.gd |
Hitscan for rifles/SMGs; physical projectiles for rockets/arrows; balance in WeaponData Resources (.tres), never hardcoded on nodes.
| Archetype | ROF | Damage | Implementation |
|-----------|-----|--------|----------------|
| SMG | High | Low | Hitscan + tight vertical spray |
| Sniper | Low | High | Hitscan + tracer |
| Shotgun | Burst | Medium | Multi-pellet spread, <10m |
| Rocket | Slow | High | projectile.gd + shape AoE |
Gunplay theory → tps-gunplay-core.md. Net rewind → advanced-meta-systems.md.
Apply kick to camera rotation and spread bloom, not weapon mesh alone. Learnable spray via weapon_recoil_pattern.gd. Layer gunfire: mechanical + shot + reverb tail on separate 3D players.
Client predicts VFX/tracers; server validates hits (rpc + rewind). Never trust client damage. ENet/UDP, not TCP. Server wins on mismatch — show no-reg feedback.
> 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.
PhysicsDirectSpaceState3D.intersect_ray hitscan queries, exceptions, and collision masks for frame-rate-independent fire._physics_process timing, and body types that keep hit registration deterministic.intersect_ray / intersect_shape for high-frequency shots without RayCast3D node overhead.move_and_collide projectile bodies with gravity, bounce, and lifetime.-global_basis.z, and h_offset for TPS shoulder swap.take_damage results.Take thedivergentai/godot-genre-shooter 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.