Skip to content

Repository files navigation

Project Vector

A 2D top-down multiplayer shooter built in C++ using SFML. Developed as coursework for the CMP501 Network Game Development module (MSc Computer Games Technology, Abertay University).

This is the client repo. The server lives at Project-Vector-SFML-Server.


About

Project Vector explores the fundamentals of networked game development from scratch — no engine, just C++ and SFML. Players connect to a dedicated server and control a spaceship in a top-down arena, firing at opponents while the server handles authoritative state, collision resolution, and latency compensation.

The codebase has a clean separation between game logic (Game.cpp), networking (NetworkManager.cpp), and health/damage (HealthManager.cpp).


Features

  • Authoritative client-server multiplayer architecture
  • Real-time player position and projectile synchronisation
  • Server-side collision detection and hit resolution
  • SFML-based rendering, input handling, and audio
  • Configurable network settings via net_config.txt

Tech

  • Language: C++
  • Library: SFML 2.6.0 (bundled)
  • Networking: TCP/UDP via SFML Network module
  • Architecture: Authoritative server, thin client
  • IDE: Visual Studio (.sln included)

Build & Run

SFML 2.6.0 is bundled in the SFML-2.6.0/ directory.

  1. Open ProjectVector.sln in Visual Studio
  2. Ensure SFML include and lib paths point to SFML-2.6.0/
  3. Build the solution (x64 / Release or Debug)
  4. Edit net_config.txt to set the server IP and port before running:
127.0.0.1
5000
  1. Start the server first (see Project-Vector-SFML-Server), then run the client

Project Structure

Game.cpp / Game.h                   # Core game loop, rendering, input
NetworkManager.cpp / .h             # Client networking — send/receive state
HealthManager.cpp / .h              # Player health and damage handling
Spaceship.cpp / .h                  # Player entity
Main.cpp                            # Entry point
net_config.txt                      # Server IP and port config
assets/                             # Textures, fonts, audio
SFML-2.6.0/                         # Bundled SFML library

License

MIT

About

2D top-down multiplayer shooter built in C++ and SFML. Authoritative client-server architecture. Coursework for CMP501 Network Game Development at Abertay University.

Topics

Resources

Stars

Watchers

Forks

Used by

Contributors

Languages