A Pixelated Platform Game That Never Plays the Same Way Twice

Every time a player starts a new session, forests, villages, and crypts are generated procedurally to ensure fresh gameplay.

Minecraft set the gaming world on fire by creating a world where anything can be built. Moonman offers almost the opposite experience. Its eponymous hero, which bears some resemblance to a Minecraft Creeper, is charged with exploring seven themed and completely destroyable worlds. His goal is to find and assemble a series of moon fragments by exploring exotic lands and winning boss fights along the way.

It's a simple conceit with an approachable, old-school aesthetic. Its creator, Ben Porter, says you can finish the game in an hour. That's not long at all, but what makes Moonman work is its infinite replay factor. Every time you start a new session, forests, villages, and crypts are generated anew. Players can collect new power-ups, weapons, and tools to make the experience entirely fresh. The graphics---an eclectic mix of 8-bit, 16-bit and even ANSI influences---have a retro vibe, but the game leverages some serious research into algorithmic design.

When Ben Porter was in high school, he wanted to be a game designer, but after graduating spent 12 years leveling up in academia. His days were spent researching 3-D models, physics, and biology and synthesizing those lessons into academic papers with titles like Stimulating Creative Flow Through Computational Feedback. His nights were spent "studying" the resurgence of indie games like Spelunky, Terraria, and other "roguelike" games that combined simple graphics and game mechanics with procedurally generated levels.

In the odd hours between experiments for his Ph.D. he started working on Moonman and studied other games as models. Some algorithmically joined pre-designed levels, making each session challenging and enjoyable but solvable. Others were completely random, but employing simple that ensure the player was never caught in a game they could not win.

Moonman follows the random approach. Porter created a map of seven lands, but the flora and fauna in each environment are created with a high level of randomness. Caves are carved out using a combination of procedural noise and cellular automata-based erosion (Carnivorous glow-worms are sprinkled-in liberally after the fact). In the forested regions, the game selects a variety of tree sprites from Porter's collection of assets and assembles a synthetic sylvan landscape that manages to follow basic logic, like not having trees grow on stones. The result is a game that feels fresh every time you play, yet doesn't feel like a collection of glitches.

The Secret Ingredient Isn't AI

Porter says successful procedural generation involves a mix of algorithms, hard-coded design features, and above all, a sense of taste. "You've got a system generating a large space of levels that you have to prune to a fun subset using your game-specific knowledge of what the player has to do in the game world," he says. He has reworked portions of the game repeatedly to find this balance. "I went through three different fluid simulation techniques before settling on something that works well, but, more importantly, doesn't subtract the fun-ness from the game."

Porter has spent two years on Moonbeam, which is being financed on Kickstarter, but thinks it needs another year to get the balance right. "You need to ensure certain aspects of level design---like making sure a vital piece of treasure isn't surrounded by an impenetrable wall," he says. "The key is to find a happy medium between level designer and algorithm."

Some happy accidents get coded around, but others are left in, creating a bit of randomness. "One of the best things about having a world with physics and AI is that often I'll see something that I didn't directly code," Porter says. "Like a skeleton jumping backwards into a lava pit, or a rabbit spawning in a tree."

Moonman's visual style is reminiscent of 8- and 16-bit classics, but Porter doesn't think of pixel art as retro. Rather, it's just one of many stylistic choices. "It's simple enough that you can get started quickly, although it still takes a lot of time and effort to create great pixel art," he says. "I use low-res pixel art in Moonman because I think visually minimalist games have a lot to offer and can let your imagination run free."

"Modern games technology and tools means that one developer can now do something that took five developers in the 90s, when pixel art games when at their peak," says Porter. "Now we can really start to experiment and push the medium in all different, wonderful, directions."