Map layout, Terrain types, and features (For Map Script)

Not too hostile and your point is well made. I don't know much about Lunar terrain to be honest. Is there any type that would be unsafe to settle on and tough to maneuver through?
 
Not too hostile and your point is well made. I don't know much about Lunar terrain to be honest. Is there any type that would be unsafe to settle on and tough to maneuver through?
The main ones woud be peaks and rilles. (which already plan to have)

Most lunar terrain is difficult to maneuver through. Ever try driving through land full of craters? :p The only terrain I think should not have a movement cost before they have roads on them is maria since it is reletively flat.
 
Here's my thoughts on Moon terrain:


Base terrain types:
(Food/Hammers/Commerce)

Polar (1/0/0)
Scarce, found only in polar regions, only existing to fix the no food bug.

Maria Bassalt (0/1/1)
This is why we are here, the He3 from the bassalt gives the 1 gold.
Most of the open plains near the start points would be this.

Bare Rock (0/0/0)
Weak terrain (like deserts are in Vanilla), usefull only after an improvement is built there.
Found more often in mountainous regions

Ejecta (0/1/0) found near crater features and Terrae, but tend to be clear of any features of their own.
Darker in color than Maria.

Elevations:

Hills (Terrae) (0/+1/0) +1 movement Impassible by early units.

Peaks 0 yield, impassible forever


Features:

Cratered (0/+1/0) Feature found in broad swaths and scattered, with 3D modeled craters scattered in varying sizes.
The concept craters feature I posted earlyer, but finished. +1 movement
Must be removed (as like forest) to allow most improvment options.

Crater (0/+2/0) single tile feature having one large crater that fills the tile.
Impassible by early units. +2 movement
Unremovable. Restricts improvement options

Large Crater (0/+1/+1) Appears as a larger low crater rim extending into neighboring tiles, flat internally due to lava flow.
Impassible by early units. +2 movement
Unremovable. Restricts improvement options

Rilles replace rivers and give a (0/+1/0), not commerce. Impassible to heavy vehicle units.


I think it would be desired for the broad structure of the surface to add strategic depth to locations.
Impassible terrains should be a major part of this. With so many impassible or only partially passible terrains one will have to consider the layout of the land when planning wars or expansion.
Also this should alow areas of the map to be left unsettleable until later in the game, maintaining expansion untill later in the game; similar to ocen faring ships on earth opening new areas to settlement.

Long, impassible mountain ranges should be commonplace.

One thing to consiter for this would be having some general form to terrain. That is, having most of the maria located on a single side of the moon, which would also be where all of the factions start the game. Something that emulates the Moon's near side/far side differences.
 
Alazkan, the Terrae I proposed are basically hills. It's so to speak highland terrain and quite rolling because it doesn't has a lava history which tends to flatten things out when it was in its liquid state.
Essentially bare rock would be part of one of the main terrain types (Terrae), and has no use anymore.

Ejecta (but as feature then) is a good thought. Perhaps this could be turned into a difficult to traverse feature, and more likely to have metal resources if it can be xml'd that features dictate the chance of resource appearance.

With a mix of craters, rilles and mountain ranges (and for the willing dust seas on top of that) scouting around will be difficult already, at least for mobile (wheeled/tracked) units. Which reminds me, how do we see foot units? When they walk around all over the moon do we think of having them a mobile base with them on which they can re-supply and sleep? Or would we give them a sort of limited radius outside borders where they can venture outdoors of cities and transport units? This might be too much micromanagement for a player of course.
 
For foot units - Maybe only 1 tile outside of cultural borders or on roadways? Enemy cultural borders might require a promotion? Or maybe outside of cultural borders at all require a promotion?
 
Alazkan, the Terrae I proposed are basically hills. It's so to speak highland terrain and quite rolling because it doesn't has a lava history which tends to flatten things out when it was in its liquid state.
Essentially bare rock would be part of one of the main terrain types (Terrae), and has no use anymore.

