Welcoming Players into DATA WING

DATA WING is a challenging, retro-styled racing game with a story (iOS, Android). It’s an unusual game; the racing mechanic involves thrusting off walls to gain speed, it’s set inside a teenager’s smartphone and there’s a multi-layered narrative that slowly reveals itself over the game’s 90 minutes. Oh, and it was released completely free.

DATA WING Trailer — YouTube

A lot of what makes DATA WING special isn’t immediately apparent — it presents as just another mobile game — but that was a ploy to help it reach (and hopefully delight) as broad an audience as possible. It’s a trojan horse of sorts. 😅

And it worked; DATA WING has had over 5 million downloads, has a user rating of 4.9 stars on the App Store and Google Play and has been volunteer-translated into 17 languages. I’m humbled by the amazing response.

Welcoming players into DATA WING was uniquely challenging. I’m excited to share some of the practical things I did to make the game welcoming as well as outline a bunch of stuff that went wrong along the way.

First, A Word on Tutorials

All too often, it feels like the onboarding portion of a game doesn’t get the attention it deserves. When devs speak the words “We just gotta add a tutorial…” it physically hurts me. Loading screens with controller mappings, regular game-halting popups and ambiguous instructions all elicit a similar pain response. To my mind these are stop-gaps. Band-aids. A white-knuckle prayer that players will stick around.

Educating players is a huge topic — too big for me to attempt — but I posit that the more care you take making your game welcoming, the more players will stick around and become invested.

Welcoming players into your game is a serious investment; it’s a commitment to slow, caring education and thoughtful immersion into your world. Rebuilding your onboarding experience for the third time is a badge you’ll wear with pride…

I’m hoping to support these outlandish remarks with examples from my weirdo racing game.

This article is structured in sections:

  • Part 1: How DATA WING is Welcoming
  • Part 2: The New Player Experience
  • Part 3: How I Built The New Player Experience

Part 1: How DATA WING is Welcoming

From a high-level, DATA WING does a bunch of things to be welcoming and respectful of different players:

It doesn’t assume any pre-existing knowledge. It teaches you as if you’ve never played a weirdo retro, arcadey space-racing game before. Doing something unfamiliar can be both a blessing and a curse; you have to explain everything about your unfamiliar world, but players are all equally inexperienced. Compare this to a game that fits neatly in an existing genre — a traditional car racing game, for example — you’ve got players ranging from genre aficionados to folks who’ve never driven a car. (Fun fact: I’ve never driven a car. 😅)

The educational, introductory portion of the game takes its time. The beginning of the game is roughly 20 minutes of very intentional challenges, all intended to build players’ skill and confidence. (covered below)

Multiple player archetypes are accommodated and catered for:

  • Levels often feature multiple tiers of challenge; the base difficulty is tuned for average players, with optional harder challenge(s) made available for players seeking to master the game.
  • When progressing across the world map, players can frequently choose between different types of challenge to progress. This affords players some choice if they prefer certain challenge types over others.
  • On certain challenges, DATA WING features leaderboards that cater to competitive, score-chasing players. For players who don’t care, they’re just another level.
  • Where possible, narrative and worldbuilding is made optional.

Part 2: The New Player Experience

Introductory Levels Overview

So, I’m gonna try my best to respect your time here. I’m gonna provide the most condensed overview of the first 6 levels as possible, highlighting relevant information that I’ll expand on later. Please bear with me! 😊

Level 0

  • The player is spawned in a void and taught basic controls.
  • They’re introduced to Mother who becomes the voice of the game.
  • They’re asked to navigate towards a point (the exit).
  • Players will get a feel for the turning and weight of the ship. They may miss the exit a few times but that’s fine — there’s no time limit.

Level 1

  • This is a simple linear course with a number of corners to navigate.
  • Players are asked to reach the end.
  • This is the first time players will see walls. Due to the course layout, players will definitely thrust off some walls — intentionally or otherwise — and likely bump into a wall and see they’re not harmful.

Level 2

  • This course is figure 8 track with loooong sweeping corners.
  • A ghost racer charges ahead of the player, demonstrating good technique for thrusting around corners and building speed. (they reset each lap, providing a good benchmark for player progress)
  • Players are asked to complete 5 laps and to follow the ghost’s example.
  • This gives players an extended period to simply practice the sweeping corners with no time pressure. It’s likely many players will outperform the ghost in later laps.

Level 3

  • This is a linear course with a few hairpins.
  • Players are given a time limit to complete the course and explicitly told that they can “thrust off walls to gain momentum.”
  • A ghost races ahead to demonstrate a good technique for beating the time limit.
  • From this point on, an instant restart button is available on the UI.

