Non-Euclidean Geometry in Vulkan using Ray Tracing
This project was created for my final year project at university, where I created an application in C++ using the Vulkan graphics API and hardware accelerated ray tracing to create a non-Euclidean environment.
I used ray manipulation inside of shaders to create non-Euclidean visual effects that transform and warp the positions and directions of the ray.
(Sept 2023 - Feb 2024, with a few additions made in May 2024)
Advanced Graphics
This project was used for learning multiple techniques commonly used in graphics APIs for games, such as normal mapping, deferred rendering, rendering to a texture for multiple post processes, and tessellation with terrain generation. (OpenGL)
(Jan 2024 - Feb 2024)
Cross Platform Game Engine
In this group project we created a 2D game engine that is supported on multiple platforms (Windows and Android), and I worked with 9 other programmers to create this engine over around 8-9 weeks. I handled most of the rendering and graphics related code, porting the engine to Android, and lots of smaller things for helping out the other members. I also created some in-engine editors for tilemaps and animations to help users in creating a game.
(March 2024 - May 2024)
Low Level Platform Optimization
For this project I had to take an already existing physics project and optimize its code, and also port to another platform and use specific platform features to improve performance. For the main optimizations, I used threading (with thread pools) to parallelize the code, memory pools and memory error checking, Octrees for physics performance improvements, etc. And for the platform specific optimization I used Unix pipes and multiple processes on Linux to perform calculations similar to a thread, and transfer data between each process.
(Sept 2023 - Dec 2023)
Sliced: A Story of Pizza (Unity Game)
This was my first big group project, where I worked with 2 other programmers and 4 developers for 6 weeks to create a simple 2D game in Unity. For this project, I worked in a large variety of areas but some of the main things were: UI, Item/Inventory/Pickup Systems, Upgrade system, Coin system, Level design and mechanics (doors/key system), Main menu polish, enemy ragdoll and damage numbers, and many more small additions.
(Jan 2023 - Feb 2023)
Graphics and Physics in DirectX11
In this project I used DirectX11 to create a simple 3D scene with multiple textured models, post processing, and could be loaded in by using a file (.json). This scene was then later expanded upon to enable physics on different objects, using collision detection to resolve collision with impulse which add forces and affect the acceleration and velocity to update the position of objects in the scene.
(Sept 2022 - May 2023)
Simple Console App Rhythm Game (SCARG)
A simple game I had made in around a week to learn C#. Its just a simple 4-9k rhythm game where you hit notes in time with a song, but its made entirely inside of the console, and uses text for its sprites/graphics.
(Oct 2022)
FlxPerspective
This was a small library I made for a 2D game engine called HaxeFlixel, the library adds basic 3D support using shaders and matrix math, with only a few limitations. It includes a basic camera system and the ability to load in textured 3D models using .obj files.
(Mar 2023)