I joined Ubisoft Leamington in 2017, enabling me to have the unique privilege of working in a small, intimate studio (fewer than 50 people when I joined) on a huge AAA title – Tom Clancy’s The Division 2.
In general my role at Ubisoft consists of:
Researching locations to find suitable places for activities and collectables in the open world, based on the location’s unique appeal, gameplay potential and technical constraints
Collating information into design documentation, presenting to leads and directors for approval
Whiteboxing layouts for activity locations with a focus on combat, adhering to design guidelines and working with environment artists to ensure the design intentions do not contradict art direction
Setting up the logic of activities, including scripting missions (spawning enemies, updating objectives and checkpoints, triggering VO and other sequences, etc)
Presenting work to directors in order to gain feedback and sign-off
Iterating on all content to adapt to changing requirements and director feedback
Working with environment artists, technical artists, technical level designers and narrative designers (often situated in other studios worldwide) to ensure all content runs smoothly, adheres to art direction, and makes sense in terms of narrative and world logic
Pushing for constant and open communication with other studios and departments to ensure we are aligned with direction and keeping the quality high
Maintaining the health of my content, including bugfixing and polish
Whilst working at Tt Games I had the pleasure of being the designer for Sonic’s Adventure World in LEGO Dimensions. I’ve put together a video overview of the entire hub, showcasing its content and explaining what my involvement was during the whole process:
This is a typical example of what goes into making an adventure world, and it’s a process I was a part of multiple times through Dimensions’ ongoing development; a general overview of what I do at Tt and what I’ve worked on can be found here.
For a video showing off Sonic’s adventure world and explaining my role in its creation, please visit this page.
Working in design at Tt from 2015-2017, I had the privilege of working on a large variety of notable IPs across four separate projects. I have summarised my role on each project below, but broadly speaking, and depending on the project’s stage of development, my role consisted of:
Implementing events and incidental gameplay myself using Tt’s in-house level editor and scripting languages
Designing each event (puzzles, quests, races, minigames) and collecting all the information into a concise but complete hub design document
Creating a blockout of an entire hub using SketchUp
Working with other departments to ensure that their created assets meet the requirements of both the design and the license-holder
Researching an IP, identifying key moments/set pieces/concepts that can be referenced or adapted into gameplay
Training new team members on both design principles and use of the tools, and maintaining the documentation wiki
Reviewing the work of junior team members
Fixing bugs, implementing feedback and maintaining old hubs as issues are identified through the development cycle
LEGO Marvel Super Heroes 2 Released November 2017 LMSH2 continues the story of the first LEGO Marvel Super Heroes game, including an whole new cast of characters and a new hub to explore; Chronopolis – a mishmash of various places and times, created by Kang the Conqueror.
This is an old project, from my first year of University. It’s the first video game I ever made and it’s still one of my favourites, despite being extremely rough around the edges. It was the main project for the Multimedia II module, where, in pairs, we were tasked with creating a game using Adobe Director. Despite the technologies we were asked to use, I was thrilled to have made a game by the end of my first year, and the experience definitely gave me the game design bug.
The major project of my final year was for my dissertation. I chose to research the effectiveness of dynamic learning algorithms in providing an adaptive, real-time finite state machine in a game environment. After doing a literature review to get up to speed on Bayesian networks, artificial neural networks and genetic algorithms, I chose to focus my research on the latter. I felt genetic algorithms could offer a working solution, and I was interested in programming one and seeing for myself exactly how it would work.
This final year project focussed on using the OpenMP and MPI frameworks to parallelise an implementation of the straightforward pattern matching algorithm. The project was scored purely on the speed of the solutions (assuming the generated matches were correct), and in the module overall I scored a strong first class mark of 83. I have put the code on my GitHub for your perusal.
Week 10 marks an exciting first for my Game a Weeks; happy collaboration. Please indulge in Go Right:
The controls are explained in-game. If you absolutely have to mute the audio, press the M key.
I’m going to start this post off by giving a huge shout out and thank you to the four other people who contributed to the game.
Tom Lamey is the enigmatic hero responsible for the lovely character design and great spritesheets that bring the protagonist to life. He also advised me on the general look of the game
For the music I counted on the talents of the insatiable Jack Drewry. He brought together a couple of rag tag musicians to aid him, collectively they’re known as Squid Tooth, but separately they go by their birth names of Jack, Laurie and Rowan.
I hope you agree that these four all helped raise the bar on my games with their contributions. I’ll talk more about how it all came together below.
In third year we had an entire module dedicated to the different components that make up a complete game engine. The assessment for this module was based entirely around a solo project, where we had to choose one aspect of a game engine and develop it. I chose to develop a 2D physics engine, as I was interested in understanding how each step of the process worked, from the simulation of rigid bodies through to collision detection and resolution.
One of our modules in third year was focussed on exploring agile development techniques, culminating in a group project that we managed in an agile fashion, using scrum. We had to treat our tutors like clients, asking them about what they wanted from the solution, creating user stories from these requirements and turning them into backlog items. The project itself was to create a Collada model importer for XNA, able to import the model’s skeleton, mesh, skinning and animation data, packaged with an app to view these models and outputting complete logs of the importing process.