Sean Makoka : Programmer

Combat and UI Programmer of Steel Seraph
Experienced in Gameplay,Graphics,UI

About Me:

Hi, I'm Sean Makoka. I have studied C++ , C# and unity for 3 years and was the weapons and combat UI programmer in the team behind Steel Seraph and have worked two other projects in a team .

Real-time reflections library in openGL

This gif demonstrates my real-time reflections library in action within an OpenGL enviroment. The reflections are simulated through use of dynamic cube-maps and custom shaders. This process was inspired by how Rockstar Game's GTA 5 does real time reflections. Every reflective object Contains 6 cameras that face the negative and positive x, y, z directions. Each these cameras then renders to one face of the cube-map. The shaders then take in the camera position and cube-map texture and calculate a light reflection vector using the fragments normal to sample the cube-map texture pixel per fragment.Unfortunately due to all of the cameras existing within the same point reflections will look slightly off when the a normal object is extremely close to the reflective object or inside of it. This appear to be limitation of this technique I would like to work around this in my own time

Unity Group Project: Steel Seraph

Steel seraph was My Teams Take on the parkour shooter genre made in Unity. It's a fast paced shooter in an arena Like area where you are surrounded by hoards of enemies.I had couple of jobs on the team; whilst my main focus was the combat system of the game I also worked on the combat, options UI and logic of weapons effects such as bullet holes and explosions.Weapons systems heavily relied upon polymorphism ; having a main ranged weapon class and then a shotgun and revolver class to inherit from it. Unity's ray-cast system was used to produce the ability to hit objects and enemies. A hit-data struct was made to take in the various information a ray-cast has to prepare for the various cases that may happen.Doing the bullets as ray-casts was pretty helpful because it allowed me to get the collision point normal for effects like bullet holes and hit effects.One improvement I would make in r is have the guns function on a state machine instead being Boolean based to allow for easier to read code and more advanced manoeuvres but the way it was coded worked fine for the scope we were working with.

Unity Group Project : carrot rush

This is platformer that i worked on with some other developers cohorts during my first year as a programmer. Carrot rush was fast past-paced collect-a-thon platformer in where the player had to find all the carrots in area to give to their bunny siblings to bring them home. Through slides, jumps, glides and dashes you could navigate the islands at your pace in a number of ways.my main role in this project was more general; I would work UI code but I also programmed some of the obstacles and was on bug watch for multiple scripts of the project. I was also the voice of the main character.

Unity Group Project: Jawbreaker

This was another game I worked on whilst in another group. It's a Physics -based party game of 2 to 4 players that go head to head in attempt push each other off stage with the main gimmick being the ability to pop of your head and control it separately from your body to reattach it to other body strewn about the level .
I Had 3 main roles in this project. Programming most of our Menu UI, our sound manager and the creation of a scene-based UImanager that allowed our designers to assign UI prefabs and their triggers through the use of unity's scriptable objects.

Custom Retro Game Made in C++

This is a is small game I made in the early days of me getting used to C++ language. Within this game exists facilities like Axis Aligned Bounding Boxes and a sprite sheet usage System I was working on. It allowed the the user to determine animation clips within sprite sheets and run through said clip or switch to another anytime. However it was still in early stages so I would like to improve upon this.