top of page
Game Developer
An experienced Game Developer specializing in Gameplay Design and Programming in the Unity Engine.

My Portfolio
Port

Interior Mapping and Liquid Shader
Interior Mapping and Liquid Shader
In this scene, I created a performance saving shader that is commonly used in big open-world games like Marvel’s Spider-Man for the PlayStation 4. I also created a liquid shader with a wobbling effect when moved.
• Size of Team: 1 – Me
• Role – Graphics Programmer
• Engine / Technologies used: Unity Engine, Shader Graph
• Development Time: 1 Day
Key Accomplishments and Tasks:
• Implemented a shader technique called Interior Mapping to simulate buildings; this technique uses planes to simulate walls and does not add any additional polygons, meaning it is performance cheap while looking realistic.
• Programmed a realistic liquid shader with a wobble effect.
In this scene, I created a performance saving shader that is commonly used in big open-world games like Marvel’s Spider-Man for the PlayStation 4. I also created a liquid shader with a wobbling effect when moved.
• Size of Team: 1 – Me
• Role – Graphics Programmer
• Engine / Technologies used: Unity Engine, Shader Graph
• Development Time: 1 Day
Key Accomplishments and Tasks:
• Implemented a shader technique called Interior Mapping to simulate buildings; this technique uses planes to simulate walls and does not add any additional polygons, meaning it is performance cheap while looking realistic.
• Programmed a realistic liquid shader with a wobble effect.

Sorting Chaos - Edurino
• Implemented gameplay loop where creatures and monsters spawn and have to be sorted into separate rooms
• Created pathfinding logic for creatures and monster, both for the main room and their respective rooms
• Created pathfinding logic for creatures and monster, both for the main room and their respective rooms

VR Carnival Minigames
A collection of carnival games recreated in Virtual Reality and placed into a realistic carnival environment.
• Size of Team: 1 – Me
• Role – Programmer, Designer
• Engine / Technologies used: Unity Engine and XR Interaction Toolkit
• Development Time: 1 Week
• Platform: Oculus Quest 2
Key Accomplishments and Tasks:
• Utilized the XR Interaction Toolkit to handle controller input, object grabbing, haptic and visual feedback, UI interaction in Virtual Reality.
• Made a realistic carnival environment using Unity’s terrain system and Carnival Assets.
• Programmed two different kinds of VR Locomotion, Teleportation and Trackpad.
• Added realistic ambient sounds, improving the immersiveness of the experience
• Implemented a two-handed weapon, the bow and arrow.
• Utilized LOD to reduce the number of GPU operations, improving performance.
• Designed and developed multiple carnival minigames.
I was always interested in VR games and how they can immerse you more than any other type of game. After writing my professional article on the theme: “The History of Virtual Reality – How the technology has progressed” I took an even greater interest. This happened during the initial COVID-19 lockdowns and at the time there were no carnivals to visit, so I decided to make my own carnival that could be visited from the comfort of my own room.
The games that I chose to be placed into this VR carnival scene were some of the most popular and well-known games that could be commonly found in carnivals. They were quite simple games in real life, but they were quite hard to implement in virtual reality.
The game that was hardest to implement was the bow and arrow minigame. Handling stuff with two hands in virtual reality is not the easiest task, but in the end, it turned out quite well.
• Size of Team: 1 – Me
• Role – Programmer, Designer
• Engine / Technologies used: Unity Engine and XR Interaction Toolkit
• Development Time: 1 Week
• Platform: Oculus Quest 2
Key Accomplishments and Tasks:
• Utilized the XR Interaction Toolkit to handle controller input, object grabbing, haptic and visual feedback, UI interaction in Virtual Reality.
• Made a realistic carnival environment using Unity’s terrain system and Carnival Assets.
• Programmed two different kinds of VR Locomotion, Teleportation and Trackpad.
• Added realistic ambient sounds, improving the immersiveness of the experience
• Implemented a two-handed weapon, the bow and arrow.
• Utilized LOD to reduce the number of GPU operations, improving performance.
• Designed and developed multiple carnival minigames.
I was always interested in VR games and how they can immerse you more than any other type of game. After writing my professional article on the theme: “The History of Virtual Reality – How the technology has progressed” I took an even greater interest. This happened during the initial COVID-19 lockdowns and at the time there were no carnivals to visit, so I decided to make my own carnival that could be visited from the comfort of my own room.
The games that I chose to be placed into this VR carnival scene were some of the most popular and well-known games that could be commonly found in carnivals. They were quite simple games in real life, but they were quite hard to implement in virtual reality.
The game that was hardest to implement was the bow and arrow minigame. Handling stuff with two hands in virtual reality is not the easiest task, but in the end, it turned out quite well.

