Map edges, how can they be fixed?
Moderator: Moderators
Re: Map edges, how can they be fixed?
Fine with me.
Re: Map edges, how can they be fixed?
That sounds good to me - I`ll include whatever working widget in my game.smoth wrote:Can we just agree on the "NoMapEdgeWidget.txt" thing and move along?
Re: Map edges, how can they be fixed?
I cannot make any promises, but I will try and get kr's widget working a bit better this weekend. If I do succeed I will post the updated source.
Also don't forget pako's widget:
Also don't forget pako's widget:
I am still awaiting the update, I will include both in grts and will add the check code to both. personally, I think they are both nice, so I want to see them both working :)Pako wrote:I fixed it and few other bugs but now engine(84.0) fog shaders are all fogged up.smoth wrote:other stuff.
The lack of fog on your terrain really hurts it imo.
Re: Map edges, how can they be fixed?
Less than final version of the fixes.
- Attachments
-
- gui_map_edge2.lua
- (6.35 KiB) Downloaded 144 times
Re: Map edges, how can they be fixed?
I still don't understand why using models wouldn't work.
It's possible I'm missing something horribly obvious here...
It's possible I'm missing something horribly obvious here...
Re: Map edges, how can they be fixed?
Your post is hard to follow, what tool flow are you describing? how do you think maps work in games?
Re: Map edges, how can they be fixed?
The workflow chain would look something like this:
1.) Conceptualization/Mechanical-Theory - Self explanatory. How would it look and how would it behave etc. Basic layout and art direction. (No tools needed yet.)
2.) Graybox Interior Map Model - This would include the bit of the map that the units actually walk on etc. (Any sculpting program would work here. Even a terrain editor would work, provided you can export the mesh.)
A. Note that if your map is irregular in design when it comes to the actual environment (like a map made entirely out of metal with mechanical parts everywhere and no real hill/mountain structure) you could simply combine this step with "3)" and separate the "map" mesh with the "decor" mesh.
3.) Graybox Exterior Mesh Model - This would be everything outside of the walkable map on to the horizon. This would also be the "edge" structure of the map. (Cliffs, walls, ravines, etc.) It's nice to have an obvious edge to the playable map as it let's players know where their bounds are exactly without having some ugly fog/mask effects. (Any modeling software. Max, maya, mudbox, softimage, etc. Depending on the art style for the environment, you may or may not need a sculpting program.)
A. Note that if your map is something like an island, or on the coast, your outside mesh doesn't need to go on to the horizon as the water does that for you.
B. The "edge" structures can intrude on the "map" boundaries itself, as you can just block off those areas in the pathing map.
4.) Planar wrap the Interior Map Mesh - For the obvious reasons. Don't paint the texture yet though. Just wrap it.
5.) Wrap the Exterior Mesh Model - The way you wrap this depends on what is in the model itself. If it's it a hill/mountain esque mesh then planar is probably the way to go. If it's more complex, then piece-by-piece mapping is probably needed.
6.) Temporarily Combine the Interior and Exterior for the Texture - For this you'd combine both the map mesh and the outside mesh for texturing. Don't paint using a 2d paint program like photoshop. That would be silly. Use a 3d sculpting program that supports painting. (Mudbox, zbrush, etc)
A. Make sure the texture for the exterior mesh is somewhat scaled correctly to the texture of the interior mesh. This will vary depending on the complexity of the outside mesh.
7.) Paint Pathing/Feature/etc maps onto the UVW of the Interior Map Mesh - Using a 2d painter program is preferred here, I guess.
8.) Separate the Exterior and the Interior Mesh - Prep for baking and exporting.
9.) Bake from the Interior Map Mesh - Now bake the interior mesh for the heightmap. (Use whatever modeling program you are using to achieve this. Either do a distance bake or just wrap it cylindrically with a grayscale and render it orthographically from the top.)
10.) Export the Exterior Mesh - Prep your exterior mesh and texture for usage. Use it as a feature, and place it at the exact center of the feature map.
A. Make sure to keep everything scaled correctly. It would be undesirable to have the interior and the exterior not correspond.
----
It sounds a bit overkill sure, but that's because there is no editor that can do these basic operations for you. You'd have to do them manually.
The reason this would be so much better, is that it brings artistry back into the art itself. I think a big problem with the way maps are being made here, is that it's so code driven that there is no real art aspect to them. Now, this is not to say good jobs haven't been done. No disrespect meant there ofc, as there have been numerous amazing maps made. But this would just be a more streamlined and logical approach to it. Art should be made artfully.
As for how other games do it, to my knowledge, it's mostly done the way I mentioned above. The difference is that there is an editor that does a lot of the menial operations for the artist. (Things like generating the heightmap for the playable area and separating the two mesh structures.)
LOT'S OF TEXT.
Here's the condensed version.
Since the outside map isn't interacting with the units, it can just be a big feature.
Any part of the feature that is inside the map bounds can be blocked using the pathing map.
1.) Conceptualization/Mechanical-Theory - Self explanatory. How would it look and how would it behave etc. Basic layout and art direction. (No tools needed yet.)
2.) Graybox Interior Map Model - This would include the bit of the map that the units actually walk on etc. (Any sculpting program would work here. Even a terrain editor would work, provided you can export the mesh.)
A. Note that if your map is irregular in design when it comes to the actual environment (like a map made entirely out of metal with mechanical parts everywhere and no real hill/mountain structure) you could simply combine this step with "3)" and separate the "map" mesh with the "decor" mesh.
3.) Graybox Exterior Mesh Model - This would be everything outside of the walkable map on to the horizon. This would also be the "edge" structure of the map. (Cliffs, walls, ravines, etc.) It's nice to have an obvious edge to the playable map as it let's players know where their bounds are exactly without having some ugly fog/mask effects. (Any modeling software. Max, maya, mudbox, softimage, etc. Depending on the art style for the environment, you may or may not need a sculpting program.)
A. Note that if your map is something like an island, or on the coast, your outside mesh doesn't need to go on to the horizon as the water does that for you.
B. The "edge" structures can intrude on the "map" boundaries itself, as you can just block off those areas in the pathing map.
4.) Planar wrap the Interior Map Mesh - For the obvious reasons. Don't paint the texture yet though. Just wrap it.
5.) Wrap the Exterior Mesh Model - The way you wrap this depends on what is in the model itself. If it's it a hill/mountain esque mesh then planar is probably the way to go. If it's more complex, then piece-by-piece mapping is probably needed.
6.) Temporarily Combine the Interior and Exterior for the Texture - For this you'd combine both the map mesh and the outside mesh for texturing. Don't paint using a 2d paint program like photoshop. That would be silly. Use a 3d sculpting program that supports painting. (Mudbox, zbrush, etc)
A. Make sure the texture for the exterior mesh is somewhat scaled correctly to the texture of the interior mesh. This will vary depending on the complexity of the outside mesh.
7.) Paint Pathing/Feature/etc maps onto the UVW of the Interior Map Mesh - Using a 2d painter program is preferred here, I guess.
8.) Separate the Exterior and the Interior Mesh - Prep for baking and exporting.
9.) Bake from the Interior Map Mesh - Now bake the interior mesh for the heightmap. (Use whatever modeling program you are using to achieve this. Either do a distance bake or just wrap it cylindrically with a grayscale and render it orthographically from the top.)
10.) Export the Exterior Mesh - Prep your exterior mesh and texture for usage. Use it as a feature, and place it at the exact center of the feature map.
A. Make sure to keep everything scaled correctly. It would be undesirable to have the interior and the exterior not correspond.
----
It sounds a bit overkill sure, but that's because there is no editor that can do these basic operations for you. You'd have to do them manually.
The reason this would be so much better, is that it brings artistry back into the art itself. I think a big problem with the way maps are being made here, is that it's so code driven that there is no real art aspect to them. Now, this is not to say good jobs haven't been done. No disrespect meant there ofc, as there have been numerous amazing maps made. But this would just be a more streamlined and logical approach to it. Art should be made artfully.
As for how other games do it, to my knowledge, it's mostly done the way I mentioned above. The difference is that there is an editor that does a lot of the menial operations for the artist. (Things like generating the heightmap for the playable area and separating the two mesh structures.)
LOT'S OF TEXT.
Here's the condensed version.
Since the outside map isn't interacting with the units, it can just be a big feature.
Any part of the feature that is inside the map bounds can be blocked using the pathing map.
Re: Map edges, how can they be fixed?
bob that would work... but... no groundscars, no tracks (and i'm not sure if features cast shadows onto themselves, or if units cast shadows onto features)
other problem that i've had with creating maps from 3d models rather than textures (not sure if anyone other than me has done it TBH) is that you MUST obey the sizing of spring maps x8+1 etc or else you end up with a heightmap that is noticeably different from your model
i made a 4x4 test map with some hills a while after seeing your concept map ages ago with a method like this (feature laid over top of heightmap) and it looked (for want of a better word) like shit, because there was no detail texture.
beyond that i see nothing wrong with your methodology but it can be simpler...
1. make your "heightmap" model according to spring scale
2. make your "feature" model by extruding/editing a copy of your "heightmap" model
3. unwrap / texture / export your feature
4. 16-bit height map of your "heightmap" model in xnormal
5. assemble!
and yes i like manually making things too... i figure procedural landscapes appeal more to a different creative mindset
other problem that i've had with creating maps from 3d models rather than textures (not sure if anyone other than me has done it TBH) is that you MUST obey the sizing of spring maps x8+1 etc or else you end up with a heightmap that is noticeably different from your model
i made a 4x4 test map with some hills a while after seeing your concept map ages ago with a method like this (feature laid over top of heightmap) and it looked (for want of a better word) like shit, because there was no detail texture.
beyond that i see nothing wrong with your methodology but it can be simpler...
1. make your "heightmap" model according to spring scale
2. make your "feature" model by extruding/editing a copy of your "heightmap" model
3. unwrap / texture / export your feature
4. 16-bit height map of your "heightmap" model in xnormal
5. assemble!
and yes i like manually making things too... i figure procedural landscapes appeal more to a different creative mindset
Re: Map edges, how can they be fixed?
I see, I don't agree with that solution...
most other games use a composite of mesh and terrain, what you are describing may work with something like mortal kombat or streefighter. Heck even some first person shooters use something similar to that as they construct geometry in a tool.
Rts games will typically use a series of stitched meshes with pathing maps as in can or cannot pass(starcraft2, battleforge and warcraft3) with a mesh based height field. Which is an extension of how redalert and other 2d rts games worked. Other games use a few meshes with a terrain (World in conflict, dawn of war and supcom)
Spring takes a heightfield and generates a mesh from it. You can build whatever mesh you want in whatever tool. The main issue with the mesh is that it is generated from a 2d plain and all of spring works off of a 2d plain. Otherwise, having a mesh versus an smf is just a matter of format.. So you can generate any mesh you need and fire that out into a 2d 16bpp texture which WILL be reconverted into a mesh that spring uses.
here is where your model idea falls apart. Outside of the fact that the shadows will go haywire you are then reduced to whatever you can map to a mesh. I don't know what maps you look at but you would have to be a master of uvcoords and texturing to get something like northernmountains out of 1 texture with a max of 2048x2048 because anything larger and aticards shit the bed.
I don't know I could keep going but I think the issue is that you are hung up on the format not what it actually can do. What we have is pretty good and unless you are going to do the mesh patchwork like sc2,bf or wc3 you are going to have less detail with that approach.
most other games use a composite of mesh and terrain, what you are describing may work with something like mortal kombat or streefighter. Heck even some first person shooters use something similar to that as they construct geometry in a tool.
Rts games will typically use a series of stitched meshes with pathing maps as in can or cannot pass(starcraft2, battleforge and warcraft3) with a mesh based height field. Which is an extension of how redalert and other 2d rts games worked. Other games use a few meshes with a terrain (World in conflict, dawn of war and supcom)
Spring takes a heightfield and generates a mesh from it. You can build whatever mesh you want in whatever tool. The main issue with the mesh is that it is generated from a 2d plain and all of spring works off of a 2d plain. Otherwise, having a mesh versus an smf is just a matter of format.. So you can generate any mesh you need and fire that out into a 2d 16bpp texture which WILL be reconverted into a mesh that spring uses.
here is where your model idea falls apart. Outside of the fact that the shadows will go haywire you are then reduced to whatever you can map to a mesh. I don't know what maps you look at but you would have to be a master of uvcoords and texturing to get something like northernmountains out of 1 texture with a max of 2048x2048 because anything larger and aticards shit the bed.
I don't know I could keep going but I think the issue is that you are hung up on the format not what it actually can do. What we have is pretty good and unless you are going to do the mesh patchwork like sc2,bf or wc3 you are going to have less detail with that approach.
Re: Map edges, how can they be fixed?
Hey Bob, Kaiser nailed the issue pretty well. Even a simple thing like the lack of a detail texture will make the surround mesh stand out like a hooker by the road. Pushing the stuff through the same map shader as the engine uses is the way to go, if you want a proper looking surround (for example take a look at the game 'World in conflict', that game had a surround mesh 8x bigger than the actual map). This can be done in hackish and wierd ways.
I am not 100% convinced that the current setup with abrupt edges is as bad as it is made out to be. Sure, all RTS-es have rectangular maps, they all have some sort of edge, the only thing I could complain about is the fact that the map is just a pure surface, it has no visible volume, which is only aparrent when you see the edges.
EDIT: smoth got to me first, but the fact that features cant have custom shaders assigned (no detail texes, etc) and that a model has a 2k by 2k max texture (for compatibility issues) really limits the depth one can go with a feature based map.
I am not 100% convinced that the current setup with abrupt edges is as bad as it is made out to be. Sure, all RTS-es have rectangular maps, they all have some sort of edge, the only thing I could complain about is the fact that the map is just a pure surface, it has no visible volume, which is only aparrent when you see the edges.
EDIT: smoth got to me first, but the fact that features cant have custom shaders assigned (no detail texes, etc) and that a model has a 2k by 2k max texture (for compatibility issues) really limits the depth one can go with a feature based map.
Re: Map edges, how can they be fixed?
no no go ahead, I was posting a short reply..
Re: Map edges, how can they be fixed?
Hrm I see. Nevermind then.
Note though, that the walkable map is still the same terrain system. You'd still get tracks etc. You'd model it and bake the textures from it is what I mean. The only bit that is a feature is outside the map.
Note though, that the walkable map is still the same terrain system. You'd still get tracks etc. You'd model it and bake the textures from it is what I mean. The only bit that is a feature is outside the map.
Re: Map edges, how can they be fixed?
The "walkable" terrain doesn't really work that cleanly. it would be nice but things like pushing etc break all that.
Re: Map edges, how can they be fixed?
What is "pushing" and how does it break the terrain system that is used? I'm so confused. D;
EDIT: My apologies for the derail etc.
EDIT: My apologies for the derail etc.
Last edited by Mr. Bob on 02 Dec 2011, 18:30, edited 2 times in total.
Re: Map edges, how can they be fixed?
this is becoming a derail I will pm you the reason.
Re: Map edges, how can they be fixed?
stewed this over, and i feel it's incorrect.Now, this is not to say good jobs haven't been done. No disrespect meant there ofc, as there have been numerous amazing maps made. But this would just be a more streamlined and logical approach to it. Art should be made artfully.
after playing with working with procedural maps, i came to two conclusions
1 - it takes a ton of skill and time to come up with something that looks really, really good
2 - although you're working with procedures rather than editing the map directly, there is still a requirement for artistic process and creativity... because if there wasn't, you simply would not have a map!
i certainly had the misconception that heightmap goes into worldmachine and comes out looking like a pro map without much effort at one time; but then after many hours of WM and checking out what dudes such as smoth and beh have going on in the backend of their setups, my tune changed
not that i want to be in here telling you what is and isn't art, but maybe you're overlooking some of the creativity that goes into procedural mapping (and if so, you're certainly missing out on the fun )
Re: Map edges, how can they be fixed?
I didn't mean to imply that the maps that have been created aren't artistic works or that they didn't require skill to make.
I simply mean that it seems to make more sense to create art using art related tools/methods rather than looking to something else. (Practically that is.)
But, as mesh isn't an option, just ignore my sillyness. :D
I simply mean that it seems to make more sense to create art using art related tools/methods rather than looking to something else. (Practically that is.)
But, as mesh isn't an option, just ignore my sillyness. :D
Re: Map edges, how can they be fixed?
your idea can work fine but pulling it off IMO requires integration of spring map and many different meshes rather than laying a single model over top (much like SC uses tiles) maintaining all passable area as a visible segment of the spring map
Re: Map edges, how can they be fixed?
I demand no changes... i always get my wishes granted that way :D
- CarRepairer
- Cursed Zero-K Developer
- Posts: 3359
- Joined: 07 Nov 2007, 21:48