Final Year Project October 2022 - May 2023
For my dissertation, I worked with Unreal Engine to create an application for a client. Can't give any details yet, hopefully I can get clearance to put some details here soon :)
A DnD dice syntax parser and interpreter à la Roll20, written in Rust.
I've written hackish parsers before, but after learning about the Nom library I decided to have a go
at doing it "properly".
Also doubling as my first sizeable project in Rust, I found using Nom to lex the input and parse into a syntax tree to be really satisfying to implement.
You can find a quick and dirty wasm implementation here.
A model loader and lighting engine as another OpenGL exercise.
I learned how to work with Assimp to
read 3D model files, and how to implement the Phong reflection model using
multiple lights.
I got started with Powershell, using a script as a build system.
This build system turned out to be more of a curse than a blessing, a lesson in how I should probably use actual build systems for most cases!
A system to host a private Minecraft server which shuts down when no-one is online to save money. Users can log into a website to turn the server back
on again when they want to play.
Made using Flask and AWS's API. A very fun project to make, where I learned a lot
about Linux services and how to Unix-like programs communicate with each other.
AWS's pricing structure has changed since I made this, making this project no longer viable.
I still learned a ton from it!
An infinite runner spaceship game as an OpenGL exercise. This is my first fully functional OpenGL game, where I
experimented with shaders and chunk loading.
Making games "the hard way" has been really fun and interesting,
strengthening my understanding of the underlying systems in
game engines.
A quick exercise in fragment shaders in OpenGL.
I've recently been getting to grips with OpenGL through
this
tutorial - this is my first project from that which
I'm fairly proud of. I'm very excited to work with shaders
some more in the future!
Made in a team of 4 over 3 weeks, I got to grips with Unity's prefab system to create a ship designer. I really enjoyed making
this - with the little logical challenges involved with making
sure each configuration is valid, bringing the ship data from
scene to scene, and creating a user interface intuitive enough to make
ship building easy.
While playing, individual ship components can get damaged and broken,
affecting how your ship handles.
A clone of one of my favourite games made in the TIC-80 fantasy console. It was really fun to make, lots of tricky geometric challenges with the TIC-80's limited drawing commands. I really want to come back to this project and flesh it out more since there's a lot I've learned since this projects, especially after working with similar engines like Love2D.