Initial MVP: drivable RX-7 vertical slice + server-authoritative systems
CI / quality (push) Failing after 5m53s
CI / quality (push) Failing after 5m53s
- 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
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# 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).
|
||||
Reference in New Issue
Block a user