OneLiteFeatherNET / OneLiteFeatherNET/Voyager

feat(practice): always-on spline/particle guide trail for Practice Mode

Open
#174 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement gameplay player-feel
Dominant language
Java
Stars
0
Forks
0
Avg merge
2d 21h
Merged PRs (30d)
12

Description

Description

SplineVisualizationSystem is promoted from a debug feature to a player-facing guide, automatically enabled during Practice Mode sessions. Lowest priority — safe to defer post-MVP.

Acceptance Criteria

  • `SplineVisualizationSystem` activates automatically when `GameMode.PRACTICE` is detected
  • Particle trail is visible to the practicing player only (not broadcast to other instances)
  • Visual parameters are tunable per map: particle density, color, lookahead distance threshold
  • Defaults are set for first-time-player readability (higher density than debug mode)
  • The system is disabled in `GameMode.RACE` sessions (no performance cost in competitive play)
  • Guide points must be authored in the setup plugin before the system has data to render
  • Unit/integration tests verify the system activates and deactivates with the correct game mode
  • No visual artifacts when a player retries (trail resets with the ring tracker)

Technical Details

  • Guide point authoring in the setup plugin is a prerequisite (tracked separately)
  • `SplineVisualizationSystem` remains in `server` module — no shared-module imports of Minestom
  • Visual parameters stored in MapDefinition or a sidecar config file (Gson-serialized)
  • System follows the ECS pattern: declares required components, processes matching entities each tick

Dependencies

  • #172 (Practice Mode session — system only activates under `GameMode.PRACTICE`)

Estimate

L

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with dependency #172 and inspect SplineVisualizationSystem in the server module, then review MapDefinition or the sidecar Gson configuration and the setup plugin prerequisite. Trace the ECS processing and ring-tracker reset behavior. Done means Practice Mode enables the player-only trail with tunable defaults, Race Mode disables it, and activation, deactivation, and retry behavior are covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.