Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account
This post has been closed. You can still view previous posts, but you can't post any new replies.

Extra levels for a "3D" environment

1385869435

Edited 1386315736
So here's the scenario. You have your party in a mansion, adventuring like standard. And they are in the foyer with two massive sets of marble stairs moving upwards. Normally, as they proceeded 'up' to the second level, I'd have to switch them over to a different map with a layout for the upstairs - however what I'd prefer is the opportunity to add extra layers so that we can seamlessly switch the map between them in order to have people moving up and downstairs seamlessly as the game progresses. For added points, possibly making the 'lower' level have a certain level of transparency so that people can see what's underneath them. Hopefully this shouldn't add in too much extra effort, but will definitely add a bit more usability for players who want to add climbing and such into their campaigns - Not just houses but cliff-faces, mountain trails and ruins - anything which can justify having people needing to move in a 3-directional environment. Edit: A short-term API solution was looked at here
I would also love to see a system that lets you stack levels on top of each other, but I think it might require more work than you think. Lets say for example you have 5 characters in a building with 2 stories. 3 on the first level, and 2 on the second. You need a dynamic lighting system that allows anyone looking out the windows to see things at ground level, but only lets them see the things inside the house on the level they currently are on. That way while the 3 on the first floor are guarding the entrances, the guys on the second floor can pick off enemies at a distance with their bows(the first floor windows would obviously be barricaded, to prevent entry). You would need a map layer, token layer, dynamic lighting layer, fog of war layer, and probably a gm layer for each level of the stack. then you need to be able to tell roll20 how the layers interact with each other. I'm sure it could be done, but it certainly wouldn't be simple. I would still love to see it happen though.
You're right about the difficulties in coding that. I didn't think about how all of the layers would need to work with each of the levels. Not sure how you could implement dynamic lighting in it unless you were to completely recode it to 3D.
I think the best way to handle it would probably be to provide a way to create a level/stack of levels with something like a polygon tool. The main map level(ground floor) would get the designation 0, and upper levels would be +1, +2 etc. Lower levels would be -1, -2etc. any level in a stack with a + would have the ability to see outside that level to any exposed part of a level with a lower + or the 0 level. Any level with a - would be unable to see beyond its extent. Some situations might need you to draw the level wider than the playable area, and fill in the extra with a texture, like say looking out the window on the 3rd floor(which is much smaller than the second) you would need to use the same size/shape level as level 2, but some of it would be roof texture. I suppose underground caverns with multiple layers that were open to view might need to be handled similarly to the upper levels....I need to put in some more thought.....
Ok here is a (hopefully) better way of explaining it. In the picture here, you have 5 levels.-2 thru +2. Level 0 has the first floor of a house on it, and the front yard. +1 is the second floor, +2 is the attic. -1 is the start of a cave system under the yard(i dont know why its there....just go with it). -2 is a slightly lower level of the cave that goes under level -1 and out more to the side. Black lines are walls on the dynamic lighting layer for each level, gaps are windows, doors, holes etc. The light blue dots would be special tiles on the map layer of each level that work like a teleport to the adjacent levels. Imagine any level that is smaller than the one under it is open to the lower level, unless the dynamic lighting layer has a wall all around it. Lights can shine over edges from higher levels to lower levels, and you can see parts of lower levels that arent blocked by your current level, another level between it and your current level, or a dynamic lighting wall. but you cant see from lower levels to higher levels(you can only see if light shines over the edge to your level, you cant see the light source itself). From level-1 to level -2 picture a ladder on a cliff with a cavern extending into the cliff wall. -1 can see out to the right half of -2 but not to the cavern directly underneath -1. Level-2 can see a light that shines over the edge of -1 and can see into the cavern, but cant actually see anything on -1. Players on 0 can see into the house from outside if they are lined up to a door or window, and could see if light was shining out from the upper windows, but couldnt see in through the upper windows. Players on level 0 can't see into level -1 or -2 until they move to that level. Players on +1 and +2 can see out the windows to level 0 but cant see anything on the other levels. I hope this makes sense to someone else. Im too tired to rewrite and redraw it tonight.....
1386041506

