New map format
Moderator: Moderators
I found it helpful to go into the map view and mouse over the map where I want to place features and then divide by 8... I concur that allowing feature placement IN PARTICULAR VARIABLE ROTATION... would be a lot better then fiddling around with endless shades of near identical reds (I usually give up after about 5 shades)
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
All my maps barring about 3 of them (the early ones) have used high texture resolution. Lately with the massive maps I've been releasing the reason they look so omgwtfpwn is because the Normal-bumpmapping that I've applied to them. I can't do that with the new map format yet, so naturally everything looks very bland in comparison.
Yes, every map I have done is suitable for a remake. Only a few of them will be though.
See the thing is, if I want perfect details I still have to go through the process of running attributes mapping in l3dt, export as bmp, load in CS, select color range, new image, paste, greyscale, save.
THat's if you want perfect details, and me being the picky bastard that I am will probably end up doing that.
I could jsut use color range selection in photoshop, but I prefer quality. Quality takes a lot of time and effort, therefore, I'm not exactly in any hurry.
Now, if bumpmapping was implemented, I would have already done several maps.
And JC, will you please address my question? Rectangle textures get turned into squares in the new map format. Can you please take a look into this?
Yes, every map I have done is suitable for a remake. Only a few of them will be though.
See the thing is, if I want perfect details I still have to go through the process of running attributes mapping in l3dt, export as bmp, load in CS, select color range, new image, paste, greyscale, save.
THat's if you want perfect details, and me being the picky bastard that I am will probably end up doing that.
I could jsut use color range selection in photoshop, but I prefer quality. Quality takes a lot of time and effort, therefore, I'm not exactly in any hurry.
Now, if bumpmapping was implemented, I would have already done several maps.
And JC, will you please address my question? Rectangle textures get turned into squares in the new map format. Can you please take a look into this?
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
Got curious today.
Could someone explain why the base sand texture is not catching the dark areas? that's kinda wierd.
Sorry for the file size, but it's very dirty. I only worked on this for about half an hour (all the time I could spare between this n that).
Files:

http://www.yousendit.com/transfer.php?a ... 0D793B7F75
SM3 File:
Could someone explain why the base sand texture is not catching the dark areas? that's kinda wierd.
Sorry for the file size, but it's very dirty. I only worked on this for about half an hour (all the time I could spare between this n that).
Files:

