This project is the Client-side source code developed using Unity Engine for an online 2D Action Roguelike game. The system integrates real-time combat via Photon PUN 2 and manages user data through an ExpressJS Backend.
- Roguelike Gameplay: Smooth movement mechanics, Dash effects, combat systems, and 2D collision handling.
- Multiplayer Co-op: Room creation, Lobby management, and character state synchronization using Photon PUN 2.
- Backend Integration: Connects to ExpressJS APIs for player authentication and progress synchronization (Firebase).
- Architecture: Implemented using Component-Based Architecture for optimized scalability and maintenance.
- Game Engine: Unity 2022.3.55f1 LTS (or your specific version)
- Programming Language: C#
- Networking: Photon Unity Networking 2 (PUN 2)
- API Communication: UnityWebRequest (RESTful API)
- Finite State Machine (FSM): Applied for robust character behavior management (e.g., Idle, Run, Attack, Dash, Die states) ensuring predictable and modular logic.
- Object Pooling: Implemented for frequently instantiated objects like projectiles and enemies to optimize performance and reduce garbage collection overhead.
- Event-Driven System: Utilized custom Unity Events for loose coupling between game systems, facilitating easier debugging and expansion.
- Clone the repository:
git clone https://github.com/DylasCoding/Multiplayer2D