 |
|  |
 |
|
primemover
|
 |
Houston, TX, USA
Nov 2001 time: 23:15
|
|
Hey guys... I've been gone a while. Extremely busy with teaching, and its going to stay like this for a while, so I am going to have to surface every now and then and offer what I can. I have a moment this holiday weekend.
To comment on recent posts:
Its nice to see some of you from the CTP2 forum (Martin and Dale)!!!
Actually... Dale, your "water" idea is similar to one of mine... but reading it through tonight as tired as I am I was not able to make sense of it all. I got the general idea, but could you be a bit more clear on the specifics of your hill/mountain algorithm?
quote: Does that algorithm produce realistic mountain ranges (near the side of a continetn rather than the middle, and in ranges)? I doubt it. |
If I understand Dale, the part he is explaining mainly talks about normalizing mountain altitude. I am not clear how he picks the areas where mountains are going to be (other than on an island). A variation of his algorithm if we found an accurate method for picking where the mountains should be a quick momentary solution to my hopeful geology engine of the future and could probably work fine for now. But I will have to read it again when I am more coherent.
Weather is not as complex as plate tectonics. The most difficult part of it will be determining the general direction of coastlines. Once we have that, ocean currents can be determined. From location of continents, bodies of water, and overall planet tilt (because of its affect on general wind direction and speed), we can from there determine locations of large air masses, and then just take them through the motions of what those masses encounter (terrain wise) as they move in the direction of wind.
This will take time and programming, but I think that Dale's idea may suffice until the more robust model can be developed.
|
|
|  |
 |
|
Dale
|
 |
Sir! Why do you keep clicking on me?
Dec 2000 time: 15:15
|
|
The explanation I found above is not my idea guys, I found it while searching for a mapgen algorithm. I'll have a go at trying to explain how it works though. 
The way I understand it, is you normalise the entire map at sea level. Then you select a number of random seeds at random locations around the map (say for example 100 seeds in your map, which on a 100x100 map is 1%). A random height is given to those random locations giving a range of heights for example -5 to 5 (0 being sea level). Then using the algorithm supplied you use a random number generator to pass through the entire map averaging tiles heights based on neighbors heights making sure not to change your seeds. The first pass will only change the neighbors of the seeds. The second pass will change the neighbors of the seeds, and their neighbors. Simply it works like a radial. Start from a point and work out each pass. After say 50 passes you should have been able to radial out the entire map. From there, you say that values -5 to -1 is sea (if using deep water as well to create continental shelves -5 to -3 being deep water if you want), 0 and 1 is flat land, 2 and 3 is hills, and 4 and 5 is mountains.
To try to explain a picture of it:
- Seed located and given random height of 4.
- First pass changes first radius from seed to either 1's, 2's or 3's (depending on random number put into the algorithm).
- Second pass changes second radius from seed in the same manner, and the first radius changes as well to create a slope from sea level (radius 3) to mountain peak at seed location. So logically if the seed hasn't changed we should be looking at a bulge in the map with highest point (seed location) being 4, and sides spreading 2 radials out with diminishing heights back to 0 on the 3rd radius.
- Continue in this manner for a few more passes, and eventually the bulges and dips (depending what the original seed location height was) meet. This is where I believe the above algorithm gets funky.
- I believe if you keep making passes over the map with the algorithm, then plains, plateaus, lakes, hills etc will start forming.
- From what I can tell of the algorithm, if two bulges meet, then a range will form, and if there's a dip nearby this would create a coastal mountain range similar to the east coast of Australia, or the north-western coast of USA.
Hope this helps explain it. This is how I see this mapgen model working anyways. 
|
|
|  |
 |
|
primemover
|
 |
Houston, TX, USA
Nov 2001 time: 23:15
|
|
Sorry Mark... missed your question when I started responding again.
quote: My question, primemover, then becomes, how about coming up with a crude way to generate the sort of local maps we're using now, and for the next several demos? It could be a kludge, or use a simplified version of the plate tectonics code with only a few plates. Then apply a sophisticated weather-simulator to get the terrain types. The weather generator is something that's needed anyway, and will be useable when your plate tectonics comes online. It certainly would be more beneficial to the project in the intermediate term that way. And I think good weather generation is probably of the same order of difficulty as plate tectonics anyway, though I could easily be wrong. |
As I answer this, I am going to number issues/problems that would need to be addressed if we want a good simple map generator.
Actually the tectonics in this sort of situation could probably be very easily done. Not a problem at all. Especially if I used the crack model that I am working on (very slowly... ) right now. Since local models would only deal with between 1 and 3 separate plates, it would be pretty simple to generate (using a variation on the recently mentioned ideas) a map.
The only difficult part of creating such a map is coming up with a drainage pattern (1)... actually this opens up an another idea about the map!
Should we have several modes of map generation? Whole world and small area for people who want to create scenarios with a generated map? An idea anyway...
To move on with your question:
(1) We need a way to quickly calculate a drainage pattern. This would produce any rivers/streams to be drawn on the map.
Finally, in general, weather patterns/soil/terrain profile depend on lattitude and longitude, nearness and direction of water, location of any mountains, prevailing wind direction, (jet stream at correct latitudes), and "nearby" air mass types (2). Although programming will be a tedious, the basic idea is not as difficult as coming up with a way to model tectonics.
Air mass types brings up another (probably the biggest) problem we will have with local scenario maps:
(2) The main reason I wanted to work on geology and weather for the whole world together is because air masses that move into a particular area can depend on areas of the world as far away as 3000 miles or more. Take the US for example. US weather is dependent on the interaction of four different air masses that are generated at significant distances away: a dry polar air mass that generates over canada, a maritime (wet) polar air mass that generates just south of Alaska over the Pacific, a maritime warm air mass that generates over the Gulf of Mexico, and a semi-arid warm air mass that is generated over the western US and Mexico itself. (Rarely a fifth that is generated over the northern atlantic can also intervene). Each of these air masses affect local weather all over the US... so the BIGGEST problem in coming up with a weather simulator for a randomly generated local terrain would be to decide what kinds of air masses will move into the area without knowing the shape of the rest of the world.
If we can find an easy solution to (2) I think we will be able to come up with a relatively simple local map generator for the time being.
|
|
|  |
 |
|
Mark_Everson
|
 |
Canton, MI
Jan 1970 time: 00:15
|
|
Hi primemover, thanks for responding to the issues I'd forgotten I'd brought up .
quote: Originally posted by primemover
Should we have several modes of map generation? Whole world and small area for people who want to create scenarios with a generated map? An idea anyway... |
Sounds useful to me long-term.
quote: To move on with your question:
(1) We need a way to quickly calculate a drainage pattern. This would produce any rivers/streams to be drawn on the map.
Finally, in general, weather patterns/soil/terrain profile depend on lattitude and longitude, nearness and direction of water, location of any mountains, prevailing wind direction, (jet stream at correct latitudes), and "nearby" air mass types (2). Although programming will be a tedious, the basic idea is not as difficult as coming up with a way to model tectonics. |
This sounds fine to me. You can allow the designer to specify all the external factors, or let the map generator pick them randomly.
quote: Air mass types brings up another (probably the biggest) problem we will have with local scenario maps:
(2) The main reason I wanted to work on geology and weather for the whole world together is because air masses that move into a particular area can depend on areas of the world as far away as 3000 miles or more. Take the US for example. US weather is dependent on the interaction of four different air masses that are generated at significant distances away: a dry polar air mass that generates over canada, a maritime (wet) polar air mass that generates just south of Alaska over the Pacific, a maritime warm air mass that generates over the Gulf of Mexico, and a semi-arid warm air mass that is generated over the western US and Mexico itself. (Rarely a fifth that is generated over the northern atlantic can also intervene). Each of these air masses affect local weather all over the US... so the BIGGEST problem in coming up with a weather simulator for a randomly generated local terrain would be to decide what kinds of air masses will move into the area without knowing the shape of the rest of the world.
If we can find an easy solution to (2) I think we will be able to come up with a relatively simple local map generator for the time being. |
For the smaller maps my take is to put a boundary region into the simulator that will not be part of the generated map. On the boundary you could then specify vectors for airflow at what temperature and what humidity is desired. So you could duplicate crudely the US climate factors using this sort of effect.
Would that work for you? Ideas from others?
|
|
|  |
 |
|
primemover
|
 |
Houston, TX, USA
Nov 2001 time: 23:15
|
|
Ok Mark. That sounds agreeable provided we can come up with a working algorithm for what you are saying. I believe we can (but I would like to make it more true to life later on).
The next thing we need to figure out is what types of terrain/vegetation/weather designators already exist in the game, and then if we want to include them or more.
Personally, I think terrain should be divided into three concepts that work together to form the final terrain features.
1. Weather (moisture, temperature, wind, location)
2. Geology (floodplains, flatland, hilly, mountains, ice)
3. Soil/Vegetation/animal types (soil is a combined result all three: geology, weather, and life type/density)
What is the current model? And is that model extendable?
I will need to know these things so we know what we are working toward and what factors will be involved. From their I think we can outline the tasks to be performed by the generator.
|
|
|  |
 |
|
Mark_Everson
|
 |
Canton, MI
Jan 1970 time: 00:15
|
|
quote: Originally posted by primemover
The next thing we need to figure out is what types of terrain/vegetation/weather designators already exist in the game, and then if we want to include them or more. |
You will see most of the existing terrain types in the latest demo. They are not very refined.
quote: Personally, I think terrain should be divided into three concepts that work together to form the final terrain features.
1. Weather (moisture, temperature, wind, location)
2. Geology (floodplains, flatland, hilly, mountains, ice)
3. Soil/Vegetation/animal types (soil is a combined result all three: geology, weather, and life type/density)
What is the current model? And is that model extendable? |
Check out the ecology model on the web page, and the "latest thread" listed therein. Its about a year old now. It can be extended or modified to suit our needs. Best to put thoughts in that thread, and email Simon to let him know its being discussed again.
Just let me know what else you need.
|
|
|  |
 |
|
LDiCesare
|
|
La Ferté sous Jouarre France
Jan 2001 time: 05:15
|
|
Check this thread too for our latest map generation: http://apolyton.net/forums/showthre...&threadid=95350
The point about Dale's map is it's really big. Each pixel maps to one square. I don't know how big a map can be in Clash in terms of playability and performance.
|
|
|  |
 |
|  |
All times are GMT. The time now is 05:15. Apolyton Time is 00:15. |
top of page
|
|
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|