http://www.yousendit.com/transfer.php?a ... 0D793B7F75
SM3 File:
Code: Select all
[MAP]
{
Description=Flat map with a few mountains and metal in the middle
TidalStrength=0;
Gravity=155; //in units/sec^2
AutoShowMetal=0; // 0 no show 1 show
MaxMetal=1; //how much metal a map square with the maximum metal value gives
ExtractorRadius=40; //radius that a single extractor(mine) extracts from
MapHardness=300;
[INFOMAPS]
{
metal=Maps/dry_data/metalmap.png;
type=Maps/dry_data/typemap.png;
}
[ATMOSPHERE]
{
FogColor=0.80 0.79 0.70;
FogStart=0.4;
CloudColor=0.12 0.12 0.12;
SkyColor=0.30 0.40 2.00;
SunColor=1.20 1.00 1.00;
CloudDensity=0.2;
MinWind=0.6;
MaxWind=24;
}
[WATER]
{
WaterDamage=0; //Amount of damage water does
WaterBaseColor=0.4 0.5 0.8; //color at water surface
WaterAbsorb=0.004 0.004 0.002; //how fast different colors are absorbed by the water
WaterMinColor=0.1 0.1 0.3; //the min value the water colors will go down to
}
[LIGHT]
{
SunDir=2 1 0; //direction of sun (spring will normalize it later)(y
component is upward)
GroundAmbientColor=0.2 0.2 0.2; //ambient (non sun lit) color of ground (and grass etc)
GroundSunColor=1.0 1.0 1.0; //color of ground where fully sun lit (added to ambient)
GroundShadowDensity=0.8; //how far from the non shadowed to the ambient color stuff in shadow
will go
UnitAmbientColor=0.1 0.1 0.1; //ambient (non sun lit) color of units (and wreckage etc)
UnitSunColor=0.5 0.5 0.5; //color of units where fully sun lit (added to ambient)
UnitShadowDensity=0.8; //how far from the non shadowed to the ambient color stuff in shadow
will go
}
[TEAM0]
{
StartPosX=1806;
StartPosZ=1481;
}
[TEAM1]
{
StartPosX=7656;
StartPosZ=7481;
}
[TEAM2]
{
StartPosX=7793;
StartPosZ=556;
}
[TEAM3]
{
StartPosX=2268;
StartPosZ=8468;
}
[TEAM4]
{
StartPosX=8656;
StartPosZ=4581;
}
[TERRAIN]
{
ForceFallback=0;
HeightScale=600.0;
HeightOffset=10.0;
Heightmap=Maps/dry_data/whakamatungariri.png;
NumTextureStages=6; // all texture stages are multiplied
AutoBumpmapStages=1;
[texstage0]
{
// the first texture stage operation is ignored
source=catchsand;
}
[texstage1]
{
operation=blend; // use the incoming alpha to blend between 2 textures
source=crackeddirt;
blender=crackeddirtblend;
}
[texstage2]
{
operation=blend; // use the incoming alpha to blend between 2 textures
source=rock;
blender=rockblend;
}
[texstage3]
{
operation=blend; // use the incoming alpha to blend between 2 textures
source=sandycracked;
blender=sandycrackedblend;
}
[texstage4]
{
operation=blend; // use the incoming alpha to blend between 2 textures
source=drydirt;
blender=drydirtblend;
}
[texstage5]
{
operation=blend; // use the incoming alpha to blend between 2 textures
source=sand;
blender=sandblend;
}
/* TEXTURES */
[rock]
{
File=Maps/dry_data/rock3.jpg;
Bumpmap=Maps/dry_data/rock3_bump.jpg;
TileSize=20;
}
[crackeddirt]
{
File=Maps/dry_data/desert1.jpg;
Bumpmap=Maps/dry_data/desert1_bump.jpg;
TileSize=20;
}
[sandycracked]
{
File=Maps/dry_data/lightdesertcracked.jpg;
Bumpmap=Maps/dry_data/lightdesertcracked_bump.jpg;
TileSize=20;
}
[drydirt]
{
File=Maps/dry_data/drysmallcracked.jpg;
Bumpmap=Maps/dry_data/drysmallcracked_bump.jpg;
TileSize=20;
}
[sand]
{
File=Maps/dry_data/dirtysand1a.jpg;
Bumpmap=Maps/dry_data/dirtysand1a_bump.jpg;
TileSize=20;
}
[catchsand]
{
File=Maps/dry_data/dirtysand2a.jpg;
Bumpmap=Maps/dry_data/dirtysand2a_bump.jpg;
}
/* BLENDERS */
[catchsand]
{
Blendmap=1;
OriginHeight=10;
MaxHeight=0.5;
}
[rockblend] // a rock blender loaded from file for a specific map
{
Blendmap=1;
File=Maps/dry_data/rockblend.jpg;
}
[sandycrackedblend] // a rock blender loaded from file for a specific map
{
Blendmap=1;
File=Maps/dry_data/sandycrackedblend.jpg;
}
[drydirtblend] // a rock blender loaded from file for a specific map
{
Blendmap=1;
File=Maps/dry_data/drydirtblend.jpg;
}
[sandblend] // a rock blender loaded from file for a specific map
{
Blendmap=1;
File=Maps/dry_data/sandblend.jpg;
}
[crackeddirtblend] // a rock blender loaded from file for a specific map
{
Blendmap=1;
File=Maps/dry_data/crackeddirtblend.jpg;
}
}
}
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
exact control, check out my blendmaps for some interesting info,mufdvr222 wrote:Well thats the first map in the new format that my machine will run, but it exits the game when I hit enter, "file Maps\dry.smd not found"I like the increased texture detail but will we have as much controll over exactly what texture will go where?
Wow nice!
Some comments:
- You have a catchsand texture and a catchsand blender. I think this actually results in a blender loaded from file Maps/dry_data/dirtysand2a.jpg
In any case, identically named sections don't work in a TDF.
- In the blender catchsand there is still OriginHeight, which is an outdated thing. I accidentally put it in one of the example files. You don't seem to be using this blender though so it's no problem here.
I can't find problems with rectangular textures from looking at the code so far, so i'll do a test sometime.

:D
I uploaded a new exe including forbodings map (I hope you don't mind...) Features/trees are broken on SMF maps in it, since it's very much work-in-progress.
However the autogenerated blendmaps that weaver was testing work now properly, and there is culling of terrain parts outside the camera.
http://user.supradigital.org/jcnossen/spring-sm3-v2.zip
Forbodings map runs at ~300 fps for me, but I wonder what slower cards experience. With the texturing that is currently in place, which is for older video cards, the texture stages are rendered with 5 passes! My 6800 GS renders it 5 times and still has 300 FPS :)
Some comments:
- You have a catchsand texture and a catchsand blender. I think this actually results in a blender loaded from file Maps/dry_data/dirtysand2a.jpg
In any case, identically named sections don't work in a TDF.
- In the blender catchsand there is still OriginHeight, which is an outdated thing. I accidentally put it in one of the example files. You don't seem to be using this blender though so it's no problem here.
I can't find problems with rectangular textures from looking at the code so far, so i'll do a test sometime.

