I really enjoy maths and physics, so implementing this physics-based cloth simulation using spring-dampers was very enjoyable.
C# Networking/Threading Project
This is a Server/Client Chatroom and Chess project that I made in C#. This was the first time I had written networking code so I left the low level networking to C#.
This let me focus more on the higher level issues with networking and threading such as deadlocks, race scenarios and Server/Client authentication.
Neural Network Flappy Bird
This flappy bird AI uses neural networks and genetic algorithms to take input data such as it's height and distance from the next pipe, and decide if the bird should flap it's wings. As you can see in the video,
the birds start out doing pretty much random wing flapping, and over time learn when the correct time to jump or not jump is. This project is very cool to implement and has made me very excited at the possibilities for
what genetic algorithm trained neural networks could do in game development.
Global Game Jam 2018
This is a game that I made alongside some friends during Global Game Jam 2018, which was my first game jam and something I enjoyed a lot. Since the game was made in 48 hours there are many areas that could have been improved, but I had a lot of fun making this game
with friends. The people I worked with were John Whiles,
Josh Shaw, Jose Paredi, Adam Thompson, Matt Williams, Sam Johnson and Jared Clark.
Tower Defence Genetic Algorithm
This program is a more simplified version of the above flappy bird code, as it just uses a genetic algorithm to adapt the outputs for the tower defence AI rather than how the AI "thinks".
This chess AI uses a basic minimax algorithm along with many optimization techniques in order to look into the future of certain moves and decide if they are good or not. This is done by simply evaluating
how good a board looks several moves in the future and deciding that if a board looks too good or too bad(perhaps losing 2 pieces and getting nothing in return) then there is no point in considering that set
of moves since either the AI or it's opponent will not let that move happen.
DirectX Shader Project
The above is a DirectX 11 project I produced in order to learn the basics of DirectX and shader programming. Within the Pixel Shader, I implemented Phong shading as it
produces the best effects, furthermore I produced a Post-processing effect in order to pixelate the screen. This project was both highly interesting and enjoyable for me
as it introduced me to new areas of programming that I had not worked within before.
UE4 C++ FPS
While this game was very fun to work on, there isn't anything too special about it programmatically other than the fact that it is the project I created to learn how to use UE4.
Open GL Project
This is a pretty basic scene graph of objects being rendered using OpenGL. With their transforms being inherited from their parents in the scene graph.
• C++ • C# • Lua • OpenGL • DirectX 11
Games Engines / Development Libraries
• Unreal Engine 4 • Unity • SDL 2.0
Other Programming Skills
• Source Control (Github/Perforce) • Multi-Threading • Object Oriented Programming • Networking • Team Communication • Program Design and Documentation
I'm currently a Programmer at Red Kite Games in Leeds, England. I love programming (especially in C++) and Games.
I spend most of my time either playing games with friends or messing with some C++ code. Some of my favourite games are Dota 2,
The Binding of Isaac, Borderlands 2 and Risk of Rain. I enjoy most somewhat challenging areas of games programming, but
I especially love AI and Graphics programming. I can't talk about any programming I do at work, but in my spare time I am currently spending my time looking into
type reflection in C++ and Dota 2 modding using Valve's Lua API with a friend.