Transphere - The Physics-based Puzzle Game 
Available now to download for phones and tablets on iOS, Android & Amazon devices!
You control a sphere which can switch between different materials to solve puzzles to complete various stages. Try to collect all the stars to unlock new levels and content. Build & share your own levels with the community. Download, play and rate other people's creations from all around the world!



By Thomas Linstead.
Programming Languages: C#, Unity
2017-06-17
Cosmicraft - The Spaceship Building Game 
As seen at the Norwich Gaming Festival 2016
Craft your very own spaceship from an array of connectable parts. Create any design from your imagination and then fly your ship through space in intense combat battles. Pilot your ship with acrobatic manoeuvres and shoot down the opposition with a variety of weaponry.
Sign up for a Cosmicraft account to access many of the games features. An account will enable you to play online with other players and to upload and share your ship designs to the online database.
(Note: This game is still in the Alpha phase of development, therefore gameplay and features could potentially change)





Download for Windows: http://cosmicraftgame.info/ (Registration Required)
By Thomas Linstead.
Programming Languages: C#, Unity
2016-04-10
Salesforce Development
Employement as a Salesforce Developer at Epos Now

I am currently employed at Epos Now based in Norwich. EPOS Now is the leader in cloud-based point of sale systems with over 10,000 hospitality and retail businesses relying upon us, and were ranked by the Sunday Times as the 13th fastest-growing tech business in the UK. My role is part of the Internal Team managing the Salesforce CRM system and developing new features on the platform.
While working at Epos Now for the past year I have developed many new features and some useful applications.
Additional Tabs - Show all system tabs including hidden and previously inaccessible tabs.
As a Salesforce Adminstrator you will find your organisation can quickly run out of usable Object Tabs. This app provides a way to view all hidden objects including ones which do not have a tab. This frees up tabs from the small overall limit by allowing less import objects to be accessed via this page instead.
Install the Managed Package: Additional Tabs

Google Calendar Sync - Integration with Google Calendar to automatically add Salesforce Events to the users Google Calendar.
Keeping up to date with Events with multiple calendars can be tricky. This app syncs your Salesforce Events to the corresponding persons Google Calendar. Setup by connecting your organisations Google Admin account OAuth details and once complete any new inserted or updated events will automatically show on the calendar corresponding with the users email address.
Install the Managed Package: Google Calendar Sync

Custom Page Headers - Show related account items in quick access tabs, shortening the overall size of the account page.

GeoMapper - Show contacts, leads and accounts in a customisable radius on a geographic map to easily find nearby businesses.

Lightning Page Components - Lightning style forms and page components which work seamlessly with Salesforce1 Mobile app for easy data entry.

Custom Buttons - Show page buttons visually in easy tabular sections on pages for quick access additionally working with the Salesforce1 Mobile app. Much better than the standard grey buttons.

I also have undertaken many Trailhead Modules to familiarise myself with newer aspects of the Salesforce CRM platform. All development work ad-hears to the Lighting Design System and strict standards. All work shown here is just a small portion of the development I have achieved while working at Epos Now.


Programming Languages: Visualforce, Apex, HTML, CSS, Javascript, Salesforce, SQL
2015-12-26
Haptic Interactive Molecular Docking Software
Masters Dissertation Project. Grade: 77.95% (FIRST CLASS)
My Masters year project was to develop a piece of software as part of a team to simulate molecular docking of molecules. Molecular Docking involves positioning at least two molecules together to form a suitable best 'fit' complex. The software created allowed for the ability to load data files from the Protein Data Bank and see a visual representation of the molecules. These molecules can be moved and collide with other, together with interaction with a haptic feedback device. Realistic approximates of the force acting between the molecules are also calculated and force feedback provided to the user. The project involved C# development for the main application using OpenTK for OpenGL functionality and custom molecular DLL libraries.