:D
I uploaded a new exe including forbodings map (I hope you don't mind...) Features/trees are broken on SMF maps in it, since it's very much work-in-progress.
However the autogenerated blendmaps that weaver was testing work now properly, and there is culling of terrain parts outside the camera.
http://user.supradigital.org/jcnossen/spring-sm3-v2.zip
Forbodings map runs at ~300 fps for me, but I wonder what slower cards experience. With the texturing that is currently in place, which is for older video cards, the texture stages are rendered with 5 passes! My 6800 GS renders it 5 times and still has 300 FPS :)
-
- Spring Developer
- Posts: 374
- Joined: 14 Mar 2005, 12:32
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
6 Stages is high end? *groans* There are still 2 more textures left for that map.
I just can't win.
On a lighter note, that was all photoshop work. If I get some extra time tonight I will have l3dt generate the rock and redsand blendmaps for me so that they will be much more realistic.
I'm glad you like it. I can only seem to see the things I did wrong with it lol.

I just can't win.

On a lighter note, that was all photoshop work. If I get some extra time tonight I will have l3dt generate the rock and redsand blendmaps for me so that they will be much more realistic.
I'm glad you like it. I can only seem to see the things I did wrong with it lol.
-
- Spring Developer
- Posts: 374
- Joined: 14 Mar 2005, 12:32
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
maxNumTextureStages sounds like a good idea to me yeah, from that point the renderer can switch the most ugly but fast texturing method, which still has some bugs right now.
That basically renders the texture stages to another texture first, and then uses that texture for actual terrain rendering. The texture detail is lost that way, but it is fast.
I'm working on features/trees/map drawings/grass right now, but it's not going very fast :S. Maybe I'll pause that for a while and work on bumpmapping and other cool shaders instead :) Bumpmapping could be done quite fast (few days) because I did it before and there are no major design problems.
It's still a long way before the next spring release though, so I guess there is no rush for mappers. Although you could play online if you both use the same sm3 test exe.
That basically renders the texture stages to another texture first, and then uses that texture for actual terrain rendering. The texture detail is lost that way, but it is fast.
I'm working on features/trees/map drawings/grass right now, but it's not going very fast :S. Maybe I'll pause that for a while and work on bumpmapping and other cool shaders instead :) Bumpmapping could be done quite fast (few days) because I did it before and there are no major design problems.
It's still a long way before the next spring release though, so I guess there is no rush for mappers. Although you could play online if you both use the same sm3 test exe.
- centurion-1
- Posts: 169
- Joined: 31 Jan 2006, 20:53
I just had to chip in that I really appreciate what you are doing here and when designing GC i always think for example "Well, the range of the HRP cant be that long.... untill we get the new map format, then i can go crazy
"
Superlarge maps (ie 40x40-60x60) were my favorite in TA for some reason and i look forward to large maps making an entry to Spring...
...how large maps will be possibly while maintaining ok fps with the new map format? Is there a max draw distance variable for spring btw... would be good with new, bigger maps i guess

Superlarge maps (ie 40x40-60x60) were my favorite in TA for some reason and i look forward to large maps making an entry to Spring...
...how large maps will be possibly while maintaining ok fps with the new map format? Is there a max draw distance variable for spring btw... would be good with new, bigger maps i guess
- Lindir The Green
- Posts: 815
- Joined: 04 May 2005, 15:09
It's not really the draw distance, with proper lod you can make that run fine. It's the memory use, spring uses currently ~40 bytes per heightmap pixel....how large maps will be possibly while maintaining ok fps with the new map format? Is there a max draw distance variable for spring btw... would be good with new, bigger maps i guess
A 64x64 map would be (Assuming 512x512 heightmap is one ota unit) (512*64)^2 = 32768*32768 = 1074 MB in memory, which is too big, at least for my PC.
OTA did 64x64 maps because their heightmap resolution was lower AFAIK.
With optimization I might reduce it to 20 bytes per heightmap pixel though. It's a tradeoff between what you calculate on loading, and what you calculate realtime.
Lindir: you are supposed to install it that way yeah, so I'm clueless about that

I've already come to the same conclusion... My problem is... how do you export the attributes map in fullsize. The only option I have is for screen capture which produces a 570x570 image. (maybe the option is in the more advanced version I don't have)Forboding Angel wrote: See the thing is, if I want perfect details I still have to go through the process of running attributes mapping in l3dt, export as bmp, load in CS, select color range, new image, paste, greyscale, save.
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43