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.

Games

Rift Breakers

Art Made By: Ayk Perera and Philippe

Link to Game

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.


Tank Turn Up

Link to Game

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.


Frog Snatch

Link to Game / Repo

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.


Planted

to be added

Timeframe: 5 Weeks

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.


Back-Track (Game Jam)

Link to Game

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.

Back

Rift Breaker

Art Made By: Ayk Perera and Philippe

Link to Game

TimeFrame: 8 - 10 Weeks

Software Used: Unreal Engine

Role: AI Programmer

Skills: Unreal Engine Blueprints | Mechanic Design

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.

Back

Tank Turn Up

Link to Game

Timeframe: 3 Months

Software Used: Unreal Engine | AutoDesk Maya | Piskel

Role: Game Developer

Skills: Blueprints | 3D Modelling | Animation | Pixel Art

Back

Frog Snatch

Link to Game / Repo

Timeframe: 2 Weeks

Software Used: Raylib | VS Code | Aseprite

Role: Game Developer

Skills: C++ | Pixel Art

Back

Back-Track

Timeframe: 2 Days

Software Used: Unity Game Engine | Piskel, Visual Studio

Role: 2D Pixel Artist

Skills: Pixel Art

Projects

3D Physics Engine

Link to Repo

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.


Advanced Real-Time Graphics

Link to Repo

More Information

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.


2D Game Engine

Link to Repo

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.

Back

3D Physics

3D Physics Engine

Timeframe: Current

Software Used: Direct X 11 | Visual Studio | GitHub

Role: Programmer

Language: C++

Skills: 3D Maths | Physics | Collisions | 3D Collisions

Back

Advanced Graphics

Advanced Real-Time Graphics

Timeframe: Current

Software Used: Direct X | RenderDoc | Visual Studio | GitHub

Role: Programmer

Language: C++ | HLSL

Skills: 3D Maths | Graphics | Shader Code | Post-Processing Techniqes | Lighting

Back

2D Game Engine

2D Game Engine

TimeFrame: On-Going Side Project

Software Used: Raylib | Visual Studio / VS Code | GitHub

Role: Programmer

Language: C++

Skills: Game Engine Architecture | Object Container System | ECS (To be added later on in development)

Elements

Text

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.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form