For more information, feel free to contact me or go to one of my social media accounts
Introduction
Me: Sage O Ekpang
I am Belgian/Nigerian and I speak both English and French (I would like to learn Dutch one day when I get better at my French).
I love to learn and love experimenting with game mechanics using C++.
What drives me is creating mechanics and programs that push my knowledge of what I know and that I can further improve on.
I would plan to pursue a career in physics programming as it combines my creativity and real world applications of what we can make physics to be in games.
University of Staffordshire
I am a current student at University of Staffordshire Studying BSc (Hons) Computer Games Programming.
My aim is to graduate and become a game programmer for an indie studio or AAA games company working on their physics engine,
my work can be seen here: Portfolio.
I plan to create a physics project to showcase my understanding of physics and the many optimisations and techniques that go into making a physics engine.
Passion for Technology
I have a passion for all things tech. I love looking for innovations and learning about how different technology can be integrated together and the development of new tech to make interacted entertainment better. My interests lean more towards tech to do with physics and simulations and how they showcase the in game ways physics can interact with the player.
My passion for physics stems from a module I had done in my second year of university and from there, I have had a curiosity about physics and the application of it within simulations and games. Simulations such as Nvidia's Nvidia FleX software demonstrated a very cool and innovative way of presentation of physics that could take place within a game. I am looking forward to explore more about physics and its applications.
Experiences
I have extensive experience in multiple game engines as well as coding languages. Some to note are Unreal Engine, Unity, C++ and C#. You can refer to my Portfolio to learn more about my experience and skills.
I am currently learning and implementing physics into my skillset to become a physics programmer. I am constantly working and refining the programmatic skills I have learnt as well as develop skills that will make me a best fit for a game industrial environment.
Game Description: Rift breakers is a First Person Shooter (FPS) hoard shooter game that has use defending the main generator whilst also defending the sub generators that generate the shields for the main generate. Fight a range of enemies from the fishman that hoard you to the snails that will explode on close contact to the heavy enemies that will rain down motor rounds. Wall jump, Slide and run your way to defend yourself against these enemies. Having a range of weapons to choose from to dispatch these foes.
Game Description: Tank Turn Up is a 3D platformer that was made in Unreal Engine 4 using Blueprints and the Maya 3D modelling software.
In this game, you play as a tank and collect points whilst dodging different obstacles and accumulating a high score.
This project was made for my college FYP and it tested my skill with Unreal Engine Blueprints, 3D Modelling and my Game Design knowledge.
Overall I love making the game and further refinement would make the game even better.
Description: Frog Snatch is a short 2D game project I had created to test my current knowledge of C++ and it was a fun small side project to embark on. I treated it like a game jam but I had given myself a lot longer because I wanted to make sure the game was done properly.
Software Used: Unity Game Engine | Visual Studios | Aseprite
Role: Game Developer
Skills: C# | Pixel Art
Planted is a 2D shooter platformer game made in unity Game Engine. You play as a small wood creature that has to collect seeds, kill enemies and use the seeds you can shoot to create different platforms that can be traversed. Using your many abilities you will be able to traverse through the level with ease. There are 3 levels within the game and they all range in difficulty as you progress, so make sure to use what you learnt on previous levels to progress forward and reeach the goal.
Description: Back-Track is a 2D Pixel Art puzzle game where the player has to traverse different levels and complete puzzles to progress. You play as a small grandfather clock with the ability to clone its self into a stopwatch with the same movement. You must find ways of using the clone and the original to beat these levels. As well as this, you are able to "Back Track" by using an ability that allows you to swap yourself with a clone you create.
This game was created as part of the Global Game Jam event that me and two other of my friends had participated in. I had decided to take on the art as I had extensive knowledge in creating game assets. The jam was a very fun experience and I would recommend everyone try at least once, as it allows you to have fun and work within a team and do roles you are suited to do and want to do.
Role Description: I was responsible for programming the AI abilities and implementing the spawn system for the enemies as well as working with another programmer in doing the spawn weighting system for which enemies should be spawned at what time and how many enemies should be spawned at what time. I did this to the best of my knowledge and ability. Play the game to see this in action.
Description: 3D Physics Engine created for my Final Year Project. This was developed as I wanted to investigate physics fundamentals and how they were implemented in a physics simulation / game physics context. Along side this, I aim to implement accurate collisions using some of the known collision detection techniques such as SAT and GJK. As well as implementing a Convex Hull generation algorithm that allows for the creation of a 3D Conex Hull in conjunction with the collision algorithms implemented.
Further development of this project would involve focusing more on 2D physics and the collision implementation for 2D to make a 2D / 3D Physics engine, however, for this artefact, it will be focusing on 3D physics.
Description: This project was the investigation of graphics techniques and looking into how, using shaders, games implement different graphics techniques to make the games look unique and how these techniques are developed. I focused on Post-Processing, Deferred Shading, rendering to a Target and made sure that I had the knowledge to implement the different kinds of graphics techniques. Furthermore, a lot of the techniques can be applied to image processing and how I can use these techniques to change the original image. I also investigate edge detection briefly and gaussian functions for edge detection to further my knowledge in image processing.
Description: This project aim was to make a fully working game engine using the Raylib API (which is built on OpenGL). This is an on-going project, and I am working on it when I am not working on the other projects to do with uni. I want to be able to make my own functionality and not depend on a Game Engine to make games that I can put on mobile or even PC. As this is on-going, some of the functionality is not finished however, I plan to fully implement all the systems that I need for the project later. Feel free to look at the code as an overview or the techniques and way I have programmed it as well as ask questions about why I have used certain coding conventions.
This is bold and this is strong. This is italic and this is emphasized.
This is superscript text and this is subscript text.
This is underlined and this is code: for (;;) { ... }. Finally, this is a link.
Heading Level 2
Heading Level 3
Heading Level 4
Heading Level 5
Heading Level 6
Blockquote
Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.
Preformatted
i = 0;
while (!deck.isInOrder()) {
print 'Iteration ' + i;
deck.shuffle();
i++;
}
print 'It took ' + i + ' iterations to sort the deck.';