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
2.9 KiB
2.9 KiB
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.buildCarModelonly. - 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, androjo 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).