Geo Realism: Discussion on a new SDK based map generator

Impressive and potentially Very useful video on procedural generation
http://www.youtube.com/watch?v=iTBvpd3_Vqk&feature=player_embedded#!

'A magic way to make a vast amount of rich content easily that isn't used in many video games but should'
'takes a second to generate a galaxy of data' (even in complicated 3d rendering of map data) 'whole star systems created' 'solar systems within systems'..'with their own shapes and momentum properties'
'if the procedures are varied enough - so is the end result'!

I was thinking this very thing in the late 80's. (and have mentioned something almost exactly the same here several times - add tweaked fractals to procedural generation)
Could be useful for just about everyone (who programs).
I definitely highly recommend that everyone sees this!! It is easy to see that it is a big deal.
:)
 
In regards to helping the climate engine find the latitudes: if we do use an equal-area projection as one option, my suggestion would be to use one specific one, with standard parallels at, say, 37.5 degrees. And then, it's fairly easy to calculate what latitude corresponds to which point on the y axis, and just put that into the program as fixed values.

LOL. I already have the latitude calculation in place... didn't you seem my sample code?

Do you plan on the climate engine to be able to work with maps of any size, or will there be only a couple of set map sizes, like 48 x 24, 80 x 40 and so on?

Any size map. I will have to add a tag or two to the WorldSizeInfos in order for it to work properly (to be able to know the area of a plot for each size). This brings up another issue that I will post below. I may even make a separate thread to get attention to the matter since it is important to get as much feedback as possible on this one.
 
Impressive and potentially Very useful video on procedural generation
http://www.youtube.com/watch?v=iTBvpd3_Vqk&feature=player_embedded#!

'A magic way to make a vast amount of rich content easily that isn't used in many video games but should'
'takes a second to generate a galaxy of data' (even in complicated 3d rendering of map data) 'whole star systems created' 'solar systems within systems'..'with their own shapes and momentum properties'
'if the procedures are varied enough - so is the end result'!

I was thinking this very thing in the late 80's. (and have mentioned something almost exactly the same here several times - add tweaked fractals to procedural generation)
Could be useful for just about everyone (who programs).
I definitely highly recommend that everyone sees this!! It is easy to see that it is a big deal.
:)

I appreciate the well intentioned help but honestly I am not sure what the big deal is here. None of my criticism here is a reflection of you.

  1. First, while how "random" numbers are generated may be news to the lay programmer, what is said in this video is common knowledge to people who have extensive experience with using random numbers AND those who have experience creating a random number generator. That would include anyone who has ever done anything with cryptography. The non-randomness to a random number is why cryptography can work.
  2. Second, while this guy may have some great ideas on how to use a sequence created by a random number generator in different and creative ways, the amount of computer time it takes to generate a "random" number is very small. I would be interested in knowing what the point is to keeping the same seed when changing the seed is ALSO a quick process and it takes the same amount of time to create another series unless the series is saved in memory. Keeping the same series in memory is a waste of memory space unless the amount of memory (including cache memory) is fairly unlimited (which cache memory never is.)
  3. AND MOST IMPORTANTLY FOR THIS DISCUSSION: While using random numbers is great for detail generation on the micro level or in where to place stars, it is not useful in the generation of realistic maps since the processes which create real landscapes are NOT random. In the first post of this thread I specifically point out that randomly based maps are NOT realistic at all though I didn't really explain why. (I can explain why if people are interested). That is the point of the GeoRealism mod engine. We are simulating the cause of climate and geography in a NON random way, creating a realism that is impossible in random generation. As of current plans, the only time the GeoRealism engine will use random numbers is in two circumstances (that happen to go together). 1) when picking a "random" time for something to occur. 2) when there is more than one good place to split a tectonic plate the engine will "randomly" pick between the choices.
 
