PUN Rally is a complete base project for a multiplayer combat racing game using Photon, the most popular network platform for Unity.
The project includes all sources and a 30+ pages illustrated tutorial book (PDF) explaining its use of realistic physics, dead-reckoning, checkpoint-based positions, power-ups, weapons and several other important features of multiplayer games, such as lobby control, car-selection and server-synced race-start.
FEATURES
Realistic physics based on standard colliders, wheel-colliders and rigidbody.
Detailed suspension movement.
Real-time race synchronization over the internet using PUN (Photon Unity Network).
Dead-reckoning techniques to smoothly deal with latency.
(new) Complete weapon system (with ammo, network sync and multiple weapons)
(new) Extensible power-ups system with sample increase, decrease speed and weapon ammo reloads
Server-synced start and grid spawns.
Checkpoint-based race management (positions, laps, finish, etc).
Custom car selection (prefabs based) for connected players.
The project is a foundation for a multiplayer racing game, but also serves as a comprehensive introduction to several multiplayer concepts with Photon:
Dealing with lobbies, rooms creation and joining.
Managing player connection and disconnection (both in menus and races).
Using custom player properties.
Remote Procedure Calls (RPCs).
Server-based time/clock (for race start).
The PhotonView component.
Custom network synchronization of GameObjects.
PUNBehavior and Photon.MonoBehavior classes.
Disclaimer: PUN Rally is a complete base project, but not a fully featured game. It would need some additional scripts and art to be ready for release.
Feedback welcome. Visit our Unity forum thread.