Tiernan Watson

Overview

Welcome! I'm Tiernan, a computer science student at University College London (UCL). I absolutely love making games and working in 3D space, but I have done more than that too!

After about 4 years experience with object-oriented programming, I am now proficient in C++ and C#. Other languages I can use include Java and Python. Game development engrosses me because it combines logic, maths and art.

When developing games, I am at my best when I am doing something new. I get excited by coming up with solutions to problems, such as the rope swinging system in 2178, or the ledge targetting system in URaider.

Projects

T-Engine

This is my current project started in late August 2019. While learning about game engine architecture, I am developing an engine alongside because its really fun!

Source Code: GitHub


Unity Portals

This recreation of the portal effect was made using Unity's new scriptable rendering pipeline (LWRP). It works by having cameras attached to each portal, as well as a reference to its partner portal. The player's position is taken locally to a portal, and then transformed to world space out of the partner portal. This can be used to set the camera's location and rotation, after which it renders to a texture.

Source Code: GitHub


2178: Resistance

This was a 2-3 week project created for Sumo Digital's Search For A Rising Star 2019 competition. It is a prototype that includes third person shooter style gameplay, along with adventure-style movement while not in combat. We had to work from a given base Unity project.

I created my first rope swinging system with this project with simple harmonic motion. The player can grapple defined points in the levels and swing, adjust their rope length, and turn around. They can also perform basic ledge grabs and climb up. The enemies in the game patrol using waypoints and attack if the player is within range and they can see the player.

Rising Star Finals

Download + Report: Itch.io page
Source Code: BitBucket


URaider

This solo project is a fully-featured action-adventure game framework for Unity that has climbing, combat, swimming, inventory and interactions. I implemented my own physics equations and gained experience in 3D animation. It is mainly based off the 2006-2008 era of Tomb Raider.

I built a state machine from the ground up to control Lara's state. Example states include Locomotion, Climbing and Swimming.

What was really important for me when developing this was firstly that Lara was easy to control, and secondly, that the system was easy for people who have never coded before to go in and start dragging and dropping prefabs to create levels.

Demo Download: Click Here
Source Code: GitHub


VR Cycling

This was my project for the academic year 2018/19. My role was team leader, and our task was to create a Unity virtual reality experience for professional cyclists to help them train.

The project uses a VirZoom exercise bike and a Gear VR headset. The input data includes the cycling speed from the pedals and head yaw and roll. Records are kept on the user performance such as their top speed and distance travelled. We connected this app to the cloud for multiplayer and implementing 3D spatialised audio.

Source Code: GitHub

Work Experience

GOSH DRIVE AR Friend (Summer 2019)

I am spending this current summer developing an app at Great Ormond Street Hospital's DRIVE unity. DRIVE stands for digital research, informatics and virtual environments. They perform other research using techniques such as machine learning.

Working in a agile methodology, I have been tasked with creating an augmented reality app with a virtual pet that is in a way similar to a tamagotchi. It has needs such as hand washing and feeding, at certain times of the day. The children at the hospital would use this app as a way of having fun company and learning about taking care of themselves.

Further to this, I am working on a visual scripting system much like Unreal Engine's Blueprints, so that new experiences can be created by non-technical staff. For example, infection control could make an experience with lots of hand washing throughout the day.


Project Fizzyo (Summer 2018)

I spent the summer of 2018 working alongside the UCL Institute of Child Health and Microsoft software engineers to debug and improve the games that were developed for Project Fizzyo. This project aims to improve the enjoyment and adherence of airway clearance treatment for kids living with cystic fibrosis.

My role was to fix the games up and improve them, even if it meant changing the core mechanics. I participated in stand-up meetings with Microsoft engineers.

Aside from fixing many bugs, the features I implemented include a boat selecter for the fishing game, so the patients could personalise their experience. I also created the bar power up system that fills when the player performs a good breath, and allows them to perform certain actions. Furthermore, I added levels to the games for a range of difficulty and progression.

Web & Other Projects

Lara Society (2009 - 2013)

This was my first real venture into proper web development. Originally, I had a fansite made with a free website editor in 2006. This made me want to learn HTML/CSS, which I then used to create my own Tomb Raider fansite that I integrated with PHP-Fusion. It featured a forum and news section, as well as galleries and information.

iHostPro (2012)

iHostPro

iHostPro was a web hosting company I started with two friends when I was 13. This was one of my first early insights to a professional arena. We offered budget hosting on our own dedicated server using Linux.

Newry Chat (2011)

Newry Chat

This was a social a network I started on my own for the people of my hometown. It used PHP & MySQL and provided functionality similar to Facebook at the time.

Interests

What I'm Reading...

Game Engine Architecture Mathematics for 3D Game Programming

What I've Read...

C++ programming principles and practice PHP, MySQL and Javascript

Contact

I am happy to hear about internship opportunities.

You can reach me via my email: mail 'at' tiernanwatson.com