OneLiteFeatherNET / OneLiteFeatherNET/Voyager

Personal best tracking per map

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

Nobody has claimed this yet.

beta database P1
Dominant language
Java
Stars
0
Forks
0
Avg merge
2d 21h
Merged PRs (30d)
12

Description

Description

Players should know their own best time/score on each individual map, independent of cup context. This feeds into the personal stats screen and motivates time-attack replaying.

Acceptance Criteria

  • PersonalBestEntity stores: player UUID, map name, best score, best finish time (ms), date set
  • After each map in a cup, if the player's score/time beats their stored PB, the record is updated
  • On race end screen (title/chat), player is shown their PB delta: "New personal best! (+42 pts)" or "3 pts below your best"
  • /stats command shows player their PB for each map they've raced
  • Unit test: run map twice with improving score → verify PB updated; third run worse → PB unchanged

Technical Details

  • PersonalBestEntity in shared/database
  • PB check happens in EndPhase before the leaderboard update
  • Delta displayed via actionbar or title packet in GlintSystem/HUD layer

Dependencies

  • "Persist game results in EndPhase" must be done first

Estimate

S

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 the dependency, "Persist game results in EndPhase," then inspect PersonalBestEntity in shared/database and the PB check in EndPhase. Trace the race-end display through GlintSystem/HUD and the /stats command. Done means PB records update only when improved, the race-end delta is shown, /stats lists raced maps, and the unit test covers improving and worse runs.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.