Hacker News new | past | comments | ask | show | jobs | submit login
Generating Worlds in a Minecraft-like Game (gamedev.net)
95 points by JeanPierre on Feb 12, 2011 | hide | past | favorite | 21 comments



Since we're on the topic, I'd like to point out this project: http://www.quelsolaar.com/

The team behind that website are making an MMO game featuring procedurally generated environments and rendering techniques. They're developing all their tech in-house, with a rather small team, and releasing some of their tools for others to use. They've got a fascinating 3d modelling program, for instance, that you can download and fool around with.

I'm co-founder of a startup game studio focussing on games with extensive procedural generation (note: not at all related to the above — mad respect for those guys, though). If you've got questions, I'm an open book. It's an exciting new trend in this industry, and we're going to be all over it.


See also: http://www.youtube.com/watch?v=HhyyUiYQolA

There are also literally hundreds of articles about the algorithms used to randomly generate the worlds in roguelike games, many of which are quite interesting.


Wait until this game comes out: http://www.youtube.com/watch?v=P0-lsyo28SU&HD=1

Eve Online + procedurally generated + 'minecraft-solo' ambition.

More link and description here: http://www.reddit.com/r/gaming/comments/bykpz/this_space_mmo...


My co-founder and I were just looking at that game. Our startup is a game studio, and our focus is on procedurally generated content: environments, characters, narratives, graphics, even gameplay mechanics. It's a very exciting time for this sort of work, especially since the incumbents like EA and Activision can't pursue procedural generation as whole-heartidly as us independents.


While these games can be fun, you have to avoid the "empty universe" problem. Minecraft-like play, where you have a sandbox in which you create all sorts of crazy things is good, but for any game where you're trying to put a story in there, the sheer emptiness and banality of games where the content is spread too thinly will ruin the good parts of a game.

Players are really good at spotting patterns, so you have to be careful of the drudgery of having them quest to kill X tribbles for $reason all the time.

Anyhow, good luck with your game. I'm sure there are a lot of ways to make good procedurally generated content that haven't been fully explored yet and I hope you find some of them :)


We've got a few games in the pipe, and none of them are open-world. It's a common assumption that games with some procedural aspect come out as sprawling "canvases" for free-form play — that you'll be stuck in the sandbox if you want to play with procedural environments. Where in fact, our game currently in active development has a tiny environment. You can see the whole thing on one screen, with your character occupying about 1% of the area. The environment is continuously procedurally generated as the game is running, constantly shifting and changing without really expanding, per se. The player's reaction to their ever-changing surroundings is a big part of the fun. The gameplay is rooted in kinetic action, where spacial relationships are manipulated by the player. It's an arcade-style game, with the player's character pitted against a screenful of enemies. Attacks don't cause damage as much as create movement, and it's the movement of the character and enemies with respect to the (somewhat predictably) shifting environment that creates the flow of gameplay. I'd be more specific, but we're not quite ready to reveal the whole concept. It's quite a bit different than anything we've seen before, so we're being careful about having the product ready to launch before we start showing off the more unusual and exciting qualities.

In addition to procedurally generated, constantly evolving environments.. we've got procedurally re-composed music (my background is in algorithmic music composition). Re-composed, meaning the music is based on human-written themes, but the arrangements are done in realtime by the computer. We're also playing with procedural generation of enemies, to create a lot of variety with relatively little effort. That is, they'll look and behave differently depending on the outcome of the procedural generation.


Just out of curiosity, where can I find out about your game? I clicked around your profile & portfolio links, but I can't even find out the name of it, unless it's there and I'm just not recognizing it. You have me curious.


It's our first title as a new startup, so we don't even have a company website yet. We're going to finish it up early in march, publish it through a few platforms, and then launch the website and do our promotional stuff to coincide with public availability. Soon, soon.

If there's anything specific you'd like to know I'd be happy to email you about it, or notify you when we release it. If you want to email me, you can use this address: spiral@ganglion.ca


In borderlands, they generate content randomly: https://secure.wikimedia.org/wikipedia/en/wiki/Borderlands_%...

I gather games can be procedural by adding graphics and storylines. Simple missions like escort is easy with random positioning but complex linked ones can be created in tangent with name changes, speech style differences but encapsulating each quest part. Programming can largely go towards procedural generation.

The best part is that if a procedural generation game can be encapsulated pretty well, it can be a different game by supplanting different content and stories. Lots of potential. IAAWG :)


It's definitely a good idea to randomize parts of the game like that to make sure that it's a different experience for the player each time through.

The usual problem with random quests is that they tend to become meaningless over time. I'm not saying it's always that way, but that's a very real trap people can fall into. The issue is that the player loses motivation after the Nth quest to kill X things for $reason.

A better system would work to create a strong motive for the player to perform the quest. It could be as simple as the monster doing something to really piss the player off and making them want to go after it for revenge.