Level 4

  • This course introduces gravity that pulls downward.
  • Players are instructed to get to the top and encouraged to “Push off walls to build momentum and fight gravity” The course itself is a series of curved pipe-like structures that you fly up.
  • There’s no time pressure — gravity can be difficult to grok so players are given time and space to explore it.
  • Additionally, the level features ‘wind zones’ to help lift player and safety barriers that prevent players from falling back down completed sections.

Level 5

  • This course is a linear skirmish against five opponents (multiple ghost racers). You’re instructed to “Use whatever means possible to reach the exit first.”
  • The Restart button is explained: “You may Restart as many times as you wish.” This is the first level where players start upside down; a sneaky attempt to elicit a player-error and encourage immediate use of the Restart button.
  • As before, the ghosts race ahead initially to set a good example — but ultimately, their performances are poor and easily bested.
  • Additionally, players are able to take a shockingly-effective shortcut to reach the finish line — lowering the overall difficulty and minimising the tension caused by suddenly racing against five opponents. Astute shortcut-takers will note that they were instructed to win by “whatever means possible”, so it’s not even that sneaky. On level completion, Mother remarks on your skill and creative thinking, praising you regardless.

These six levels form an accelerated miniature story: you go from knowing nothing to beating out five expert racers. From just another DATA WING to impressing Mother and being taken under her wing. But perhaps most importantly, you’ve learnt some of the game’s core skills, been encouraged by your progress, and intrigued by the variety of the game’s challenges.

Hopefully, when the world map opens to reveal a swathe of challenges, and Mother tasks you with reaching the other side, you’re hooked.

Tactics Used in the Introductory Levels

  • Players see and do stuff before it’s explicitly taught. This may seem counter-intuitive, but it means players can discover stuff on their own — they can learn by experimentation or by following a ghost’s example. This makes them feel clever. An explicit explanation afterwards confirms the information and guarantees nothing gets lost or overlooked.
  • I’m introducing stuff early to show the game’s variety — to provide a varied, exciting experience. It was challenging incorporating the skirmish and gravity levels into this early part of the experience. But there’s nothing worse than a game where all the fun stuff is back-loaded. Instead: “Let’s make racing five other DATA WINGs achievable and a huge rush for players! Also, let’s throw in a gravity level so players can appreciate the challenge of fighting gravity…”
  • I’ve tried to remove as much friction as possible. The challenges are short, there are instant restarts with no penalty, and of the six levels above, only two have a failure condition. Removing friction doesn’t mean making the game easy — challenges must be rewarding to overcome — it’s about avoiding time-wasting, annoyances, and design choices that lead to player frustration.

Narrative Task Switching Tactic

Players only have enough cognitive headroom to do one thing at a time — learn my gameplay or absorb my world. Generally speaking, If they’re busy learning gameplay I ease up on worldbuilding and vice versa. But I worked out a neat trick to drip feed narrative around gameplay and reused it a lot throughout DATA WING.

Player experience during level:

  • Level Start — the game offers tutorial info for this level, highlighted for emphasis

>>> player plays the level <<<

  • Level Completion — the player, now finished playing, can absorb some worldbuilding or narrative info
  • Return to World Map — another opportunity to offer worldbuilding, narrative or sometimes even relevant tutorial info

When players start a level, they’re keen to play; they only wanna know info that’ll help them play this level. When players finish levels, they’re ready for a break; they’re keen to see what happens next, to read some dialogue or exposition.

Respecting and understanding the headspace of the player is the name of the game here. The world’s best dialogue, displayed at the wrong time, will be mercilessly skipped.

One Final Tactic — Engine Scaling

To help players learn a DATA WING’s handling, its handling and engine characteristics are slowly unlocked over the introductory levels. This is invisible to players and dramatically helps avoids instances of fish-tailing and spin-outs.

Power refers to how much forward thrust the engine generates.
Wall Thrust is thrust generated from pushing off walls. This force also turns the ship away from walls and is weird to get a feel for, at first.
Turn Strength is how much the ship turns in response to players pressing left or right.

This may seem counterintuitive for a game that’s so centrally focused on a core mechanic — but it’s all in the name of building player confidence. The most important thing for me is that players feel comfortable learning — and spinning out constantly doesn’t feel good.

Wall-Thrusting is ‘The Skill’

The entirety of DATA WING is about getting good at thrusting off walls. There’s no point during the game where that skill isn’t being taught and tested. There’s a ton of feedback to make the perfect glide around a corner look and feel amazing and our brains are wired to wanna do more perfect glides…