I have posted this thread to pose my question about world size as mentioned above.
 
  1. Second, while this guy may have some great ideas on how to use a sequence created by a random number generator in different and creative ways, the amount of computer time it takes to generate a "random" number is very small. I would be interested in knowing what the point is to keeping the same seed when changing the seed is ALSO a quick process and it takes the same amount of time to create another series unless the series is saved in memory. Keeping the same series in memory is a waste of memory space unless the amount of memory (including cache memory) is fairly unlimited (which cache memory never is.)

  1. The main reason that seeds are often stored is that the same seed generates the same random sequence which in a deterministic process creates the same world or galaxy or whatever. So the seed itself is the most extreme way to store the entire world or galaxy in a compressed format.
    Like in Dwarf Fortress given the seed and the settings you can create the same world as someone else with all the special properties it might have.
 
I appreciate the well intentioned help but honestly I am not sure what the big deal is here. None of my criticism here is a reflection of you.

  1. First, while how "random" numbers are generated may be news to the lay programmer, what is said in this video is common knowledge to people who have extensive experience with using random numbers AND those who have experience creating a random number generator. That would include anyone who has ever done anything with cryptography. The non-randomness to a random number is why cryptography can work.
  2. Second, while this guy may have some great ideas on how to use a sequence created by a random number generator in different and creative ways, the amount of computer time it takes to generate a "random" number is very small. I would be interested in knowing what the point is to keeping the same seed when changing the seed is ALSO a quick process and it takes the same amount of time to create another series unless the series is saved in memory. Keeping the same series in memory is a waste of memory space unless the amount of memory (including cache memory) is fairly unlimited (which cache memory never is.)
  3. AND MOST IMPORTANTLY FOR THIS DISCUSSION: While using random numbers is great for detail generation on the micro level or in where to place stars, it is not useful in the generation of realistic maps since the processes which create real landscapes are NOT random. In the first post of this thread I specifically point out that randomly based maps are NOT realistic at all though I didn't really explain why. (I can explain why if people are interested). That is the point of the GeoRealism mod engine. We are simulating the cause of climate and geography in a NON random way, creating a realism that is impossible in random generation. As of current plans, the only time the GeoRealism engine will use random numbers is in two circumstances (that happen to go together). 1) when picking a "random" time for something to occur. 2) when there is more than one good place to split a tectonic plate the engine will "randomly" pick between the choices.

Thanks for the response Primem0ver!
No big deal at all. You were probably going in the right direction, I was just referencing some resources and techniques that could be useful. To respond to your points:

1. Using fractal geometry and creative use of algorithms along with these (actually non-random) seeds can actually create some pretty complex 'realistic' appearing material on the fly, and generate it as needed. It depends how you use it of course.

2. It is not just the point that he is referencing that is so interesting. Using seeds to generate maps in not exactly new, stacking and tweaking algorithms to expand on those mapscripts to create a lot more detailed content isn't either.

Games have using semi-randomly created content in the past, it is the way that simply adding fractals formulas to the content and other tweaked equations to create more complex material that can be created and refreshed as needed that is interesting. The original Elite videogame (1984) explored procedurally generated content to a amazingly large extent considering the memory requirements and disk swapping that had to be done.
http://en.wikipedia.org/wiki/Elite_(video_game)
Take that exponential use to today, and take it to the next step.
From the Article:
'The Elite universe contains eight galaxies, each galaxy containing 256 planets to explore. Due to the limited capabilities of 8-bit computers, these worlds are procedurally generated. A single seed number is run through a fixed algorithm the appropriate number of times and creates a sequence of numbers determining each planet's complete composition (position in the galaxy, prices of commodities, and even name and local details— text strings are chosen numerically from a lookup table and assembled to produce unique descriptions for each planet). This means that no extra memory is needed to store the characteristics of each planet, yet each is unique and has fixed properties. Each galaxy is also procedurally generated from the first.'

Seeds can be used in accurate recreation of content, on-the-fly as possible. You may not realize just how much can be actually be done with the formulas. Check out my links below if you need to believe the scope and depth of what's both possible and relatively easy to pull off.

3. Fractals have been used in 'realistic' terrain generation since early CG movies, and relatively 'simple' terrain rendering software before the 1990's. Some of it was adequate and on-the-fly, using relatively little resources.
It's been a while and computers are a little past the workstations of the time.
For the sake of applying it to C2C, it doesn't have to be data or resource intensive
There are a lot of real world examples today, even this week about using algorithms to do on the fly generation, when needed.

