[OpenGL] World generation using no textures - only fractals

Monovertex

Formerly Smith_S9
Reaction score
1,461
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,463
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

Formerly Smith_S9
Reaction score
1,461
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,463
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

Formerly Smith_S9
Reaction score
1,461
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,463
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

Formerly Smith_S9
Reaction score
1,461
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

Formerly Smith_S9
Reaction score
1,461
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,463
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

Formerly Smith_S9
Reaction score
1,461
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,463
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.
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top