Holographic Map
In this project, I created a real-time holographic map that would accurately represent the surroundings
• Size of Team: 1 – Me
• Role – Graphics Programmer
• Engine / Technologies used: Unity Engine, VFX Graph
• Development Time: 1 Day
Key Accomplishments and Tasks:
• Created a Holographic Map using Unity's VFX Graph
• The map uses a camera that outputs to a render texture, so the map updates real-time to changes in the environment
• Added Projector and Scanning Lines to juice up the effect
• Size of Team: 1 – Me
• Role – Graphics Programmer
• Engine / Technologies used: Unity Engine, VFX Graph
• Development Time: 1 Day
Key Accomplishments and Tasks:
• Created a Holographic Map using Unity's VFX Graph
• The map uses a camera that outputs to a render texture, so the map updates real-time to changes in the environment
• Added Projector and Scanning Lines to juice up the effect

Bouncy Letters - Edurino
• Created gameplay loop where the big monster requires an uppercase letter to be fed and the small monster requires a lowercase letter to be fed.
• Improved gameplay loop by alternating letters at a later stage.
• Created rope behaviour leveraging Dreamteck Splines (Node Connector, Path Generator & Spline Computer) and Unity's Joint system
• Improved gameplay loop by alternating letters at a later stage.
• Created rope behaviour leveraging Dreamteck Splines (Node Connector, Path Generator & Spline Computer) and Unity's Joint system

Penguin Huddle - Edurino
• Created main gameplay loop where players have to place ramps & bridges to get the penguins to move past obstacles
• Created penguin movement logic:
• Penguins always move horizontally until they reach an obstacle or movement element
• Penguins can not drop from 2 blocks high
• Penguins will move across/up/down a movement element once they reach it
• Penguins will not interact with movement element if the element is placed while they're on them
• Penguins will not go up/down ramps if they reach them from the wrong side
• Created penguin movement logic:
• Penguins always move horizontally until they reach an obstacle or movement element
• Penguins can not drop from 2 blocks high
• Penguins will move across/up/down a movement element once they reach it
• Penguins will not interact with movement element if the element is placed while they're on them
• Penguins will not go up/down ramps if they reach them from the wrong side

