2 Player Co-op Adventure (Unreal)
About
This project was developed as part of a university networking module to demonstrate the integration of multiplayer functionality using Steam's networking services. The primary objective was to implement core networked gameplay features by leveraging the Steamworks API, showcasing proficiency in client-server communication, session management, and online matchmaking within a real-time game environment.
Project Info
Position: Gameplay/Network Programmer
Team Size: 1
Development: 8 Weeks
Language: Unreal (C++)
Project Overview
This project is a two-player cooperative adventure game developed to demonstrate my approach to designing and implementing online multiplayer systems. Built in Unreal Engine, the game incorporates Steam’s development test servers and Unreal’s Online Subsystem to support both LAN and internet-based multiplayer functionality.
The primary goal was to implement a robust networking architecture that would maintain a consistent and synchronized game state across clients, while allowing for seamless connection through Steam or local networks.
​
Key Features and Technical Implementation:
-
Object Replication
Utilized Unreal Engine’s replication system to ensure consistent game world states across both clients.
Key interactive objects and player states were replicated with authority checks to preserve synchronization and game logic integrity. -
Client-Server Architecture
Designed the game to operate on a peer-to-peer model with a dedicated host acting as the server.
Both players run their own build locally, with real-time data exchange occurring between client and host to handle gameplay events and updates. -
Online Subsystem Integration
Integrated Unreal’s Online Subsystem to create and manage online game sessions.
Supported both LAN hosting and Steam-based multiplayer using Steam's development/test environment. -
Session Management and Hosting Options
Players can host or join sessions via LAN or Steam, enabling flexible testing environments.
Implemented logic to handle player connections, session discovery, and graceful disconnection handling.
​
This project highlights my understanding of Unreal Engine’s networking model, multiplayer session flow, and subsystem integration. It demonstrates my ability to build and debug networked gameplay features, manage replication logic, and work with third-party services such as Steam.