Devlog 009 / Online
Multiplayer and Integrations

*Generated by AI.
Multiplayer in Project Tourge is built for driving with friends without requiring a permanent dedicated server for every room. One player hosts the session, the others join, and Steam handles the connection between them.
Peer-to-peer sessions
The host plays the game and runs the session at the same time. Steam attempts to create a direct peer-to-peer route between players. When a direct route is not possible because of a router or network restriction, Steam can move the connection through its relay network instead.
Direct P2P normally offers the shortest route and lowest delay. A relay is more compatible with difficult networks, but adds another stop between the players. The multiplayer app shows whether the current connection is direct or relayed, along with the room and connection status, so the result is visible rather than hidden.
This approach is cost-efficient for a small project. We do not need to rent and operate a worldwide fleet of game servers for ordinary sessions, and players can create a room whenever they want. It also keeps offline play completely separate: if Steam is not available, the single-player game continues to work normally.
What is synchronized
Other players need to see more than a car moving from one point to another. Project Tourge shares the vehicle model, position, rotation, speed, steering, wheel movement, throttle, braking, gear and engine state.
The visible build travels with the car as well. Installed upgrades, tuning, ride height, wheel alignment, paint, wheel and exhaust choices, tyre compound, lights and neon are represented on the remote vehicle. Engine and exhaust behaviour, tyre smoke, skid marks and other driving cues follow the same shared state so the car looks and sounds like the build its owner is actually driving.
Time and weather are shared across the room. Players see the same time of day, changing conditions and lightning rather than driving through separate versions of the world.
The system smooths the movement received over the internet and keeps remote cars moving through short gaps in connection data. It cannot remove real network delay, but it can prevent normal variation from turning every car into a series of visible jumps. Larger interruptions still have to be corrected, because showing the wrong position forever would be worse.
The multiplayer phone app
The phone provides the player-facing multiplayer controls. A host can name the room, choose who can access it, set a player limit and optionally add a password. Current rooms support between two and sixteen players.
The room list shows Steam avatars, names, the host, each player's car, connection quality and current activity. A player normally appears as Driving or Away. Opening the camera changes that status to “Taking Insta pics,” so everyone knows that the person standing beside the road has not disconnected—they are probably trying to photograph the rest of the group.
Hosts can remove a player when necessary, while everyone can leave through the same app. The host remains responsible for the room itself.
Steam integration
Steam provides the main online path. Players can create public, friends-only or invite-only lobbies, find joinable sessions, invite friends through the Steam overlay and accept a Steam game invitation without typing an address.
Steam also provides player identity and avatars for the room list. The lobby acts as the meeting point, while Steam Networking handles the route used for the actual session.
Both the host and joining players need Steam running for this path. Project Tourge is currently focused on Windows and Steam sessions. This is not being presented as cross-platform multiplayer.
Discord Rich Presence
Discord Rich Presence shows what a player is doing without exposing private game data. It can display whether they are in the menu, driving a particular car, working in the garage, visiting the dealership or tuning at the upgrade shop.
During multiplayer, the presence can include the room and party size. Supported Discord join and Ask to Join actions can connect back to the active session. When enabled by the host, join requests can be reviewed from the multiplayer phone app instead of interrupting the drive with an unexpected pop-up.
The Discord integration requires the desktop client and the related Discord connection. If Discord is closed or unavailable, multiplayer and the game continue without Rich Presence.
The gains and the limits
P2P keeps hosting simple, reduces ongoing server cost and can give nearby players a very direct connection. The trade-off is that the room depends on the host. A weak host connection affects everyone, and when the host leaves, the session is not a permanent server waiting for the group to return.
More players also mean more cars, audio and network traffic for the host and clients to process. The current player limit gives the system a clear boundary while testing continues. Distance, Wi-Fi quality, relay use and general internet conditions will always affect the experience.
The core Steam multiplayer path is implemented and working. Synchronization, joining, invitations, room status, shared weather and the current integrations are active, while testing continues around poor connections, larger rooms and the many strange ways real home networks can behave.
Multiplayer should make it easy to meet, show up in the car you built and drive through the same world together.
Development archive


