top of page

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

GitHub

TOGA.png

Direct X Cube Game

Platform

Windows

Engine / Language

C++

Current Version

---

Work Force

Solo Project

Project Type

---

Links

GitHub

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. 

READ MORE

DirectX.png

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. 

ArtefactImage_001.png
ArtefactImage_002.png

Mathematical Elements for Games

Platform

Windows / MacOS

Engine / Language

Unity, C#

Current Version

---

Work Force

Solo Project

Project Type

---

Links

GitHub

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

GitHub

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

GitHub_Logo.png

(C) George Honeywell 2022.

  • Black Twitter Icon
  • Black LinkedIn Icon
bottom of page