Tutorials are a complete nightmare for game designers. They're normally the point where you need to admit that your game combines the accessibility of the Kremlin with the instant fun of a medieval Sanskrit grammar table.
This week, Ian's been working on putting in a tutorial for the current build so we can start to get some player feedback. We really need to teach people how to play the game in an economical and fun manner – not easy.
The tutorials in complex games often tend to alienate rather than draw in players. It can often be unclear what the player is expected to do, or how they're supposed to go about doing it, which is essentially the antithesis of successful teaching. If you set someone a vague or apparently unattainable goal, then give them no guidance or feedback on their approach to it, then you're setting yourself up for instant failure.
There's also the issue of upsell from a lite version or demo. Here, you're really trying to convey to someone why they need to splash out a significant wad of cash on your gnarled little brainchild, and yet you're trying to do this to them at a point where said offspring is least likely to be fun. It's a disaster – why do we do this to ourselves? Because, um, games are awesome. We move on...
So what are our aims with the tutorial? Firstly, it should be fun and it should give you a good impression of the game. Secondly, it should teach you comprehensively how to play, so you don't feel under-equipped for the first section or “proper game”. If we prioritise being entertaining and drawing the player in, then surely we'll be on the right path?
Ian started with a list of lessons that the player needs to learn, and then tried to teach each one in a completely different way. Sometimes you'll be choosing between different plans, editing an existing plan or competing against an AI in a limited situation. He's tried to make this more like a single player progression than a traditional tutorial.
We are going to have different characters interacting with you and giving you prompts – this should be a good way to inject some personality. I hate the generic “computer voice”-style tutorials which step you through a “training mission”. Deus Ex's tutorial, although slightly prescriptive, was great. It gave you an introduction to two key personalities who would both feature later in the game in a contextually relevant way.
One frustration with tutorials for indie devs is that it's hard to get a vast supply of completely new players who are knowledgeable about what an early-stage game is like and also willing to test. Of course, we'll be opening up our beta to some extent as soon as we're ready (most likely after a large amount of graphical work and some UI fixes are done), but it's not like we can wander over to The Other Building where The Other Team is working on The Other Game and go, “Hey guys, try this shit out!” This is important and it's something I'm going to keep an eye on as we get towards the beta – what's the experience like for brand new players?
I was lucky enough to get a quick play of an early version of Gratuitous Space Battles recently: this showed me again how difficult it is for devs to convey the full fun of their game to a skeptical, new player. I know Cliff is working very hard on this aspect of things right now and it'll be cool to see how he accomplishes that.
So, has anyone accomplished the perfect tutorial? People are citing God of War, Fallout 3 and Portal as some of the best tutorials out there; I think the thing that these have in common is that they are all aiming to create immersion, to teach the player without taking him out of the game world, and without it feeling too much like a lecture.
I found John Brownlee's Offworld article on the Left 4 Dead “tutorial” pretty interesting: he claims that the opening cinematic gives you all the info you need to play the game. I'd like to see this approach executed in a slightly less shonky manner by someone in the future...
We chatted about these issues a bit on episode 22 of our podcast Visiting the Village - check it out!