Joe Knapton
Games Programmer
About Me
I've graduated from the University of Portsmouth in Computer Games Technology with a First Class Honours Degree. I'm a passionate and motivated programmer looking for opportunities to grow and expand my skillset. I'm a fan of games developing, and also love playing games competitively. Through this degree and my own hobbies, I have created a variety of games related projects both solo and collaboratively. Please enjoy my portfolio, and feel free to get in touch with any questions.
Selected Work


Satellite Visualizer (VR)
Engine: Unity
Language: C#
Description: This project is designed to be an educational tool to visualise satellites orbiting Earth. It was created in a team of 5 consisting of a designer, project manager, two artists and a programmer (myself). It was created for the South Coast Centre of Excellence in Satellite Applications. The code which allowed satellites to orbit Earth was taken from a pre-existing project provided to us by https://www.port.ac.uk/collaborate/business/sccoe, which I modified and built upon to meet our clients requirements.
CubeSat Construction Simulator (VR)
Engine: Unity
Language: C#
Description: This was a client-requested project for the South Coast Centre of Excellence in Satellite Applications. The user is able to drag and drop parts to construct a CubeSat and see real-world data about it. I was a solo programmer during this project in a team of 5.


Procedural Terrain Generator
Engine: Unity
Language: C#
Description: This project was created as part a final year university project. It is able to procedurally generate landscapes containing different biomes where each variable affecting the terrain can be modified. At it's current state, it acts more as a foundation to be built upon rather than a finalized product as many other areas of procedural content generation could be explored and integrated. Nevertheless, I am proud of the results achieved.
Game AI Demo
Engine: Unity
Language: C#
Description: This project demonstrates an AI agent who's goal is to collect resources from generators whilst avoiding a patrolling enemy. The AI agent utilizes several techniques including a finite state machine, utility theory, goal driven behaviour and A* pathfinding.


Newtonian Physics Rocket Simulation
Engine: Unity
Language: C#
Description: This simulation displays Newtonian physics acting on a "rocket" through four thrusters. All physics calculations were coded without using Unity's built in physics engine.
Tribal Time
Engine: Unity
Language: C#
Description: This was a solo project where the levels are procedurally and randomly generated. It's a simple highscore game with fluid movement mechanics.


Mars Opportunity Rover
Software: 3DS Max
Description: This model was created as part of a module during my time at university.
FPS Aim Trainer
Engine: Unreal Engine
Language: C++
Description: This was created in the Unreal Engine API using only C++ and no blueprinting. It is a first person aim trainer which records a score based on how many targets you hit or miss within a time limit.


PS5 Highscore Game Demo
Software: Visual Studio
Language: C++
Description: This simple game demo was created from a foundation of various bits of sample code for the PS5 DevKits. During this project, I was not able to have access to the PS5 code documentation due to some issues and restrictions which was a large setback. However, creating a functioning game with hardware new to me was an achievement.
GBA Space Game
Software: Visual Studio, GBA DevKit + Emulator
Language: C, Assembly Language
Description: This project became a very difficult challenge which exposed me to various aspects of console development and limitations which game developers previously faced. When calculating collision detection, assembly language was used. All mechanics and graphics were built from scratch.