William Monk

Game Engine and Network Systems Programmer


Studio startup

Unreal Engine 5 | C++ | gaas | online multiplayer

Ongoing | 55 Members | Asymmetric Horror | Technical Director
- Steamworks + Epic Online Services API Integration
- Authentication
- Matchmaking
- Project Management
- Leadership


Sprig & Gizmo

Unreal Engine 5 | C++ | System Architecture | Gameplay Programming

12 Weeks | 15 Members | Adventure | Game System Engineer
- Save Game System
- Character / Camera / Controls
- Gameplay Mechanics
- UI
- Build Engineer


DX 11 Game Engine

DirectX 11 | C++ | Engine Architecture | Shaders

12 Weeks | Solo | Tech Demo
- HLSL Shaders
- Flyweight + Factory Pattern Asset Management
- 3D Physics + Collision System
- Spatial Audio
- OOD + Technical Design


Jelly Xperiment

Unity | C# | Game Jam | Team Lead

7 Days | 5 Members | Puzzle Platformer
- Game Design
- UI Design + Programming
- Gameplay Programming
- Project Management


Raycast Game Engine

SDL2 | C++ | Alternative Rendering | 2.5D Math

2 Weeks | Solo | Tech Demo
- Engine Architecture
- Technical Design
- OOD Patterns


Sustainable Maritime Solutions

Freelance Technical Expertise

- Linux System Administration
- Network Deployment
- Cyber Security
- C# .NET Programming
- Embedded Sytems

Studio Startup

This project was my Final Major Project at University. Developed over a course of twelve weeks, I learned and implemented Unreal Engine 5's Networking systems to create an asymmetric multiplayer game.As the project was a successful endeavour over the 12-week development lifecycle, we decided to continue development and recruit others to work on the project, climbing up to a team of 55 members. Once scaled up, I became the Technical Director of the project and a feature team lead responsible for all game systems (storefront, monetisation, progression, matchmaking etc).Over the following months, I spearhead development efforts, developed onboarding and handover processes for the team of voluneer developers. Working with a foundation of Nexus Scrum, we created a process in which 8 teams of 4-8 multi-disciplined developers could carefully construct a new and improved version of what I had previously created in my University module.• Leadership • Scrum • Project Management
• BizDev • Dev Ops • GaaS
• C++ • Networking • Unreal Engine 5

Sprig & Gizmo

My final student run studio project at university, Sprig & Gizmo was our first attempt at an Unreal Engine 4 game.
During this project, I was responsible for a verity of game systems ranging from game state saving and loading to debug console commands. Outside of my main focus on game systems, I was also responsible for a number of gameplay mechanics, some parts of the game UI, and shared ownership of Character / Camera / Controls for both players.
• C++ • Gameplay Systems • Unreal Engine 4
• Git • Source Control • Agile Development

DX 11 Game Engine

This project was my first attempt at learning and creating a simplistic 3D game + engine.
For this project, I wrote a verity of systems such as 3D collisions, asset loading and a flyweight pattern asset management system, input handling, and applied a verity of lighting and rendering techniques such as point lights, directional lights, ambient lighting, skybox and more.
This has been one of my personal favourite projects to work on as I thouroughly enjoy low level engine programming, and feel this is one of my strongest showcases of my low level C++ and code design skills.
• C++ • DirectX • DXTK
• Object-Oriented Design • Design Patterns • Algorithms

Jelly Xperiment

At the end of my second year of University, we ran a small game jam for Solent students. Myself and four of my peers teamed up to make a game based on the theme of "United we stand, divided we fall". We chose to create a simplistic 2D puzzle platformer in which jelly cubes work together to navigate through the level.
For this game, I created the grid based movement system, UI, level system and am responsible for the game design.
My primary focus for this project was learning and improving my skills with UI/UX programming and design; I wanted the movement system to feel satisfying and be clear to the player.
• C# • Unity • Game Jam
• Leadership • Rapid Development

Raycast Game Engine

This was a personal project I worked on while I had a little free time over summer between my second and third year at University. I have always been interested in how raycast based rendering techniques worked and wanted to learn by doing, in addition to improving my technical design and code architecture skills.
I also used this project as an opportunity to learn about Linux based development and cross-platform development, as I wrote and compiled the code on a Linux laptop using CMake and GCC.
The code for this project was later used as the foundation of a group project in my third year at University.
• C++ • SDL2 • Alternative Rendering
• 3D Math • Object-Oriented Design • Algorithms

Sustainable Maritime Solutions

During my second year of studies (April 2023), I was approached by one of my lecturers with an offer to work for a company located in Southampton that specialises in building and deploying systems for tracking bulk carrier engine performance.Since starting work with SMS, I have greatly expanded my skills in a range of technologies, including but not limited to• C# .NET • Microsoft SQL • Git
• Embedded Systems Programming
• Linux SysAdmin • Networking
• VPN configuration • System Deployment