OpenGL Shape Randomizer
Engine / Language
C++
Platform
Windows / MacOS
Current Version
---
To push myself out of my comfort zone, I decided to create a graphic artefact for my first year programming unit. Focusing on OpenGL (C++) during the unit, I managed to create a 'Shape Randomizer', which would show three random shapes when the user presses 'enter'.
Using polymorphism in this project, I was able to create a base class, in this case shape and then create a derived classes named square, triangle and diamond. A base class and different derived classes to give different outputs was the most logical way.
Classes were used to encapsulate each of the vertices positions of the shapes and store them in a base class. Using inheritance in the derived classes to hold the vertices of each shape, by publicly accessing the base class.
Below are four screen shots of the project in action. Each screenshot shows a different pattern of shapes.
READ MORE
Work Force
Solo Project
Project Type
---
Links

Direct X Cube Game
Platform
Windows
Engine / Language
C++
Current Version
---
Work Force
Solo Project
Project Type
---
Links
For my Program 3D Application units, the aim of the unit was to make a small game using DirectX in C++. My idea was to create a small basic game which the user would control a cube, and catch on-coming cubes.
To understand DirectX, thorough research was conducted to understand how the graphics pipeline works for this specific API.
The artefact uses many different aspects of DirectX and 'physics based' approaches in terms of collision. The project started with a standard 2D triangle. With research and (a lot of) trial and error, I had successfully implemented a depth buffer, which allows the pipeline to render 3D geometry by storing depth information used by Direct3D.
With the DirectX ToolKit, I was able to load in custom textures and assign them to the cubes within the project.
As an added bonus, I added in a converter that outputs the in-game score and outputs that to a .CSV file once the timer hits 0.

PlayStation 4 DevKits
Platform
PlayStation
Engine / Language
C++
Current Version
---
Work Force
Group / Solo Project
Project Type
---
Links
---
During second year, I had the opportunity to use PlayStation 4 DevKits for one of my units.
For the first part of the unit (first image), I focused on game play programming I successfully implemented the trophy system for a group project.
Using the documentation provided, I was able to implement the trophy system on the PlayStation 4. This was used in the project when a user would press certain buttons on the controller to unlock a trophy.
The second part of the unit (second image), we were working on a project individually. For this, I wanted to explore how to render text by using a sprite sheet.
For this, I had to understand how vertices are managed using the SDK. By experimenting, I had worked out how to load a certain quad on the sprite sheet when a string was typed into the code. This then translated all of the points on the sprite sheet and displayed them on the screen.
Optimizing the performance of the artefact was important. Looking at many different approaches, I went into disassembly and researched how CPU cycles work. By understanding basic disassembly, I was able to convert to bitwise division to cut down on how many CPU cycles were performed when rendering a quad.


Mathematical Elements for Games
Platform
Windows / MacOS
Engine / Language
Unity, C#
Current Version
---
Work Force
Solo Project
Project Type
---
Links
This unit purely focused on the mathematical elements used in game development. Using Unity, we were required to create our own mathematical functions and use them to create an artefact.
The mathematical features in this artefact are as follows;
- Vector Addition, Subtraction, Division
- Vector Normalization
- Dot Product
- Cross Product
- Matrix Multiplication (Transform, Rotation & Scale)
- Euler Angles
- Quaternions
- AABB Collision
READ MORE
Programming AI for Games
Platform
Windows / MacOS
Engine / Language
Unity, C#
Current Version
---
Work Force
Solo Project
Project Type
---
Links
Programming AI for Games module allowed us to create different AI techniques.
For this project, the different AI techniques were implemented to re-create a Metal Gear Solid stealth AI.
- Finite State Machines
- A* Pathfinding
- Steering Behaviors (Wander, Obstacle Avoidance, Seek, Pursuit)
- Perception (Sensory) Systems
READ MORE...