Demonstration Presentation:
Download the final application here: Interactive Molecular Docking Application
Source Code Repository: https://bitbucket.org/Thomaslinstead/mcompproj/src/
By Thomas Linstead, Adam Aldridge, John Gilbey and Sam Westlake.
Programming Languages: C#, OpenTK (OpenGL), C++ (Dll).
2014-05-23
Mech Duel AR Card Game 
Computer Games Laboratory Module. Grade: 87.20% (FIRST CLASS)
Mech Duel is an augmented-reality (AR) card game created as a project for the Computer Games Lab module. It utilises custom designed playing cards which can be placed under a webcam to detect the markers printed upon the cards. This is handled by the incorporation of the ARToolKit library (available here). Once detected the card is either activated or a 3D model of the Mech is rendered above the card, facing the opposing Mech. These are fully animated utlising many custom recorded motion captured movements allowing the Mech's to attack and move. The game also features the option to use anaglyph 3D gameplay and is touchscreen compatible, to create an immersive experience. Additionally the game can be played between two human players, or against an AI opponent. The objective is to strengthen your Mech in order to defeat your opponent’s Mech through use of attacks and playing upgrade cards in turn-based gameplay.




Download the application: Mech Duel (Webcam Required)
Source Code Repository: https://github.com/Tambilin/Group-01---Comp-Games-Lab
By Thomas Linstead, Adam Aldridge and John Gilbey.
Programming Languages: C++, OpenGL, OpenAL, ARToolKit, 3DSMax, MotionBuilder.
2014-03-25
2D CAD: Architecture
Advanced Programming Concepts and Techniques Module. Grade: 78.25% (FIRST CLASS)
The aim of this project was to create a bespoke piece of software for 2D computer aided design (CAD) specifically for architectural drawing. The objective was to produce a system that is extensible and well-designed which meets the client’s needs. A software product was produced as part of a team consisting of three individuals utilising agile development methods. The software was produced to meet the requirements of a client, extensively tested to ensure these requirements were met and documented thoroughly.
Features Include
- -Drawing of lines, shapes, architectural elements and text.
- -Import of image files.
- -Export to pdf format.
- -Easy to use drawing controls to draw to scale.


Download the application here: 2D CAD: Architecture
Source Code Repository: https://bitbucket.org/Thomaslinstead/advprog/src
By Thomas Linstead, John Gilbey and Sam Westlake.
Programming Languages: C#, SharpGL, WPF
2013-12-17
Global Illumination: Can it be Achieved in Real-Time? Research Paper
Research Methods Module. Grade: 75.00% (FIRST CLASS)
Conducted research and wrote a paper looking into the the field of Global Illumination. This report describes the different methods and techniques of implementing global illumination. The techniques such as rasterisation, ray tracing, path tracing and radiosity are compared and the real-time possibilities explored.
By Thomas Linstead.
Programming Languages:
2013-10-28
Real-Time Ray Tracing Project 
Undergraduate Third Year Dissertation Project. Grade: 76.60% (FIRST CLASS)
3rd year dissertation project on the topic of Ray Tracing. An alternative computer rendering technique for producing high quality computer images. By simulating the physics of light this technique produces a 3D environment exhibiting refractions and reflections. I have worked on producing a real-time interactive application through utilising the power of graphics hardware with OpenCL.


Dissertation:
View a clip of the application here: Real-Time Ray Tracing Application
By Thomas Linstead.
Programming Languages: C++, OpenGL, OpenCL
2013-05-24
3D Forklift Simulator 
Advanced Graphics Module. Grade: 79.70% (FIRST CLASS)
The aim of this concept was to design and implement an environment with a fork lift truck that can be operated by the user. The controls needed to be simple and easy to use and the driver must operate the truck so that it can pick up boxes and place them on a stack. If a box is not placed correctly on the stack it should fall off. The simulator required several viewpoints including behind the vehicle, in the drivers position and a top down view. These have been implemented as well as a fully rotatable camera and infinitely random generated boxes that can all interact with each other.

Download the application installer: 3D Forklift Simulator
By Thomas Linstead.
Programming Languages: C++, OpenGL
2013-04-30
WikiEnc Encyclopaedia Website
Software Engineering II Module. Grade: 78.35% (FIRST CLASS)
This project was to create a new web-application called WikiEnc, consisting of a website containing user-contributed encyclopaedia articles. The system allows users to view articles, which can be added to their basket and downloaded as an E-book. Each article contains a discussion section, where users can discuss the content of the article in question. Users are also able to rate articles, as well as rate the users who have contributed to it. Each article has a history section showing the changes which have been made to it. Users have a profile and are able to view a newsfeed of their favourite articles.
The system was developed as part of a team utilising software engineering methodologies and practices. We implemented the WikiEnc system according to the given specification and system requirements. We implemented the system using the Model-View-Controller architecture to separate the different areas of the system. JSP’s were used to create the view aspect of the system; servlets were used as controllers and did not output any html content. Entity beans together with ORM (Object Relational Mapping) were used to represent the data used in the model. Design patterns were used to solve problems that are commonly encountered in software development and to make the system more extensible and maintainable.

