Treasure Hunting Systems Found in the History of Video Games
by Malte Skarupke
A treasure hunting system is a system that unexpectedly puts out really good stuff. Proper treasure that makes people an enormous amount of money. An example is the Warcraft III modding community which invented several new genres of games and sprouted DotA, whose clones and offspring made their creators rich. (I don’t know how much money exactly, but Riot Games got acquired for $400 million, and their only product is a DotA-clone)
This has happened several times in the history of video games, but I didn’t link these together until I recently saw a talk about the Czechoslovakian game developer community before the iron curtain fell. The presenter talked about how the small country of Czechoslovakia had a thriving video game community despite the fact that you couldn’t buy computers in Czechoslovakia. But when I saw the talk I couldn’t help but think that “this reminds me of the Warcraft 3 modding community,” so I figured I should write up what these and other historical examples have in common so that we can build more systems that generate treasures.
The name “Treasure Hunting System” comes from the book “Why Greatness Cannot Be Planned: The Myth of the Objective” by Kenneth Stanley and Joel Lehman. The book is actually not that great, but this talk that Kenneth Stanley gave about it is absolutely fantastic and should change the way you think:
The talk is the best illustration I have seen for why great works often come from individual exploration, when people just pursue things that they think will be interesting. Things that you could never really justify to a committee, and that would get shut down in a company after you fail to answer “how does this help us reach our company goals?” It’s inspired by Picbreeder, a website where you can breed pictures until you find something interesting.
Two of my favorite points in the video are
1. An interesting picture that was bred in less than 100 steps was impossible to reproduce when an algorithm was written that specifically tried to breed the picture. Why? Because the search space is too complicated. It’s deceptive. If you try to go straight for the picture, you won’t get there. You have to get there through steps that look nothing like the final picture.
In any complicated search space the stepping stones won’t look like the final result. If you try to breed the teapot picture, you would never think that you need to breed the “egg with a hat” picture first, but that was necessary. Trying to go straight for the teapot picture is hopeless. You’ll get stuck in a dead end. The only way to get to any kind of good picture is to explore the space and when you start to see the beginning of something cool, go for it. You can’t be sure what you’ll find ahead of time.
2. There was a different system that uses the same breeding algorithm but uses voting instead of individual exploration to select which pictures to breed. That different system produced terrible pictures:
The pictures generated from the consensus breeding remind me of a Google image search of art. The images generated from individual exploration remind me of actual art.
I love that the talk can illustrate all of these ideas with pictures. It makes it so clear what’s going on. How does this tie back to treasure hunting systems? In the last picture the system on the left is not a treasure hunting system, the picture on the right is. The same underlying algorithm and idea (people “breeding” pictures) can produce vastly different results depending on how the system is set up. From that we can learn that we at least want to avoid consensus finding and want to encourage individual exploration.
But before we get to the learned lessons, let me introduce my three cases
Explosive Creativity in Gaming History
My three cases are going to be the Warcraft III modding community, Flash games and the Czechoslovakian gaming community before the iron curtain fell. The last one doesn’t really fit in, but since the talk inspired this blog post, I figured I should feature it.
I picked the Warcraft III modding community because I was pretty active in it growing up. It’s a straight continuation of the StarCraft modding community. There is a lot of overlap between the two games, and many of the popular results actually first emerged in StarCraft (like Aeon of Strife which let to DotA) but since I was more active in the Warcraft III community, and since more games directly emerged from that community, I’ll talk about that one.
Some games that emerged from Warcraft III are DotA, Tower Defense, co-op RPGs, the Tug of War genre, (which led to the paid StarCraft II mod Desert Strike) and Pokemon Defense which is a precursor of DotA Auto Chess, which Valve is now turning into a full game. And there are many other games that could still be turned into paid games, like the Battletanks/Battleships variant of DotA, (which would work great on touch screen devices) the hero defense genre (like X Hero Siege or Enfos Team Survival) and I still think that one of these days a Tug of War game will take off. (people are trying, but as far as I know nothing has gone big yet) The last one is certainly the genre that I would explore if I were to ever make a strategy game. My short list is incomplete because tracing the history is difficult, but I just wanted to prove that a huge variety of impressive games came out of this scene.
The second huge explosion of creativity was Flash games, which are introduced well by this video:
That video has a short section about how Flash games launched professional gaming companies and new genres like Endless Runners or Room Escape games which were so plentiful and so mainstream that they escaped into the real world. It also talks about how the mobile gaming industry kinda took over this niche, but how it feels very different. I think the mobile gaming platforms are less of a treasure hunting system, but we’ll get to that later.
The final one I want to talk about is the Czechoslovakian gaming scene before the iron curtain fell, simply because I watched a talk about it and it reminded me of a Treasure Hunting System. The talk was given by Jaroslav Svelch about his book “Gaming the Iron Curtain” and one of the things he said that if you look at online archives of eastern European games from the era, Czechoslovakia created the second highest amount of games, right behind Poland. But Poland had twice the population, so Czechoslovakia had a much higher output per capita. I don’t know if good games came out of it that left the country, or if anyone got rich on those games later, but the Czech gaming industry is doing really well as far as I can tell.
With the three examples introduced, lets talk about the things makes a treasure hunting system:
Criteria for Treasure Hunting Systems
The criteria I list are all “nice to have” things, none of them are fully required. I also try to list things that can be copied. For example we learned from Picbreeder that we want to encourage individual exploration (as opposed to voting), but how specifically do you encourage individual exploration? There are several components of Picbreeder that do this, and I will try to list the specifics. Not all points are about encouraging individual exploration, and I will get to the other goals later.
1. Ease of Creation
The most obvious thing about these is that it’s easy to create things in these systems. Flash games were easy to make, it’s easy to breed pictures in Picbreeder and the Warcraft III level editor was super easy to use. The Czechoslovakian games were mostly text adventures, which are also easy to create. How do you make things this easy? It depends on your domain, but mostly this is just good old UI design. Treat your editor as a first class citizen. Put the same amount of work into making it easy to use as you would put into making your game easy to understand. Being very popular can help with this as there were a huge amount of great tutorials for making Flash games and for using the Warcraft III editor.
2. Easy Sharing
Flash games are obviously super easy to share, as there was a huge number of websites for you to upload a Flash game to. And then “sharing” is as easy as sending someone a link to a website. Warcraft III custom maps are downloaded automatically if you don’t have them yet. Meaning if I make a custom map and want to play it online, I can simply host a custom game on Battle.net and everyone else will quickly and automatically download the custom map from me. Once they have it, they can host it themselves. In Czechoslovakia it was common for games to include a hotkey to write a copy of itself to tape. Picbreeder has a button that allows you to share your picture, and it will be displayed on the page.
This is important because often the person who creates new content is not the person who makes it popular. To use the language of Malcolm Gladwell’s “The Tipping Point”: You need to empower mavens and connectors to spread your content.
3. Ease of Reuse
When you share a picture on Picbreeder, others can take it and start evolving from it. So if I shared a cool picture, you can use that as your starting point and make something even cooler. In Warcraft III all maps were open source by default. Meaning after you play a custom map on Battle.net, and it was downloaded automatically, you can open it in the level editor yourself and make changes to it. And then you can host your changed version right away. There were ways to make a map closed source by deleting all the editor data in it. It could still be played in the game, but the editor would crash on opening it. But you needed custom tools for this, so most maps at least start off as open source. In Czechoslovakia reuse of assets was very common, like in this political game which took art from a commercial game:
I don’t actually know how easy it was to reuse stuff in Flash games, but there were obviously plenty of games that just took random pictures from the Internet for their art.
4. Light Filtering
I just loaded up the “Custom Game” section on Battle.net and this is what greeted me:
It’s just a list of games that people are currently hosting. The [asia] or [use] tag in front of the game is the server that it’s hosted on. The one I have highlighted is hosted on US East. It used to be that you would only see games hosted on your own server, but my guess is that at some point enough people stopped playing Warcraft III that Blizzard decided to just merge all the lists into one. So if I wanted to (and if I can stomach the lag) I could play with someone from Korea. Besides that annotation, there is no other filtering at all. It’s just a list of games that are currently hosted. The number at the end tells me how many players there are, and the panel on the right tells me some info on the map. In this case I haven’t downloaded the selected VampirismFire map yet, so I don’t have that much info over there. There is even some guy offering his map up for “Download Only” and as you can tell by the player numbers, one other player joined and is currently downloading the map. Before standalone DotA clones existed, this list was half-populated by DotA. But that doesn’t matter. No matter how popular something gets, if I host a custom game, it will show up here. Nobody can stop me from showing up here.
Flash websites also usually had a minimal filter. They showed you what’s currently popular, what’s all time popular, but they also showed you a bunch of new games right on the front page. The picbreeder frontpage looks a lot like a flash gaming front page:
It has categories like “Editor’s Picks,” “Best New Images,” “Newest Images,” and “Random.” Meaning if you make a new picture, it will show up on the front page. No ifs, buts or whens. Sure, you have to scroll down a little, but your picture will be right there with the top pictures.
In Czechoslovakia games spread on cassette tapes which had simple labels like this:
Once again there is little filtering. People liked creating these cassette tapes, and if your game is on there it’s right next to the best games.
Edward Tufte has a quote about how you shouldn’t be afraid to display a lot of information:
We thrive in information-thick worlds because of our marvelous and everyday capacities to select, edit, single out, structure, highlight, group, pair, merge, […] focus, organize, condense, reduce, […] categorize, catalog, […] isolate, discriminate, distinguish, […] filter, lump, skip, smooth, chunk, average, approximate, cluster, aggregate, outline, summarize, itemize, review, dip into, flip through, browse, […].
Visual displays rich with data are not only an appropriate and proper complement to human capabilities, but also such designs are frequently optimal. If the visual task is contrast, comparison and choice – as it so often is – then the more relevant information within eyespan, the better. Vacant, low-density displays, the dreaded posterization of data spread over pages and pages, require viewers to rely on visual memory – a weak skill – to make a contrast, a comparison, a choice.
(this quote being from Edward Tufte’s book Envisioning Information on page 50)
So don’t be afraid of light filtering. Don’t just show the popular things. Show as many things as you can.
5. Discoverability
That being said there have also been modding communities that suffer from the opposite problem: too little filtering leading to being unable to find anything. The Doom 2016 modding community suffered from this. I was never active in it, but from this discussion it sounds like there were only two ways of viewing maps: Either an unfiltered list that contained all kinds of unfinished/broken or just bad content, or a sorted list of the “all time most popular” maps, that never really changed and that you had a very low chance of ever getting into.
This problem was automatically solved in Warcraft III and in Czechoslovakia because you just saw a constantly changing list of things that other people enjoyed. And Picbreeder has many different ways of discovering interesting pictures. Both on the front page, but also by going through the tree of ancestors and siblings of a picture.
6. Gentle/Local Competition
The book “Why Greatness Cannot Be Planned” makes an important point about competition: It stifles creativity. The stronger competition is, the more you tend to converge on a single winner, and the more you will suppress creative attempts. A new idea usually takes a few attempts before it’s good, so there needs to be space to try it. If competition is too strong, the idea will die quickly before it has a chance to grow. Obviously the Light Filtering from the previous point is important because nobody can ever completely kill my custom map in Warcraft III as long as I keep on hosting it, but it goes beyond that. You couldn’t make any money in Warcraft III. And it was hard to make money on Flash games. Part of the reason why mobile phone games aren’t as good as Flash games is that there are a lot of people making a lot of money on them. So things tend to converge because competition for the few visible spots on the store is very high.
There is a trick around this, which Kenneth Stanley and Joel Lehman call “local competition.” It’s the trick that evolution uses: If all animals were competing with each other worldwide, you wouldn’t get the explosion of diversity that we see from evolution. You get the diversity because when competition gets too tough in one area, you can often escape to a different area. If competition is too tough in the oceans, you can escape onto land. If competition is too tough on land, you can escape into the air. If competition is too tough for fruits and nuts, you can escape into eating leaves instead. Evolution’s creativity is not a result of competition, it’s a result of escaping from competition. A well functioning free market will also have this aspect, where people constantly find new niches to grow from, but if you leave it alone for too long you tend to get global competition which stifles creativity.
This point is a bit hard to support with my examples, but from my experience I can tell you that the evolution of DotA-likes stopped pretty much as soon as DotA became super popular. But then Battleships escaped into a related genre where it competed with fewer games, so you had a new genre of Battletanks/Battleships which proved popular on its own. Lots of Czechoslovakian games were local. They couldn’t compete with the imported games from the west, so they made games about their home town instead.
Another good example of this is how the subreddits on reddit allowed it to avoid the trap of global competition that killed digg eventually, and that’s currently killing the front page of reddit with outrage/anger posts. Flash game websites often had different categories, so if you couldn’t compete in the “action” category maybe you could succeed in the “puzzle” category, but I haven’t seen anyone do the reddit equivalent. Maybe it wasn’t as necessary because there were so many different Flash gaming websites. If you made an “escape the room” game, you could go to websites that specialize in just that.
A different solution may be Youtube’s “related videos” section, which allows communities to form even if none of their videos ever become popular enough to make it to the front page.
This point may be the most difficult one to scale up. You lose gentle competition the moment that too much money is involved, and you lose local competition once you get big. You have to somehow ensure that no matter how much competition there is, you can never completely kill off someone who is trying to do something new.
7. Ease of Evaluation
One benefit of all of these systems is that they’re all super easy to try. You can usually tell if a Flash game is good or not within a couple minutes. Trying out a new Warcraft III map might cost you ten minutes if you end up not liking it, but there is no big loss. In Picbreeder evaluation is super easy because it’s just pictures. But it actually goes beyond that: When breeding pictures, the interface shows you a bunch of possible candidates:
Among these candidates it’s obviously easy to evaluate which ones are more interesting and which ones are less interesting for me at this point. So I will click on the ones I like and evolve from there.
It might help to list some counter examples to better outline this point: Open Source software is often not easy to evaluate. I’m unlikely to try a new Linux distribution or a new Open Office branch. And there are also plenty of games whose mods are not easy to evaluate. I recently played Legend of Grimrock 2, which has an active modding community, but the mods are often hour-long campaigns that require you to create a new party and everything. It’s still somewhat easy to evaluate, but not nearly as easy as a RPG map in Warcraft 3.
8. Easy Testing and Feedback
This one is related to the previous one, but while that one was about consumers trying out new content, this one is about creators creating new things and getting feedback on whether it works or not. Since most Warcraft III maps are multiplayer maps, you can get feedback on your creations immediately: When you play it with other people, they will let you know whether they like it or not. (even if they don’t say anything, you can at least see how many people stay and finish the game and how many people leave early, and what caused them to leave) On Flash gaming websites you could easily tell how many people play your game, you can see what’s popular and people can leave comments. In Picbreeder you can find any picture that branched off from your picture.
Creating something new always requires iteration, and iteration always requires feedback. You may even pivot if it turns out that people respond to something that you hadn’t anticipated that they would like.
9. Room for Simplicity
This one is very related to the previous two. If something is very easy to evaluate, it’s OK for me to create something simple. So for example my first Warcraft III mod might just be a normal Warcraft III map except that I give everyone lots of gold mines. That is a very simple change and it might make an interesting map. And it’s easy to see how that can evolve: Maybe what I actually wanted was huge battles and lots of gold mines doesn’t quite get you there because now everyone spends lots of time on their economy. So how about I make all the units super cheap instead? Or maybe just make them free. Then unit production is getting a little bit annoying because it’s just lots of clicking, so why not produce them automatically. And just like that I am most of the way towards inventing the popular Footman Frenzy mod.
Easy testing was important at every step along the way, because I need to play these maps online with other people. But it’s more than just that. Room for Simplicity in this case also required that I have all of the Warcraft III assets available for my custom maps. If I had to develop a new RTS from scratch every time that I want to try an idea like this, I would never try them.
In Flash you get Room for Simplicity from having the whole ecosystem already in place. I can upload a crappy little flash game of two archers shooting each other, and it might take off and become super popular. That can only happen because there are already popular Flash gaming websites out there where people are looking for this stuff. If I had to create a new website for every custom Flash game I make, and if I had to get people to go to that website, I would have a much harder time. (still not super hard though thanks to the Ease of Sharing and Ease of Evaluation)
In Czechoslovakia half the games were text adventures that kids made about themselves or their friends or their schools or their towns. And people play those because it’s fun to play a game about your town.
And finally in Picbreeder you get Room for Simplicity because you start off with a simple image, and it is immediately interesting to just explore the space that you’re working in. That exploration allows you to tolerate looking at really simple boring pictures for a while.
In the book, Stanley and Lehman make a point about this from a computer science perspective: Usually when we want to write an evolutionary algorithm or a search algorithm, we give it a goal and we expect the algorithm to explore the search space starting from bad solutions and eventually arriving at good solutions. But treasure hunting systems work differently: Instead of going from bad to good, they go from simple to complex. In these high dimensional search spaces it’s very hard to find the good solutions, so it’s hard to write an algorithm that goes from bad to good. But it’s easy to find simple things. And then from there it’s easy to find more complex things. So you need Room for Simplicity.
10. Room for Complexity
Lots of modding communities have Room for Simplicity, but not many have Room for Complexity. I think part of the reason why the Warcraft III mods took off more than StarCraft mods ever did was that the StarCraft editor was just a little bit too limited. You could do some amazing stuff, but you couldn’t quite get them up to the quality where they turned really good. It was impossible in StarCraft to make Aeon of Strife as good as DotA was in Warcraft III. The difference is even more obvious when comparing against the level editors of other strategy games, like the Age of Empires series.
When playing Flash games you would come across something really impressive every once in a while. The experience of finding these nuggets of gold was really important, because they reward all the exploration you do by playing other crappy little Flash games. There was a similar thing going on in Czechoslovakia where most games were text adventures, but some creators programmed in assembly and made games of similar complexity as those in the west. And Picbreeder had a similar thing where you would expect to just get more and more random blobs, but unexpectedly you can get some relatively impressive pictures. Without the Room for Complexity, you stop being surprised at some point. And then you stop hunting for treasure.
11. Safety
This is a requirement for lots of the above, for Ease of Evaluation and for Easy Sharing. Yes, Flash had plenty of security holes over the years, but as long as you were on reputable Flash gaming sites, it was always safe to try a Flash game. Similarly Warcraft III maps could never give you a virus.
To list a counter example, the Android game store is full of apps that are essentially malware. Collecting your data, running in the background draining your battery doing god knows what, displaying ads on your home screen or trying to trick you into spending money on things. It would be unwise for you to install random apps from the Android play store, but it was not unwise for you to try random maps on the Warcraft III Battle.net.
12. Isolation of Consequences
This one is hard to explain because it’s so obvious in all of my examples: If I play a Warcraft III custom map, I can never mess up my progression in the campaign or my ladder rank. If I try a new Flash game, I can never mess up any progression that I may have in another Flash game.
A better way to explain this one may be with counter-examples: The Elder Scrolls modding community always has this problem: It’s easy to accidentally mess up your save game by installing mods. Even in non-obvious ways. For example you install a mod that gives you a cool looking sword, but that sword is way too powerful. So you mess up the game progression and make the game less fun.
Another example is Youtube: I stopped clicking on some related videos because they can easily mess up my recommendations. Like “if I click on this car video, Youtube will recommend car videos for me for the next six months, and I really don’t care about car videos.” And I am also very careful with clicking on any kind of controversial or embarrassing videos: I avoid sexy content on Youtube, and I avoid political content. Because then I would get potentially embarrassing videos in my “related videos” list that pops up after I finish watching a video, and it can easily happen that people see that list when I show them a video on my phone. I know I can control a lot of these things on Youtube, but that’s extra work so I just avoid certain videos altogether.
So it has to be safe for me to explore, and I have to be able to isolate the consequences. It’s another reason why I never use the app for any website: In my browser I have a “private window” mode, but the app probably doesn’t have that. So it will remember everything I do, including things that I may not want it to remember. (and a private browsing mode is actually not the ideal solution, because it gives me no consequences. But I just want to be able to isolate the consequences, not get rid of them entirely)
13. Isolated Exploration
This one is strongly related to “Ease of Creation” but in certain situations Ease of Creation is not enough: The big difference between the “voting Picbreeder” system and the actual Picbreeder system was that in the voting Picbreeder you can’t explore on your own. In actual Picbreeder you can pick a picture and start breeding from it, and nobody can have any influence on what you’re doing. Your intermediate results don’t show up on the website and you never have to publish them. (but you can if you want to) You can be completely isolated. If something doesn’t work out, nobody will ever know that it even existed and you don’t have to explain why you went down that route. You are completely free. In Warcraft III and Flash games you get this automatically because you create offline and then can publish online when you’re ready. And it’s easy enough to create them that you don’t need a team. In Czechoslovakia nobody in the government understood computers, so video games were used as a subversive genre, creating and spreading political messages.
14. Backwards Compatibility
While in hindsight it seems like Flash games and Warcraft III had an explosion of creativity, these processes actually took years. And in that time it was important that you could always play even the oldest Flash games. I actually think it’s a giant shame how browsers stopped supporting Flash, because the many years of backwards compatibility before that led to great stuff.
Blizzard was almost fanatical about backwards compatibility. (Seriously if you’re a programmer, read that link. They emulated a buffer overflow bug that could be used to write custom maps that modify random bytes in memory, doing things that you couldn’t normally do in the engine. Completely crazy)
In Czechoslovakia you got backwards compatibility indirectly because they were so cut off from the west. They mostly imported old computers from Britain, and then kept them running forever. In true socialist fashion everything was repaired and repurposed for years. For example here is a custom keyboard attached to a wooden plank and connected to a ZX Spectrum:
Why is backwards compatibility so important? Because these treasure hunting systems are all about collecting stepping stones. I said above that these systems go from simple to complex. They do this by collecting stepping stones that are easy to share, easy to evaluate etc. But it’s important that the stepping stones continue to serve as stepping stones for a long time. If you lose backwards compatibility, you’re throwing away your stepping stones, and you may lose stepping stones whose offspring weren’t fully explored yet.
Bigger Picture Goals
I liked starting off with the specifics, because I think the high level goals are often difficult to understand without specifics in mind. That being said all of the specifics serve high level goals that make for a good treasure hunting system:
- Allow individual exploration, or exploration by small groups. If big teams are required, it is harder to pursue ideas where you don’t quite know how they will turn out.
- Make exploration cheap. The more resources you need to explore, the more you have to justify what you’re doing. That can be hard if you don’t know what you’ll find.
- Make sharing easy: if I created something cool, it should be easy for me to share it with a lot of people, and also easy for those people to share it with others.
- Make discovery easy and safe: if somebody created something cool, it should be easy and safe for me to find.
- Give new, unproven ideas a place to be successful enough for them to evolve and grow.
- Ensure safety and backwards compatibility. Keep things working and make it safe for people to explore.
- Make testing and feedback easy.
- Collect stepping stones and make it easy to actually use them as a starting point for your next idea.
These high level goals are a bit more vague, and if I had started you off with this list, you probably would have had no idea what to do. But now that we’ve seen a few examples, comping up with more ways to achieve these goals is much easier.
Other Examples / Potential Counter-Examples
There are several other modding scenes that created lots of really impressive work, but I am less familiar with those. Half Life is an obvious example, leading to Counter Strike and many lesser known mods. The ARMA modding community created DayZ and PUBG, both of which became huge. And I’m sure there are communities that are equivalent to the Flash community that I am forgetting. (Hypercard? RPG Maker?)
I don’t know enough about the history of these other examples, so if somebody else knows, I would be curious to know if they serve as counter examples or if there are more tips for treasure hunting systems that we can extract from them.
Outside of games there are obvious things like Youtube and Reddit. I would be really curious how Youtube’s recommendation system affects its ability to act as a treasure hunting system. For me personally it feels like I spend less time clicking on related videos on Youtube than I used to, and that experience actually prompted me to write the point Isolation of Consequences above. But there is no denying that Youtube is still an absolutely fantastic treasure hunting system, creating communities that share amazing dances, build amazing aquariums or create a new sport of hobbyhorse competitions.
Examples that Fall Short
There are several systems that never turned into full treasure hunting systems. One big one is open source software. It fails on many of the above criteria. For example why is the best text editor closed source? (Sublime) Why don’t people improve their text editors all the time and try adding random features or improving things? One reason is that it’s much harder to share text editors than anything in the above systems. I know that back in the day, when I liked a Warcraft III map with a bug, I would sometimes just fix that bug and then always play that version. If I fix a bug in a text editor, maybe it’s pretty easy for my patch to be accepted, but it’s not nearly as easy as just playing a fixed Warcraft III map. And if I want to add a new feature, the hurdles are even bigger. You basically have to get it merged with the mainline branch, but if they accepted every random feature, they’d risk burdening it with too many features. So you have to fight hard and justify your feature, and that may be hard if it’s not fully baked yet and requires more evolution. (possibly by other people) What you’d really want is to be able to branch off, and for your branch to have an equal chance as the main branch. And if your branch is successful for a while, maybe the main branch adopts your new feature.
The closest thing I have seen to that is the plugin architecture of all major browsers. Without plugins, we would have never gotten Flash, and there are other quality of life improvements that we would have never gotten. Like Firebug, which improved web-debugging a lot, putting the built-in tools to shame, forcing them to improve to be equivalent.
Other systems that failed to take off are all the games with active modding communities that never created much outside of their community. I think that especially RPG communities suffered from this. Like Neverwinter Nights, The Elder Scrolls series or Legend of Grimrock. While some commercial efforts came out of those modding scenes, nothing was ever really different from the main game in the same way that Tower Defense is very different from the main Warcraft III game. I think Ease of Evaluation might be the biggest problem: Those RPG campaigns can easily take days to finish. A Warcraft III map or a Flash game rarely takes more than an hour. Another problem may have been that there was no Room for Simplicity. You wouldn’t just make a RPG that is exactly like the main campaign, except you get more gold. But you would definitely make a Warcraft III map that is exactly like a normal map except you get more gold. So what this does is that it slows everything down by a lot. Every 10 hour RPG campaign might have a neat idea or two in it, but if you want to take that idea and explore it further, you need to build another 10 hour RPG campaign. The Elder Scrolls series solved this somewhat by being set in an open world, so its easier for people to add things in. But it has the problem that I talked about in Isolation of Consequences: It’s too easy to mess up your save game. But once you think about these problems in terms of the criteria above, solutions become apparent: Maybe there should be a way to view mods in game. Like “show me user-generated dungeons nearby” and then download and install them from within the game, ready to enter. And maybe after I am done, I should be allowed to decide which consequences I want to keep. Like if a dungeon takes away items or gives out a crazy amount of experience points, I should be able to undo that. Just to make it risk-free to try things.
And finally mobile games fall short compared to Flash games. Above I already said that I think it’s down to lack of safety, because if you install a random unknown game from the Android play store, chances are you are getting malware. Another problem is that competition and filtering is too strong: There are very few games actually visible in the play store. I just tried finding new games on there, and as far as I can tell there is literally no way to just look at an unfiltered list of new games that came out recently. Meaning if there is a new game idea that isn’t fully fleshed out yet, (needing a few more iterations before it’s good) there is no way it will ever be discovered on the Android play store. You can probably tell people to search for it, but ease of sharing is not nearly as good as it was for Flash games. Another problem is lack of backwards compatibility. Since I talked about the Tug of War genre above, I looked into it a little bit and found Stick War: Legacy on the Android store (which unsurprisingly derives from a Flash game) but I also came across Anthill, which apparently is no longer available. I don’t know why. It’s eight years old. I have no idea how many eight year old games are still available on the play store, because there is literally no way to find them, (too much filtering) but given Google’s bad record for supporting things, I would guess that this isn’t too uncommon. But I can still play Warcraft III mods from fifteen years ago, and I can still play Flash games from 20 years ago.
Conclusion
This all started from the simple observation that Czechoslovakian games often included a hotkey that writes a copy of the game to tape and the fact that there was such obvious reuse and evolution going on. It reminded me of the Warcraft III community and once I saw the similarities, I couldn’t stop. Kenneth Stanley’s and Joel Lehman’s work is also obviously amazing. If you haven’t yet, you should watch the talk that I embedded at the top of this post. Their work exposed patterns in great work that I hadn’t noticed before, and that made me notice more patterns like the ones listed in this blog post. I would be very curious to hear about other examples and communities that I wasn’t as involved in. I am also looking for counter examples of communities that didn’t follow my guidelines, or for lessons that I missed.
I think just having a list like this is valuable. If any game creator out there wants to encourage modding in their community, this list gives them things to aim for. While I can’t guarantee that this will pay off for you, it can give you a huge leg up: Blizzard had a really early start on DotA clones: They included a single player version in their Frozen Throne campaign and published several multiplayer versions themselves, (search for “Extreme Candy War” here) but they never realized that they could make a stand-alone version until others did it first. If they had realized it earlier, they could have gotten huge amounts of money out of this. Even though they missed the big money, they still sold many copies because for years people bought Warcraft III just to play DotA. They certainly recouped the money that they invested in their modding tools.
And hopefully this list will help people generalize these concepts outside of games. I see lots of these ideas apply to Youtube and Reddit, and I would be curious if similar treasure hunting systems could be built for other areas as well. I am especially interested in solutions for programming related topics: open source libraries, open source software and better development tools.
Another example of a community tool that had a big impact on games is game maker studio
A good chunk of this is talking about the early days of that community:
I think your central thesis brushes over a really important point. It’s not objective based search that is inherently bad. If you have a good objective function and points in your objective function are related to points in your search space, then objective search is really good. If you correctly measure the egg-with-hat as being more teapot than circle blob, your objective search will explore that direction.
No matter how well thought out it is, your objective function probably sucks a lot, and to create one that’s even mediocre, you have to understand your search space so well that you probably don’t need to search.
I don’t think this weakens your conclusions any, but this also maps to real life in many ways. Rewarding based on metrics for productivity often destroys productivity, because the easiest way to increase the metric is not a good way to be more productive.
Yes, objective based search is not inherently bad. And once you’re near the goal, it will get you there the quickest. To take your example of productivity: If your goal is to produce 10,000 widgets a year and you’re currently at 9,000 widgets per year, that’s probably a good objective to set.
But in general hard problems tend to live in highly complex spaces with deception. In the book they like to use the example of trying to solve a maze: The space is deceptive and going straight for the goal will just get you stuck in any non-trivial maze. They claim that most real world problems are actually very similar to trying to solve a maze. If there was no deception in the search space, the problem would already be solved by now. And if most hard problems are actually maze-like, then objective based search is often actively harmful.
So if your goal is to produce 10,000 widgets a year and you’re currently producing 100 widgets a year, that’s probably a bad goal. You will kill yourself trying to scale up your productivity by 100 in a single year.
In this case you can probably get there in steps because you already know how to do the thing, you just want to do more of it. So if you set a goal of 150, then 250, then 400 etc you can probably get there pretty easily over the course of twenty years without killing your company.
But if your problem isn’t just “do more of what we’re already doing” then I think the best approach is to get lucky. This piece about the difference between people who seem to have a lot of luck and people who seem to be unlucky all the time is a very important read:
https://www.telegraph.co.uk/technology/3304496/Be-lucky-its-an-easy-skill-to-learn.html
For example this search is about how unlucky people tend to use objective based search:
“And so it is with luck – unlucky people miss chance opportunities because they are too focused on looking for something else. They go to parties intent on finding their perfect partner and so miss opportunities to make good friends. They look through newspapers determined to find certain types of job advertisements and as a result miss other types of jobs. Lucky people are more relaxed and open, and therefore see what is there rather than just what they are looking for.”
(the article backs this up with experiments where unlucky people miss completely obvious things as soon as you give them an objective)
There are more points than just the objective based search (like resilience) so it’s definitely worth reading.
But the point for this is that the best approach is to explore, have an open mind for what you’ll find, and if you find something cool, maybe go for that instead of the thing you first wanted to do. And then use an objective based search. But not in the first part.