Portfolio

MSc Dissertation - Improving Job Scheduling in Games - 2026 (current)

I am currently working on my dissertation which is looking at optimising user level thread systems for use in games. The research is looking at different scheduling techniques and how effective they are for games, as well as looking at improving existing methods through better CPU cache locality.

This is currenly in progress.

The Lonely Surveyor - 2026

A rock collection game created using Vulkan and C++. Part of an individual research and development module for my masters at Warwick University. The game incorporates compute shaders to generate procedural planets dynamically at run time using an adapted version of the Flying Edges algorithm. Reseach was done into surface extraction techniques for volumetric data as part of the project.

Skills and Features:

  • Procedural Terrain Generation
  • Chunked Terrain
  • Level of detail
  • Flying Edges
  • Compute Shaders
  • Multi-channel signed distance field font rendering
  • Spatial Tree Structures - Octree and BVH
  • Ray casting for terrain collisions
  • Research
  • Sound
  • User Interface

Tools used:

  • C++
  • Vulkan
  • Volk
  • VMA
  • FMOD
  • SDL3
  • GLM
  • MSDF Atlas Gen
  • Freetype
  • KTX Software
  • Slang Shading Language
  • Renderdoc

Repository

Skyfire Uprising, Level 6 - 2026

A game created as a class of 43, where groups of 6 split up to work on individual levels. The game was created in Unreal Engine 5.4. The group I was part of, had the task of creating Level 6, where the player had to fight through a research lab, with gravity altering affects, and get to a spaceship. I was responsible for VFX, materials, as well as leadership and cross team communications.

Skills and Features:

  • Materials
  • Niagara System
  • Objective/Game flow
  • Blueprints
  • User Interface
  • Teamwork and Communication
  • Leadership

Tools used:

  • Unreal Engine 5
  • HLSL via custom material nodes
  • Diversion Version Control

Repository: Not Available

Path Tracer - 2026

Implementation of a Path Tracer, Light Tracer, and Instant Radiosity. Made in three weeks.

Skills and Features:

  • Path Tracing
  • Light Tracing
  • Instant Radiosity
  • De-noising
  • Material BSDFs - Diffuse, Glass, Plastic, GGX micro-facet Conductors
  • Multithreading
  • Bounding Volume Hierarchy Implementation for triangle traversal

Tools used:

  • C++
  • Intel Open Image Denoiser

Repository

Chat Room App - 2026

A chat app made using C++, Dear ImGUI, and WinSock2. Made in three weeks, achieved a mark of 79%.

Skills and Features:

  • Server
  • Clients
  • GUI
  • Private Messaging
  • Notification Sounds

Tools used:

  • C++
  • Dear ImGUI
  • FMOD

Repository

Un-named FPS - 2025

A game made using DirectX 12 and C++ for the Compute Graphics Module in my MSc Games Engineering course. Made in three weeks, achieved a mark of 90%.

Skills and Features:

  • Textures
  • Deferred Shading
  • Basic Lighting
  • Shadow Mapping
  • Instancing
  • Animated Meshes
  • Vertex Animations
  • Basic Physics
  • Normal Mapping
  • Skybox
  • Marching Cubes Terrain - Using Compute Shaders
  • Mip Map Generation and loading
  • ECS

Tools used:

  • C++
  • DirectX 12

Repository

Alpha Survivors - 2025

A game made using C++ for the first module in my MSC Games Engineering. Inspired by the Vampire Survivors game. Player can move around as their weapon attacks automatically. Can use an AOE attack and provides saving and loading functionality. Given started code which allowed drawing a pixel to the screen and presenting. Made in Two Weeks, achieved a mark of 80%.

Skills and Features:

  • Save and load
  • Pooled Enemies
  • Tiled Level Loading accounting for adjacent tiles
  • Finite and Infinite Levels
  • Basic Text Rendering using Font Atlas

Tools used:

  • C++

Repository

One Button Flow - 2024

A game where you only have one button. Pressing a button advances your selection, and on every beat, the action is taken. Made for the 1-Button Jam 2024 game jam in a few days. Created in Odin to learn the language.

Skills and Features:

  • One Button Menus

Tools used:

  • Odin
  • SDL2

Itch IO

RMCT Demo

RMCT Schedule - 2023

A Website I made to aid in keeping track of company jobs, and allow keeping track of revenue from these jobs. Allowing the company to move from paper-based records to digital.

Skills and Features:

  • AWS Hosting
  • Calendar
  • Reports

Tools used:

  • Python
  • Flask
  • SQL
  • HTMX
  • AWS

Repository: Not Public

Video taken from a development build with dummy data.

The Learning on Stock Markets Application

Machine Learning on Stock Markets - 2023

My university dissertation project, which consisted of a machine learning algorithm (Reinforcement learning) trained on historic stock data to make prediction on future stock data, and a GUI application to visualise its predictions and training. With the aim to help in development of trading algorithms via helping to visualise algorithm performance.