But the problem is that you don't want to keep using the same tricks too often. If you can find a good way to combine N tricks into N! reasonable combinations, that's great, but every time you pull the same trick twice, you cheapen it a little, because players will see the patterns eventually. Seriously, there are crazy people who play games using spreadsheets to plot out exact damage formulas and stuff. I suspect those kids will grow up to be accountants :)

Anyhow, my main point was that procedural generation is a very powerful and very cool tool, but it needs to be used to augment your game, not to dilute it. There's a temptation among some people out there to use it to avoid having to make any real content, which creates the "empty" feeling I spoke of before.

I believe that the people who avoid that temptation and create undiluted games with procedurally generated content will be the ones whose games are played for decades to come.


>I believe that the people who avoid that temptation and create undiluted games with procedurally generated content will be the ones whose games are played for decades to come.

That'd be wonderful. The "empty" feeling of dilution, and the absence of real content, are issues our team are tackling head-on, with full awareness of such pitfalls. As an example, I was raised on the early Final Fantasy games. A huge, huge part of their appeal was the music — beautiful themes with expert execution by a masterful composer (Nobuo Uematsu). Even now, 20 years later, I have friends who grew up playing the same games who still remember the music. We can hum the themes to one-another, and reminisce about our youth beguiling away many an afternoon absorbed in the stories of these virtual worlds.

But if the stories were procedurally generated, or the music, or any other "hook" that will be remembered by the player, the shared experience is suddenly lost. People may play the same "title", but they haven't played the same game. This is a big, big challenge — how do you leverage the power of dynamically generated content, without breaking the consistency of experience within your game and the commonality of experience between players. How do you create shared memories?

It's easy enough to take a game like Diablo, where the maps are random, or Boarderlands, where the weapons are random, and discuss the game with someone else, arriving at a shared impression and similar memories of play. But if the maps, weapons, quests, characters, sounds, music, rendering style, dialogue, plot, gameplay rules, setting, and even game genre are in some way "generated"... how can you still have a shared experience?

Whoever comes out with a solution to that will be doing some fascinating work.

Also, from what I've heard, the next Elder Scrolls (Morrowind, Oblivion) game is going to have some aspect of procedurally determined quests. I'm excited to see how they do that, as it's not so often that a big studio like Bethesda takes on such an unproven concept.


> But if the maps, weapons, quests, characters, sounds, music, rendering style, dialogue, plot, gameplay rules, setting, and even game genre are in some way "generated"... how can you still have a shared experience?

Well, you can do static generation. You use a known seed and a PRNG to generate stuff that's the same for everyone. Usually, you do that for background stuff, but some people do it and create big, empty worlds that they then try to fill with other stuff. But often, it's for background stuff like trees and clouds, where it really doesn't really create a shared experience one way or another.

There's also the sort of hybrid approach from Dwarf Fortress, where people can share seeds/worldgen info, but I think you already know about that. So people can all share that broken embark with the adamantium space elevator, but their fortresses will likely be totally different and have totally different stories. Maybe one will have their last dwarf go axe crazy while on fire, while another will drop 300+ goblins from the highest z-level all the way down into hell (literally...), or use those crazy weaponized bathtubs they're talking about now.

I think there may be some sweet spots in there with handcrafted stories layered atop procedurally generated worlds, but you're right that more work needs to be done on it.


Because of your reminder, I'm listening to the FF6 opera right now in my mind, even though I haven't heard it for years. (Celes: "Oh my hero, so far away now, will I ever see your smile? Like night into day, you're so far away, it's just a fading dream."), so I understand what you mean very well about shared experiences and the like.

It sounds like you understand the weak points of procedural generation quite well, so I think you'll be able to use it to full effect and create a great game. Good luck! :)


FYI, Elder Scrolls actually did procedural content a while ago, in Daggerfall. I haven't played it, but I've heard very mixed things. Then again, it can be a polarizing series...


I'd be great if you (or someone else) happen to have a couple of enlightening ones, and would you like to share them with us?


This may sound dorky but the random generated map was exciting me the most while playing minecraft :P Couldn't figure out how to do it.


Have you heard of Dwarf Fortress? http://en.wikipedia.org/wiki/Dwarf_Fortress#Gameplay

Some of the most exciting procedural generation I've yet encountered. Not the most visually impressive game, but the code behind it is mind-blowing.


Dwarf Fortress is one heck of a game.

You can build a microcline "bathtub" with ramps made of cat soap, have an insane noble who demands nickle silver statues in their bedroom, or have a dwarf go axe crazy because you couldn't supply the silk cloth they needed to complete their artifact earring.

Someone killed the most fearsome monster in the game, a Bronze Colossus, by throwing a fluffy wambler at it (essentially, a rabbit-like creature), people power complex traps with perpetual-motion waterwheels, and one guy walled off the entire map and did a mess of complex undersea engineering and trapping to capture and breed the only two sea monsters in his world, so that he could slaughter their children to make items out of their very expensive bones.

