Hey devs! I'm Seth Coster from Butterscotch Shenanigans, and I'm here to talk about User Generated Content and the dreaded PLAY PROBLEM! The play problem is prevalent in games with user-generated content: It's that demotivating thing that happens when a player builds something interesting in your game, and then nobody engages with the thing they built.
We've implemented a simple solution to the Play Problem in our game Levelhead (Steam) that has worked fantastically for us, and has even produced some unexpected positive side effects. But before we go into all that, here's some background about the game to give you some context!
The heck is Levelhead
We recently launched Levelhead into Early Access on Steam at the end of April. Levelhead is a game about training a plucky delivery robot to be the best package shipping buddy in the galaxy. You do this by subjecting it to an endless series of horrendous, life-crushing obstacle courses created by yourself and other players.
At its core, Levelhead is a precision platformer that's built around user-generated content. The game comes with an extremely potent level editor that allows players to build pretty much any level they can dream of - good or bad. Players can then publish their levels for other players to find and play. Here are some examples of the some of the more outrageous pieces of content we've seen from our players so far:
- A 40-minute-long RPG-style level where you venture out into the world, then come back and buy loot and upgrades for your character.
- A 3-in-1 arcade game where you can play remakes of some old classics, like Donkey Kong or Space Invaders.
- A Binding-of-Isaac inspired "Infinity Chamber" that procedurally generates rooms and throws randomized enemies at you.
- Super innovative tiny puzzles that have tons of programmed logic offscreen to make all their parts work.
And, of course, thousands upon thousands of standard platforming-style levels just meant to convey an interesting challenge, some of which are really hard, like this one:
Some of these levels take dozens of hours for their creators to make, and then dozens more to beat, before they can be uploaded for other players to enjoy. We even have players building full-on spreadsheets and design documents to plan out the logic gates, switches, and receivers that it'll ultimately take to make their dream level come to life.
With all that hard work that goes into building these levels, it would be a dang shame if you were to put in that much time into building something amazing, only to have nobody ever even see it. In maker-style games like Levelhead, this is often referred to as the "Play Problem" -- how to get other people to play your level.
With Levelhead's UGC-based gameplay, we knew were going to bump into this problem as soon as we made the game available.
Lessons from Ludum Dare
Being a good game designer is all about finding lateral analogies to your problems. Rather than looking only to what other maker games have done to solve this, we stepped FAAAAR away from the problem and asked: what other events face a similar issue, and how do they solve it?
Early in Levelhead's development, as we were grappling with how to tackle the Play Problem, we participated in a well-known game jam called Ludum Dare. This is a worldwide game jam that happens multiple times per year, and it has gotten so popular that thousands of games get created for it every jam.
One of the interesting features of Ludum Dare is that other creators can actually rate the game that you made. Then, at the end of the judging period, a leaderboard gets posted, so you can see the top-rated games in various categories, such as Graphics, Music, or Humor.
As we were looking at Ludum Dare, we realized that this game jam has the exact same problem we have: thousands of people submitting content that they want to get seen. But the brilliant minds behind Ludum Dare actually managed to solve the Play Problem through a rather simple means.
In Ludum Dare, when you play someone else's game and give it a rating, your own game gets boosted up the charts. This gives your game more exposure, so other people will rate it.
That's right: you get to control how visible your game is, because your game's visibility is directly tied to how active you are in contributing to the community by rating other games.
So we saw this and we thought, HEY! This is perfect! All we had to do was adapt it to our own situation, with a few extra safeguards for longevity.
In Levelhead, levels ultimately strive to end up in a place we call The Tower. The Tower is a permanent archive of all levels players have built. Levels in the Tower are sortable by various metrics, such as Most Played, Least Played, engagement, and all kinds of other stuff. In the Tower, players can also filter levels by tags, difficulty, and a bunch of other stuff.
So you might say to yourself, Hey, I want to play a level where I have to take actions to the tune of Da Rude's Sandstorm, where the song actually plays inside the level using Boomboxes. Using the Tower, you should be able to find that level.
Levels in the Tower are also eligible to be part of the daily "Tower Trial", which is an algorithmically-generated playlist of six levels that have their own leaderboard, where you play all six of them in sequence for time and score. If your level gets selected for the Tower Trial, you get a nice boost of plays.
So the Tower is pretty cool. It makes your level findable for those that are looking for it. But how do you get your level in front of people that aren't looking for it? The Tower doesn't solve that problem.
Plus, if we only had the Tower, we'd be in trouble. How could you sort levels by "Difficulty" in the Tower, if you have a bunch of levels in there that have never been played? How do you know how hard a level is if nobody has played it? Sorting and filtering mechanisms only work once you have a decent sample size of information about the things you are sorting and filtering.
To make the Tower work, we needed some kind of holding area for new levels to get evaluated by the community, before they moved into the Tower. And we also needed to solve this dang Play problem, which the Tower clearly wasn't going to do. We were stumped for a few days, then, BLAMO, we realized we could solve both of these issues neatly in one place.
The Marketing Department
Taking inspiration from Ludum Dare, we created a secondary system to go alongside the Tower, to both solve the Play Problem and the problem of needing more statistics on levels for searching in the Tower: the Marketing Department. Before a level can graduate to the Tower, it must first spend some time in Marketing, and all newly-published levels start their lives here.
Once a level has reached a sufficient number of unique players and has been in Marketing for a minimum amount of time, it will then graduate to the Tower.
While a level is in the Marketing Department, accumulating those plays, the game has an opportunity to learn about the level. How engaging is it? How difficult is it? Do players quit shortly after starting it? These are questions that will help us sort and filter the level once it graduates to the Tower.
But unlike the Tower, the Marketing Department has no search options. It has no filters. You can't sort by difficulty. You can't look up levels with certain tags. In the Marketing Department, there's only one sorting metric: Exposure Bucks.
As you play other people's levels in the Marketing Department, you earn Exposure Bucks (which is a riff off the commonly sited exposure problem for creatives, made famous by the Oatmeal). You can then use your Exposure Bucks to boost your own levels up the charts, or you can even tip other players' levels with Exposure Bucks (which is a pretty common practice in the Levelhead community).
The Exposure Bucks system neatly solves a bunch of problems all at once.
Players now have agency for getting their creations played. Since levels at the top of the Marketing Department get a lot of plays, they tend to graduate to the Tower pretty fast, which means there is effectively a cap on just how many Exposure Bucks you will need to eventually be at the top. This makes it quite attainable for an everyday player to get their level to the top of the Marketing Department without undue effort. And since top-ranked levels leave the Marketing Department to finally reside in the tower, the top of the charts is constantly cycling.
Players are naturally exposed to more level building ideas. Instead of spending all your time in the Workshop just building levels, you have to venture out into the community and give back a bit in order to get your level played. When you do this, you'll come across all kinds of interesting level design ideas that you otherwise wouldn't have considered, and you can then pop back into the Workshop with renewed enthusiasm and new ideas.
Popular creators need to rely less on the Exposure Bucks system over time as they build a following. Levelhead also has a subscribers system, share codes, a web-based bookmarking system, and a bunch of other means of sharing and finding levels. This means that as you successfully produce level after level, you build up less of a need to spend time in the Marketing Department earning those Exposure Bucks - there's a longterm pay off for making good content!
Effort becomes curation. The Marketing Department asks players to put a certain amount of effort in -- via earning Exposure Bucks -- before other people will see their levels. So even though someone could quickly slap together a level in 3 minutes that has nothing interesting in it, no thought to the player experience, and is generally pretty bad, their level will start at the bottom of the Marketing Department. If that creator now wants their low-effort level to actually be played, they will need to put in some time, build up exposure bucks, and then promote their level to the top. Most people don't do this.
Effort becomes moderation. Giving players the ability to build whatever they want classically leads to derogatory language rendered in blocks and pixels and/or the drawing of crude shapes. It turns out that if building something like that is easy (which any engaging editor would make true), but getting it in front of people takes real time and effort (by, say, playing a dozen levels in the marketing department to earn the exposure bucks necessary to foist your hideous creation to the top of the charts), then most of the poor-taste creations simply die, unseen, in the depths of the Marketing Department.
Keep an Eye Out
Levelhead is still building up momentum in Early Access, so it's entirely possible that our current setup breaks down with thousands of concurrent players all publishing and playing levels simultaneously. I don't know! We're quite happy with how this system has worked out so far, and we'll continue to tweak and modify it as the game grows.
I hope this was useful to anyone making (or dreaming of making) a UGC-oriented game. I'll be checking in on the comments periodically, so feel free to ask any questions about this system, and I'll do my best to answer. You can find Levelhead in Steam Early Access and tweet at us @bscotchshenani, too!
Thanks for reading!
Hungry for more? Get the biggest Bscotch news sent right to your inbox!