
Multiplayer with Photon
About
A Multiplayer game crafted from the ground up using Unity and Photon PUN 2. This project showcases multiplayer networking features, including synchronized player actions, real-time gameplay mechanics, and dynamic game states. Designed to serve as both a learning resource and a robust foundation for creating multiplayer games, it demonstrates the seamless integration of networking systems with engaging gameplay elements. Whether you're looking to build a competitive shooter or a cooperative experience, this project provides all the essential components to get started.
✨ Features
🛠 Core Systems
Player Controller: A basic yet functional controller for player movement and interactions.
Network Manager: Handles connection to the Photon network, managing lobbies and rooms.
Game Manager:
Spawns players at random points.
Tracks and displays player entry and exit events in real time.
Now all players follow the Master Client (e.g., transitioning levels, leaving the room, etc.).
📋 UI Systems
Menu UI Manager:
Allows players to set their names.
Facilitates room creation, joining, and player management.
Displays the list of available rooms in the current lobby.
Game UI Manager:
Displays real-time gameplay events through a logging system (e.g., player spawn notifications, kill events).
Displays game timer, which indicates the time remaining until the game over.
Showing leaderboard on game over and then exiting room after some delay.
Deathmatch UI:
Includes room list UI for selecting and joining available matches.
Shows player list within a room.
Player List & Ready System:
Players in a room can see the player list.
A fully synchronized ready system ensures that the level loads when all players are ready.
🔫 Weapon Systems
Weapon Manager:
Monitors player inputs for attacks and initiates firing of the primary weapon.
Synchronizes weapon behavior and damage across all players.
Includes a Weapon script that manages:
Damage values.
Fire rate.
Hit layers and effects.
Triggers shoot and hit particle effects visible to all players.
Notifies players about inflicted damage and updates stats accordingly.
📊 Leaderboard & Stats System
Leaderboard System:
Shows real-time player rankings.
Highlights the current player in a different color.
Differentiates between positive and negative scores.
Player Stats:
Tracks Kills, Deaths, and Score per player.
Displays stats in the leaderboard.