Projects
CPU Voxel Raytracer
First raytracing project, utilizing a very basic voxel-tracer framework starting point to build a raytracer
Key Responsibilities
- Learned about (and implemented) Monte-Carlo numerical integration, Multi-sampled Anti-Aliasing, Depth of Field, materials (e.g. metallic, dielectric), Fish-Eye lens effect and smoke rendering
- Learned about memory profiling and CPU profiling
- Learned about SIMD
Technologies
Crow's Nest
Top-down Couch Co-op game, first Unreal Engine project and first team project
Key Responsibilities
- Programmed the in-game UI for menus
- Programmed the character controller and cannon controlling, rotating and shooting behavior
Technologies
DX12 Renderer
Learning DirectX12 - Self-Study project
Key Responsibilities
- Followed the first three articles of Learn DirectX12 from 3dgep.com
- Learned how to utilize Microsoft's DirectX12 Graphics API
- Set up a rendering framework to utilize for future projects
Technologies
Flower, Sun & Rain (PS2) Texture Extraction
Short personal project for learning how the PlayStation 2 stored and loaded textures
Key Responsibilities
- Learned about the PS2's Graphics Synthesizer and the way it stores/loads textures
Technologies
Game Engine Assignment
University assignment of creating a game engine with ImGui, particle system, glTF loader and tile-based level editor running on PC and compiling on PS5
Key Responsibilities
- Integrate the ImGui library and create a game-engine-like interface as well as controls for all the features
- Particle System, glTF Loader, tile-based level editor with save/load support
- Runs on PC and compiles on PS5
Technologies
GHMTexTool
Personal project for extracting and re-importing textures from PC ports of Grasshopper Manufacture games (Killer7, No More Heroes 1/2)
Key Responsibilities
- Reverse-engineering custom file formats
- Learning about the DDS image file format and about GCT0 (Nintendo's proprietary texture file format from the Wii)
Technologies
Godot Stylized Shaders Plugin
Self-study project for learning post-processing effects and for learning the Godot Engine, using GDExtension
Key Responsibilities
- Learning how to use the Godot Engine for the first time
- Learning about Compositor Effects in Godot Engine, the engine's modern alternative to "gdshader"s that run as compute shaders instead
- Learning about post-processing effects and their implementation
Technologies
Identity Crisis
Global Game Jam 2026 Entry - Made in 48 hours
Key Responsibilities
- Camera scanning of enemies implementation
- Designed and programmed the Menu UIs
Technologies
I Just Wanna Bounce - First C++ Game
2D Platformer following the theme Bounce
Key Responsibilities
- First proper C++ program and first proper game, developed by attending Jeremiah van Oosten's bi-weekly 3dgep BUas intake Discord sessions
- Learned Object-Oriented Programming while developing this project
- Learned about Finite State Machines while developing this project
Technologies
Nakon
CoD:Zombies-inspired game in a FPS custom engine from scratch running on PC and PS5
Key Responsibilities
- Scene Manager implementation giving the engine support for handling of multiple scenes
- Designed and programmed the in-game UI
- Designed and programmed in-editor tools for (and together with) artists
Technologies
OpenGLES Raspberry Pi Endless Runner
University project through which I've learned the basics of 3D Graphics and compiling on Linux by making an infinite runner game
Key Responsibilities
- Learning the OpenGL Graphics API and about 3D rendering for the first time
- Learning and applying 3D Math
- Learning how to develop on Linux in a hardware-restrained environment
Technologies
Pitfall Remake
Remake of the Atari 2600 classic Pitfall in a software-rendered C++ template as a university project
Key Responsibilities
- Learned about using tile-sheets for 2D games for the first time
- Learned how to develop a complex C++ program without relying on STL
- Learned how to document my learning processes
Technologies
Software Rasterizer in Rust (Rusterizer)
Followed a course at university that covered the basics of rasterization and the basics of the Rust language
Key Responsibilities
- Implemented "A Parallel Algorithm for Polygon Rasterization" paper by Juan Pineda
- Learned and implemented the phases of 3D graphics rasterization
- Got a 3D cube rendered and rotating with a texture applied to it
Technologies
Non-photorealistic Rendering Research in UE5
Project for research non-photorealistic rendering styles--project uses Unreal Engine 5 as a framework
Key Responsibilities
- Researched non-photorealistic rendering styles from different games (e.g. Cartoon Shading, Kuwahara Filter)
- Implemented researched rendering styles into Unreal Engine