Personal Profile

I'm Joshua Boyce-Hyland , a developer who thrives on solving complex problems and building engaging systems. I especially enjoy collaborating with other developers to bring creative ideas to life and improve through shared learning.
I developed this project using C++ and SFML, featuring mechanics like A* pathfinding, Delaunay triangulation, and minimum spanning trees for procedural generation.
I also have industry experience at Dolby Laboratories , where I worked on shipped C++ software in a collaborative team environment.
Skills & Technologies:
Languages & Tech
- C++
- C#
- JavaScript
- Python
- MySQL
- CMake
- HTML & CSS
- Assembly
Tools & Frameworks
- SFML, OpenGL, Halide
- Git / GitHub / GitLab
- Unity, Godot
- Catch2, Google Test
- Linux
- Visual Studio, VS Code
- Photoshop
Game Overview
Game Description
Space Raid is a space-themed strategy and management game where you play as the captain of a space station. Starting with limited modules and resources, your mission is to expand the station, manage NPC workers, assign jobs, and carefully balance your resources to survive.
As your station grows, you can construct ships and travel to explore or raid procedurally generated enemy stations. These procedurally generated enemy stations make for each encounter to be a fresh experience.
Technologies Used

C++
Handles all core logic, systems, procedural generation, and gameplay code.

SFML
Used exclusively for 2D graphics rendering and window management.
Features
Space Station Editing
Design and upgrade your space station by constructing and customizing your space station as you wish. Customize its layout to support your growing crew.

Ship Building
Build a fleet of ships with unique feel and designs. Each ship can be customized to suite you, whether you're exploring, defending, or raiding.

Procedural Space Station Generation
Space Raid's space stations are procedurally generated using a multi-stage algorithm pipeline. Each step contributes to a realistic and truly unique design from the last.
Room Spawning & Separation

Randomly scattered rooms in a radius are placed and moved apart to avoid overlapping and ensure spatial realism.
Delaunay Triangulation

Room centers are connected using a Delaunay triangulation, forming a highly efficient triangle mesh.
Convex Hull

A boundary is created around the outermost rooms, forming the overall station silhouette.
Minimum Spanning Tree

The triangulation is pruned into a clean MST, leaving only essential connections for believable entry and exit hallways.
NPC Navigation
NPCs navigate your station using an A* -based pathfinding system.