Ejecta (but as feature then) is a good thought. Perhaps this could be turned into a difficult to traverse feature, and more likely to have metal resources if it can be xml'd that features dictate the chance of resource appearance.

With a mix of craters, rilles and mountain ranges (and for the willing dust seas on top of that) scouting around will be difficult already, at least for mobile (wheeled/tracked) units. Which reminds me, how do we see foot units? When they walk around all over the moon do we think of having them a mobile base with them on which they can re-supply and sleep? Or would we give them a sort of limited radius outside borders where they can venture outdoors of cities and transport units? This might be too much micromanagement for a player of course.

I was assuming that Terrae would be the name used of what in vanilla are hills, but hills arn't a base terrain, they are an overlay like features are. (same with mountains)
In vanilla there are grassland hills, plains hills, desert hills, tundra hills, and ice hills.
If we reduce there to being only a single type of hill terrain we lose a lot of the terrain variation allowed by the game engine.
I think that we should have 3-4 types of base terrain; the three land elevations(flat, hills, peaks) and a large number of features.

I agree though, that ejecta may make a better feature than base terrain.

As to foot units, I see them as containing an implied suficient logistics supply chain for wherever they go, payed for with maintenace costs as usual. Similar to units in Vanilla that can keep using their guns without ever running out of ammo.
To simulate the added expence of exploration in lunar terrain I would recomend a change to how unit supply costs are calculated. Currently units in enemy territory incur the "supply" cost, I would make any units outside of your and friendly territory generate this additional cost.
 
Rilles replace rivers and give a (0/+1/0), not commerce. Impassible to heavy vehicle units.

Its easy enough to replace rives with Rilles. The difficult part would be making it impassible to units as a river replacement. Thus I am proposing to add then as a terrain type instead (making them impassible to certain unit would still be difficult, but alot easier than if they where like rivers)

Long, impassible mountain ranges should be commonplace.
mountains will be simular to the highlands map, with the following map options to control peak placement:

-Peak Pattern (Scattered/Ridgelines/Clustered)
-Peak Density (Dense/Normal/Thin)

One thing to consiter for this would be having some general form to terrain. That is, having most of the maria located on a single side of the moon, which would also be where all of the factions start the game. Something that emulates the Moon's near side/far side differences.

I added a Map option to have Maria Scattered all over the map or clustered on one side (like earth's moon).

Ejecta (0/1/0) found near crater features and Terrae, but tend to be clear of any features of their own.
Darker in color than Maria.
added

I was assuming that Terrae would be the name used of what in vanilla are hills, but hills arn't a base terrain, they are an overlay like features are. (same with mountains)
In vanilla there are grassland hills, plains hills, desert hills, tundra hills, and ice hills.
If we reduce there to being only a single type of hill terrain we lose a lot of the terrain variation allowed by the game engine.
I think that we should have 3-4 types of base terrain; the three land elevations(flat, hills, peaks) and a large number of features.

The moon has alot less terrain types than earth, so to get that many terrain typs we would have to use our imagination a little
 
As to foot units, I see them as containing an implied suficient logistics supply chain for wherever they go, payed for with maintenace costs as usual. Similar to units in Vanilla that can keep using their guns without ever running out of ammo.
To simulate the added expence of exploration in lunar terrain I would recomend a change to how unit supply costs are calculated. Currently units in enemy territory incur the "supply" cost, I would make any units outside of your and friendly territory generate this additional cost.

I was completely unaware of this maintenace cost. I completely agree with this and we could tie it to civics somehow as well.
 
I was assuming that Terrae would be the name used of what in vanilla are hills, but hills arn't a base terrain, they are an overlay like features are. (same with mountains)
In vanilla there are grassland hills, plains hills, desert hills, tundra hills, and ice hills.
If we reduce there to being only a single type of hill terrain we lose a lot of the terrain variation allowed by the game engine.
I think that we should have 3-4 types of base terrain; the three land elevations(flat, hills, peaks) and a large number of features.

My mistake, I forgot hills are an overlay.
Maria, Terrae and Polar are the by me proposed base terrains then. On top of that will still the Dust Sea terrain exist so that makes four. Is this sufficient for you?
Since Terrae is intrisically a terraintype that is highland by nature, I propose to put hills on this terraintype only, except where the crater feature makes a "dip". So the only terraintype where a wheeled unit will be able to move fast will be on the Maria. Terrae will usually have the hills overlay which impedes movement on its own.

As on your fear of losing alot of variance, it is somewhat inevitable since IRL lunar terrain is of only a few types. But those extra features should make up alot: single crater overlay, cratered overlay, rilles overlay, domes overlay, your ejecta overlay proposal on top of that.
 
Since Terrae is intrisically a terraintype that is highland by nature, I propose to put hills on this terraintype only, except where the crater feature makes a "dip". So the only terraintype where a wheeled unit will be able to move fast will be on the Maria. Terrae will usually have the hills overlay which impedes movement on its own.

This is exactly what I intend to do.

I am now complete determined to figure out hight maps and won't give up until I do. I will be changing the hills hightmap as well as making some new hightmaps for craters and rilles.
 
I am now complete determined to figure out hight maps and won't give up until I do. I will be changing the hills hightmap as well as making some new hightmaps for craters and rilles.

A guy on the SMAC modding forum (don't search, it's private ;) ) has figured out some basics about heightmaps in civ4. It wasn't very useful in the SMAC mod due to graphic limitations (raising and lowering terrain by terraforming) but could be handy here. I'll ask if he wants to share his findings with you.
Basically, the latest he showed us was the whole plot raised or lowered compared to a base level like in the Age of Empires III game.
 
