When we work on a new game, the technical team gets involved right from the start. We’re there from the design phase to the end, working side by side with our game designers, artists, product team and all the other stakeholders. Usually, there’s some creative friction along the way – after all, even the best plans don’t always translate 100% when it gets to production time. But not this time! My Talking Tom Friends is by far the most technically complex project we’ve done so far. But it’s also been one of our smoothest productions ever!
The key to making it happen is simple – a lot of trust, on all sides. We all trusted our game designer, Barbara, and the rest of the team working on the vision. On their end, they trusted us to deliver excellent technical solutions, even when that required adapting the vision a little bit.
In the first part of this article, Nik Lorbeg already touched on the behavior algorithm we built especially for this game. It’s the technical marvel at the heart of what makes the MTTF game so special. So let’s kick off with a closer look at that!
Building an autonomous world for Tom and his Friends
By Tomaž Skubic, Director of Technology and Aleksander Kašnik Janet, Senior Quality Engineer
When we started testing My Talking Tom Friends, we noticed a funny thing: on random occasions when a character goes to the toilet, they immediately wash their hands afterwards. We didn’t program them specifically to do that though, we just made them smart!
The first thing we made for this game was a quick and dirty prototype. That taught us two things:
- this game has the potential to go beyond anything seen on mobile before
- we can spend the rest of our lives coding it if we don’t do it the smart way
To turn this ambitious vision into reality without sacrificing any of the diversity our design and product teams planned for it, we had to start by supercharging our in-house game engine.
To save us a lot of work down the line, we built a behavior algorithm based on utility theory that manages how characters react to each other and their environment and, perhaps most importantly, how all that ties into our animation system.
Up to now, we used a simpler method based on “needs meters”, where each character would essentially have a series of sliders that affect their mood and behaviours. That works when you’ve got just one character in the game and the way their needs change depends mostly on your actions. However, in MTTF, there are so many different factors and interactions that affect the characters’ needs that using simple meters just wouldn’t cut it. It would probably work to some extent, but it would be chaos.
Our new behavior algorithm is there, essentially, to make the game natural. If characters are standing closer to each other, there’s a higher chance they’ll start talking. If one of them is in the bathroom, the others won’t just walk in on them, even though their basic needs may tell them to. You can’t code all of these situations yourself, there are way too many variables and possibilities.
Our characters can now make choices on their own. And the choices make sense! Because the algorithm is connected to the animation system, it all looks seamless too. No weird glitches, no awkward transitions, no characters walking through each other or staring blankly at walls. When our users play the game, these are things they take for granted. And that means we did our job the right way!
Too many sounds and animations to fit in
By Rok Kompan, Principal Sound Designer, and Aleksander Gregorka, Senior Software Engineer
Building a behavior algorithm that allows billions of different character interactions is all well and good, until you start thinking about all the sound and animation that would take. For PC or console games, it’s not that big of a deal, just bloat the game, the system can handle it. But on mobile, we have to treat every megabyte of data like it’s sacred. Because we can’t afford to make a game that’s over a few hundred megabytes in size and we can’t release something only the newest phones can run.
To be honest, this is always a challenge in our games, since they’re quite heavily based on animation. Our users love it when characters react in fun and unexpected ways. But for that to happen, someone has to create all those little spicy bits of animation.
Ideas are never the problem with us. We try to make the most of the playful mentality on our team, so we all get to be game designers if we’ve got the right idea. Nothing is ridiculous and nothing is too much work if we think it will delight our users. For example, the robot vacuum cleaner in MTTF will start driving around like a little chariot if you plop a character on top of it. That was something we came up with while the game was in development and just said “why not?” It’s little gems like this that make the game come alive.
But what happens when there’s a practically infinite number of different situations in the game? A lot of head-scratching, that’s what! When we started putting it all together, we realized the game would need around ten thousand different animation clips and as many sounds to go along. Unfortunately, you can’t fit that in a mobile game, so we had to optimize.
The biggest challenge for us was bringing the number of required clips down to something manageable. We did it by reusing sounds and animations to the maximum possible extent without coming across as repetitive. To achieve that, we built a brand new animation system where we can apply the same animations to different characters, even though they have different facial structure and everything.
The problem then became sound – characters can’t all share the same sounds and voices! You wouldn’t believe how sensitive our users are about this. For example, one of the comments we got during the beta phase is that Angela’s burp doesn’t sound feminine enough!
We solved the challenge by bringing sound and animation a step closer together. We made a set of audio clips and then adapted the animations to fit the sounds more closely so that we could reuse the same audio clips across different animations. We’ve still got thousands of clips in the game, but not tens of thousands.
When we thought it was all done, we came across a bug that really shows how everything ties together in this game. On the iPad, we noticed certain sounds were too quiet for no apparent reason. Turns out that the culprit was the aspect ratio of the device! On the bigger iPad screen, the camera position changes. Since all our sounds are positioned in 3D space, that lowered the volume because the camera was too far from the source of the sound!
Time to wrap it up!
By Mihec Pezdirc, Principal Software Engineer
About two weeks before game launch is usually when the panic starts. At that point, half of the game is broken and people start to doubt that it will be ready in time. But, for those of us working under the hood, that’s just the way of things. Sometimes things appear broken while we’re working on them, but they’re broken for a reason! And then it suddenly all comes together when it’s time.
I can’t claim that there wasn’t any panic around MTTF, but I will say that I’ve never felt more confident about the development process of a game. We delivered on all the milestones without a hitch, the quality of work was great throughout and the atmosphere was (mostly) stress-free.
Looking back, it seems almost unbelievable that this one, of all our games, turned out to be such a smooth ride from idea to global launch, because we’ve never tackled a project of this complexity before. Just check out this nifty animation of how the project expanded – the root directory is at the centre of the tree, each new directory is a branch and its files are the leaves:
The reason we were able to have such an efficient production process even though MTTF is our most ambitious game yet is because we trusted the right people for the right job. On this team, everyone tries their hardest and takes ownership of their ideas. So when game designers trust developers to make good choices as well as the other way around, it’s a lot easier to solve hard challenges.
For this game, I knew the system of how you drag and drop characters around could turn into a complicated production nightmare if we weren’t careful. So I said “you know what guys, I’m doing it my way!” The team agreed and adapted their work to my idea, which allowed us to solve one really complex challenge without any delays and, most importantly, without any friction.
That’s just one example of people sitting down, realizing there’s a potential technical problem at hand, and giving the person implementing the solution enough freedom to create their own vision around it. Like any project, this one has leaders and it has people focused on execution. But when the leaders are happy to become followers if someone else has a better idea, everything just works better!
The important thing to remember is that everything we do, we do with our users in mind. We’re making games for them, not the people in our company, and we’re all aware of it. So it doesn’t matter who has an idea, only if it has the potential to make the game more fun for the people playing it.
At the end of the day, it’s the game designer’s job to make all these ideas come together into one whole. On MTTF, Barbara Erman did an amazing job of that. She owned the vision, but made sure the rest of us got to shape it as well.
That’s why we were able to make a game that’s, in my opinion, something the mobile gaming market hasn’t seen before. The level of detail and complexity in MTTF is on the level of major PC titles, but packed into mobile form. It’s a game that never runs out of new content, because the possibilities and combinations are endless! Besides, we’re already working on awesome updates.