Files
Commonwealth-Online-Public/ROADMAP.md
T
andrew d67d39d30c Mark install tests as completed
Update ROADMAP.md to check off four installation/test checklist items: Clean install test, Mod Organizer 2 install test, Second-machine install test, and Steam Deck or LAN client test package.
2026-06-22 22:08:27 +12:00

7.9 KiB
Raw Blame History

Commonwealth Online Roadmap

Current Status: Working Internal Vertical Slice

Commonwealth Online currently supports real Fallout 4 clients connecting through an external relay server, synchronizing player transforms, representing remote players with proxy actors, using the multiplayer browser UI, discovering LAN servers, saving recent servers, and syncing basic world state such as time and weather.

The roadmap now tracks playable vertical slices rather than early technical bootstrap milestones.


Slice 0: Vault 109 Onboarding

Goal

A first-time player joining a Commonwealth Online server is placed into Vault 109, creates their character, sets SPECIAL stats, receives basic server context, and exits into the Commonwealth as a valid multiplayer character.

Player Experience

  1. Player opens Multiplayer from the main menu.
  2. Player joins a server.
  3. If the player has no character/save for that server, a new character is created.
  4. Player spawns in Vault 109.
  5. Player customizes appearance.
  6. Player completes the Vault 109 SPECIAL setup process.
  7. Player receives basic lore/context for the server.
  8. Player exits the vault.
  9. The server/client marks onboarding as complete.
  10. Future joins spawn the player from their saved multiplayer state instead of restarting Vault 109.

Includes

  • Vault 109 interior
  • First-join detection
  • New multiplayer character creation flow
  • Appearance setup
  • SPECIAL setup
  • Intro quest or onboarding state
  • Vault exit sequence
  • Save/profile persistence
  • “Cannot return after leaving” rule if desired

Internal Milestones

  • Create Vault 109 start cell
  • Add first-spawn marker
  • Route first-time server players to Vault 109
  • Open appearance customization
  • Build SPECIAL allocation flow
  • Save onboarding completion state
  • Move player to Commonwealth exit point
  • Prevent repeat onboarding for existing server characters
  • Test joining same server again
  • Test joining a different server for the first time

Done When

A player can join a server with no existing multiplayer save, create a character in Vault 109, assign SPECIAL stats, leave the vault, reconnect later, and continue as the same character.


Slice 1: Same-Cell Multiplayer Foundation

Goal

Two or more players can join the same controlled test cell and see each other moving reliably.

Includes

  • Server relay
  • Player IDs
  • Transform sync
  • Remote proxy actors
  • Movement smoothing
  • Disconnect cleanup
  • Fake client testing tools
  • Dev server GUI

Internal Milestones

  • Plugin connects to server
  • Server assigns player IDs
  • Transform packets relay between clients
  • Remote player state is stored safely
  • Proxy actors represent remote players
  • Movement smoothing works
  • Disconnect removes or holds remote representation correctly
  • Fake clients can simulate remote players
  • Dev server GUI can start/stop server and manage fake clients

Done When

A two-client test in F4TTestCell01 works repeatedly without manual recovery.


Slice 2: Multiplayer Menu and Join Flow

Goal

Players can access Commonwealth Online from Fallout 4s main menu using a native-feeling multiplayer browser.

Includes

  • Main menu Multiplayer button
  • PrismaUI / Ultralight browser
  • Direct Connect
  • Local servers tab
  • LAN discovery
  • Recent servers
  • Controller navigation
  • Mouse/controller cursor handling
  • UI scaling for different resolutions

Internal Milestones

  • Multiplayer menu opens from main menu
  • Direct Connect works
  • Local tab scans LAN servers
  • Recent servers persist
  • Controller can navigate browser
  • Mouse/controller mode switching works
  • UI scales correctly at 1080p, 1440p, and 4K

Done When

A player can launch Fallout 4, open Multiplayer, find or enter a server, connect, disconnect, and reconnect without console commands.


Slice 3: Player State and Animation MVP

Goal

Remote players feel more like players rather than sliding markers.

Includes

  • Movement state sync
  • Walk/run/sprint state
  • Sneak state
  • Jump state
  • Weapon drawn state
  • Proxy animation or animation-adjacent visual behavior
  • Fake-client animation test scripts

Internal Milestones

  • Movement state fields are sent
  • Fake clients can walk, circle, jump, sneak, teleport, leave cell, and return
  • Proxy actors respond to synced movement state
  • Animation graph and AI behavior experiments are documented
  • Working in-game behavior is confirmed

Done When

A remote player can move around the test cell and visually communicate their main state clearly enough for internal playtesting.


Slice 4: World-State Sync MVP

Goal

Connected players share basic world conditions so the session feels consistent.

Includes

  • Host-authoritative world state
  • Time sync
  • Weather sync
  • Host reassignment
  • Fake-client world-state visibility
  • Protocol documentation

Internal Milestones

  • First client becomes world-state host
  • Host sends time/weather state
  • Server validates host-only world-state packets
  • Non-host clients apply world state
  • Host disconnect promotes next lowest player ID
  • Promoted host seeds state from local synced values

Done When

Three clients can connect, share time/weather, lose the host, promote a new host, and continue without a visible world-state jump.


Slice 5: Internal Playtest Package

Goal

The project can be packaged, deployed, and tested by someone other than the developer.

Includes

  • Build scripts
  • Deploy scripts
  • Proper Fallout 4 Data layout
  • ESP staging
  • Mesh/material/texture staging
  • PrismaUI staging
  • Setup documentation
  • Troubleshooting documentation
  • Known-good test profile

Internal Milestones

  • Build output stages to build/Fallout 4/Data
  • ESPs are included
  • Assets are included
  • PrismaUI and Ultralight files are included
  • Fallout 4 path resolver works
  • Clean install test
  • Mod Organizer 2 install test
  • Second-machine install test
  • Steam Deck or LAN client test package

Done When

A fresh machine can install the package, start the server, join from Fallout 4, and complete the test-cell playtest checklist.


Slice 6: Small Multiplayer Session

Goal

Commonwealth Online supports a small structured session with several players in a controlled area.

Includes

  • 2 to 4 real clients
  • Stable proxy assignment
  • Join/rejoin handling
  • Disconnect handling
  • LAN and direct connect support
  • World-state sync
  • Basic session rules
  • Debug logging for failures

Internal Milestones

  • 2 real clients stable for 15 minutes
  • 3 real clients stable for 15 minutes
  • 4 real clients stable for 15 minutes
  • Host disconnect test
  • Client reconnect test
  • Cell leave/return test
  • Server restart recovery behavior documented

Done When

A small group can complete a repeatable test session without developer intervention.


Slice 7: Gameplay Sync Experiments

Goal

Start testing actual gameplay interactions after the multiplayer foundation is stable.

Candidate Systems

  • Basic health sync
  • Basic damage events
  • Weapon fire events
  • Simple interaction events
  • Power armor enter/exit
  • Settlement placement experiments
  • Chat or player identity
  • Enemy sync research

Rules

These are not added until the earlier vertical slices are stable. Each gameplay system must be tested as an isolated experiment before becoming part of the main branch.


Later Slices

Wider World Support

  • Exterior worldspace testing
  • Interior/exterior transitions
  • Multiple cells
  • Fast travel policy
  • Reconnect position handling

Session UX

  • Player names
  • Server metadata
  • Favorites
  • Passwords or private sessions
  • Server browser polish
  • Error messages

Gameplay Layer

  • Combat
  • Damage
  • Inventory policy
  • Quest policy
  • Settlement sync
  • NPC/enemy strategy