Here is a recent example of using less data effectively to do more:
All worth reading.
http://phys.org/news/2012-11-algorithms.html
http://www.sciencedaily.com/releases/2012/09/120920082703.htm
http://web.mit.edu/newsoffice/2012/faster-fourier-transforms-0118.html
http://www.sciencedaily.com/releases/2012/07/120726112721.htm
http://www.theverge.com/2012/5/14/3014698/assembly-4k-demoscene-fractals
http://www.engadget.com/2012/10/24/mit-researchers-algebraic-equation-to-weave-wifi-and-lte-signals/
http://www.snotr.com/video/7726/Real_Time_Rendering_Technology
Check out the last one especially for proof that this can be done easier than people suspect!

Some of these are definitive on the fly rendering of incredible amounts of info with relatively simple algorithms. I guarantee that the usage can be less memory intensive or computationally challenging than you think.

To support that I know what I'm talking about, I know programming better than you may be aware, I taught myself to program and combine physics formulas and models out of a magazine when I was 12 to to create a simulation of different rocket launch and tour of the solar system, using angles and degrees on a trs-80 model 0 with no storage and 2k ram, and I'm quite accomplished since then, in several different subjects.
Working with this type of algorithm has been a focused hobby since the late 1980's, so you can say I'm knowledgeable on the relatively competent degree of effectiveness.
I'm not claiming you aren't in any way. I am very glad to see you and your efforts in C2C (I probably referenced you and your Genetic Mod more than anyone else here.)
It think it is exceptional what you guys do, and what more you could create when you put your heads together. C2C is already a dream-team, especially with you! :)

At least please check out the links.
They could probably even help some of the modders with the scope of what's possible. Several of them are very exciting. :)
 
The main reason that seeds are often stored is that the same seed generates the same random sequence which in a deterministic process creates the same world or galaxy or whatever. So the seed itself is the most extreme way to store the entire world or galaxy in a compressed format.
Like in Dwarf Fortress given the seed and the settings you can create the same world as someone else with all the special properties it might have.

AIANDY -
It seems like you could do a lot more with the concept by adding fractals or other non-linear or bio-inspired / physics inspired formulas to the procedural generation ones. It could help a lot with behavior algorithms for ai also.
Some of these formulas are relatively easy to locate. I have been playing around with similiar ideas for more than 20 years and have dozens of books on the range of subjects. This type of math has always been very interesting to me.
I really like dwarf fortress, moria, nethack, slash, and other roguelikes. Seeing what is being done could inspire you, I would check some of those gaming and modding forums for similar gaming discussion.
I also like non-linear games like Ultima 4-5, and Sim City, and broader games like Skyrim. Roleplaying, Simulation, God games, strategy games, 4x explore games. Anything interesting I had gravitated to. Notice how C2C commands my attention. It has so much promise if you guys can effectively coordinate and build a little more momentum.
I remember that Lionhead's Black and White toyed with living animal algorithms and ai learning somewhat effectively, years ago and was very promising. I played it. Looking at the game spectrum really could open up ideas for C2C. Hydromancerx and others have looked at bringing in ideas from Sim City and others. The new Sim City is out soon and any of these unique ideas could bring a whole new dimension to C2C. Especially if people were willing to explore them!

Semi-randomly generated content has a lot of promise, especially used with other inspired algorithms, like fractals and other types of bio or geo inspired formulas.
There is a wealth of useful things in science in general, sociology, societal modeling research, urban planning, artificial intelligence research, game theory, and other modeling technologies. :)
 
Yeah don't be afraid to dream big. Just because we cannot do something right now doesn't mean we cannot do it in the future.

You too Hydromancerx.
All I have ever asked of you is that you stretch as much as you temper your ideas (and everyone elses). Please Keep Reaching and letting your vision soar.
I know from experience that it can payoff in some truly incredible ways by staying the course and believing that it is possible. In the real world as well as this one.

Not that I think you are lacking in vision or ambitious reach for any reason. You are one of the strong reasons I am here and have stayed for years. I followed you (and several of the others) well before you got together or were pointed this way. And I have been compelled to only follow a few ever, like you. I am long your quiet supporter and fan. I count myself lucky to have shared thoughts with you. I appreciate your responses and feedback. Thank you for being understanding and accepting.