Edited 1386041540
Why can't you just literally do what you described? I just have "upstairs" and "downstairs" locations on the map. When a PC moves up, for example, stair #2 (listed with a note on the GM layer) I manually move their token to the upstairs section of stair #2. If you're using fog of war, now is when you reveal that floor. If everything is visible, it shouldn't matter if they can see the other floors. If you really need to have a "multiple floor" area, for example a courtyard with an upstairs and downstairs section, make both showing both layers, then copy the player tokens. As an example (crudely created specifically as example, not assets used in my campaigns): Also, with fog of war, the player view prior to going up stairs: Just some ideas to accomplish what you're looking for without having to wait for a feature that may or may not ever exist. Incidentally, you can do pretty much the same thing with dynamic lighting, you'll just need to move a player token inside the "upstairs/downstairs" area to reveal it. With dynamic lighting you can also have different visibility...for example, player 1 (the downstairs guy) could only see floor 1, but player two (upstairs) can see both. Be sure to uncheck "has vision" for the additional "downstairs" token when creating it. Also, I wanted to give a shout out to this set made by Shaun Ellis as easily the most worthwhile purchase I've made on the marketplace thus far. I'd love to see more packs like this. His set makes it incredibly easy to generate any dungeon layout with a clean, consistent feel, complete with a sense of depth and minor lighting effects. I use it constantly for the versatility as its easy to generate variation with additional assets and some smart use of the rotation and flip horizontal/vertical tools. Hope that helps.
I did a poor job explaining(i didn't actually cover it at all in words, and my image doesn't convey it either, sorry) in the earlier post that i picture the levels to actually be stacked directly on top of each other(like in a real building), with some sort of dialog box to switch the active view of the gm between the levels. Players would only see the level they are on and anything they could see out a window, or from a location like a roof, balcony etc. If you don't care about the ability to look out windows(or other similar situations), then you absolutely can do multiple levels as different sections on the same map layer. If, however you want to have the ability for people on both levels to target the same npcs, you would have to have multiple linked tokens. 1 for each level that could conceivably have a player able to target that npc. Then you have to move them in sync, and it could be really tedious. Alternatively i suppose you could add markers to the main level that show where building corners, windows etc. are and have the archer on the second floor measure on the primary level from the location corresponding to their location on the second, but it just isn't as nifty that way, and some of the less astute players would be lost completely and drive you insane as you explain for the 13th time. You also wouldn't have any way to cut the dynamic lighting at the transition point from 1 level to the other. In your example, lets say a character on the second level has a torch. the character on the first level wont be able to see the character on the second level if they stand back from the edge, but they would certainly be able to see that light was shining out over the edge. You can fake it with fog of war if the characters are on opposite sides of the edge, but what if the character on the first level(lets say its a guard) has the torch, and is standing directly under the ledge that the character(a rouge trying to sneak into a secure area maybe?) on the second level is on? That is a somewhat trickier situation to fake with fog of war. The feature as requested is probably fairly difficult to implement(I wouldn't be surprised if it took almost complete rewrites of the layer handling and dynamic lighting features), and I'm certainly not going to hold my breath, but I would still love to see it just the same.
I think you could do that with a Bring to Front/Push to back on the map layer. However it would make it kind of time-intensive to switch levels. And you couldn't do it with a full map. It would need to be cobbled together.
1386155599
G.
Sheet Author
Roll20 isn't a game engine (yet?) and basic RPG rules apply so you and your players need to be able to "imagine" a scene even what they see on the interface is not EXACTLY the proper coloring, stone material and if every single gold pieces in a room isn't actually drawn on the map. There have been many good suggestions here on how to help with multi-floor areas but in the end, you and your players have the best engine known in the world for this: your brain. That said, they are working I believe on ways to split the players among different maps so, once that's published, you could potentially have 5 maps, each for a specific floor, and then you switch players around as they move between levels. Seems pushing it to me but it'll be a possible solution.
What you're talking about requires a bit too much automation I believe. That's much more than a rewrite of layered maps...that's a rewrite of the entire fog of war/dynamic lighting system to accommodate three dimensions. Roll20 is designed to simulate and improve the tabletop experience, not create a 3D video game system. In fact, most video games based on a "tabletop" style don't do what you're talking about (Neverwinter Nights/Baldur's Gate/Planescape: Torment, Shadowrun Returns, XCOM, etc.). They pretty much consist of a single level with minor height changes, which you can easily do in Roll20. Either way, unless you're playing a campaign set in a hollowed out skyscraper where you can see a ton of different levels, how often do you anticipate this coming up? The situations you're talking about don't happen that much in real life, let alone tabletop RPGs. You should only have to do the tedious parts for the rare occasions where you need it, i.e. a pit trap or walkway next to a lower room. I'm not sure if you have access to Dev as a supporter, but take a look at the Line of Sight feature and see if that accomplishes what you're looking for. If you set up your two "floors" with correct line of sight you should pretty easily be able to do exactly what you're talking about. The guy on the lower floor would not have line of sight to the upper floor since you've already drawn it that way, and the guy on the upper floor could see the lower floor for the same reason. The only "tedious" part is having to move one token twice for it's movement on both visible floors, which isn't really that much work (you're already presumably moving a bunch of NPCs...). It takes a little extra setup time but so would the multiple layer solution you're looking for. The only areas you need replicate are the areas where both floors are visible, which is generally pretty low unless you have a bunch of glass floors (even then, you can just use an aura to indicate which tokens are on a "top" or "bottom" floor). Just trying to give ways to accomplish what you're looking for as I'm pretty sure what you're talking about is outside Roll20s scope. I could be wrong, I just wouldn't count on it.
1386191413

Edited 1386191937
Gauss
Forum Champion
Starting a campaign on the Dev server requires a Mentor level subscription. However, any level of subscription can join a campaign on the Dev server. Also, I have to reinforce what Jacquesne is saying, Roll20 is not intended to be a video game. It is intended to be a replacement for the kitchen table. Any feature that goes beyond that will be examined for how often people actually need it (or want it) and if it complicates Roll20 needlessly. With that said, I am not a Dev and it is up to them which features they implement. But, when making a suggestion you should ask yourself the following: 1) Will a lot of people need this? 2) Will a lot of people USE this? 3) Does this replicate some aspect of the kitchen table game? 4) If #3 is a no does it help with an online version? 5) Is it going to be simple to use or will it complicate Roll20? These are the likely questions the Devs will ask themselves. If you find the answer to these questions a mostly negatives there is a good chance the Devs won't implement it.
1386208673

Edited 1386208795
I actually originally thought of this idea Because of Tabletop. I was talking to friends about running a Mordheim game on Roll20 - We all agreed that functionally it would work, but it lacks the 3D environment you can get from stacking cardboard on a kitchen table. I also believe that a fair few people WILL want to play this. It encompasses one of the best things about Roll20 - Things you can't do on a tabletop. I, personally would find it great to wander around a mansion as my character. And to do that on my game table I would need to go find a dollhouse or some such, or else just scrap the board and play pure pen & paper, which whilst more fun and imaginative, takes a lot of functionality away from the game (Especially if you want to do a Haunted House with Bullseye lantern and LoS) Although if it actually is a massive coding hassle, it makes sense not to implement it. But otherwise I think it would be a perfect addition to what Roll20 already offers. (Also @J.J. I don't know about you, but XCOM had multiple floors (And the original X-Com had even more), as did NWN (Although I only played NWN2, so I may be wrong).
XCOM had multiple floors that would be easily implemented in the way I described as other than the small area where the stairs exist the new "floor" may as well just be a different section of the map altogether. If you viewed an XCOM map from the top town, you have essentially a flat surface with walls, then a couple of coexisting layers inside buildings. The key is that the inside of the buildings almost never interacted with the level above it. NWN2 had the same type of thing...if you ever went significantly up or down it was basically a whole different map. You never really interacted between height levels, which is the only advantage of the system you're talking about that I can see. I guess I'm just not seeing the functional difference between making a set of stacked individual floor areas of your map and literal layers. With the physical cardboard box everyone can see everything anyway unless you are getting really creative with felt coverings or something (which, incidentally, sounds like way more work than what Roll20 can do). For stuff like wargames (like Mordheim) you can just put dynamic lighting polygons at the apex of height areas to block line of sight until they cross over. The main thing is that when playing a tabletop game you can typically see only a flat surface, and your characters exist within that flat surface. The 3rd dimension is an illusion...if you replaced most stairs with portals to another side of the planet you'd have pretty much the same effect. The additional floor doesn't physically need to be in the same place for it to be accurate. As a GM, I'd prefer separate sections...with multiple layers, presumable I'd be able to see all of them, and then I'd have to either deal with tokens layered on top of each other all the time (same spot, different floor) or switching between floors to see what's going on. With a separate section it's easy to track and handle. Roll20 isn't trying to be a simulation generator. In order for there to be a meaningful difference between looking out the first and second story window the dynamic lighting system would have to calculate the angle of view (in other words, a first floor window could see the immediate area outside the window on the street below, but the second floor window may only be able to see 10-20 feet out since you have the height to deal with). This requires the system to do much more complex calculations, plus it requires a ton of set up on the GM side as you'd have to not only create each layer and determine their order you'd also have to specify heights and boundaries of the height section. And what does the engine do if the second floor is bigger than the first? Does it now calculate an angled wall? And now, as a GM, do I have to set up not only a complete set of dynamic lighting areas for my map, but now each layer plus a height map layer to account for where the floors end? I just think what you're talking about can get really complicated really fast, and very few systems even have rules to support that level of simulation. Sorry if I'm misunderstanding what you're looking for.
I agree with all the points made about how this is far more than what roll20 is designed to do. As described previously it certainly wouldn't be worth the time/energy to implement. It would as I said earlier still be really cool to have, but I understand why it doesn't make sense to do that way. As far as the questions Gauss listed go, 1 is a no, 2 is a maybe(if it's easy enough and people know about it, then sure, I think people would use it). Number 3 is harder to say. I have seen some pretty elaborate setups for tabletop games that did include multiple levels, but most people I know certainly don't put in that kind of effort for that part of the setup. They spend their effort on the story, or some other part of the prep work. 4 can be a resounding yes if the feature were implemented right, but the devil is always in the details. As for 5, it could certainly be simple to use for the players, if done right they shouldnt even notice that it took a lot of work to make it work. The gm would certainly have more work to do, but they could decide for themselves whether it was worth it or not for their campaign. Also, i just figured out a much simpler way to fake it all. All we would really need to fake the entire thing is a way to create linked "portals" (yes, like in Portal) on the dynamic lighting layer that allow you to let lighting effects pass through in both directions, and give you the option to allow line of sight for players in one or both directions. That in and of itself could be a worthwhile feature to have, and would allow you to fake everything listed in this suggestion thread in a simple way that was completely transparent to the players, simple for the gm(it eliminates the redundant tokens/movements from Jacquesne J's version of a solution) , and MUCH easier for the devs than rewriting the code to do this the other way. I still wont hold my breath for it, but with this method I think a reasonable case could be made for the time/effort to be expended. Actually, I wouldn't be surprised if someone could figure out how to do this now with the API. I don't really know much about the limits of the API, but it might be worth looking into.
1386230654

Edited 1386231584
@J.J You did run a bit further with it than I was expecting; I hadn't really run with dynamic lighting as I knew that would be very complicated to set up. However, the idea that I had was more like: Two buttons on top-left (Floor 1 and Floor 2) Two different overlapping backgrounds in background layer. Click a token, click Floor 2, and it will 'disappear' from the map. (become transparent) GM clicks Floor 2 without having a token selected, and the map changes to reflect the different floor. (In Roll20 functionality, simply make all tokens designated 'Floor 1' transparent, make all of the tokens designated 'Floor 2' opaque, bring the 'Floor 2' background to front, make the 'floor 1' background x% transparent; or dark tinted') I feel that could be done with an API script. No offense intended, but I think you're seeing explosions in a spark. For the complicated mess that is dynamic lighting - I feel as though different levels of darkness are going to require an update in future anyway, to provide "partial" walls for lighting. But for now, you're right, it doesn't sound particularly feasible.
1386230921

Edited 1386230982
Gauss
Forum Champion
Expanding upon your portal idea. The API may be able to do what you are thinking with some creative approaches. 1) Set up the maps side by side. 2) Set up the Dynamic Lighting normally 3) Have two copies of the character tokens. 4) The API part: When the primary token moves to a designated area the secondary token's "has sight" is checkmarked and that token matches the primary token's movement within the designated area. When the primary token leaves the designated area the secondary token's "has sight" is uncheckmarked and that token stops matching the primary token's movement within the designated area. Example of how this would look: George McFly moves up to the Balcony overlooking the lower floor (he just entered the designated area). On the lower floor map there is a token that represents McFly's token. That token is moved into the same position on the lower map as the upper floor position. That token has the "Has Sight" turned on via the API. Now, McFly can see the lower section of the map. Questions for the API guys: Can the API move a token based on the location of another token? Can the API turn the "Has Sight" checkmark on/off? (If not an alternate method may need to be used such as can the API create a token or move it from the GM to the Token layer.)
If we can confirm that that specific work around is capable of doing what we want it to do, that would be awesome.
1386233441

Edited 1386233563
Gauss
Forum Champion
I suggest posting the questions in the API forum since it is your idea. I was just giving it some specifics. :)
Roger made a topic in the API thread, which I don't have a problem with, especially as he provided a link to the original, here. The way I see it, if we can fake it using API, then that's the issue dealt with, and this thread is just here to provide ideas for functionality improvements if any of the Roll20 dev team feel as though it would be a good 1st-party addition.
Having actual layers in the map "layer" of the editor would be amazing. Nested folders, labels, and the ability to associate a given token with a given layer or folder would be spectacular. It would save sooooo much photoshop work. And make the multi-level maps work like a charm. Especially if, when a given player's turn comes up in the tracker, all layers (folders?) above the layer assigned to that token vanish, revealing the map that matters to that player.