Keanen Collins

Game Programmer

About Me

Thanks for checking out my site. I'm Keanen, I'm KEANEN_AGE and I'm looking for a job as a programmer!

On this website you will find the projects that I'm the most proud of. In my spare time I like to do a lot of smaller Unity projects, sometimes based off of my own ideas and sometimes just trying to replicate existing mechanics I enjoy in other games.

My core skills are in C++ and C#, however sometimes I will try something a little different in order to expand my skillset. In the past I have used different languages such as Java, C and even HTML/Javascript. This website is a project I started in college, and I have been iterating upon it over the years.

I would love to put my skills to use in your company! Please email me at keanen195@gmail.com if you would like to discuss any opportunities that may be available.

Rental Car Derby is a demolition derby game where you have to avoid taking damage as much as possible! We decided to use the theme from the 2023 GMTK Game Jam, Roles Reversed, in order to brainstorm the idea for this game, and imposed a 48 hour restriction on ourselves. This session allowed us to come up with a game idea we believe was fairly unique and very interesting to all of us on the team.

Our goal for this project was to have a complete experience from beginning to end within the time-limit. For this reason we decided to use Unity, which we all have ample experience with. Our team consisted of four developers including myself. Each member of the team assisted with programming the game and worked where needed. My primary focus was on car collisions and dynamic 3D model deformation, however I also worked on other aspects alongside other members of the team such as the camera, the game loop and sound systems as well as bug fixes and modifications to other systems where needed.

This project went very smoothly, and all members of the team were consistently communicating and contributing to the project to make the game fully functional. We were able to use our previous experiences in order to design and create a project with the correct scope that could be completed before the deadline. We used Trello in order to separate the different tasks and assigned ourselves to any tasks that we were currently working on.

After completing the jam successfully, myself and another member of the team decided to continue working on the project for another week in a smaller capacity in order to polish it into an even more complete experience. This included improving deformations and damage caclulation further, adding a trick system for prize money, new custom mud shaders, rebalancing the arena, adding a quick play option and more. The version being showcased is the polished version of the project.

SoundWave is a 2D side-scrolling platformer with a rhythm game twist! Dodge obstacles and anticipate hazards by paying close attention to the beat of the song.

This game was based off of our entry for Global Games Jam 2017 with the theme "waves". Our original game was about navigating rhythm based obstacles while guiding your AI companion, however for the full release we decided it would be better to focus on just one of the mechanics so that we develop it further. Unfortunately this meant that the companion character was dropped from the game.

We used Unity and C# to reimagine the project. I was in charge of developing the character controller as well as the rhythm mechanics. I worked with our designer to implement these new mechanics so that the rhythm objects could be tweaked from the inspector without having to write additional code to create new behaviours, allowing levels to be made far more easily.

As hobbyist developers with day jobs our biggest struggle was time-management. We initially planned to finish the project within a month, but it ended up taking four months. Around the end of month 3 we decided that our current relaxed approach wasn't working, so we created a Trello board and scheduled time to work together in the evenings. In the following month we made considerable progress, and a portion of that time was spent polishing and bug-fixing before release.

Lorem ipsum dolor sit amet, consectetur adipiscing elit!

Unlock Luigi and play through the Mario 64 levels you know and love from a new perspective. Help Luigi collect all 120 Green Stars with his new movement options and unlock a fun reward! Green Stars cannot be used to open the castle doors as they do not have the same energy as Power Stars. Looks like Mario has to do all the important work once again, despite Luigi's efforts!

This mod was created using SM64 Port Refresh 12, a PC port of Super Mario 64 based on the Super Mario 64 decompilation project, which allows you to decompile the original N64 game into documented C code! I took a little time to learn how some of the systems worked, and decided to work on this Luigi mod in order to put what I had learnt into practice! This is my first time working with pure C code, but thanks to my knowledge of C++ and my basic understanding of C practices from University I was able to create this project with only a little resistance!

I gained a fair amount of traction with this mod, as of the time of writing the release video is sitting at over 12,000 views and has a 97.2% like ratio. As well as this, a showcase of my mod by a channel called Unreal gained more than 70,000 views and 1300 likes (It also only had 36 dislikes before the feature was removed from YouTube). People appeared to be very happy with my work and I even got some DMs from people who tried it showing their appreciation! The channel is now defunct, however you can see the last known statistics of the video here

The idea for the mod came from an old rumour that stated that the plaque in the courtyard of the castle says "L is Real 2401". Many theories stated that you could unlock Luigi by doing an action such as running around the plaque 2401 times. For my version I made it a little more plausible to attain so that people had a chance to play with it properly, and I decided to also turn it into a completion bonus! I had a lot of fun learning how Mario controls in this old Nintendo 64 game and loved figuring out how to solve issues such as changing the character model, which of course was never a feature in the game.

The following download is a git patch file for SM64 Port. It contains all my code changes if you would like to take a look. I cannot provide a download to a compiled version of the game for legal reasons, but please feel free to patch the game for yourself! In order to access Luigi, you will have to collect 24 coins in a level and set the life counter to 1, then go to the castle courtyard and talk to the Boo in the fountain. Or alternatively, just beat the game with 120 stars!

Lorem ipsum dolor sit amet, consectetur adipiscing elit!

Originally prototyped during the 2017 GMTK Game Jam, Life Lynk is a top-down wave-based shooter where health is linked to your weapon through your suits energy. Every round you fire uses energy and performing stunts like rolling uses up some of your energy too! This can create some tense scenarios as more and more different types of enemies arrive. You are equipped with 4 weapons: a pistol, a rifle, a shotgun and a rocket launcher.

When developing this game, some members of our team could only join us for short periods of time, and we ended up struggling to get the game completed in time. Despite this we were proud of what we accomplished. The game was played by Mark Brown of GMTK on his livestream and he levelled some critiques of the game including its high difficulty, its lack of tutorial and the fast reflexes required to trigger the active reload mechanic.

We all agreed with these critiques however the team was finished with the project. I decided I wanted to try and update the project to cater to these crtiques to make the game as good as it could be and live up to the plans we had for it. Rather than reworking the existing game, I decided to start over, using the original project as reference. I believe I was able to take the use the critique to form a more well rounded experience that was only possible thanks to the work our team did on the original game and the great feedback we received.

Both the GMTK Jam version and the reworked version were made with Unity. In the video embedded here I demonstrate my second version that was based off of the code, sound design and artwork made by our team during the official jam timeframe.

Lorem ipsum dolor sit amet, consectetur adipiscing elit!

The Forge Engine is a game engine created as part of a module that simulated working in a game studio environment. The module consisted entirely of programmers from the Staffordshire University Games Programming course and Computer Science course, but we all had to work on design and art for the engine and the games we made using it.

The engine we were tasked to create only needed to be capable of creating a set of unique platformer games, however the flexibility of the engine we designed means that we could potentially use it for other types of games due to the lua scripting, hierarchical structure and Entity-Component-System.

The front-end was designed with C# WPF and uses CLI to access the Engine Core which was developed in C++ using DirectX 11. The engine can also create builds with an executable file. The demonstration video embedded shows off the Metroidvania I created using this engine in a short timeframe after the engine was completed, as well as an overview of the engine itself!

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.