Modifiying heightmaps isn't a problem, that can be done with Gimp, the issue I had when looking at them is not being able to add any new terrain types, just modify the existing ones. There don't seem to be any XML tags that reference the heightmap data.
Did your unnamed source manage to add additional heightmaped terrain types beyond hills, peaks, and oceans?
 
Erm... his nick is Gerikes, and I didn't look that deep in his explanation.
I PM'd him. Waiting for a response.
 
Modifiying heightmaps isn't a problem, that can be done with Gimp, the issue I had when looking at them is not being able to add any new terrain types, just modify the existing ones. There don't seem to be any XML tags that reference the heightmap data.
Did your unnamed source manage to add additional heightmaped terrain types beyond hills, peaks, and oceans?

If only!

Yeah, I think we've run into the same troubles. The heightmaps are done for plot types (not terrain types), which are set in stone at four, so I wasn't able to find out any way to add more. Had I been able to, I definitely would've continued on that path to making Planetfall have elevation, but with only three heights to work with (four counting water) it just wasn't worth it in the opinion of the group. As with most things graphical, the SDK didn't shed much light on this. There isn't even a PlotTypeInfo file or XML dealing with plot types, only an enumerator:

Code:
enum DllExport PlotTypes							// Exposed to Python
{
	NO_PLOT = -1,

	PLOT_PEAK,
	PLOT_HILLS,
	PLOT_LAND,
	PLOT_OCEAN,

	NUM_PLOT_TYPES,
};



The other thing I looked at with the LandscapeInfos file, which had something dealing with heightmaps. However, I think this is just used for generating a true heightmap for an entire map, and then the type of plot that is put into a certain plot is determined by the value of that plot's height, so if it falls within the "ocean" range, it's an ocean, if it falls within the "land" range, it's flat land, if it falls within the "hills" range, it's a hill, etc. I really didn't too much experimenting with it, however.

Edit: Note: I believe that when you use plot.point().z, you'll end up with the value for the plot. That doesn't help us graphically, although could be used as a way to affect gameplay anyway.

All that I did in the end was modify the heightmaps to different heights and get water, flat land, and two elevations, by using the hill and peak plot types as separate elevations. You can see the results attached. That's the best I was gonna' get.
 

