Jump to content


Photo
- - - - -

Procedural Generation


Old topic!
Guest, the last post in this thread is over 60 days old. Posting in this thread will be considered a bump, so please make an attempt to be courteous if you go ahead with it.

If the last post is over 6 months old, it may instead be a better idea to start a new topic. If you aren't sure about what to do, feel free to ask a staff member for help, or try to locate a 'general questions'-type thread if it exists in this (sub-)forum.


  • Please log in to reply
26 replies to this topic

#1 13 August 2011 - 10:52 PM

Lace Offline
Lesbian Seagull
"Life begins and ends with Nu."
Join Date: 04 Jan 2008
Location: LocationHunky Dory
Posts: 3,062
 

Procedural generation is, simply put, the art of creating unique worlds through programming. Spelunky, Minecraft, Terraria, Nethack and others are all procedurally generated, and that's a large part of their appeal. These games, like many awesome games (Zelda, La Mulana, Cave Story), are based around the idea of dungeon crawling - of exploring places we've never been before and conquering them. What procedural generation offers is a completely new world to explore every single time you start a new game. This, quite obviously, allows for a bajillion funs when done well, but it is often not done well.

So, dear folks, how would you approach procedural generation (both of zelda-like worlds and cavern systems), and what steps would you take towards making sure it was still fun?



PS: I know this is different from the normal sort of thread on these forums. I just figured that if we have a new section, why not use it? Another note is that even if you have no programming experience, you should totally still make your ideas known. Usefulness!
PPS: I do have a sort of iterative offering. I'm still working on it though, and I'm not sure when it will be done (due to remaking my computer from scratch sometime soon).

Posted Image

#2 13 August 2011 - 11:54 PM

Carrotlord Offline
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: 28 Jan 2010
Location: LocationInternet
Posts: 1,374
Age: 20
 

I would use a nutrient system.

In a procedurally generated world, nutrients are not limited to "foodstuffs for animals/humans/biological things". Instead, a nutrient would define what objects are allowed to exist in a region and what objects are not.

For example, there can be rock nutrients (which spawn rocks wherever they are located) and tree nutrients (which spawn trees wherever they are located). The ratio and concentrations of these nutrients in an empty world can be taken into account in order to affect the landscape in even more ways.

Nutrients can also be active, as if they were microorganisms. Each nutrient will have properties that may define which item(s) they will spawn. If nutrients are allowed to compete for space, move, mutate, and reproduce over time, then the world will be far more interesting.

After letting these nutrients sit around and "cook" for a while, those nutrients can be frozen and set to spawn whichever items/objects they are supposed to spawn. Then the world is finally created. As a finishing step, the game engine will look around at the world (let's assume the map shall be a cavern system) and make adjustments to let the game be more playable. For example, the game engine may connect tunnels that would normally be inaccessible to give more chances for exploration.

To keep the game fun, there should also be predefined tools that allow the player a decent amount of freedom to overcome a variety of obstacles. Your typical roguelike dungeon-crawling kit, complete with ropes, flares, shovels, bombs, jetpacks, grappling hooks, and so on should be made available to the player in some way. The player could earn such rewards by exploration (finding the items) or using surrounding resources to build the tools.

#3 14 August 2011 - 01:52 AM

HyMyNameIsMatt Offline
AAAAAAAAAAAAAA
"Deaths: 4000"
Join Date: 09 Aug 2010
Location: LocationOh god where am I?
Posts: 889
Age: 19
 

I'd make the world have the same basic layout, but each general area would be different.

For instance, you always start off in a particular town, but that town looks different every time you play. The random generation would be a bit restricted, but it would make for a unique adventure game.

Yes.

 

Spoiler


"“If I have seen further, then it is by standing on the shoulders of giants” – Sir Isaac Newton, inventor of gravity."
-Djarcas, an idiot.


#4 14 August 2011 - 01:58 AM

Celtic Minstrel Offline
In front of a computer
"Man, if only I had an apple..."
Join Date: 01 Mar 2008
Location: LocationGrasstown
Posts: 1,448
 

Ah, interesting. Carrotlord's post reminds me of the Game of Life, but with more than one type of playing piece. It's an intriguing idea, but ultimately I suspect it would be a) too time-consuming and b) if it's really as much like the Game of Life as it sounds, too predictable. The latter isn't hard to fix, but the time? I think it could be quite significant. Waiting even 5 minutes for a world to generate would, I think, be much too long.

