A Year 4 Capstone Project

Lands Of
P(ixel)

A 2D top-down survival game built in C++20 with SFML 3.0, featuring procedural world generation, UDP multiplayer, a full crafting system, dynamic day/night cycle, and cave exploration.

☼ Day ☾ Night
0 Lines of Code
0 Source and Header Files
0 Core Systems
0 Player Characters

About Me

Kyle Donovan
KD

Kyle Donovan

BSc Computer Games Development

SETU Carlow · Year 4

Who Am I

Hi, my name is Kyle Donovan and I'm a final year Game Dev student from SETU Carlow. This website is a project showcase of my Year 4 Capstone project "Lands of Pixel". This project was worked on over the last 6 months and shows a lot of what I have learned in my time in this course.

Skills

C++20
SFML 3.0
UDP Networking
Procedural Generation
OOP Architecture
AWS EC2
Multithreading
Spatial Partitioning
Game Systems Design
Git / GitHub
HTML / CSS / JS
C#

Core Features

Procedural World

Fractional Brownian Motion generates unique 2D terrain every run, from vast oceans to dense forests, mountains, caves and villages, all seeded and reproducible.

FBM · Chunk Loading · Cave Systems

UDP Multiplayer

Real-time multiplayer over UDP with a dedicated AWS EC2 game server. Supports lobbies, host/client roles, world seed synchronisation and live enemy/NPC state sync.

UDP · AWS EC2 · Lobby System

Day / Night Cycle

A fully configurable time system shifts from dawn to dusk with dynamic overlay rendering. Enemies behave differently at night, and the ambient music adapts in real time.

Dynamic Lighting · Enemy AI · Music Sync

Crafting & Building

Harvest resources, craft tools, weapons and building blocks. Place walls, floors, doors, fences and more to construct your own structures anywhere in the world.

14 Recipes · Grid Placement · Demolish Mode

Combat System

Melee weapons, a bow with projectile physics, and an unarmed fist mode. Enemy knockback, damage flash, and a health system with loot drops on kill.

Projectiles · Knockback · Loot

Player Animation

Full spritesheet animation system covering idle, walk and run, all packed into a single 8×20 linear spritesheet.

156 Frames · 9 Animation States · 4 Directions

Built With

Core language with modern features, structured bindings, concepts, std::optional, constexpr arrays and range-based loops throughout.

Graphics, windowing, audio and network primitives. SFML 3's updated API is used throughout, sf::Sprite construction, sf::IntRect initialisation and event handling.

Dedicated game server hosted on EC2 with PowerShell automation scripts for restart, compile, log viewing and shutdown without manual SSH.

Custom UDP networking protocol with heartbeat packets, player state sync, enemy/NPC authority and a lobby system supporting up to 8 players.

Architecture OOP · Component-based systems · Spatial grid optimisation
Threading Background world generation thread with mutex-protected progress updates
Audio SoundManager with track fading · Per-state music · SFX volume control
World Size Tiny (50x50) -> BomboClat (2500x2500) · Configurable before each session

About the Project

Lands Of P(ixel) is a Year 4 Computer Games Development capstone project.
Built entirely from scratch in C++20 using SFML 3.0, it demonstrates a broad range of system programming concepts, from procedural generation algorithms and UDP networking to multithreaded world loading and a full sprite animation pipeline.

The project was developed solo over the final year, with a focus on clean OOP architecture, real multiplayer functionality and a polished player experience complete with music, sound effects, dynamic lighting and a configurable world system.