Follow The Light
Follow the Light is a 2D puzzle platformer in which you take control of a lost boy with an uncommon companion trying to find his way home in a neo-noir world. This game was published on Newgrounds and Itch.
• Size of Team: 2 – Me, Artist
• Role – Programmer, Designer
• Engine used: Unity Engine
• Development Time: 3 Months
• Platform: WebGL and PC
Key Accomplishments and Tasks:
• Programmed the moth movement from lamp to lamp by using the A* pathfinding algorithm.
• Rapidly created, iterated and tested the level design by using Unity’s Tilemap system.
• Improved the feel of the game using game design practices like coyote time, jump buffer and hang time.
• Created 2D cutscenes by utilizing Unity’s Timeline system.
• Improved the look of the game by implementing Unity’s experimental 2D lighting in the Universal Render Pipeline. Also added post-processing effects to accomplish a more aesthetic look.
• Stored data of level completion and moth deaths persistently with the use of Unity’s Playerprefs.
This was the capstone project of my Games Programming Diploma, in which our professor took the role of a publisher. During the development, we would have mock-up meetings for every stage of production with our publisher where we had to present and report the progress of the game. This experience helped me a lot to understand how to work with publishers and understand the game development process on a more professional level.
During the planning stages for the project, I knew that I was going to be the sole programmer and I wanted to keep it simple and not over scope the project. I went simple and decided to make a short but polished game.
I wanted the game to be about a lost boy and a lost moth. The boy, even though he is lost himself, decided to help the moth and put someone else before himself, in an act of unselfishness. During the development I decided to also add an obstacle that could kill the moth as well and from that came the idea to make two different endings for the game, based on how many times the moth died. If the moth dies a lot, you get the “bad” ending in which the moth gets stuck in an endless loop between the lamps, meaning that no matter how much you sacrifice yourself and try to help the people around you, some people can not be helped. If the moth doesn’t die a lot, you get the “good” ending in which both the boy and the moth get home safe. In the end, the game is about two companions trying to find their way in the world, and like in life, the path may not always be similar for you and your friends.
I decided to make hazards for both the moth and the player, bringing a bit of spice into the game. For the player, the obstacles are spikes, icy blocks, and in some situations the jump pads, and for the moth, it’s a light that kills him instantly. The player has to navigate around the spikes and he has to guide the moth around or when the insect-killing light is off. As obstacles go, these are simple, but combining them together and with other game mechanics can bring a lot of complexity to the level design. E.g. Combining icy blocks and spikes would make it harder for the player to time his jump properly.
Before the tutorial levels, a cutscene would play explaining to the player the situation that he is in. In the tutorial levels, I decided to put neon signs that the player could read that would explain the mechanics. The neon signs fit the aesthetic of the game quite nicely and were simple and easy to implement.
For this game, there were a lot of challenges playtesting, mainly regarding the difficulty of the levels. After a lot of iterating and playtesting the game was a bit unbalanced in the end, being hard to play for players that are experienced with platformers, and it was a bit too hard for the more inexperienced ones.
• Size of Team: 2 – Me, Artist
• Role – Programmer, Designer
• Engine used: Unity Engine
• Development Time: 3 Months
• Platform: WebGL and PC
Key Accomplishments and Tasks:
• Programmed the moth movement from lamp to lamp by using the A* pathfinding algorithm.
• Rapidly created, iterated and tested the level design by using Unity’s Tilemap system.
• Improved the feel of the game using game design practices like coyote time, jump buffer and hang time.
• Created 2D cutscenes by utilizing Unity’s Timeline system.
• Improved the look of the game by implementing Unity’s experimental 2D lighting in the Universal Render Pipeline. Also added post-processing effects to accomplish a more aesthetic look.
• Stored data of level completion and moth deaths persistently with the use of Unity’s Playerprefs.
This was the capstone project of my Games Programming Diploma, in which our professor took the role of a publisher. During the development, we would have mock-up meetings for every stage of production with our publisher where we had to present and report the progress of the game. This experience helped me a lot to understand how to work with publishers and understand the game development process on a more professional level.
During the planning stages for the project, I knew that I was going to be the sole programmer and I wanted to keep it simple and not over scope the project. I went simple and decided to make a short but polished game.
I wanted the game to be about a lost boy and a lost moth. The boy, even though he is lost himself, decided to help the moth and put someone else before himself, in an act of unselfishness. During the development I decided to also add an obstacle that could kill the moth as well and from that came the idea to make two different endings for the game, based on how many times the moth died. If the moth dies a lot, you get the “bad” ending in which the moth gets stuck in an endless loop between the lamps, meaning that no matter how much you sacrifice yourself and try to help the people around you, some people can not be helped. If the moth doesn’t die a lot, you get the “good” ending in which both the boy and the moth get home safe. In the end, the game is about two companions trying to find their way in the world, and like in life, the path may not always be similar for you and your friends.
I decided to make hazards for both the moth and the player, bringing a bit of spice into the game. For the player, the obstacles are spikes, icy blocks, and in some situations the jump pads, and for the moth, it’s a light that kills him instantly. The player has to navigate around the spikes and he has to guide the moth around or when the insect-killing light is off. As obstacles go, these are simple, but combining them together and with other game mechanics can bring a lot of complexity to the level design. E.g. Combining icy blocks and spikes would make it harder for the player to time his jump properly.
Before the tutorial levels, a cutscene would play explaining to the player the situation that he is in. In the tutorial levels, I decided to put neon signs that the player could read that would explain the mechanics. The neon signs fit the aesthetic of the game quite nicely and were simple and easy to implement.
For this game, there were a lot of challenges playtesting, mainly regarding the difficulty of the levels. After a lot of iterating and playtesting the game was a bit unbalanced in the end, being hard to play for players that are experienced with platformers, and it was a bit too hard for the more inexperienced ones.

