(Page 1 of 2)
Though enterprise applications and video games are both software, there's very little the two have in common when it comes to the end user. Few people would choose to spend a weekend playing with an expense report application, and fewer still would want to add requirements, metrics and governance to their favorite version of Tetris.
But that doesn't mean all software developers can't learn from video games. There are a lot of lessons to be gleaned from the successes and failures of games, both popular and niche alike. At the end of the day, all applications are code and data, it's just a matter of what that code does with that data that makes the difference between a game and a business tool.
Here, then, are five games we feel you should know about, and what you can learn from them.
What it can teach you: the power of creativity unleashed, the power of early release, and that Java is still fun.
When Markus “Notch” Persson left his cushy job at Wurm Online, he left behind a steady paycheck and job security at a corporate-backed massively multiplayer online game. But Notch had done what so many entrepreneurs do: He set out to build his own product and company in an industry he'd been a part of for more than a decade.
A few months before he'd quit Wurm, Persson had started toying with a game he'd built in Java, where a first-person perspective player (think Doom) wandered through a randomly generated landscape of blocks, and was able to modify the terrain with shovels, picks and dynamite.
Minecraft, as he called it, was in prototype form, just barely alpha, when he released the game to the public for US$16. Who would buy a prototype and an unfinished game? Millions of people. By the time the game had reached beta, Notch had a company with fulltime employees, had raked in millions of dollars, and won numerous awards in the games industry.
What's the secret? Creativity. Minecraft was a compelling game on its own, but it's also a client/server Java application. A server is a realm: a land that can be explored, and anyone with the client can hop into the server and work together. And working together typically means building things together, not killing things.
Rather than running around and killing each other, like in Quake or Call of Duty: Modern Warfare, Minecraft is about building structures, hollowing out caves, and being creative. And that's why it's so popular. It's an easy-to-use tool for creating. Just imagine if your business analysts could build their workflows in a 3D world made of Lego-like blocks. If nothing else, you can bet they'd actually use the tools.
Dwarf Fortress
What it can teach you: Power trumps a bad interface.
Zach and Tarn Adams have been cranking out this quirky game since 2005. It simulates the life and times of a colony of dwarves as they go from living in the wilderness to constructing underground cities a la Tolkien's Mines of Moria. The game features tremendously deep AI, with worker dwarves autonomously doing their jobs and interacting with one another. Dwarves have likes and dislikes, get married, adopt pets, and need a constant flow of booze to remain in a good mood. (Sounds like my editor!)
Despite a gameplay depth unlike any other game, Dwarf Fortress has one single shortcoming that keeps most of the world from understanding it: Its atrocious interface. It doesn't help that the game is rendered entirely in ASCII. (The game uses sprites, but Tarn was too lazy to draw pixelated images, and thus populated those sprite blocks with the ASCII character set.)
And yet, the community around this game has gone to great lengths to fix these shortcomings. There are dozens of third-party tools that make managing dwarf jobs easier, finding good locations simpler, and generally make the interface bearable, even though all of these add-ons are simply external programs. The fans have also made full character sets of dwarf pictures to replace the ASCII.
What's the lesson here? Give people a tool that is 100X more powerful and intriguing than anything they've ever seen before, and they'll still use it. Heck, they'll find ways to make their usage of it easier on their own.
Certainly, good UX is important, but when you're building some nitty-gritty tools for the grognard sys admins, there's nothing wrong with a confusing interface, as long as it’s a powerful interface.
Amazon had a similar tool for years in its customer service department. The tool looked and felt like emacs, but its users were virulently dedicated to it. Despite the all-text interface, this tool made their day-to-day jobs simpler and faster because it did exactly what they needed it to do, quickly and efficiently.
When Amazon replaced this tool after around five years, the staff was terribly disappointed, even though the new application was a flashy mouse-driven desktop application. Functionality trumps UI, but only if that functionality is something you can't get anywhere else.
And for enterprise tools, a simple text-based interface is probably going to run quickly on any machine in the company, no matter the OS or CPU power. The same cannot be said of Dwarf Fortress, however. Despite its simple graphics, the deep AI and simulation aspects of the game can make this text-only game choke a quad-core CPU with ease.