Files
tokyo-wangan-racing/docs/ROADMAP.md
T
jesse 9a2f2d4dc9
CI / quality (push) Failing after 5m53s
Initial MVP: drivable RX-7 vertical slice + server-authoritative systems
- Rojo + Wally project; ProfileStore (loleris) for safe saves
- Shared: GameConfig, Cars (RX-7 free starter), ProfileTemplate, Remotes
- Server: DataManager, Economy, CarManager, RaceManager, MapBuilder, AntiCheat
- Client: neon HUD + Garage/Dealership UI (buy/equip/upgrade), race/daily
- Procedural Tokyo expressway (spawn pad, finish line, neon pylons, kill walls)
- CI workflow (Gitea/GitHub), Makefile, selene+stylua clean, rojo builds
- Docs: README, GDD, realistic solo ROADMAP
2026-07-21 23:30:53 -04:00

2.9 KiB
Raw Blame History

Roadmap — realistic solo-dev plan

This replaces the original doc's optimistic 12-week timeline. It assumes one part-time developer learning as they go. Ship the vertical slice, then layer polish. Each milestone is independently playable/testable.

Rule of thumb: the original guide's "weeks" are really "milestones." Expect 4–8 months of part-time work to a polished, launch-ready MVP. That's normal. The goal of this order is that you always have something that runs.


✅ M0 — Vertical slice (DONE — this repo)

Drive → race → earn → buy/upgrade → save. Server-authoritative. Placeholder RX-7 block car, procedural expressway. Proves the whole stack end to end.

M1 — Make it feel good (the real work)

  • Import the real RX-7 mesh; swap CarManager.buildCarModel only.
  • Adopt a proven constraint chassis (A-Chassis or modern equivalent) for real suspension/grip instead of the raw VehicleSeat. Do NOT hand-roll physics.
  • Tune driving feel: acceleration curve, grip, camera.
  • Sound: engine loop, boost, tire screech. Exit test: the RX-7 is genuinely fun to just drive around.

M2 — Race depth

  • Checkpoints + lap/segment timing (extend RaceManager).
  • Personal best times saved to profile.
  • A second race type (drag / point-to-point).
  • Countdown + results screen.

M3 — Content & progression polish

  • Flesh out the 25-car catalogue across tiers.
  • Car customization cosmetics (rims, wraps, neon) — visual only for MVP.
  • Daily missions (not just login): "win 3 races", "earn $5k".
  • Tutorial for the first 10 minutes.

M4 — Systems hardening

  • Leaderboards (OrderedDataStore: top rep, fastest times).
  • Anti-cheat pass 2 (validate race times against car stats).
  • DataStore stress test / backup-version restore drill.
  • Performance pass: StreamingEnabled tuning, part budget, mobile test.

M5 — Monetization (only after it's fun)

  • 2× Cash gamepass (the classic first product).
  • VIP membership (daily bonus, cosmetic-only exclusives).
  • Nitro/boost dev-products — never pay-to-win on ranked races.
  • Receipt handling via ProfileStore LastSavedData.

M6 — Traffic AI (deferred hardest system)

  • Start with spline-following dummy cars on fixed paths (cheap, no lag). Only attempt true pathfinding AI if performance allows.
  • Spawn/despawn by distance to keep part count sane.

Standing engineering rules

  • Every change must pass stylua --check, selene, and rojo build (CI enforces).
  • Keep the client dumb: it requests, the server decides. No exceptions for money.
  • Add new tunables to GameConfig, not scattered magic numbers.
  • Add a save key by adding it to ProfileTemplate (auto-reconciles); never remove a key without a migration.
  • Test in Studio after every server change (ProfileStore uses a mock store there).