A Toot the Tiny Tugboat racing game for kids.
For the second game in our series of official Toot the Tiny Tugboat apps, we were commissioned by Lupus Films to create Toot’s Race.
Inspired by the adventures from the animated preschool television series, players can race Toot on four different themed race tracks, whether it’s around the harbour, along sunny beaches, in icy winter waters or through a rainstorm. Our aim for Toot’s Race was to provide just enough challenge around the track for young players, designing obstacles such as seaweed and beach balls, as well as ensuring the game was full of fun and surprises, with ramps to jump off, speed boosts, and a giant whale to leap over.
In Race Mode, the players race Toot alongside other boat characters from the show, and they banter with each other as they overtake and jostle for position around the track, using specially recorded dialogue we scripted for the official Toot the Tiny Tugboat voice cast.
In Collect Mode, players steer Toot around the track to collect as many starfish as possible in the time.
When we were tasked to create a racing game for Toot the Tiny Tugboat, our initial inspiration came from games like Mario Kart, where characters compete on a variety of different tracks and modes. With budget and schedule in mind, we developed four different tracks – Ice Floe, Sandy Beach, One Tree Island and Harbourside – and two different modes – racing and time trial collecting.
As we wanted to create a game that a 3 year old could easily play, but an older child of 6 would also find interesting, our solution was to put the racers on tracks like a scalextrics set, so the player could then decide which out of five lines they should be in. Toot would always complete the track, but just might not come first without user involvement. This made things simpler, allowing the younger age group to easily play along regardless of outcome, whereas the older group could play more competitively.
This game was an ambitious project from the start, but as we had just finished work on Toot’s Harbour, an exploring game that recreated the 2D world of Toot in Unity 3D, it meant we already had a head-start. By reusing the same engine from Toot’s Harbour, our development team had much more time and freedom to create even more fun content for Toot’s Race.
In Toot’s Race, the player races other ships piloted by AI (Artificial Intelligent Agents). The AI is designed to navigate the boats around obstacles and each other, mostly without collisions, and the AI pilots are combined with the fixed ship parameters to make AI players random for each race (the Yachts are never going to win, but don’t tell them that!)
We also utilised AI technology to assign a sort of personality to each boat, with a random driving style assigned at the start (for example, Steady, Aggressive, Slow Start) which alters each of the ship’s behaviour patterns as the race progresses, and also a vocal commentary response to gameplay – bravado or indignation when collided with or overtaken by Toot, and banter when they overtake.
We designed a vector flow system which stores a track direction for any track position, implemented as pre-computed tensors stored in 2D vector fields. This meant that when placed anywhere on the track, a ship will automatically know where to go. After this, ships then only have to choose a lane, simplifying navigation for the player and the other AIs. The vector flow information then guides a physics-based ship which can collide with the environment, other ships, leap over jumps and more.
To create lots of variation in each track, a track editor was also created – a scalextrics-style kit of parts that our level designers could use to quickly build a challenging track, navigate place obstacles and rewards then test their creations for level balancing.