Let's make FOSS game content creation ridiculously simple

Let's make FOSS game content creation ridiculously simple

bart's picture

I'd like to step up onto my soapbox for a moment and address something that I find somewhat lacking in FOSS games -- namely content creation and editing.  In one sense, FOSS games have a leg up on the competition because all open source software is innately moddable, which is kind of the point.  However, the practical reality of software moddability is that it's extremely dependant on the tools you provide.

Let me give an example.  There's a game that came out fairly recently on the PS3 called Mod Nation Racers.  It has a built-in track editor that's surprisingly easy to use and produces results in minutes that look like they took hours.  When you've tested your track and are satisfied with it, you can upload it to a central server where other players can download it, try it, and rate it.  Little Big Planet provides a similar experience.  Of course, the downside of all of these things is that they're stored and moderated by Sony, so they tend to be deleted with no explanation the moment someone complains, and you don't "own" your creations, per se.  In fact, in all likelihood, the license agreement with the software gives Sony ownership of all of your creations as well as your soul, testicles (or ovaries), and first-born child.

Yet, with all the crazy licensing stuff, limitations, and arbitrary deleting of content, people are still happy to continue creating.  Why?  It's just so fun and easy.  What I'd like to propose is that we, as a community, try to move toward that level of fun, power, and simplicity for creating FOSS game content, and motivate our game players to help build our games content. 

Of course, this isn't going to be easy.  Writing a good UI is extremely difficult, and the motivation to do so is generally fairly low, since the people who would work on the UI (namely the coders) know their games inside and out and are the least likely to need them.  As a rule of thumb, if you want to create a means of editing game content that's usable by regular users, it's best to find a guinea pig who's willing to sit down and try your editor without reading any instructions.  An ideal game content editor should be so intuitive that users can start creating content immediately without wading through arcane (and often outdated) documentation.  Mind you, I'm not saying that a user should never have to refer to a book or a guide, but you'll lose most people if they have to do it immediately.  What you want to do is hook them with easy content creation so by the time they run into something complicated, they'll have designed three quarters of their level, and they'll be willing to poke through the manual so their hard work isn't wasted.

Also, built-in network support is an absolute must.  If people can't download user-created content or submit their own content without poking around in the file system, you'll lose a lot of them there, too.  In fact, ideally, the user should be able to create, modify, test, play, and upload their content without ever leaving the game, and without having to go through an arcane interface such as a console.  A rating system (even a simple "number of favorites" type of thing like we have here at OGA) will help direct people toward the best content and give them something to aspire to with their own work.

What makes this all so challenging is that game levels are complex animals, and that makes it very difficult to allow the user to edit them in a simple way.  Some complexity can be reduced by creating a set of default options that are generally true and then allowing the user to change them in a menu.  Some things, such as custom logic, can only be reduced so far while still providing rich functionality, and in those cases, it's important to present instruction in the simplest and most accessible way possible, namely instructional videos.
In summary:  A great content editor is fun, usable without reading documentation, accessible from inside the game engine, highly capable, and networked.  If we really want user-created content in FOSS games to take off, that's where we need to go, and it can be done!

Now, a couple shout-outs to projects that are, in my opinion, moving in the right direction on this:

  • Syntensity, and other projects that use the Sauerbraten Engine.  I'm not a huge fan of Sauerbraten's editing interface, as I don't find it particularly intuitive, but it's leaps and bounds ahead of the competition in terms of allowing users to modify game content.
  • Wesnoth has a good map editor and a large, active community, but when it comes time to create campaigns and scenarios, you still have to venture into the scary realm of text editors.  Still, Wesnoth's campaign server allows users to contribute their work, and then players can download it from inside the game with no fuss whatsoever.
  • Tiled makes it easier for developers to integrate a full-featured tile map editor by allowing you to write plugins for exporting maps in your own format.
  • The Gluon Project aims to be a complete, easy-to-use FOSS solution for creating, distributing, and playing games.

The above is by no means an exhaustive list, so if you think of a project that deserves credit for easy content creation, drop me a line, and I'll add it. :)