Todd wrote: >> >> There is already a 'visibility' value in the archetype. Using this to >> denote mountain > forest > grass > water would be fine. > > > and this wouldn't interfere with visibility? visibility in the arch is a 'hint' on which objects are more noticable than others. Given that you can only display 3 objects on a space, suppose you have the case of 'ground, tower, dagger'. That's easy - draw all three. But now move an arrow on that space. Which of the tower, dagger, and arrow don't we draw? Visibility field basically determines that. Generally, bigger things have higher visibility - if you can only see limited things, your going to see the big things. I think this works out just fine with the terrain stuff - I can't think of any cases where you have forest on top of grass and have questions of which you can see (since the forest will clobber the grass). But if there was, the visiblity works out - the forest should be more noticable than the grass it sits on. > I wouldnt want to increase the number of faces sent and increase the > bandwith, however there are some advantages to having the client do some > weighting/layering on it's own from with the face information provided. > Perhaps I am not understanding the fundimentals here but I suggested > something like a 0-16 value so you can have the client lay out other > things than just landscape transitions (probably not more than 6 or 7 > levels?) you could have the client use the lower levels to merge three > or four images into one ground layer or use the higher levels to add > things over the tile (like large creature overlapping or magical > semitransparent glows or rains and fog and such masks. If you want the > client to do transition layering of tiles you will need some of these > such as the first 6 or 7 anyway. Ok. That is a completely different point, and does exist to some extent - the handling of big images goes on 'parallel' layers. Thus, if say you have a 4x4 giant, only the base of the giant (lower right corner) counts as a layer that is used up on the client side of things. Thus, the other three spaces can have 3 objects in addition to the giant, because the giant (when one big image) doesn't use the same layer as the stuff sent by the server. Of course, the most flexibly way woudl be to allow the client to say how many layers it wants. Eg, I want up to 7 layers of information, or I only want 3, or I want 4, or whatever. However, that does make things complicated - at minimum, the server must be able to support up to some number of layers, so that increases its complication of what to put on each layer. But you also get trickier issue - suppose there actually is 7 layers of information - you could have something like 'floor, treasure, dagger, gold, player, arrow, arrow', with the arrows moving in different directions, and hence different images. If the client only wanted say 3 layers, taking the top two layers (arrows) and bottom layer (floor) is obviously not the right approach - you want to really take an arrow, the player, and the floor. But how to really figure that out for all these different possiblities would be a pain. As a note, when I first started playing with putting xpm's into crossfire, I did experiment with drawing every object on the space. Other than major performance problems (granted, this was a long time back), at some point, you really don't gain anything. A pile of stuff in a shop looks like one item on top of a pile that isn't really distinguishable. > > Something like: > > 0 - no transition - default for most objects > 1 - water tiles > 2 - sand, swamp, marsh, road > 3 - grass, brush, desert > 4 - trees, dunes > 5 - hills, treed hills, steppes > 6 - mountains > 7 - high mountains (mountain2) > 8 - very high mountains (mountian4) > 9 - highest mountains (moutnain5) > 10 - objects in this tile > 11 - player level (players overlap most things) > 12 - specific object auras (red glows and such, maybe some of the other > less tangible spell effects...) > 13 - image overlap from tile y+1 (large image overlapping so your > halfling can stand behind a tree to take a leak and such) > 14 - auras for overlapping monsters and area effects > 15 - snow and rain animations > 16 - ? I guess I'm sort of missing what you are saying here, and where those values come from (are these something the server communicates to the client?) Is it basically the client will still only send a max of 3 images/space, but might say 'this is layer 12, and this one is layer 4, and this one is layer 0'? I'd have to think about what actual effect that would have. The only thing I could really think of is this could be useful for big (multipart) images to make figuring out how they stack with others easier. There is a bit of voodoo in the way it is right now. At some point, the map protocol probably needs to be extended to deal with lighting in an intelligent way. Right now, we basically send the darkness for each space (that is visible). It'd make much more sense for the server to say 'this map has an ambiant darkness of x'. And for spaces that are visible to player and that have light sources, the server would send along like 'x,y has a glow of 3, a,b has a glow of 4'. And now the client can be much more clever about how it does the lighting. One could even extend that slightly - 'this space has a glow of 4, and it is red', or 'this space has a glow of 2, and it is blue'. As part of that ambiant light information, the server could also send along other global map information, eg, 'it is raining' or 'it is snowing', and the client could then draw snow/rain/whatever graphics all over the map. _______________________________________________ crossfire-devel mailing list crossfire-devel at lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel