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

Sub-worlds #144

Closed
byorgey opened this issue Oct 2, 2021 · 4 comments · Fixed by #1353
Closed

Sub-worlds #144

byorgey opened this issue Oct 2, 2021 · 4 comments · Fixed by #1353
Assignees
Labels
C-Project A larger project, more suitable for experienced contributors. G-Design An issue having to do with game design. G-World An issue having to do with world design, world generation, etc. S-Nice to have The bug fix or feature would be nice but doesn't currently have much negative impact. T-Challenges Involves the challenge scenarios - shorter games with objectives. Z-Feature A new feature to be added to the game.

Comments

@byorgey
Copy link
Member

byorgey commented Oct 2, 2021

A crazy idea that just came up in IRC is to have certain cells function as entrances and exits to other sub-worlds. e.g. there could be caves, buildings, ... This seems like it would be fun and could be an easy way to add new stuff to the world without taking up a ton of space.

Concretely I don't think this would be all that hard to add (famous last words, right?). A meta-world will now consist of a collection of worlds, each with an integer ID. A location now consists of a pair of (world id, coordinates). An entrance to another area just stores the location that it links to.

@byorgey byorgey added Z-Feature A new feature to be added to the game. C-Project A larger project, more suitable for experienced contributors. S-Nice to have The bug fix or feature would be nice but doesn't currently have much negative impact. G-World An issue having to do with world design, world generation, etc. labels Oct 2, 2021
@xsebek
Copy link
Member

xsebek commented Oct 3, 2021

So to store this we would have sections world1,world2,... and entrances Bimap Location Location?

I'd really like to drill through mountains and view the robot. The border tiles of mountain terrain could be the entrances. 🤔

Possibly related:

@byorgey
Copy link
Member Author

byorgey commented Oct 3, 2021

So to store this we would have sections world1,world2,... and entrances Bimap Location Location?

Well, I think it is up for debate whether the entrances should be a Bimap. That would mean you can always immediately get back to where you came from and the worlds would form a proper undirected graph. Letting it be a simple Map instead of a Bimap opens the possibility for bugs ("oops, I forgot to connect this thing back to that thing...") but also for more interesting topologies, e.g. several worlds connected by a loop, or one-way dungeons (once you go in, the only way out is to fight your way through to the exit...).

@byorgey byorgey added the G-Design An issue having to do with game design. label Feb 22, 2022
@byorgey
Copy link
Member Author

byorgey commented May 6, 2022

Just thinking about the mechanics of moving between sub-worlds... a simple idea might be to use the down and up directions (well, we already have down but we could add up). So turn down; move would move into a subworld. To be clear, I'm not proposing to make the world 3D, but rather, that every sub-world portal would be specified as being in either the "up" or "down" direction.

Amusingly, when testing this I realized that executing turn down causes a robot to look like the base.

@byorgey
Copy link
Member Author

byorgey commented Jun 25, 2022

An important question is how you would be able to see the sub-worlds. Can you view a robot that is in a subworld? Maybe you would have to develop mapping technology first, so you could send in robots to explore (see #98 and #683)? Or maybe you just have to put tank treads on the base and go explore yourself?

@byorgey byorgey added the T-Challenges Involves the challenge scenarios - shorter games with objectives. label Feb 7, 2023
@kostmo kostmo self-assigned this Jun 27, 2023
This was referenced Jun 27, 2023
@mergify mergify bot closed this as completed in #1353 Jul 22, 2023
mergify bot pushed a commit that referenced this issue Jul 22, 2023
Closes #144.

This builds upon portals support (#1356)

# Demo

    scripts/play.sh --scenario data/scenarios/Testing/144-subworlds/subworld-mapped-robots.yaml --autoplay --speed 2

[![asciicast](https://asciinema.org/a/vC13dW8M1S8t2b1J4XkW80U1q.svg)](https://asciinema.org/a/vC13dW8M1S8t2b1J4XkW80U1q)

# Future work
* Augment portal definitions with an optional "relative orientation" attribute, that can turn the player around when passing through the portal (#1379)
* Specify whether portal performs instant transportation or whether `move down` is required (#1368)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Project A larger project, more suitable for experienced contributors. G-Design An issue having to do with game design. G-World An issue having to do with world design, world generation, etc. S-Nice to have The bug fix or feature would be nice but doesn't currently have much negative impact. T-Challenges Involves the challenge scenarios - shorter games with objectives. Z-Feature A new feature to be added to the game.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants