Andrew Fuchs wrote: > I would like to ask a few questions in terms of making maps and archetypes. > > There are currently archetypes for chandeliers, would it require more > code to make these appear above players?
For chandeliers, if fly is set on them, they will appear above players, as the fly layer is above the player/monster layer. > Same for elevated parts of > towers, and the back of some buildings. If the object does not have merged images (is still 2 or 4 or whatever separate images), then the fly trick would work for those. But then, I'm not sure if the player would be able enter them, and when the player is on a space, they would appear above the player in the look window. With a little work, it would be possible to add something like 'layer ...' to objects which denote which layer they should be drawn on, but not affect the actual layer in terms of the look window. For combined images, this doesn't work, as the layer that that image appears on is only sent once for the head. The draw logic could be changed to make it work, but then it would draw all big images the same way. So while tall towers should be drawn in front (on top) of the player, that probably isn't the right thing to do for things like the coliseum (the change in draw logic would basically be draw all objects on space x,y, then all objects on x+1,y ... and for big images, you do the draw once at the head location, so it then obscures stuff behind it). The only way I can really see for fixing that is to add some object attribute to denote the 'rear' portion of the object should be drawn at a higher layer. But that starts to make things messier on the client side (do you resolve that layer at draw time?). Plus, this doesn't work as well for the opengl which draws the entire big image at one time and not pieces (but that could be changed). And then you start to get the issue of what about a 3x4 image. Does it only obscure the player for the top half? The top 3 rows? Can a universal flag cover those? The other possibility is to send the image for every space it appears on and not send only the head, but do send an offset (eg, here is a shop, but the head is +1,+1 from this space). This uses more bandwidth, but then would allow the layer to be specified for each part, so proper drawing could be done. IIRC, the practice of merging layers was never really to save bandwidth. Instead, there was the annoying factor of when drawing images, you'd need to split them apart before, and then potentially merge them for future edits, etc. I think some was also related to isomorphic crossfire (becoming daimonin) - merged images could be drawn correctly in isomorphic mode, but split images appeared, well, split apart. > > Second, what are the chances of some sort of vertical tiling being > introduced? (even though this is unlikely) I take this to mean the idea of different stories of a building? this is doable, but has some issues. The simple case to visualize is say a fort - you have an outside wall, and an inner courtyard. On the ground floor along the wall, you have various rooms. On the second floor, you can walk along the walls on top of the roof of these rooms. It is pretty clear that if you are along the wall (on the roofs), you could see people in the courtyard. If they walk off the roofs, they would fall into the courtyard. But for the person in the courtyard, it is probably proper for them to see the rooms on that same layer, and not the walls/roofs. One issue is what happens if someone on the roofs fire down to those people in the courtyard? This should be allowed, but to those in the courtyard, it appears that arrows (or spells) are basically show up from nowhere. People in the courtyard can't really return fire, etc. One fix would be to add some command like 'look up', which changes the player view from the level they are on to the level above them. But if there are 5 layers, that isn't a really good solution (fly/levitate should be a way to change layers also). Also, ideally, line of sight would need to be changed. If for example the roof are 8 tiles wide, and the player is farthest from the courtyard, then 8 spaces of the courtyard nearest to the player shouldn't really be visible (being obscured by the wall/roof). But that is tricky - a person standing up would be more visible than a dagger laying on the ground. All that said, codewise, I don't think this is really hard. But there are these other issues. _______________________________________________ crossfire mailing list [email protected] http://mailman.metalforge.org/mailman/listinfo/crossfire