You are a visionary among visionaries, and your focus and willingness to overcome difficult problems is sorely underestimated and under-appreciated. With the way you are heading, C2C can easily eclipse the future Civ 6, and once the ModTeam rounds out some of these major new features, in the time it takes of course, then I am certain it will. The only thing you need to do, is figure out how to best work together even better, so you can help each other overcome the obstacles. In my opinion, C2C has 100x the potential of ROM or AND and even CIV.

You do realize how much more of an evolution C2C already is than Civ V right?
I think it still has even more potential, because it has already traveled far further than ROM or AND has in their time, and it's built on top of those. Look at all the great concepts you have built in, just by yourself! And you are surrounded by greatness and great people. Just look at the major obstacles you have overcome together. C2C is a labor of love and vision. When you come together you all multiple your efforts. Every time each of you work together you harness the power of focus to multiply the extraordinary things you can accomplish by yourself!
With such an incredible team, if you can find a way to come together and coordinate more often, I bet even more difficult problems will evaporate. You just have to find a way to coordinate and choose to do more together.

@Everybody, Don't ever limit yourselves. C2C is a amazing example of what you guys can do when you work off each other, and brainstorm with each other to create greater things than you thought were possible. Cavemen2Cosmos can be more than you ever hoped for if you believe it's possible and see what you have already done. It's just a few steps more in the direction you are already going to quickly! Just keep moving in the right direction and you will find yourself there! More is possible than you believe at the moment; free your self-imposed limitations/frustrations and those of the people around you, and achieve even greater momentum. The way lies through each other and past ourselves (and our own limitations).

Bridge the dream and the reality, and keeps things building in the right direction.
I think that creating the future C2C and bridging the present one, will help you guys from burnout and impasses, and will give everyone 2 shared projects to shift focus between without them taking away from each other. This way you build the C2C of tomorrow and keep the best parts of the 1 today. Make the future C2C more speculative and fluid and build that bridge so ideas flow both ways. This way you're never trapped in 1 place. The future C2C can be an evolving ideal you are reaching to pin down, and the present one the best concrete one at the moment! When possible they will blend and shift in an even better direction! Stay the course together and let both the dream and reality carry you forward. Build that bridge and leap forward into that future!

This is the power of shared focus, and don't doubt that it can change the world.
I have seen such things come to pass, and have helped with more than a few (even ambitious video games and successful business projects). One person can make a difference, and a group of dedicated like-minds, a lot more.
Free each other to reach farther!

You never know what you can reach for together, and you might surprise yourself at what more can be done! :)
 
@rightfuture

Thank you for such kind words. It really means a lot. Everyday I feel so thankful for the team we have. Seems like only yesterday I was begging Afforess to make this or that for RoM/AND. And not not only can I make those things but we have a whole team of talented people that can do everything that Affroess could plus more! Honestly when teaming up with SO and DH I would never have imagined we would get this far and others would even want to join up.

The real success is cooperation and co-creation. Alone we can only do so much but together we have become greater than the sum of our parts. This is why we must never be afraid to dream big. Because this has become the game I always wanted to play but there was never a game that had all of these features in one game. More is not only more, but is AMAZING! :w00t:

Thanks again everyone both on the team and the loyal fan base. We really could not have done this without you guys. :worship:
 
To The TEAM,

Yes! Thank You so Very Much for sticking together, everyone of you! :hatsoff:

You Are Truly Great Together. :clap:

And this "grumpy":old: looks forward to Everyday seeing what new things come from you all. I know I'm the "antagonist"/ "critic" and question everything you all do, but I wouldn't be here if you were simply the mundane. But you are nowhere near mundane you are eXceptional. :thanx:

C2C is :king: in Civland. Long Live The :king:!!!

JosEPh :)
 
Ha! I just looked at the video. I knew this guy at college (vaguely, not well). He's a bright guy, but I'm afraid that video is really fairly content free.
 
