Jake Preston

Professional portfolio



Boat and Ocean Project – code is here

I recently started playing Assassin’s Creed IV: Black Flag and Sea of Thieves and became fascinated with the water mechanics in the game. I started out with creating a simple C# script that manipulated a planes vertices. These where then passed to another script that create the effect of buoyancy. I then later changed the script to a shader, so that larger bodies of water can be simulated at the same time without performance taking a hit.


As of yet untitled gameread more here

Current demo map.

This is a small project I have recently started working on. I created the environment, characters, animations, scripts and the music myself, however, I did source the footsteps and pick up noise. These might change in the future however! This project started as a way to develop my Unity skills and how C# interacts with Unity, however, I am going to keep working on a story and hope to release it some day!


3D Maze game

This maze project was created for university. It uses an entity component system created with C# and the openTK graphics library. It makes use of fragment and vertex shaders. This version of the project also includes four different coloured lights set to different positions around the map. These have hard coded positions and cannot be set depending on map size, however are set at each corner of the default map. the objective of the game is to collect the keys placed around the maze to turn on the portal, whilst avoiding the drone.


Space Oddity

The Code can be found here and the game here.

This team project included coming up with an idea for a game, writing a proposal, which included doing some research into the genre – in this case the genre was a Sokoban puzzle game, allocating work to each member to complete for the next deadline. There were a few challenges with the creation of the game, mainly the duration in which we had to prototype the game. The character feels a little “slidey” when moving, and the boxes can move freely, which can cause some annoyance when trying to complete the levels.


3D Graphics and Shaders

This project included creating Vertex Buffer Objects and Vertex Array Objects to store the vertex data points creating methods to set materials to each object, setting lights positions and colours. Also involved was matrix transformations and applying them in the correct order so that the transforms work correctly.

Email | jakepreston2017@gmail.com

Jake Preston | Portfolio