neon-sprawl/client
don 343592541a feat(client): NS-14 click-to-move with NavigationAgent3D
- Main scene: floor, obstacle, nav mesh, camera, CharacterBody3D + agent
- Click-to-move on walkable group; pick mask avoids avatar self-hit
- player.gd drives path following; README and plan AC updated

Made-with: Cursor
2026-03-29 21:19:52 -04:00
..
scenes feat(client): NS-14 click-to-move with NavigationAgent3D 2026-03-29 21:19:52 -04:00
scripts feat(client): NS-14 click-to-move with NavigationAgent3D 2026-03-29 21:19:52 -04:00
README.md feat(client): NS-14 click-to-move with NavigationAgent3D 2026-03-29 21:19:52 -04:00
icon.svg Update README and documentation to reflect project rebranding to "Neon Sprawl". Revise links to vision plan and adjust references in tech stack and decomposition documents. Enhance README with repository layout and instructions for running the server and client. 2026-03-29 17:23:00 -04:00
project.godot Update README and documentation to reflect project rebranding to "Neon Sprawl". Revise links to vision plan and adjust references in tech stack and decomposition documents. Enhance README with repository layout and instructions for running the server and client. 2026-03-29 17:23:00 -04:00

README.md

Neon Sprawl — Godot client

Open this client/ directory as a project in Godot 4.2+ (4.x recommended). Use the standard Godot build (not the .NET build)—client code is GDScript (.gd).

  • Main scene: scenes/main.tscn (bootstrap scripts/main.gd).
  • Networking will use WebSocket or TCP to the C# server; authoritative logic stays on the server per docs/architecture/tech_stack.md.

Movement prototype (NS-14)

The main scene includes a client-only click-to-move demo:

  • Left-click walkable ground (the large floor) to move the capsule avatar; WASD is not required.
  • Paths use NavigationAgent3D over a hand-authored navigation mesh with a central obstacle, so the avatar routes around the block instead of sliding through it.
  • The avatar lives on physics layer 2; the pick ray uses mask 1 so clicks pass through the avatar and hit the floor.

This behavior is temporary: when authoritative movement and MoveCommand / PositionState exist, the client will follow server state instead of driving navigation locally.

Manual check

  1. Run the main scene (F5).
  2. Click the floor: the avatar walks to the point.
  3. Click behind the center crate: the avatar walks around it via the nav mesh.

First run

  1. Install Godot 4.x.
  2. In the project manager, Import and select client/project.godot.
  3. Press F5 to run the main scene.