Teleporting Between Layers (for vertical floor stacking)

Knucklehead
Member
Knucklehead
Hi!

So I've been looking at the "Welshly Arms Inn" map with its built in example of the cool teleport feature, but I have a suggestion for doing it differently (as always, apologies in advance if what I'm about to suggest is already possible and I just missed it)...

The Welshy Arms Inn has two floors, the stairs on the first floor teleporting you to the second one.

On the map, the second floor is positioned to the right of the first one, essentially being another area on the same map and on the same layer.

So, looking at the current parameters for the teleport function, you can set the destination by X/Y coordinates and set the Width/Height of the teleport area.

I'm suggesting the ability to also designate which layer to teleport to, for the following reasons:

In the example of the Welshy Arms Inn, the two floors could instead be stacked directly on top of each other; the first floor in one layer and the second one in a second layer, essentially overlaying each other.

When you are on the first floor, the second floor layer is inactive, but when you use the stairs and teleport to the second floor, that layer is activated as well and will obscure everything on the second floor, except what would be visible through design.

What do I mean by that? Well, if you look at the way the map area for the second floor of the Welshy Arms Inn is created, it has the bottom floor painted onto it as well, but in a subdued "grayed out" fashion.

If you use overlaying layers for the different floors, you could instead remove the area on the second floor where the first floor is painted and instead have that part transparent, allowing for parts of the bottom floor (being the underlying layer) to show through.

That way, being on the second floor, you would only see the second floor and the parts of the first floor that you would see from obove, including any characters or items in that area, just as you would in real life.

Also, apart from the extra layer, the map art itself should be more economic in terms of resources, as you wouldn't have to (as is currently the case), draw the first floor area that is visible from the second floor, twice (or more, depending on the number of total floors).

Say for example you would create 3 additional floors to the current Welshy Arms Inn map, by basically duplicating the second floor 3 times and stacking them on top of each other, the savings in terms of resources should come with each new floor, as the first "ground-level" floor would only be drawn once, plus it (and any objects in it) would still be visible from all the above floors. 

TL;DR: Allow for characters to teleport between different layers stacked vertically on top of each other, and for activating the destination layer when the character teleports into it.

Anyway, just a suggestion and again, sorry if I missed something and this is already possible.

/K

Comments

  • xavi
    xavi
    Administrator Administrator
    That's a nice idea, however that would require first a more complex implementation of multilayers where each object  (line, character, etc) can have a "z" coordinate as well... need to think about this :)
  • Smitemeister
    Smitemeister
    Administrator edited April 2016 Administrator
    Thanks for your effort, Knuckle, it's highly appreciated. As Javi knows I have always liked the idea of a z coordinate but it indeed requires a lot of thinking. If it was just a matter of adding floors as layers it would be much less a problem... but in a 2d environment in cases of stairs and windows where vision needs to be realistically calculated for tokens/props that could be seen below and above there's no simple solution.
  • Knucklehead
    Knucklehead
    Member edited April 2016 Member
    Hi guys and thanks for your replies. :smile: 

    I'm not a programmer, so this might not make any sense, but would it be possible to perhaps simplify by "cheating" the z-axis requirement?

    What if your character would be able to teleport from one layer (e.g. floor 1) to another one on top (floor 2) and you could set the elevation value (for example, numer of meters) of the second layer relative to the first one.

    Again, using the Welshy Arms Inn map example, perhaps you could mark out (with something similar to the current wall tool) areas of the second floor that would designate where the first floor would be visible from the second one.

    In effect, when the character is on the second floor, the marked part of the first floor would essentially act as part of the same level, but with some modifications:

    - The character can't move into that "first floor" marked area, unless he/she she is levitating.

    - The character can perform ranged attacks into the marked area (i.e. towards the floor beneath), calculating the distance should be a simple matter of trigonometry based on the difference between the elevation values.

    - The character can jump (or levitate) down to the floor beneath, which could be a teleport triggered by interaction with the marked area, perhaps similar to how you now open doors.

    If the different layers are essentially treated as one (the character's current layer being the main one) and would depend on the visibility of the other layers based on what is marked out, then that might also solve the windows issue?

    The stairs could perhaps be treated as inbetween layers (i.e. a separat layer between two floors) with its own set elevation. For example: Ground level = @0 meters, stairs = @1,5 meters, second floor = @2 meters.

    Don't know if this even makes any sense. :blush:  Again, not a programmer and there's proably a ton of reasons for why this wouldn't be helpful, but I'm just toying with ideas and writing this off the top of my head.

    /K
  • Smitemeister
    Smitemeister
    Administrator edited April 2016 Administrator
    Well, in theory it would be most practical to implement real height floors and when you move from the ground to the first floor, the first floor would display right above the ground layer. The ground layer on the other hand could change to a darker, less saturated state to make sure the player knows it is a different height level.
    Then, when a player on the ground floor is selected, it would remove the first floor again. In case a target seen by a player is located on a lower or higher floor it could be selected through the left list - this method would be pretty similar to the old X-Com games). But that's pretty much up to Javi's coding skills.. or well, rather his coding time. He can do anything, he just needs time. wink

    To be honest, the teleport is a solution and it is helpful at the moment but in reality it's more of a cheat / workaround to implement multiple floors. blush As it is at the moment using it for all these different functions would probably counter our intention of keeping things simple; apart from not being a "proper" solution.
  • simonjhudson
    simonjhudson
    Member Member

    the first thing is to get the basics right.

    What I really want is the teleport feature, but between completely different images. It isn't going to be practical where there could be dozens of locations. You couldn't put these all on a single image file. So teleporting between battlemap images is what we want to begin with.

Sign In or Register to comment.

Discussions

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

© Copyright 2014 - Creative Dreams | Powered by Vanilla
All times are UTC