Another person built a fluid-logic CPU (using magma as the fluid), and there's a calculator with a nice numeric display (again, using magma) set so that if you trigger an overflow, the magma literally overflows...

http://df.magmawiki.com/index.php/User:BaronW#The_Almighty_D...

He says it took 75,368 mechanisms and 40,000 power to create that.

I should mention, too, that it has a procedurally generated history for each world, that each dwarf has its own preferences, the world itself is generated randomly according to certain user-controlled parameters, etc. Not many roguelikes can legitimately stress a modern computer's CPU in spite of having reasonably efficient programming.


Thanks for mentioning it!

Dwarf Fortress is brilliant. As much as people like Minecraft, DF really crushed the procedurally generated world bit - and then went on to crush a lot of other concepts.

How do I even begin introducing this game?

I guess, first the team: The game is the labor of love of 2 brothers; they are genuinely interested in crafting the best world creator there has ever been. Till date, I have not heard mentioned any plans to monetize, except vague gestures that some day it will happen. They instead spend hours on how they are going to do things like: - "Bee colonies found on the map can be collected and placed into clay/stone hives" "Eggs. They are in the game now. Oh, yeah- dragons get eggs too, along with other assorted animals and thinking beings.."

- Those are some of the more tangential things in the release logs. I am not mentioning the release where they added musclature which is tracked for every being, and used to determine combat, nor am I mentioning the release where the world generator is simulating economies to determine where field appear on the world map.

Their style of brainstorming is..., interesting. The elder brother will write a short story in a fantasy setting. From the story, major plot points which allowed for the situation to occur will be taken for iteration into the game. Things like "As to the story's world of eternal darkness, it should be dangerous to walk alone at night. You never know what will happen." have led to the addition of bogey men that attack you at night if you are adventuring alone.

The game itself is complex. Just the procedural world gen is over the top - First the game creates continents, (and recently an "underworld" cavern system as well). It also decides the mineral map, and the temperature map. Post creation, the game then erodes the world by running rivers which feed oceans and morph terrain.

Once thats iterated over, and an acceptable base created, it begins to populate the world with starting civilizations of elves, humans, goblins and megabeasts. After that, it runs a history and civilization simulator for about a 1050 years. Entire civilizations will rise and fall, cities will be destroyed, legends created, monsters raised into god hood in that time. One of the most famous stories has been of an elf child being kidnapped by the dwarves, being accepted into its society to finally become one of the most famous Kings ever known. You can read the legends of your make believe world, to find out who rose, who fell and what really happened. At this point you have about as much back story as a Tolkien-esque world.

Someone dug through their legends and found the epic story of a single dwarf, queen and last of her line, fending of hordes of enemies alone in her castle long after her family had died to the same enemy. The game generated and tracked the life and death of her family, and the rest of her civilization. All of this was made clear through the battle logs and lists of dead after each battle.

Once all of this is done, you can actually start to play. All of that detailed and loving world gen was just the preamble to what you as a player are about to do. There are 2 modes, adventure - which is the rogue-like mode, and fortress mode - where you simulate a dwarven outpost.

Its hard to talk about the game at the moment without sounding like some sort of super-enthusiast, but it really is everything you would want a fantasy sand-box game to be. Its entirely procedurally created; all stories are emergent from events that happen in the game. All of this is by a game in its alpha, which already has more features than most AAA titles.

Did I mention that the entire thing is done in ASCII?

Its a Sunday, so if any of you want to have some fun reading - take a look at the hall of legends on the forums - http://www.bay12forums.com/smf/index.php?topic=41896.0

I suggest at least looking at : http://www.nzfortress.co.nz/forum/showthread.php?t=20768

The story of the lone dwarf against the world is the legend of Tholtig Cryptbrain, found here: http://www.bay12forums.com/smf/index.php?topic=42702.msg7905...

You can also read boatmurdered: http://lparchive.org/Dwarf-Fortress-Boatmurdered/ Its a lets play from the something awful forums and is hilarious reading. Its also from when the game had a set map and had not incorporated a z-axis.

DO NOTE: the game looks like the matrix without a graphics pack and is hell for novices. This game can be used to define for "steep learning curve". Getting to the top though is well worth it.

PS: please excuse errors in typing and grammar.


"Once thats iterated over, and an acceptable base created, it begins to populate the world with starting civilizations of elves, humans, goblins and megabeasts. After that, it runs a history and civilization simulator for about a 1050 years. Entire civilizations will rise and fall, cities will be destroyed, legends created, monsters raised into god hood in that time. One of the most famous stories has been of an elf child being kidnapped by the dwarves, being accepted into its society to finally become one of the most famous Kings ever known. You can read the legends of your make believe world, to find out who rose, who fell and what really happened. At this point you have about as much back story as a Tolkien-esque world."

O_O


I was just pondering this yesterday. Specifically the parts about cave generation. I have ZERO knowledge of this, so this is a great intro.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: