Similar to Star Wars Battlefront II. In that game, if you walk too far off the map, you either get killed or teleported back to start; I forget which. In a military game, they could get shot for trying to go AWOL.
|
I've thought for a long time it'd be interesting to allow Z levels to "connect". It does raise some questions though:
|
/map objects attached to a Z level with directional references to other map objects attached to other Z levels.
|
I was thinking that yeah, essentially oview() and all the viewing procs would be affected by it as well. I have no idea how the BYOND code is set up, so this is more of a stab in the dark, but could you make something in the map itself? Like, when you make a new map you see
X <n> Y <n> Z <n> Wrap [ ] or, something like that? |
As Xooxer mentioned, adding /map objects would be a very, very nice addition to the language. Especially if that included map handling, such as saving and loading entire maps and sections of maps.
[Edit] In addition to this, it would incredibly awesome (if the /map object were added) if it would be possible to have some sort of layering effect with the maps. Possibly just a layer variable, and empty spaces on a map of a higher layer will show maps of a lower layer. This could be used to produce very, very cool effects for games. |
Popisfizzy wrote:
As Xooxer mentioned, adding /map objects would be a very, very nice addition to the language. Especially if that included map handling, such as saving and loading entire maps and sections of maps. Ignore my previous statement, I side with these two. |
Well one thing I can think of doing is adding in an extra set of dimensions for the map size like panel height and panel width and have them represent the number of z levels in each direction. So for example if you set the following variable
x=150 y=150 pheight=3 pwidth=3 it would give you a map of size 150x150x9 and it would set it up something like this 789 456 123 Then you could use the get_dir proc and others and would know exactly which z levels are next to which. and also have in looping from 3-1 and 1-3 as well as 3-9 9-3 etc. The proc could then be set up to know which z panels are in which direction based on the value of z. Im doing a similar process with my mail system and the time it takes to get to the players based on the z and there distance. Theres no wrap around but it could be handled fairly easy. |
I once developed a system to simulate this. It worked primarily off of a hacked and slashed version of our own LummoxJR's swapmaps, and some inspiration from (might have been nadrew or gug's) multi-tile mob demo.
Essentially, I made the map floor(view_width/2)*2 tiles wider than the target x dimension, and floor(view_height/2)*2 tiles wider than the target y dimension. Next, when loading a new region, I'd copy the borders of that region into that leftover edge. I made each area a teleport on enter, and then created what I called "shadow" atoms in place of each atom within that targeted buffer. I wrote these shadow atoms to change their names, icons, move, delete, etc. when their parent object did, and to receive input exactly as their parent, and relay the input. It was a lot of work, but the trickery was pretty much flawless. |
Ter13 wrote:
I once developed a system to simulate this. It worked primarily off of a hacked and slashed version of our own LummoxJR's swapmaps, and some inspiration from (might have been nadrew or gug's) multi-tile mob demo. Could you, perhaps, post the library? I'm interested in seeing how you did that. Thanks in advance. |
Lummox JR wrote:
|
That's just to deminstrate, since I can't explain now. Also, this isn't the only thing it'd be useful for (come to thing of it, it wouldn't be much better than the current solution), but it'd let you, say, keep an key on something else while you're moving around (say, like, look at a camera in your top left corner while still seeing around you.) Come to think of it, multiple maps (with, like, multiple client.eyes or whatever) would be more useful.
Not to burst your bubble, but Lummox has been saying that multiple map controls will be highly unlikely in the future. |
DivineTraveller wrote:
That's just to demonstrate, since I can't explain now. Also, this isn't the only thing it'd be useful for (come to thing of it, it wouldn't be much better than the current solution), but it'd let you, say, keep an key on something else while you're moving around (say, like, look at a camera in your top left corner while still seeing around you.) Come to think of it, multiple maps (with, like, multiple client.eyes or whatever) would be more useful. I know. But it'd be AWESOME! Ha Ha Ha Ha!! Anyway... Point is, it'd still be useful. Course, that's slightly off-topic, so yeah. |
One method I use for making the edge of the map more entertaining without using perspective is by throwing some TURF_LAYER-1 screen objects on the screen. Those will show instead of the black edges of the map. They also look cooler when you move the mob =P.