top of page

GitHub Code

Links to Github have been added to the media of each project. By clicking on the media you will be presented with more information and a link to the relevant code on Github.

More projects coming soon.

  • Final Year Project.

  • Group Game Development project.

  • Four AI projects:

    • Flocking Simulation

    • Chess Algorithm

    • Tower Defense (Genetic Algorithm)

    • Evolutionary Flappy Bird (Neural Network with Genetic Algorithm)

Low-Level

Final Year.

Created using C++.

Given a framework that used raytracing to render spheres. I implemented a range of techniques to manage memory and improve processing time. I added-

  • Threading

  • Animations

  • Heap Management

  • Porting to Linux - VMWare Ubuntu

My additions took the framework from a completion time of over 100 seconds to 8-10 seconds windows. 7-9 seconds Linux.

At 640x480 resolution.

Tank AI

Second Year.

Created using C++ and the SDL library.

Tank AI created to be placed within the given environment, and use the following behaviours-

  • FSM & FuSM decision making

  • Steering Behaviours (Seek, Arrive, Pursuit, Ob Avoidance, etc.).

  • DRS Pathfinding

Physics Engine

Second Year

Created using Directx 11 & C++.

A Physics engine, using a similar framework to that of the graphics engine; but with different features.

  • ParticleSystem (Fire, Snow, Rain).

  • Partial Separating Axis Theorem, AABB, Bounding Box & Sphere Collision Detection

  • Collision Resolution.

  • Particle Physics Model.

  • Rigidbody Physics Model (Angular Motion).

  • OctTree.

  • Etc.

Here are several images & short videos to show some fo these features.

Graphics Engine

Second Year
Graphics Engine created in DirectX using C++.
Project Includes-

  • Phong and Blur shaders.

  • Directional Lighting

  • Hard-Coded values and .OBJ loading for 3D/2D Models.

  • Texturing, transparency, culling, skybox, Render-to-texture

  • Car movement and rotation. 

  • Billboarding

  • Keyboard & Mouse Input

  • Etc.

The video shows many of the above features.

Concurrent Network 

Battleships

Second Year

Created in C# using windows forms in vs.

This is a Server-Client based project that allows clients to play battleships against each other.

  • Server heavy network model

  • Different Packet Types and Packet Handling

  • TCP & UDP 

  • Windows Forms / UI 

  • 2D Sprite Animation

  • Multiple Threads

  • Thread-safe techniques

  • Concurrent Dictionaries

GravityGuy & Mario

First Year

Includes two mini-games.

  • The first is a singleplayer game that uses a Mario theme. The game has AI, Collision Handling, Spritesheets etc.

  • The second is a single or multiplayer game, that takes inspiration from GravityGuy. The game has collision handling, modular levels from a text file, etc.

Implemented TTF library and SDL mixer.

Created using C++ and the SDL library.

Audio Created using BeepBox.

bottom of page