By Thomas Linstead, Matthew Baxter, John Clark and Jan Gulan.
Programming Languages: Java, HTML, JSP, EJB, SQL, Javascript
2013-02-14
3D Car Simulator 
Graphics II Module. Grade: 75.50% (FIRST CLASS)
The aim of this project was to create a 3D world and implement a concept for simulating driving around in a car. The project implements a infinite perlin generated world with collisions, basic physics and multiple views. Created from bottom up with only C++ and OpenGL.





Download the concept application: 3D Car Simulator
By Thomas Linstead.
Programming Languages: C++, OpenGL
2012-12-14
The Hunt - The Search for Gold (Minecraft Mod)
Minecraft Map and Bukkit Java Plugin - Survival PvP
==========================
Overview: THE HUNT
==========================
The Hunt is a survival games style gamemode with the aim to collect gold nuggets and gold ingots from chests around the map and by killing fellow players. The winner is the first person to craft a gold block and place it at the top of the pyramid in the middle of the map. The map is made up of four regions: Fire, Water, Desert and Forest with the pyramid in the center. (Each region contains the same amount of gold)





Download from Planet Minecraft: The Hunt - The Search For Gold
By Thomas Linstead.
Programming Languages: Java, Minecraft
2012-09-18
Headmasters Study Holiday Cottage Website
Website Development for Client: The Headmasters Study Holiday Cottage
Developed a website for advertising and managing booking for a local holiday cottage in Southwold. Developed from scratch using HTML and CSS elements, together with additional PHP to create a custom calendar booking system. It is specifically designed to showcase pictures of the cottage and to easily view available bookings. However the owner has since sold the cottage and the website no longer needed. (Do not try to book this cottage as it is no longer available.)



View the website: (Site Design Only)http://home2.btconnect.com/angliadesign/Southwold/cottage.html
By Thomas Linstead.
Programming Languages: HTML, CSS, Javascript, PHP
2012-08-08
Sigma Racing Top Down 2D Game
Graphics I Module. Grade: 81.63% (FIRST CLASS)
The aim of this assignment was to design and implement an interactive 2D game involving the user character racing around a track. A racing genre game was developed with many race tracks and other AI racing cars. The final racing game called Sigma Racing implements these features as well as novel features such as random track generation and a number of racing game modes.



Download the game application: Sigma Racing Game
By Thomas Linstead.
Programming Languages: C++, OpenGL
2012-04-04
Anglia Design LLP Website
Website Development for Client: Anglia Design LLP
Worked alongside the employees of Anglia Design LLP to produce a professional website for the company. Developed from scratch using Flash and HTML elements, together with additional Javascript to showcase the companies work. It is specifically designed to be viewed on both windows and apple devices.

View the website now: http://www.angliadesign.co.uk
By Thomas Linstead.
Programming Languages: HTML, CSS, Javascript, Flash
2011-04-22
Portal 2 Custom Cooperative Map
T.O.M - Testing Operative Module
I created my own level for the game 'Portal 2', called T.O.M - Testing Operative Module (Pun on my name). This was created using the Hammer World Editor tool. The level is designed to be an old testing module back from the early days of Aperature Science. A tough and challenging testing environment for training new science operatives. The level contains several test areas utilising many of the various puzzle mechanics. To play the game download the file below and place it into the "C:\Program Files (x86)\Steam\SteamApps\common\Portal 2\portal2\maps" folder. Start up Portal 2 in a coop game with a friend and type "changelevel mp_coop_T_O_M" into the console.






Download the level: Portal 2 Map File
By Thomas Linstead.
Programming Languages: Hammer, Portal 2 Authoring Tools,
2011-03-22
Quadapong Flash Game
Published on Kongregate.com
Simple and fun adaptation of the classic pong game made in Adobe Flash. Try to get as many points as you can before losing all 3 lives. You lose a life if the ball goes off of the screen. Keep the ball on the screen using the four paddles, intuitively controlled by the mouse. Also try the Multiplayer mode to test your skills against a friend.

Play now: Quadapong on Kongregate
By Thomas Linstead.
Programming Languages: Adobe Flash, AS3
2010-02-08