Attachments

  • altitude2.JPG
    altitude2.JPG
    128.9 KB · Views: 127
  • altitude.JPG
    altitude.JPG
    128.5 KB · Views: 124
Yeah, I think we've run into the same troubles. The heightmaps are done for plot types (not terrain types), which are set in stone at four, so I wasn't able to find out any way to add more. Had I been able to, I definitely would've continued on that path to making Planetfall have elevation, but with only three heights to work with (four counting water) it just wasn't worth it in the opinion of the group. As with most things graphical, the SDK didn't shed much light on this. There isn't even a PlotTypeInfo file or XML dealing with plot types, only an enumerator:
I read this, and hoping to do something none else has done, I took a serious look at all the code we got with the SDK. Unfortunately it appears you are right and that there is no way to add new terrain types since it appears height maps a directly referenced from the graphics code(which we unfortunately can not access). Even if we could, by the way plot types are specifically referenced in the C++ code it would be very difficult to add a new plot type.

Suddenly the way I dreamed how a maps would look are dashed to peices.:sad: :cry:

The other thing I looked at with the LandscapeInfos file, which had something dealing with heightmaps. However, I think this is just used for generating a true heightmap for an entire map, and then the type of plot that is put into a certain plot is determined by the value of that plot's height, so if it falls within the "ocean" range, it's an ocean, if it falls within the "land" range, it's flat land, if it falls within the "hills" range, it's a hill, etc. I really didn't too much experimenting with it, however.
Ya, I know (most map scripts work this way. Or at least the ones I looked at). The terrain on a map is also done in a similar way.
 
Don't give up matthewv! But it does suck that they made this inflexible.
 
Since we are limitid in what we can do, we should be sure to use all we can.

What if we used the coast plot type for riles? We don't have coast/ocean doing anything right now do we?
I'm sure we can remove the water and waves from the ocean, and retexturing the ocean floor shouldn't be a problem.
That would immediatly make them impassible to most units. The functionality of allowing some units to cross it shouldn't be too difficult, Kael had his "the drown" units in FfH walking across water tiles the day the SDK was released. It should be a simple thing (for an SDK modder) to add that code into SotM.

Graphically a line of the tiles would look like a trench, and we can modify the heightmaps to look narower and more rile-like. The only problem I know of is that any units moving on that tile would hover at the level of where the ocean would be.
As long as the only (or most) units that are allowed to move there before building a bridge could be imagined as flying/hovering to get over it, even if they don't hover most of the time it should look ok. We just need out bridge improvement artwork to be at exactly the level that units will walk on it (not difficult) and it will look nice for that as well. I think it will take sdk to make the rile-bridge work also.
 
Don't give up matthewv! But it does suck that they made this inflexible.
Oh, I'm not giving up. I just have to be a little more inventive. This means people who later look at my work will go crazy trying to figure it out.:crazyeye:

Since we are limitid in what we can do, we should be sure to use all we can.

What if we used the coast plot type for riles? We don't have coast/ocean doing anything right now do we?

Wow, you must be reading my mind this morning. I can up with all kinds of good ideas on my drive to work this morning, including hijacking the ocean plot type and using it for our own purposes.

I'm sure we can remove the water and waves from the ocean, and retexturing the ocean floor shouldn't be a problem.

Retexturing the ocean floor is easy. Removing the water and waves my prove to be a little more difficult. I looked at the ocean graphics before and I have yet to figure out exactly how they work.

That would immediatly make them impassible to most units. The functionality of allowing some units to cross it shouldn't be too difficult, Kael had his "the drown" units in FfH walking across water tiles the day the SDK was released. It should be a simple thing (for an SDK modder) to add that code into SotM.

Thats good news. This is one thing i was a little worried about because I had treid to do this before the SDK came out and I got nowhere.

The only problem I know of is that any units moving on that tile would hover at the level of where the ocean would be.
Ya, this could be a problem. I am hoping to be able to ajust to ocean height somehow.
 
Back
Top Bottom