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
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.

League of Legends
What it can teach you: teamwork, release often, and multi-tier applications.

League of Legends is a game based on a Warcraft III map that was based on a StarCraft map. A whole game based on a single user-created map for another game? How can that be? We’ll get into the power of giving users your tools later in this piece. For now, let’s just say that League of Legends, and its predecessor, Defense of the Ancients, are closer to basketball or baseball than they are to Counter-Strike or StarCraft.

Gameplay is five vs. five, and each team’s players choose from around 90+ characters. Each character performs a role, such as healer, crowd control, damage dealer, or damage taker. Each player must perform this role to the best of their abilities, because a single bad player on a side can make for a quick loss.

The game’s core draw is this team-based cooperation. As a result, the players can be quite rude to newcomers.

All this means the game has to have a very strong front-end social interface and friend system. This comes in the form of an Adobe Air application that serves as the login, interface and patch-automation system. Once a game is found, the player is matched automatically with nine others, their clients are linked together via VPN, and they all go off and play a game that typically lasts 45 minutes with no pauses at all.

And when the game is complete, vital information and statistics, such as the number of kills and assists for each player, are then tabulated back into the central database. It’s an awful lot of handshaking and passing off of duties between the AIR front end and the typical desktop app back end.

Now, replicate these transactions across 1 million concurrent players and over 15 million registered users. Now, we’re talking about some serious scale. No wonder Riot Games, the company behind League of Legends, hired over 100 new employees last year.

Add to that the fact that the game does an automated patch about once a week, and you’ve got one heck of a life cycle to manage.

StarCraft II
What it can teach you: the power of giving users your tools.

Remember when we said that League of Legends began as a map for StarCraft? That’s because Blizzard ships map-making tools with its real-time strategy games. The same tools they used to build the game’s various levels are automatically installed alongside the game itself.

This means end users can build complex and intricate scenarios and gameplay styles, and then distribute them to the world. In fact, StarCraft II handles that side of the job for you: You can automatically upload new maps, and online players can choose to be guinea pigs in a special area just for trying a random newly added map.

In previous versions of StarCraft and Warcraft, the player base made fun new maps that put different spins on the basic real-time strategy gameplay. But in StarCraft II, Blizzard opened the tool even wider. Though the player base has yet to unlock the full potential of this tool—it’s been almost 10 years since the release of Warcraft III and players are still making new maps for that game—Blizzard has already shown off some impressive games that can be made with the map maker.

Games like Bejeweled or Galaga, not the sort you typically associate with the overhead real-time strategy genre. In a few years, there are sure to be thousands of interesting new games in the StarCraft II universe.

And while this does take time, offering your creation tools to your users is an act akin to planting an acorn. In a few years, you’ll have a mighty oak to sit under, or maybe, just maybe, you won’t have to worry about a specific application in your tool chain anymore, because one of your users so loves it, he or she has taken over the care and feeding of it.

Angry Birds
What it can teach you: proper phone interfaces.

You’ve all played it. It’s dirt simple. The game requires very little interface, and yet offers endlessly addicting gameplay. Angry Birds is a phenomenon, from the shirts to the hats to the hopelessly addicted players that populate all forms of mass transit.

But what is the secret? Why is this game so popular? The answer is its simplicity. Touch-screens are very different than monitors and mice. The nuance of touch is such that a misplaced finger can ruin an entire experience if an application isn’t properly developed.

Angry Birds requires only one touch per bird shot. And it’s an obvious touch: the pulling back of a slingshot. We all know how that works. It’s not confusing or foreign; it’s a natural bit of interaction. You could say that it’s even more natural than using a slider bar in an interface.

At no time during the gameplay of Angry Birds do you need two hands. You can play entirely with one hand and a thumb. Perhaps this is a good test for any application. Can you use your enterprise mobile application with one hand?

If not, you’re going to have some angry users.