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

SAT-VIS Trailer.mp4
CUBESAT_MARKETING_VIDEO.mp4

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.

GitHub: https://github.com/j0ek1/CubeSatCon

terraingen.mp4
gamai.mp4

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.

GitHub: https://github.com/j0ek1/ProcTerrainGen

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.

GitHub: https://github.com/j0ek1/GameAIDemo

newtonianflight.mp4
TribalTime.mp4

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.

GitHub: https://github.com/j0ek1/NewtonianFlightSim

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.

GitHub: https://github.com/j0ek1/TribalTime

MarsRoverRender.avi
FPSAimTrainer.mp4

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.

GitHub: https://github.com/j0ek1/FPSAimTrainer

ps5gamevideo.mp4
gba_space.mp4

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.

GitHub: https://github.com/j0ek1/GBA_Space