Shuffled World Game (Part 2)
2021-02-27
Hello everyone! Be sure to leave a comment below if any of this is interesting to you.
Hope the first 16.67% of the year is going okay. A few months ago I made a post about a "Shuffled World" game design. The gist of it was a game world that 'shuffles' as you play it, so the areas of the world don't remain in any one orientation for too long.
This is conceptually similar to randomizers in games like Dark Souls or Zelda, which randomize where level transitions take you to.
In the past months I've had some time to do some design thinking about my post, and thanks to others' ideas as well I have a sort of game's framework I want to describe in this post.
Rooms and Roomsets
A key idea is the Roomset and Room. A Room is a single, small level, something on the order of magnitude as, say, a room in a 3D Zelda Dungeon (on the big end: the first chamber of the Deku Tree. On the small end: a one-off puzzle room). A room isn't necessarily a literal room: it could be outdoors.
Above: The first room of the Deku Tree
The motivation for the size is practical and design-related: if the room is too big, it could become a chore to traverse multiple times over the game. If it's too small, there might not be enough 'space' to express an interesting design idea or spatial idea. Exceptions could be easily made (in fact I'd expect myself to add some very huge rooms and some extremely tiny ones), but I think this kind of size would work okay. On the practical side... rooms around this size are just easier to conceptualize without worrying about more frustrating concerns like landmarking within a single space.
A Roomset is a set of related rooms (Melos's Forest, Melos's Mall, etc). The Shuffled world consists of connected rooms from roomsets.
No Roguelikes
In December, my thinking was initially inspired by Roguelikes - the entire Shuffled World would be procedurally generated (procgen). So I came up with a world-generating algorithm that would connect the world in a tree-shape, using binary trees and binary strings. Not going to describe it in detail, but it would work. However, thanks to recent design thinking... it was pointless!! Why?
Door drama!!
(By "Door", I mean when in a game you walk to the edge of a map, or a literal door, press a button, taking you to a new area)
If I procgen the whole world, that means the Doors are fixed... and I think there's an interesting design space to explore with allowing the player to influence where doors go. Pure procgen flattens the drama a bit and I think makes for a less mysterious setting.
I have a bunch of ideas relating on to how the Door could be 'dramatic' by allowing the player to influence the probability of where the door leads to, but more on that way later.
Reshuffling
One concern is how often a reshuffle occurs. Depending on the tools the game gives to map out the world, a poorly-timed reshuffle would be bad. I'd like players to get a little 'attached' to the current world, so maybe there's a little sadness when they have to reshuffle it. There's various ways to do it (partial reshuffles, etc), but I decided the player will have to go to their 'home base' and explicitly press 'Reshuffle'.
So thinking about that, of course there's the shape of the entire game. You can't plan much unless you have a length in mind. I like the 5-8 hour range.
That leads to the question of how many roomsets there are, how big roomsets are, and how the player gets roomsets. I'd like to give out new roomsets throughout the game ("Forest Roomset!" "Parking Garage Roomset!"). But just dumping them all on you at the start feels no good...
At this point, a desired narrative/story really starts to shape things.
I've been thinking about shifting landscapes a little - how towns and neighborhoods rise/fall/change. Time travel in games. Gentrification.
Something strange that happened the other day was realizing that a building I grew a slight nostalgic attachment to was actually in a temporarily moved location, for the past 20 or so years. That means that older people would have a nostalgia for its old position, but younger would have nostalgia for the current location! Once it moves back to the original location, the 'positions' of the nostalgia will swap. (Did you know you can literally move an entire building...? I don't know the details, but apparently you can.)
So this got me thinking about seeing a space from different times, with different information, in different contexts..
What if the Shuffled World game isn't 100% shuffled? I like the idea of a game indulging the disorientation/uncertainty of not knowing where exactly you are, while also having moments of consistency in the room your in or its connections.
Towns
In my game, you are trying to reach Building, which is fixed and its own massive big final level. The area is 'unshuffled', for some unknown narrative reasons, but also because most areas won't be 'unshuffled' in the same way as Building.
How do you reach Building? Well... Story. For the sake of discussion let's say you need Story Things (they could be as concrete as magic stones, to like, more abstract world-changing events).
It would be good to have places you return to over the game, so let's add "Towns". Towns have a corresponding roomset. A Town is a goal in itself: reaching one might be tricky or require satisfying particular conditions. For example, to reach Red Town, you might need to see all the Red Roomset's rooms at least once in the Shuffled World.
Once you reach the Red Town, you might need to do Red Town Quest, which gives Red Town Memory Key. You can use Red Town Memory Key in Red Town... but!
Maybe there are conditions about when you can or can't use it, but when you DO use it, you're now in the "Memory" version of Red Town - and leaving the town takes you to a Town Memory which consists of a fixed layout of tall the Red Roomset rooms.
It's only within the Town Memory that you can find particular characters, scenes, notes, etc... as well as the "Red Temple", which is a fixed level (or something idk) that contains Story Thing. Imagine that we have a totally shuffled Forest Level, but only by accessing the Forest through Forest Town, do we get to see how it 'should' be laid out (and maybe we find new rooms in the process.)
See above image for an example. On the left, the player navigates the Shuffled World, running into Blue and Red rooms before reaching Red Town. On the right, they used the Red Town Memory Key, which caused the Blue rooms to disappear, and the Red rooms to form their 'correct' connections.
Practically speaking, this might be something like: there's a building on a hill you can now reach, or there's a passageway in a mall you can now leave, taking you to the "Temple". The narrative can drive a lot of things - what if two Town Memories are connected? What if there are rooms you can only see in a Town Memory? And so on. What if there's an exception temple that's only within the Shuffled world? What if a Temple has no corresponding Town?
Perhaps characters reoccur at different places or different contexts.
Generating the Shuffled World
Now I need to talk about how the shuffled world gets generated! Then I'll talk about Door Drama, I swear...
I am thinking the player starts at "Home". It has a device called uh... the Shuffler. You can plug Roomsets into them, kind of like putting in game cartridges (Hm... narrative brain is having ideas...). You start the game with 3 roomsets, but you find more as you play the game.
There is a limitation on how many Roomsets can be plugged in at once. Feels reasonable to say that that limit goes up as you progress in the game: so at the start, you can only plug in 3 Roomsets, but maybe near the end that number hits 7. I think there are some nice opportunities for meta-meta story here or something..
Once you've plugged in the roomsets you like, and press Shuffle, the Shuffled World is reset! But remember... it's not procgen! Why?
Door Drama!!
Okay, with the overall 'flow' of the game now established... I can talk about Doors!!
In my Shuffled World game, the player maps out the Shuffled World as they go through Doors. That is, where a room's door leads is initially unknown, but once the player goes through the door, the connecting room is permanently fixed (until Reshuffling the world.)
Versus the game procgening the entire shuffled world. This sounds the same, but it's really different in practice:
Let's say I have 4 roomsets installed and I'm in Red Room 1 and the player goes out an exit. Assuming each roomset has an equal number of rooms, then in the most boring scenario, the player has about a 1 in 4 chance of entering another Red Room.
But what if the rules are slightly different? Maybe in a platforming game with an Even the Ocean-like system, exiting a room with a particular energy alignment can change the probability. What if carrying an item from Red Town doubles the chances of reaching a Red Room? What if a roomset is particularly tricky to reach its rooms, and it requires the past rooms you've visited to obey a certain condition?
All of these ideas are potentially perfunctory if you had to do them over and over again, but in my ideal scenario they would comprise a little interesting NPC/Town arc, a fun light puzzle that adds some texture to the otherwise 'random' seeming Shuffled World.
Let me introduce one more idea before talking more about this.
Same image as above
Since the Shuffled World always starts from Home, this means that EVERY room has a 'depth', in terms of how far into the shuffled world a room is. In my example image above, Town 1 has a depth of 6, because you need to walk through at minimum 6 doors to reach Town 1. Home has a depth of 0.
Moreover, I can make up the idea of 'color depth' - the number of rooms of a particular color I've travelled through to reach a room.
So Town 1 has a red depth of 3 in the Shuffled World since you pass through 3 red rooms to get there, but Town 1 has a red depth of 0 in the Town Memory (since it acts as the starting point). Temple 1 has a red depth of 4 in the Town Memory.
What about "neighbors"? Neighbors meaning, how many doors a room has. What if you could control the likelihood of entering a room with 1 neighbor (dead end)? What if you could prevent (when possible) a 1-neighbor room from appearing? What if there is a special, dead-end room within the Red roomset that is only enterable if you're at a a red depth of 3 or more?
What if certain roomset rooms don't appear until you're at a depth of 5?
What if special rooms only conditionally appear at very high depths, impossible to visit without paying attention to the number of neighbors in rooms you're making appear?
What if rooms only appear if certain roomsets are installed? (What if those roomsets' towns have some narrative relation?) Or if others are not installed?
What if some towns only open certain parts if you reach it at a particular depth?
Basically the 'Door Drama' turns the world from a procgen one into a sort of semi-controllable space for the player to experiment with. Of course, there's the worry of room appearance conditions becoming too esoteric, but if you've ever looked at some Pokemon evolution conditions, there's a fun mystery to those sometimes. As long as you're not demanding players to figure out the maddening logic, it should be okay.
The reason I like "Door Drama" is because it turns a totally random world into one in which it's possible to overlay some interesting narrative drama or spatial progressions. So with no player intention, it's a random scattering of rooms (and NPCs maybe), but with some player intention you start to have a different goal when heading into the shuffled world. A player can shape what they find.
And despite the (controlled) randomness is there's still that overarching goal, of finding the Building, a fixed set of rooms that somehow exists in a Shuffled World. And there are the fixed Town Memories as well!
Practical concerns
I was wondering a little about fast travel. One image that's been running through my mind throughout this brainstorming has been "websites" and "Discord servers". In a lot of ways, Discord in particular feels like a shuffled world. It's hard to discover some servers through the regular internet, and in some cases, you can't even find a Discord outside of being within one Discord and hearing about another! People exist in both Discord Servers and in other parts of the internet. Discords have channels, some not visible to certain users, some only visible under certain conditions.
That being said, we use both our memory and bookmarks to revisit websites or servers.
In a game like my Shuffled World, probably something could come up where you need to visit two towns. It would sure be annoying to have to remap the Shuffled World each time you want to visit, though! (Or would it.. hehe) So I figured that some kind of fast travel makes sense. So far, my working idea is that you can warp to any Quest NPC once you've met them (if they're in a room you've been to), or any Town (once you've visited once.)
The catch is that if you haven't reached that particular room/town in your world, you can't leave the place you warp to. So there's a sense of isolation to where you warp, and there's still the need to map out the Shuffled World at times. This way, fast travel doesn't overly flatten the significance of the random-ish mystery of the Shuffled World. You can feel 'safe' and 'attached' to the town, but you have to return back into the shuffled mess to find other stuff.
The other concern is that the sort of 'metapuzzles' of navigating the Shuffled world could get boring, but I think if considered carefully and at the right amount, it's not too bad. Maybe the meat of the gameplay is like platforming or something so the metapuzzles might even be a refreshing break! And well, it's not like perfectly frictionless game systems really amounted to much anyways..
In conclusion
Please use these ideas if they seem interesting! Or if they make you think of any games or ideas I'd love to hear them.
It might sound like I described a game here, but really I just described a few pacing ideas and exploration systems with hopefully enough concrete-ish examples for some sort of game-structure to be described.
As hinted at, there are so many ways to build story/narrative on top of various 'twists'. What I've described has a lot of possibilities if you remove any one of my design choices (like how to reshuffle the world, how doors work...). I haven't even gotten into camera, visual, musical angles, nor have I said anything about the story ideas I have in particular, or gameplay ideas. Deciding any one of these things is down to your tastes and would have vast ripple effects on the final playable game.
I don't really know when I'd be working on this game - although I'd like to. Right now I'm still working on S, but there's not much game design or writing left to do (mostly a music/cutscenes grind now) which is why I've been moving onto some brainstorming for other ideas.