[OpenGL] World generation using no textures - only fractals

monoVertex

I'm back!
Reaction score
460
This is not a question, I want to share something, but I had no idea where else to post it.

So I just found the videos of this guy, who created a real-time world generator which uses only procedural generation, with no resources, except for sounds, which he can't generate, sadly.

Check them out:




You can find a discussion about it here: http://www.fractalforums.com/movies-showcase-(rate-my-movie)/real-time-fractal-landscape-project.

This is really exciting. If one could generate an infinite world using only code, and still generate other interactive elements in real-time, the file-size of such a game plummets. And the world is supposedly infinite, with only hardware limitations (floating point numbers start accumulating errors after a while).

Also, the demo looks extremely realistic and with a bit of imagination, you can transform the world into something completely different! Sadly, I couldn't find out if he shared the source code anywhere...
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
I dont know if the performance of that would be better then using textures. I would guess it is worse. On the other hand, you probably save a lot of performance because you dont have to swap textures anymore, so maybe it actually is better.
A tough call.
 

monoVertex

I'm back!
Reaction score
460
With the current hardware, I think this is performing worse than a program using textures. I am talking about a hypothetical full-fledged game here. The example in the videos was real-time and smooth, from the creator's words, but it was only the terrain generation, movement effects and looking and moving around.

However, the true advantage of these techniques is that you can completely change the look of a world, with a few code changes (colors, fractal algorithms), with virtually no file size expense. You can also create randomized areas by simply changing the code, without using any additional textures.

Also, this allows a programmer that has no graphic skills to create a game, without involving a texture artist (although I guess any programmer working in graphic programming should have at least a minimal amount of graphic talent...).
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
I would guess it still needs a good amount of memory. Or are you saying he is computing the terrain tessalation and all in real time?
That woudnt make much sense in my opinion when everything is static anyways just pre-compute the values and keep them on disk.
 

monoVertex

I'm back!
Reaction score
460
I think he caches what has already been generated and the rest of the map is being generated a bit ahead, before you actually go into those areas. At least that's how I would do it.

However, you can always go the way Minecraft went and cache the generated terrain on the disk. That would be needed, anyway, if you wanted to save the progress.

And keeping only a few blocks in the RAM while the rest is on the HDD does away with the RAM problem.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Yeah, exactly. So you still need some disk space for the terrain. And, if we talk about very large maps, it isnt that much less then when working with textures.
The good thing about textures is, that their file size does not increase if you use them more often.
 

monoVertex

I'm back!
Reaction score
460
On the other hand, we don't know his algorithm. Perhaps you can only save the seed for a world for it to be generated just the same, if he's relying on random numbers in his algorithm.

Of course, I'm only talking about the terrain. When you start adding other elements with state and you have to save this state, my statement flies out the window :D.
 

s3rius

Linux is only free if your time is worthless.
Reaction score
130
In case someone's interested, John Carmack gave us his thoughts about prodecural graphics in games during a QuakeCon. (Start's at 1:14:10 if the time index doesn't work).

In short: He doesn't consider it worth it.
 

monoVertex

I'm back!
Reaction score
460
I think he is a bit conservative on the topic. I mean, yes, it's something complex at the moment, but many years ago nobody envisioned 3D graphics and they probably considered that problem too complex as well.

The thing is that with traditional game environments, with textures and models, you are limited in variance by the amount of said textures and models. With procedural graphics, you can randomly change some parameters and you get some totally different environment. And it's way easier to manage this in my opinion, than change a bunch of models and textures.

Also, you can make a procedural environment truly infinite in both size and variance.

Another thing: sure, storage sizes increase, I do have about 2TB free on my computer, but I'd still wait 2 minutes to download a game with really cool graphics and a small size, than wait 30-60 minutes for a 20GB game on Steam.

Anyway, considering that these methods are just starting to mature and be usable in real-time, I doubt anyone really tried to create a full-fledged game using procedural graphics, so when he's saying it's too complex I think he's just dismissing it because it's something new and scary.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
The thing is, most games do not need procedural graphics at all.
The only kind of games which might want to use this is sandbox games with a generic landscape.

You couldnt procedurally generate cities for example, that wouldnt look all that great and lack atmosphere and immersion. And competitive games require fair and balanced maps, they are usually mirrored for each player.
And then many more games which simply dont need them.

The only kinds of games I could see this work is minecraft or the elder scrolls like games, and in case of TES only in between more important parts of the map.

Just in case nobody remembers, TES2 had procedurally generated landscapes.
 

monoVertex

I'm back!
Reaction score
460
Actually, you can do cities as well:


I agree, it's crude, but it can be done. I never imagined that the things in the first post's videos could be done procedurally, and yet they can. You can describe anything through fractals and mathematics.

As for mirroring, that's trivial using math, again. All you have to do is provide the same seed or simply copy the data as many times as you need.

But yes, the games this is mainly targeted for are open world games (truly open world, not with crappy boundaries).
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
You dont understand.
I do not say its impossible to do, I say its impossible to use procedurally generate cities or maps for competitive games.
Because some genres require a very high quality for certain enviroments. You do not want to run through a computer generated city in an RPG because no matter how good that algorithm is, a human being could still do it better. because a city needs a certain feel to it. A certain level of chaos.
 

s3rius

Linux is only free if your time is worthless.
Reaction score
130
Aye, it's not the technique per se that is bad. It's that artists and game designers usually want a very high degree of customizability for their games. Be it the scratch marks on a wooden door (textures) or a city area specifically made for a quest.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top