The purpose of the introductory levels wasn’t to ‘teach’ wall-thrusting — merely to start players on a journey that the remainder of the game will build on. To welcome players in.


Part 3: How I Built The New Player Experience

Having presented a shiny, final product that makes me look smart, now allow me to smash that facade by showing a bunch of ways I was totally wrong — and yet somehow managed to recover from my wrongness.

When trying to structure the order and content of the player’s education, I was constantly wrong. It’s difficult to untangle the skills that go into playing DATA WING and then present them as a linear set of skills to learn. For example, I tried to delay teaching wall-thrusting because I was worried it was confusing. Early on, I had players floating slowly around boring courses with walls that you couldn’t thrust off. It felt like a floaty, awful space game. What’s worse is I was hoping players would push through the boring levels to get to the fun stuff…

It wasn’t my idea to have ghosts show you how to play. In a playtest, a player was distracted by a ghost that appeared. The ghost was replaying the player’s previous lap performance but — not realising that — they said “Oh cool! I can just follow that guy!?” I nearly fell over. It was the perfect solution. Why am I trying to explain nuanced physics-based game mechanics with tutorial text?

Gravity. Ahhh gravity. Because I was accustomed to playing my own game, and because I understood how gravity worked, I assumed other players would get it. Holy moly, no. No no no no no! When first presented with it, players either learn it reasonably quickly or find it extremely challenging and just kinda hate it. While the introductory gravity challenge has always remained roughly the same, the final version represents eight or so design passes to tune the difficulty. It was easily 10x harder at first. 😅

Playtesting

Finally. I can talk about playtesting!

If I had a secret weapon developing DATA WING — playtesting is it.

For all the issues above, it was only through playtests that I managed to overcome those issues. I’d build on what worked and rebuild what didn’t. Over and over.

Before diving into my process, it’s important that I also explain my attitude. I’ve been making gameplay for 20 years now — the only constant is that I can’t reliably predict what will and won’t work for players. Nobody can. I’m humble in the face of this challenge and validate my work with playtesting.

I credit ~30 playtesters in the game. I tested with at least 15 of these people for 60 to 90 minutes. I’d always follow the same process:

Playtesting Process

The tester sits down with a device. The observer (me) armed with a notepad, sits where they can see the screen but outside the tester’s field of view. (it’s mandatory that both sit in the same quiet space — you’ll see why)

I then do the following:

  • Encourage the tester to play as they normally would — including stopping whenever they like.
  • Explain that the purpose of the session is to see if the game is working. The tester’s performance isn’t being measured — again, play as they wish.
  • Inform that I’ll avoid talking or answering questions — the game should answer their questions. I’ll avoid intervening as much as possible.
  • Similarly, I encourage them to verbalise their feeling or narrate what they’re doing if they think it’ll be helpful — like how streamers talk to their audience.

This sets up a productive environment with the right responsibilities in place. The game should explain everything — if it doesn’t the tester can convey that they’re confused or frustrated, but without pressuring the observer into giving hints. If things are going well, the tester should forget the observer is even there. If things go poorly — a player is repeating a challenge for 20 minutes, then rage quits — the observer has a strong incentive to turn that pain into a fix so they don’t have to sit through that again. This feedback loop is crucial to good playtesting.

I firmly believe playtesting is one of the most valuable ways you can spend your time as a developer. Other tools, like analytics, are fine additions to the designer’s toolbox but there’s no substitute for being in the same room as someone playing your game.

Handling Player Feedback

You’ll receive a lot of feedback and suggestions doing exhaustive playtesting. It can be difficult to know how to handle — testers don’t know what you’ve tried before and aren’t aware of the reasoning behind any given decision.

I encourage developers to approach player feedback in the same manner a doctor would consult their patient. How do you feel? Where is the pain coming from? Why do you suggest that? If you suggest your doctor prescribe you Vicodin, they don’t entertain that suggestion; they inquire about your pain.

Any given suggestion may not be helpful — but discovering the specific frustration or problem that led the tester to make that suggestion can be incredibly insightful. You’re the expert when it comes to your game — they’re the expert when it comes to their feelings.


Conclusion

I hope I’ve made the case that it’s worthwhile taking the time to welcome players into your game. It’s nothing new — many of my favourite games do this — but it requires discipline, patience and time to get right. So please plan accordingly!

I also hope I’ve laboured the point that playtesting is awesome. People seem to not see value in it — from having followed a flawed process or believing it’s outdated — so I hope I’ve at least provided food for thought. If you’ve never playtested your game this way, please give it a go and let me know how you go!

Thanks for reading!

Dan Vogt — find me on twitter! @dan_vogt