AIANDY -
It seems like you could do a lot more with the concept by adding fractals or other non-linear or bio-inspired / physics inspired formulas to the procedural generation ones. It could help a lot with behavior algorithms for ai also.
Some of these formulas are relatively easy to locate. I have been playing around with similiar ideas for more than 20 years and have dozens of books on the range of subjects. This type of math has always been very interesting to me.
I really like dwarf fortress, moria, nethack, slash, and other roguelikes. Seeing what is being done could inspire you, I would check some of those gaming and modding forums for similar gaming discussion.
I also like non-linear games like Ultima 4-5, and Sim City, and broader games like Skyrim. Roleplaying, Simulation, God games, strategy games, 4x explore games. Anything interesting I had gravitated to. Notice how C2C commands my attention. It has so much promise if you guys can effectively coordinate and build a little more momentum.
I remember that Lionhead's Black and White toyed with living animal algorithms and ai learning somewhat effectively, years ago and was very promising. I played it. Looking at the game spectrum really could open up ideas for C2C. Hydromancerx and others have looked at bringing in ideas from Sim City and others. The new Sim City is out soon and any of these unique ideas could bring a whole new dimension to C2C. Especially if people were willing to explore them!

Semi-randomly generated content has a lot of promise, especially used with other inspired algorithms, like fractals and other types of bio or geo inspired formulas.
There is a wealth of useful things in science in general, sociology, societal modeling research, urban planning, artificial intelligence research, game theory, and other modeling technologies. :)
Really, rightfuture, that kind of talk is good for PR but it actually contains very little in terms of content (too many buzzwords).

The base Civ4 mapscripts use fractals and the others use all kinds of procedural generation with a mixture of geo-derived methods.
Crime and pollution distribution is calculated with a diffusion method similar to what you would use in physics (solving a system of partial differential equations).
 
Ha! I just looked at the video. I knew this guy at college (vaguely, not well). He's a bright guy, but I'm afraid that video is really fairly content free.

That is basically what I was trying to say. He reveals nothing new to programmers who are familiar with the concepts he speaks of. I am willing to bet everything he mentions is used far more often than he purports to be unique to their code.
 
It seems silly to me that the game engine wants to try to handle polygons entirely within its render engine. Personally, I think we could get a FAR better graphic detail by rendering each frame of animation, each necessary angle of each frame, as a 2d image and provide the animation via 2d. It wouldn't look ANY different but would be FAR more streamlined for the processor. I know from working on 3d art that the rendering is the most labor intensive element and if you could put that labor to work in the generation of the images outside of the game then just use the images themselves in game, you'll drastically reduce the workload of the renderer.

Then again... Am I the only one here who felt that the move to 3d was a ridiculously unnecessary burden on the game processing entirely? I had absolutely no problem with the Civ3 2d approach. The game processed SO much faster that the move to Civ4 was only superior as a result of some better game mechanics but the graphic engine seemed to curse it with terrible processing speed. If we can create a method here where we can somehow get the best of both worlds (since now, sadly, 3d is the expected standard), then I'd be all the more excited with this project.

One thing I CAN do is work with 3d figures and terrains via Poser and Bryce. I've got some modeling programs and such as well. If terrain polygons could be converted to height maps via some program out there, I could generate a host of terrain types, styles, with and without ridges, etc.

There's a LOT of free figure content out there online for Poser BUT its all very high resolution stuff, far higher polygon counts than is right for a game that's going to render animations in the game engine itself.

So anyhow, I don't know how y'all want to go about that issue but I'd be interested to see how that side of things pans out.
 
Wow! And I thought the procedural meshes of Spore were amazing. Being free of polygons ... just wow! :eek:
Don't be impressed by such an advertising video. It does not show you honestly the advantages and disadvantages.
Voxel graphics have their own share of problems. Most objects are not transparent and therefore their surface determines the look. That is why people decided to use surface meshes.

It seems silly to me that the game engine wants to try to handle polygons entirely within its render engine. Personally, I think we could get a FAR better graphic detail by rendering each frame of animation, each necessary angle of each frame, as a 2d image and provide the animation via 2d. It wouldn't look ANY different but would be FAR more streamlined for the processor.
That only works if you use a very limited amount of directions and usually ends up using a lot more memory.
Nowadays hardware support is good enough to provide any amount of detail that you would want in this type of game by rendering on the fly.
 
Back
Top Bottom