Author Archives: jmills

LEGO Dimensions – Sonic’s Adventure World

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 convenience, here is a summary of the video’s contents:

  • Intro (00:13) – LEGO Dimensions is a toys to life title, with packs available containing new characters and levels. Every license gets its own condensed open world hub representing that license, an Adventure World.
  • Summary of my role (00:38) – for the Sonic Adventure World, I was the designer from start to finish, meaning I:
    • Researched the Sonic license
    • Chose the locations that would be present in the hub
    • Chose the characters that would be present in the hub
    • Blocked out the hub’s layout
    • Designed all the events (puzzles, quests, races, etc) that populate the hub
    • Implemented most of these events
    • Provided feedback on the more complex events that were implemented by tech artists
  • Locations (01:04) – after reviewing all of the Sonic games, I decided the stages from the earlier games were the most iconic and recognisable. The hub is a mish-mash of locations, comprising of:
    • Green Hill Zone from Sonic 1
    • Chemical Plant Zone, Aquatic Ruin Zone, Metropolis Zone, and the Special Stage from Sonic 2
    • Ice Cap Zone and Carnival Night Zone from Sonic 3
    • Lava Reef Zone, Hidden Palace Zone, Sandopolis Zone and Death Egg Zone from Sonic & Knuckles
    • The Emerald Altar from Sonic Adventure

    The hub itself has plenty of roadways and space for Sonic to run around in, and its general form resembles Angel Island from Sonic 3.

  • Races (03:00) – this hub has more of a focus on races than other hubs, relying on Sonic’s speed and unique mechanics such as wall running, rail grinding and homing attacks. His ability to run on walls wasn’t added until part-way through development, and wasn’t part of the initial design, so requirements for the races had to be made more forgiving to accommodate it. The races focus on a specific area each:
      • Green Hill
      • Chemical Plant
      • Lava Reef
      • Carnival Night

    The final race is unlocked after completing the previous four, and is hubwide, tying together elements from each previous race

  • Quests (04:50) – I wrote and designed the quests, focusing on each character’s origins and unique traits. Being a LEGO game, the tone is tongue-in-cheek, and I drew inspiration from the Sonic social media pages which treat the ups and downs of the Sonic franchise quite candidly. The quests and their characters are:
    • Tails – use a variety of abilities to shut down robot generators around the hub
    • Knuckles – help Knuckles prove his strength by defeating badniks
    • Amy – help Amy defy stereotypes by saving kidnapped animals
    • Dr. Eggman – help trap Sonic by collecting chilli dogs to lure him with
    • Big – find Froggy, Big’s friend who has gone missing
    • Shadow – bring hope to humanity by planting flowers around the hub
  • Puzzles (06:48) – Though I implemented most of the puzzles myself, for the video I focus on the more complex puzzles that were implemented by tech artists, with me feeding back to ensure they were as-designed and polished for release.
    • The Hidden Palace Zone puzzle requires the player to repeat a series of sequences they are shown
    • Rotate cogs to reveal Chroma panels in the Metropolis Zone
    • Use the Shift mechanic to teleport around the Sandopolis Zone puzzle, redirecting sand to navigate the rooms
    • Use levers that flip the gravity in the Death Egg Zone to unlock the way to the gold brick
    • Play a ring-collecting minigame in the Special Stage, similar to the original version from Sonic 2

    Each of these puzzles reference their games of origin directly through the gameplay and setpieces used.

  • Renovations (08:26) – players buy renovations using studs, the in-game currency. Each renovation in this hub unlocks a gold brick event:
    • Big Fishing Turrets – blow up fish badniks using Big and Froggy themed cannons
    • Eggmobile Ride – a QTE minigame
    • Snowboard hut – unlocks a special snowboard race
    • Chao Balloon – unlocks a flying race, and players can sit in the balloon for novelty
    • Tails’ Workshop – unlocks Tails’ quest
  • Outro (10:00) – For any questions about my work at Tt or just to get in touch, feel free to contact me.

Tt Games – Overview

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 since 2015 I have had the privilege of working on a large variety of notable IPs across three 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 can consist 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
  • Fixing bugs, implementing feedback and maintaining old hubs as issues are identified through the development cycle


LEGO Dimensions Year 2
Released September 2016

Dimensions Year 2 encompasses a whole game’s worth of content, with new features and mechanics introduced with the release of a new range of packs based on a whole new set of licenses.

Continue reading

Multimedia II – Drag Queen

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.

If you wish to play the game, you can do so on this page. It requires the Shockwave plugin, and is at least 5 years old, so may not load correctly. If this is the case, I have provided some screenshots and animated gifs in the gallery at the bottom of the post.

Continue reading

Individual Research Project – Genetic Algorithms

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.

Continue reading

High Performance Computing – Parallelisation of Pattern Matching using OpenMP and MPI

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.

Continue reading

Week 10 – Go Right

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.

Continue reading

Week 9 – Colourful Threes

And now for something completely different:

Arrow keys to try a slide, space bar to confirm it. Imagine it’s on a phone screen; pressing right swipes right, and so on.

Some bad news: this game is going to be incredibly colour-blind unfriendly. I wanted to have letters on the cards to give you a fighting chance but I ran out of time. I’m so sorry.

Continue reading

Aspects of Game Engine Development – 2D Physics Engine

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.

Continue reading

Agile Development – Collada Importer for XNA

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.

Continue reading