shawn 926446e5cf P7.8: Port FPS controller to netfox BaseNetInput pattern
- FPSCharacterController: removed SimulationServer dependency, added
  _rollback_tick() with acceleration-based CharacterBody3D movement,
  gravity, jump, crouch/sprint speed. Kept mouse look, crouch lerp,
  sprint/crouch toggle, _move_local() standalone fallback.
- Player: extends FPSCharacterController (CharacterBody3D). Added
  authority-guarded _rollback_tick that delegates to super for server
  and local client prediction. TickInterpolator created dynamically
  (avoids headless class_name parse errors). PlayerNetInput child
  wired via existing RollbackSynchronizer input_properties.
- player.tscn: CharacterBody3D root with FpsCamera, CollisionShape3D,
  PlayerNetInput children. TickInterpolator created in code.
- client_main.gd: _spawn_local_player() creates FPS player node with
  first-person camera for own peer. _spawn_remote_player() removes
  FpsCamera for remote players.
- fps_camera.gd: duck-typed _controller (Node) instead of class_name
  cast for headless safety. Fixed type inference warnings.

Also includes parent task P7.5-P7.7 changes:
- project.godot: main_scene -> server_main.tscn
- network_manager.gd: Chan enum -> raw channel ints
- server_main.gd: deferred ServerConfig load, GameServer load()
- game_server.gd: commented out dev deps for headless compilation
2026-07-02 17:45:03 -04:00
2026-06-30 21:00:57 -04:00
2026-07-01 01:00:29 +00:00

Tactical Shooter

A competitive, round-based tactical FPS built in Godot 4.

  • 128-tick authoritative dedicated servers
  • GDExtension (C++) simulation core
  • Community-hostable, self-hosted server browser
  • Map-making SDK for community maps

See PLANS/PROJECT_PLAN.md for the full build plan. See Mapmaking SDK docs to build and ship custom maps.

S
Description
Competitive tactical FPS built in Godot 4 — CS-clone with 128-tick authoritative servers
Readme MIT 67 MiB
v0.2.9 Latest
2026-07-06 03:55:26 +00:00
Languages
GDScript 98.7%
Shell 1.3%