This is not really a game, but it is an open source project, and the final result can most certainly be used for lots of games. The idea is to create a procedurally generated world. The entire thing will be up to the computer to create, all based on algorithms. You might star with a basic map:

And then add on to it: Biomes (deserts, forests, tundras), Natural Scenery (Lakes, Rivers, Mountain Ranges), and Artificial Scenery (Cities, Farms, Roads, Highways, Villages) are the goals of this project.

Here's a lake algorithm:

Imagine a WHOLE world created randomly. Imagine playing GTA and it would feel fresh every time. (perhaps, discussion held below (Would it? The algorithms must be changed for this to happen. Downloadeable content - Algorithms? That's a good one.)). Not only that, you could raid an entire city and escape to another country, for example.

Looks pretty cool. And reminds me of something I started playing around with a while back.

The above it just colorized perlin noise, really.

Quote

Imagine playing GTA and it would feel fresh every time.

Hmm. While it seems like a procedural world will be fun to explore, is that actually the case? A lot of the low-level detail will have a sameness to it (even if it's technically "different") simply due to the lack of human creativity involved in its generation. A lot of the fun of exploration comes from the fact that what you're exploring was created by another human mind - you get a glimpse into that mind, and that's what's fundamentally interesting about it. Then again, if the rule system used for generation was involved enough to be interesting, it might work - but I suspect it'd have to be tuned to the game in question.

Have you looked at Dwarf Fortress? That features world generation taken to quite an extreme level, and I think it's a good example. There are something like 100 different types of rock - and the underground is generated in excruciating detail, because that's what actually *matters* to the game. I'm not sure a generic solution could delve deeply enough into any given area to be as interesting.

Actually, everything in that game is taken to an extreme level that pushes the boundaries of sanity. Maybe "pushes" isn't the right word - I think "gleefully disregards" is more appropriate But I digress...

The whole concept of world generation is quite fascinating, though - so by no means take this as me trying to discourage you

Wow! Thanks for the awesome response everyone. For anyone still in interested, this is not even close to being done yet, those are some simple prototypes.

Quote

The above it just colorized perlin noise, really.

It maybe Perlin noise, but it actually looks really nice. Many maps are based on perlin noise. Is the application of this technique recommended or would it be better to use another?

Quote

Hmm. While it seems like a procedural world will be fun to explore, is that actually the case? A lot of the low-level detail will have a sameness to it (even if it's technically "different") simply due to the lack of human creativity involved in its generation. A lot of the fun of exploration comes from the fact that what you're exploring was created by another human mind - you get a glimpse into that mind, and that's what's fundamentally interesting about it. Then again, if the rule system used for generation was involved enough to be interesting, it might work - but I suspect it'd have to be tuned to the game in question.

Yes, the question of whether it would be fun or not really depends on the algorithm and go far in depth it goes. Ideally you want to go several more levels into the world than the player will see - and things must of course be programmed like someone would make them. Otherwise you lose your human touch. Even so, creativity is lost so you have to make up with something else - perhaps a new algorithm every so often, to shake things up a bit. However, at least for now, I'll try to remain on a macro level so as to not kill myself with stuff. If I was already thinking about having cars, trains, dogs, cats, plants, seeds, strawberries [...] I might go crazy. That's not to say that I won't have those, I just want to concentrate on Macro first.

Dwarf Fortress is insane - I haven't had any hands on time with it but it looks amazing.

It maybe Perlin noise, but it actually looks really nice. Many maps are based on perlin noise. Is the application of this technique recommended or would it be better to use another?

Ah, thanks. It's just a simple anti-aliasing pass (blurring, more like it) that makes it look a little nicer than it should. I'm not an expert, but as far as I understand there's a fair bit of literature on this subject, and perlin noise is probably the simplest way to go about doing this, not the best. I'd guess something that more accurately simulates actual terrain formation (erosion, fault lines, etc) would produce "better" results, along with being lots more complicated.

Hm. Perhaps we are able to find a middle line, maybe a bit less simple than perlin noise but not as complicated as simulating erosion and fault lines. Honestly though, the perlin looks pretty ok, just a bit blurred and inconsistent, in my opinion.

I've been working with mean value generation a bit. Basically it works by creating several mountains and valleys which have a low depth. From there we "flatten" it by averaging the values. For example, a block next to a tall mountain (depth -32) might become -30 and the next one -26 and so on, of course with a bit of randomness. I applied this method to a simple applet, and these are the results I got:

The result is incredibly interesting. I have no idea what went on during that generation though. You can kind of see the original mountains, but I only generated 5 or so and many more are visible. Same for the valleys. I might have made a mistake in my programming, I still haven't had enough time to debug.

Hm. Perhaps we are able to find a middle line, maybe a bit less simple than perlin noise but not as complicated as simulating erosion and fault lines. Honestly though, the perlin looks pretty ok, just a bit blurred and inconsistent, in my opinion.

I've been working with mean value generation a bit. Basically it works by creating several mountains and valleys which have a low depth. From there we "flatten" it by averaging the values. For example, a block next to a tall mountain (depth -32) might become -30 and the next one -26 and so on, of course with a bit of randomness. I applied this method to a simple applet, and these are the results I got:

The result is incredibly interesting. I have no idea what went on during that generation though. You can kind of see the original mountains, but I only generated 5 or so and many more are visible. Same for the valleys. I might have made a mistake in my programming, I still haven't had enough time to debug.

Do you have a specific sea level, so that something with Y < 0 is underwater and > 0 is land? Or did you just randomly add water everywhere? Also, do you factor/render on a pixel-by-pixel basis?

I remember reading something from the Spore team for generating the terrain for planets (and also textures). They used "particles" that they sprayed on surfaces that simulated some kind of natural terrain formation. The results certainly look good but perhaps not realistic.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org