Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3-dimensional Z-level support, Core Part 4: inter-z-level movement [$100] #6823

Closed
GlyphGryph opened this issue Mar 21, 2014 · 11 comments

Comments

Projects
None yet
7 participants
@GlyphGryph
Copy link
Contributor

commented Mar 21, 2014

Master Ticket #6822

This will be a "bounty issue" for the development of z-line track development.

This issue concerns movement between z-levels, both voluntary and involuntary.

This has following requirements:
Unsupported items, furniture, vehicles and creatures on one level should fall to the next
Players should be able to be able to ascend and descend via stairs, ladders and slopes.
Creatures with the ability to fly should be able to ascend and descend anywhere (this does not require implementing an AI smart enough to choose do so, only that they have the ability)
Outside forces should have a method to work on items and entities to move them from one z-level to another - recommend implementation of elevators or catapults or both to demonstrate.

Did you help close this issue? Go claim the $100 bounty on Bountysource.

@kevingranade kevingranade changed the title 3-dimensional Z-level support, Core Part 4 3-dimensional Z-level support, Core Part 4: inter-z-level movement Apr 10, 2014

@KA101

This comment has been minimized.

Copy link
Contributor

commented Jul 24, 2014

Hey, just gonna point out that unsupported terrain and whether/not it falls should at least be considered when evaluating bounty-claim candidates. The issue as literally written allows for Terraria-style floating structures, which we probably don't want.

@GlyphGryph

This comment has been minimized.

Copy link
Contributor Author

commented Jul 24, 2014

Leaving that out (of this ticket) was intentional, though, as its a very different problem from the ones being solved here, and floating terrain is honestly a lot more acceptable than floating enemies and items, and a lot less important than flying players and enemies being able to move between levels.

@KA101

This comment has been minimized.

Copy link
Contributor

commented Jul 24, 2014

OK, fair enough.

@kevingranade

This comment has been minimized.

Copy link
Member

commented Jul 25, 2014

Agreed, making buildings detect when they should collapse is difficult,
tricky, and shouldn't much influence how data is stored, so it can be
deferred to after z-levels are working.

@kevingranade kevingranade changed the title 3-dimensional Z-level support, Core Part 4: inter-z-level movement 3-dimensional Z-level support, Core Part 4: inter-z-level movement [$100] Aug 27, 2014

@Coolthulhu

This comment has been minimized.

Copy link
Contributor

commented Aug 28, 2015

How do we want ladders and slopes to work?
I assume ladders could be just deployable stairs that need some adjacent obstacle. Possibly with correction on destruction of one side (upper/lower) to prevent "dangling" upper stairs and unusable lower stairs.
I see slopes as stairs, maybe with automatic redirection of movement similar to that in DF ie. if you try to move from slope onto an obstacle, you automatically move above that obstacle.

@Rivet-the-Zombie

This comment has been minimized.

Copy link
Member

commented Aug 28, 2015

I like both of those ideas.

@GlyphGryph

This comment has been minimized.

Copy link
Contributor Author

commented Aug 28, 2015

I'd suggest just making slopes two tiles 'wide' (and any number of tiles tall), and having an up and down section. If you're on the down section and move in the direction of the up section you safely move up and vice versa for down. If you try to move in the direction of the up section but aren't on the bottom section you're blocked, and moving onto the bottom section from a non-up or off the up section to a non-down leads to falling. That sort of thing would realistically replace a lot of "stairs" as well, since they function more like fixed ladders would right now.

It would also make it easier if anyone ever wanted to add things "falling" down the ramp, since anything dropped or landing on the top section could just move past the bottom in the direction of the bottom.

Just an idea though.

@kevingranade

This comment has been minimized.

Copy link
Member

commented Aug 28, 2015

Sanity check for dimensions. Squares are approximately 1m wide, but at least 2m tall, a 60 degree slope is more climbable than vertical, but it's not something you can walk up and down. A two-tile slop would give a 45 degree slope or so, which is still somewhat unreasonable, but at least it's getting closer.
The ideal IMO would be:

  • Ladders: single-tile, allow for symmetric up/down.
  • Stairs: Paired and adjacent up/down squares with the logic Glyphgryph describes.
  • Ramps: A set of 4 different heights, (bottom, lowered, raised, top), and you can only move between adjacent segments.

If you don't want to get bogged down with all that that's understandable, I consider it separate from the bounty issue.

@Coolthulhu Coolthulhu referenced this issue Sep 17, 2015

Merged

Ramps #13588

@chaosvolt

This comment has been minimized.

Copy link
Contributor

commented Sep 18, 2015

Interesting. That reminds me, I could've sworn NPCs were recently given the ability to follow you up/down stairs, but this seems to be non-functional.

@Coolthulhu

This comment has been minimized.

Copy link
Contributor

commented Sep 18, 2015

It is functional, just that none of the new z-level features work in 2D worlds.

@chaosvolt

This comment has been minimized.

Copy link
Contributor

commented Sep 18, 2015

That explains it. ;A;

Hopefully once the kinks (and the lag) are worked out, making z-levels the norm will be interesting to see.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.