For Minecraft, I think it uses a noise generator to determine the terrain height; I think this helps give it a more "natural" feel. Once it has the basic terrain (not entirely sure what's basic, but certainly not much), it goes back through and adds special features such as dungeons, lakes, and trees. It works well for Minecraft, certainly. I expect it would work for a more traditional 3D game as well, using a noise generator to get a height map and then throwing in objects on the resulting terrain. Of course, that's if you want something natural-ish. If you're generating cities and such, you may not want a noise generator, and generation would likely be significantly less random (though still somewhat random).

I'm not sure how the above sort of method would work for a 2D game. It might be possible to adapt the principles to one less dimension; frankly I haven't really given a whole lot of thought to terrain generation in general, so I can't be certain.

Well I've got a solution for you: Think before you type. Sheesh...

Some people really need to take this to heart. Not necessarily just the ones it was originally addressed to, either.

Good thing the internet is made of backups


#5 14 August 2011 - 01:59 AM

Celtic Minstrel Offline
In front of a computer
"Man, if only I had an apple..."
Join Date: 01 Mar 2008
Location: LocationGrasstown
Posts: 1,448
 

I'd make the world have the same basic layout, but each general area would be different.

For instance, you always start off in a particular town, but that town looks different every time you play. The random generation would be a bit restricted, but it would make for a unique adventure game.

Castle of the Winds is a bit like this. More precisely, the towns and countryside are fixed but the dungeons are randomly generated. I didn't play it that much, though, so I can't really say anything beyond "it's been done, here".

Well I've got a solution for you: Think before you type. Sheesh...

Some people really need to take this to heart. Not necessarily just the ones it was originally addressed to, either.

Good thing the internet is made of backups


#6 14 August 2011 - 02:05 AM

HyMyNameIsMatt Offline
AAAAAAAAAAAAAA
"Deaths: 4000"
Join Date: 09 Aug 2010
Location: LocationOh god where am I?
Posts: 889
Age: 19
 

Castle of the Winds is a bit like this. More precisely, the towns and countryside are fixed but the dungeons are randomly generated. I didn't play it that much, though, so I can't really say anything beyond "it's been done, here".


That means you get the same old towns. I mean EVERYTHING, "except for maybe rooms in towns, but they're randomly placed". In each new game you have to relearn the landscape, figure out where the upgrades are, and maybe I would throw in a variety of enemies and make the map's selection of enemies random. In some games you get spiders running around the forest, in others you get hopping mushrooms. It would give the game alot of replay value. Damn, I wanna do this now.

Yes.

 

Spoiler


"“If I have seen further, then it is by standing on the shoulders of giants” – Sir Isaac Newton, inventor of gravity."
-Djarcas, an idiot.


#7 14 August 2011 - 02:48 AM

cultr1 Offline
ℒℯ
"Life begins and ends with Nu."
Join Date: 05 May 2009
Location: Locationle
Posts: 2,148
Age: 18
 

I would love Minecraft's procedural generation more if it had an aging engine, which is used quite well in Dwarf Fortress. In DF, you can even choose when to stop aging, which is viable via overwrld view. However, if Minecraft had world-wide age values that are randomly applied to each world, then nice things happen, despite it being less noticeable. It could determine frequency of dungeons (older maps would have fewer dungeons or dungeons that had already been looted years ago), development of cities (frequent tribal areas/basic small towns compared to more sparse, more advanced castles and cities), amount of grass spread over dirt and stone, etc.
It would add a whole new level of complexity to the world.

#8 14 August 2011 - 03:08 PM

WoodenRat Offline
Pirate Member
"What is a man!? A miserable pile of secrets! But enough talk, have at you!"
Join Date: 26 Dec 2007
Location: LocationLithuania
Posts: 1,846
 

Most of you will right copious amounts of texts in this thread, and that's good because the original post raises discussion easily. Kudos to Lace for that one. Anyways games that have randomly generated maps are fun to play, but they never leave an emotional memory. Not to me at least. They lack soul. They lack love. When you play cavestory, each tile is put there manually. You can actually feel Pixel's personality engraved in that game. Minecraft and Spelunky, sure they're fun for a while. The same way that physics simulation games are fun.

Many people look for freedom in games, but what they fail to realise is that there is no freedom there. Randomness doesn't bring freedom either.

And WoodenRat never liked you in the first place


#9 14 August 2011 - 05:35 PM

cultr1 Offline
ℒℯ
"Life begins and ends with Nu."
Join Date: 05 May 2009
Location: Locationle
Posts: 2,148
Age: 18
 

Most of you will right copious amounts of texts in this thread, and that's good because the original post raises discussion easily. Kudos to Lace for that one. Anyways games that have randomly generated maps are fun to play, but they never leave an emotional memory. Not to me at least. They lack soul. They lack love. When you play cavestory, each tile is put there manually. You can actually feel Pixel's personality engraved in that game. Minecraft and Spelunky, sure they're fun for a while. The same way that physics simulation games are fun.

You raise a valid point, woody, but I personally disagree with you. Though each map may not be as specifically designed, each world feels like your own.
In fact, that's one of the reasons Minecraft is so adored. It's massively wide-spread, so you can find many fans, but each person has a vastly different experience based on their world (past the first week of playing, where players figure out what do).
Read this article, it explains my standing pretty well.

Many people look for freedom in games, but what they fail to realise is that there is no freedom there. Randomness doesn't bring freedom either.


Genius sounding, but ultimately untrue. there is total freedom in Minecraft, but, as you said, it's not because it's random. It's because there are no rules, no goals. Each player develops their own goals, be it build a shit-bricks awesome castle, explore your world until your computer runs out of space, or creating a replica of Middle Earth for everyone to enjoy.
The player makes his own goal, so they have total freedom :D

#10 14 August 2011 - 05:40 PM

JetHawk95 Offline
Creating A Legacy...
Bobomb says: "I need a hug!"
Join Date: 06 Sep 2009
Location: LocationThe Balcony
Posts: 838
Age: 18
 

I strongly agree with Woodenrat.. I like to remember certain places as they were designed to be.. where every single aspect was put there for a reason...

I do really like generated maps such as Terraria though.. there a lot more fun in Building/Construction games.. In games such as Zelda, everything you do in a dungeon makes something else happen elsewhere.. Like putting all the pieces of the puzzle together.. In a Generated dungeon, You find yourself solving puzzles which you solved earlier on and it becomes and ease..

Heh, this a pretty original idea. Making a mod that's simply TSC script. I'm not sure if anyone's thought of this on the forums. Not even Noxid, that sly bastard!!


Posted Image
"Gotta Get Teh Shiny Shiny Ringz!"




Old topic!
Guest, the last post in this thread is over 60 days old. Posting in this thread will be considered a bump, so please make an attempt to be courteous if you go ahead with it.

If the last post is over 6 months old, it may instead be a better idea to start a new topic. If you aren't sure about what to do, feel free to ask a staff member for help, or try to locate a 'general questions'-type thread if it exists in this (sub-)forum.



0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users