A passionate and experienced programmer with a First-Class BSc (Hons) in Computer Games Programming from Kingston University (London, UK). Over the years, I’ve worked on a wide range of projects, from interactive tools and mobile applications to shipped game titles, always approaching challenges with a problem-solving mindset and a commitment to delivering high-quality results. My experience spans multiple areas of development, and I’m always eager to learn new technologies and take on complex technical challenges.
I would like to highlight my final year project at Kingston University, NFT Terrains. This ambitious project allowed me to leverage a range of my skills and resulted in a final project that I am extremely pleased with.
Please take a look at my dissertation on this project for a more comprehensive understanding of the development process:
Having a side project allows me to freely explore technology that I find interesting. For this project, my goal was to learn about procedural animations, Unity's Netcode for GameObjects, game server hosting via AWS, and P2P via Steam services.
This video showcases the Steam P2P flow and a few additional features of the project, such as procedural animations:
I developed a level editor for Playmint's Playerchain Demo game, collaborating closely with the art team to create a tool that simplifies level creation. This editor enabled designers to efficiently build and implement new levels used in the game.
Try the level editor here: playmint.github.io/playerchain-demo-level-editor.
For controls, refer to the README.
Working at Playmint introduced me to the fascinating world of fully on-chain games. Soon after joining the team, I was tasked with implementing on-chain logic for one of the Downstream minigames, "Duck vs Burger", where two teams competed by placing either a duck or a burger building.
Through this experience I learned a programming language called Solidity which is specifically designed for developing smart contracts on the Ethereum blockchain. This allowed me to understand and implement decentralized logic, handle on-chain data efficiently, and ensure the integrity of interactions within the game.
Clucking Chaos is a mobile game that was commissioned by a YouTuber called Floky, who was creating a video to see who would create the best Angry Birds parody game out of a few developers that he found through the freelance service, Fiverr.
I worked on this game with my development partner at Locus Amoenus. In this game, I created the code, and the models, and Serena, my development partner created the scenery, and designed the levels. We used Unity, as well as other tools such as Blender to make the 3D models, Adobe Photoshop, and Adobe Illustrator.
Floky kindly allowed us to keep the advertising revenue made from our app, so we implemented Google AdMob to display periodic ads to the player. Also, since we had less control over where the game is being advertised, we saw that it was important to release the game for iOS aswell as Android. Doing this allowed me to learn the tools and skills required to release a game on the App Store.
Below is our part of Floky's video:
During the viral explosion of AI technology accessible to the public, I quickly because very interested in leveraging this tech in my own projects. Inspired by the AI Seinfeld show created by "Nothing, Forever", I started my own comedy show powered entirely by AI. The idea is that I can stream the show 24/7 while the AI constantly creates brand-new stand-up routines and bits, and performs it live.
I implemented the AI features by calling OpenAI's APIs. I would send a post request containing Bruno's character and personality, and a random style of comedy, and I would ask the AI to format the response separately with tags such as "/say", and "/laugh [1 - 3]". My program would then calculate the response and it would send everything after the "/say" tag to Windows text-to-speech to read it out, while Bruno visually performs the set by walking around and waving his arms.
Another interesting feature is the parody news segment where the AI will come up with a random parody news headline, I would then call a text to image AI and display the output on the TV next to the headline, and Bruno will perform a comedy routine based on the prompt of the headline.
Following up on my interest in cyber security, I decided to learn about sending data through an IP address, and how that data could be protected. Utilizing a similar encryption method I learned before in my file encryption software, I used that to encrypt outgoing packets, and decrypt the incoming packets.
Here is a demo of how the client, and server interact:
9Lives is a mobile game made in Unity. I worked closely with a colleague throughout the development process, where I would focus on technical programming, and my partner was in charge of the art and design.
To market the game, we created TikTok ads paid for by our freelance work and we managed to achieve over 650,000 impressions, which resulted in over 5,000 app installs.
NFT Terrains was my final year project at Kingston University. I became very passionate about learning how Minecraft world generation works, which lead me into doing a lot of research into this. I decided to give it a go on my own using Unity.
It was very important that everything had to be created without Unity's default features like the lighting, and primitive objects, because if I were to use these, the game would become extremely laggy.
I really enjoyed the challenges that came with this project such as the programatic seed-based random world generation, creating the custom shaders, multi-threading, and NFT integration.
Below is a showcase of the project:
Red Impact is a multiplayer game I made using Unity. It's a momentum-based Sci-Fi shooter game that has multiple game modes including Deathmatch, and King of The Hill.
For multiplayer implementation, I used a service called Photon Bolt which gave me full control to create fully synced worlds and gameplay.
Here is some footage from a play test with a few players:
Before I had decided to turn this into a multiplayer game, this was a single-player game with a subtle storyline. Here is a video that shows the gameplay that I submitted as one of my University projects:
For a university assignment, we were given the task to develop AI with a form of obstacle avoidance using the GFC engine (Kingston University in-house C++ engine). I was intrigued by the flocking algorithm and "boids" which refers to the way in which fish and birds are able to navigate as a flock and not collide with one another.
During my journey learning Unity game development. I often published my finished projects on Steam. I made Area 51 in light of a viral internet joke where it was said that a bunch of people would raid the Area 51 military base, so this game is themed around that event.
This is the trailer I made for the game:
The game has sold a total of 605 units. You can check out the Steam page here:
https://store.steampowered.com/app/1125130/Area_51/I became very interested in the topic of cyber security, so I decided to make a tool that can encrypt and decrypt files by changing each byte of the file to a UNICODE value that is offset by the user-provided key. It could then decrypt the file using the same key and doing the calculation backwards.
We were given the task to create interactive media that would aid the public. I chose to create an interactive map that shows the locations of all the banks in Kingston, London. I created this using Unity and it was designed to be used on a touch screen kiosk.
Using Blender, I animated a scene that displays how the map would look on a kiosk.
I partnered with my colleague to work on our own game development studio called Locus Amoenus. During the last two years, we've worked together on 21 different client game projects where we've received nothing less than 5-star reviews for our work.
Take a look at some of my freelance work here