Skip to content

Latest commit

 

History

History
25 lines (20 loc) · 1.57 KB

README.md

File metadata and controls

25 lines (20 loc) · 1.57 KB

2D Action Roguelike Multiplayer - Unity Client

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.

Key Features

  • 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.

Tech Stack

  • 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)

Key Technical Implementations

  • 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.

Setup & Installation

  1. Clone the repository:
    git clone https://github.com/DylasCoding/Multiplayer2D