Split Screen Drifting
Split Screen Drifting is a two-player local co-op arcade drifting game. Select your car and drift around the track to bump up that score.
• Size of Team: 1 – Me
• Role – Programmer, Designer, Modeller
• Engine / Technologies used: Unity Engine, Blender
• Development Time: 3 Weeks
• Platform: PC
Key Accomplishments and Tasks:
• Implemented local split-screen multiplayer
• Modelled three different cars in Blender.
• Made use of Unity’s Wheel Colliders to take care and fine-tune the car physics for a fun arcade experience.
• Prototyped and created levels speedily with the use of SNAPS.
• Made a car and colour select menu.
• Used Unity’s new Input System to handle input for multiple controllers.
• Programmed and designed a drift game mode
This project started off by making the cars in Blender. Initially, I just wanted to get to know Blender a bit better and I decided to make some of my favourite cars. After I modelled the cars, I also wanted to put them into a game.
Firstly, I wanted to make it a bit more realistic by making gears and gear shifts. After diving deep into the topic, it proved to be a bit out of the scope of the project, and I decided to take a bit more of an arcade approach.
Tuning the Wheel Colliders also proved to be a bit of a challenge, I wanted every car to feel and handle differently, which with a lot of fine-tuning and playtesting I managed to accomplish.
I wanted the drifting to be easily initiated and easy to control. I also wanted the complete track to be driftable in one single drift, utilizing snaps to quickly prototype levels helped me a lot with this.
The race mode was a one-minute race, the player that got the higher score would win. The players can only get points by initiating drifts and holding them for as long as they could. A multiplier was added for the speed and length of the drift, meaning the longer and faster your drift is the score would increase faster.
• Size of Team: 1 – Me
• Role – Programmer, Designer, Modeller
• Engine / Technologies used: Unity Engine, Blender
• Development Time: 3 Weeks
• Platform: PC
Key Accomplishments and Tasks:
• Implemented local split-screen multiplayer
• Modelled three different cars in Blender.
• Made use of Unity’s Wheel Colliders to take care and fine-tune the car physics for a fun arcade experience.
• Prototyped and created levels speedily with the use of SNAPS.
• Made a car and colour select menu.
• Used Unity’s new Input System to handle input for multiple controllers.
• Programmed and designed a drift game mode
This project started off by making the cars in Blender. Initially, I just wanted to get to know Blender a bit better and I decided to make some of my favourite cars. After I modelled the cars, I also wanted to put them into a game.
Firstly, I wanted to make it a bit more realistic by making gears and gear shifts. After diving deep into the topic, it proved to be a bit out of the scope of the project, and I decided to take a bit more of an arcade approach.
Tuning the Wheel Colliders also proved to be a bit of a challenge, I wanted every car to feel and handle differently, which with a lot of fine-tuning and playtesting I managed to accomplish.
I wanted the drifting to be easily initiated and easy to control. I also wanted the complete track to be driftable in one single drift, utilizing snaps to quickly prototype levels helped me a lot with this.
The race mode was a one-minute race, the player that got the higher score would win. The players can only get points by initiating drifts and holding them for as long as they could. A multiplier was added for the speed and length of the drift, meaning the longer and faster your drift is the score would increase faster.
Contact
bottom of page