Skills and Features:

  • GUI Creation
  • Graphics APIs
  • Graphing Data
  • Machine Learning

Tools used:

  • C++
  • Vulkan
  • Python
  • Tensorflow

Repository

Gif of Boco Engine

Boco Engine - 2023

A WIP space game engine created with a friend. Created from scratch using Vulkan and the Odin programming language. Currently implemented features include ECS, local coordinate system to allow for using double precision floats for positions, and mesh streaming for loading chunks of a planet mesh.

Skills and Features:

  • Chunk Loading
  • ECS
  • Local Coordinate System for large worlds

Tools used:

  • Odin Programming Language
  • Vulkan

Repository

Rats Game Demo

Rats! - 2022

A University group project where we were tasked with creating the Windows game Rats using Java and JavaFX. This was done in a group of 6. Where I took the role of team lead, managing meetings, leading development, and helping others with programming, as I was the most experienced in my group. Our team achieved a 90% for this project, and I received an individual score of 100%.

Skills and Features:

  • Teamwork and Leadership Skills
  • Multiple Levels - Including Custom levels loadable at run time
  • Scores with Local Leaderboard
  • Saving and Loading

Tools used:

  • Java
  • JavaFX

Repository

Education

MSc Games Engineering - The University of Warwick - Expected First Class Honours - 2026

BSc Computer Science - Swansea University - First Class Honours 84% - 2023

BSc Mathematics Foundation Year - Swansea University - 2020

Modules Taken

MSc Games Engineering - The University of Warwick - Modules
Name Mark Description Coursework
Programming and Fundamental Algorithms 80% Covered C++ fundamentals and algorithms Alpha Survivors
Innovative Simulation Design and Development 72% Game design Group Presentation and Solo Game Design Document
Computer Graphics 90% DirectX 12 and computer graphics algorithms Unnamed FPS Game
Advanced Computer Graphics 67% Physically based rendering and ray tracing Path Tracer
Games Engineering 79% Multi-threading, SIMD, Audio, Databases, UI, Networking, and AI. Optimising a CPU renderer and Networked chat client/server.
Games Engine Design and Development 69% Group Game in Unreal Engine Skyfire Uprising - Level 6
Fundamentals of Games Research, Development and Management 76% Research in Games Literature Review and The Lonely Surveyor
Dissertation TBD Research and thesis on Multi-threading in games Dissertation

BSc Computer Science - Swansea - Year 3 Modules
Name Mark Description Coursework
Big Data and Machine Learning 80% Machine Learning algorithms, covering supervised and unsupervised learning algorithms Worksheet
Embedded System Design 83% Design and structure of embedded systems. Covering modeling and verification. N/A
Advanced Object-Oriented Programming 79% C and C++ Labs
Optimisation 92% Algorithms for optimisation. genetic algorithms.
Logic for Computer Science 94% Logic and proofs in computer science. Worksheets
Introduction to Video Games Programming 83% Making game in Unity A recreation of snake in Unity
Computer Science Project Implementation and Dissertation 77% Dissertation Visualising machine learning to predict stock markets
Computer Science Project Specification and Development 74% Dissertation Visualising machine learning to predict stock markets

BSc Computer Science - Swansea - Year 2 Modules
Name Mark Description Coursework
Introduction to Human-Computer Interaction 75% Covering how humans interact with computing devices, and how to evaluate usability. Design and prototype a screenless device which gives directions.
Declarative Programming 71% Haskell and Prolog Labs and solving algorithms using haskell
Concurrency 81% Multi-threading in Java Labs, Multithreaded program
Software Engineering 85% Project managment, planning, and development. Rats!
Database Systems 68% How databases work and using them. Covered SQL. Worksheets
Computer Graphics 89% Covered basics in computer graphics, including colours, scaling, and algorithms used in image editing software. Java CT Scan visualiser and image rescaler
Algorithms 83% Covered algorithms and notation for memory and runtime. Labs.
Automata and Formal Language Theory 100% Finite state machines, and turing machines. Worksheet

BSc Mathematics Foundation Year - Swansea University - Modules
Name Mark Description Coursework
Technologies for Information Presentation 94% Structing data for presentation, HTML, LaTeX N/A
Introduction to Programming 98% Python fundamentals Labs
Fundamentals of Robotics 81% Working in groups to implement algorithms using robots. Solving problems with robotics such as line following.
Fundamental Calculus 74% Calculus Worksheets
Fundamental Complex Numbers 90% Complex Numbers Worksheets
Fundamental Geometry 83% Geometry Worksheets
Fundamental Mathematics 81% Covered general aspects of mathematics e.g. linear algebra and trigonometry. Worksheets
Computational Probability 94% Probability using Python. Labs

Contact Me

Email me at: benasm123@googlemail.com