A Game World Made of NPCs' Relationships
A deep design dive in Devlog 007 of my in-progress game "Sanpo"
Been a while since the last Sanpo update! In the meantime I've been working away on a demo of Angeline Era with Marina. In between, I’ve eked out small amounts of time to work on prototypes for Sanpo! Overall, I have more of a sense of “actually getting somewhere.”
This post ends up being about the connections between people and places as a basis for making a game world! Above is a photo from Uji of the border between some old important person’s forested/moated grave mound, and our world.
The Platforming Prototype
In the previous devlog, I said:
You can run and jump, but I'd like to keep levels very small, and have a simple (but engaging, like Sephonie) platforming style that can make the most of tighter, denser spaces
Last September after getting feedback from some others, I created a prototype based on the idea of equipping platforming skills to different buttons. It was minimal - a port of the Sephonie controls, with ability points to spend to do a high jump.
Using a past - or any game - for inspiration is tricky. It was useful to test out Sephonie’s controls on a level I made with my 3D level-making Autocuber tool, revealing how much Sephonie controls work best with organic shapes in its levels. It feels stiff in a cube-only environment.
Moreover, tying timing-heavy high jump to a ability point system felt frustrating. Once you spend that high jump, you can’t get it back without some way of resetting the level or refilling ability points throughout the level. What appears flexible (having 3 charges of a high jump) actually felt inflexible! Being able to refill AP implied creating enemies (a whole balancing/time-suck rabbit hole), or placing pickups in the environment, which feels better in something that feels speedrunning-oriented - where you expect to reset the room a lot. Neither of those feel like the tempo I’m curious to explore.
I thought about other ideas - different characters with different platforming physics or moves, but ultimately playing other platforming games like Mosa Lina and Sylvie Lime helped me progress!
Other Games
Mosa Lina and Sylvie Lime are very different, but what they have in common are their movement is a single simple jump. This makes them easy to pick up. Their complexity comes from items you can place and use to affect your movement or modify the environment. Mosa Lina focuses on single screens, Sylvie Lime lets you use your toolkit to approach exploring its world freely.
As usual when stuck on design… I walked around Tokyo and started noticing certain items laying around the environment… laundry hangers, bikes, cars, trash cans, water fountains. Of course, I would be arrested if I were to perform a ‘double jump’ off of someone’s Tesla. But I felt like there was something these had in common with the way you place items in games like the above, or Elephantasy Flipside, another great adventure platformer with open exploration.
Tokyo and its repeated objects could be viewed as the post-play-session of someone trying to place objects to clamber onto a 7-11’s roof.
Furniture Items
Naturally I had ideas like “use a shopping bag to glide”, or “use an ethernet cable to zipline from one wall to another” or “pour jelly on a wall to let you sort of stick to it” or “jump on a car that continuously goes forward and reverses” or “place a fan near your window and use the breeze to jump into your distant crush’s bedroom window.” It’s an interesting start! But there has to be a unifying push in whatever level geometry will be working in tandem with these ideas.
So I drew a little picture of a shopping bag and then I proceeded to not think about gameplay at this concrete level for like 2 months.
A Discarded Story
Over October I wrote an entire story outline with empty spots for gameplay beats and got some feedback from friends. Here’s the gist…
In a world where navigation is no longer easy, people can live in a City (easy to navigate or the Wild (hard to navigate, very local, etc). Some organization in the City tries to collect Wild peoples’ local memories, and the protagonists - a musician and a librarian - find themselves caught in-between. The two of them have an unclear history together… but as they travel the Wild with the help of guides living in various towns, they come to view the City, the Wild, its social groups, and each other differently. Also there’s a Kaiba-esque memory-viewing-gun mechanic.
It’s interesting to write a plot. Because I have enough experience to know games will not play like a plot, but making the plot also lets me figure out “what narrative and spatial themes am I really interested in?”
I decided that the core values of its worldview are:
Everyone has a different mental map of the world and the way their mental map is built up affects what they experience and think. This implies we occupy different worlds, with places we don’t - or will never - think about.
Tourists on a bus tour of Chicago will have a very “disconnected” understanding of the city as a collection of tourist pit stops, a suburban commuter will only know the busy downtown commuter district, a student at UChicago (in remote Hyde Park neighborhood) may view their world as island-like, rarely straying out of the neighborhood.
A person who only knows a ‘small area’ of the world isn’t necessarily small-minded - “Bubbles” come in all sizes, after all. On the contrary, it’s possible to deeply (and richly) live in a small area depending on who you interact with or what you do. People’s understanding of a place or concept can have endless layers.
You can learn and do so much on your own in life but a lot of the big breakthroughs and connections really come about from talking and doing with others.
There are no such things as ‘canonical maps of the world’ in the game’s universe: you can’t look up how to get anywhere, you have to meet someone who knows how to get there already. This is a speculative fiction quality that isn’t explained or justified, like why everyone raises Pokemon in Pokemon games.
After reading some recent anthropology works, I could better articulate that the interaction of peoples’, organisms, places and objects’ worlds leads to interesting encounters and ‘entanglements’, and it’s this that drives history. I made this observation after reading recent anthropologists’ works like Anna Lowenhaupt Tsing’s Mushroom at the End of the World (on Matsutake and a lot more) and Mei Zhan’s Other-worldly (on Chinese medicine and a lot more!). I found their works resonant with my current way of thinking about games and creating their fictional worlds to best resonate with players’ lived realities. Their (and presumably other contemporaries) ways of questioning traditional history/anthropology/etc methods have been very inspiring.
The Story Now
I don’t have many specifics worth talking about, just a lot of inspiring research I’ve done. I feel like I’ve been in a good space to catch up on a lot of things I’ve been curious about looking into throughout life in which the American Education System Failed To Educate Me On. Asian folk tales, Asian history, religious studies, Fortune Telling, superstitions, Buddhist history, crafts, Taiwanese rural culture, Chinese medicine and cosmology, old Japanese farming homes, Inoue Enryo and modernizing Japan, Lake Biwa’s long history, Americans’ grab bag of “psychological oddities…”
It feels hard for me to unify all these interests in one big ‘plot.’ I would rather think about the ways these topics relate to the previous ‘core values’, and come up with 3D game spaces and situations that have a surreal-ish/contemporary relation to the topics.
Mapping the World
In the previous post, core to Sanpo was an idea where the world has no ‘canonical’ layout and instead you navigate it through clearing the tiny levels in certain ways. The world builds itself (as a grid of rooms) as you explore, and depending on whose knowledge you use to navigate, you reach different places. I think I really got stuck on this, and ultimately decided that it can’t work - at least not in the way described in the previous post.
The issue with the previous post is not the semi-random exploration, but the way in which your high-level navigation through the world was based too much on a card-game-esque idea where you affect the outcome of the next room via playing “spell cards”. I think this draws too much focus away from actually exploring, and focuses too much on the meta of properly picking which room to enter.
Centering on Color
One idea I came up with in between the story outline and my next prototype was the “Spaceline”. It’s a branching timeline that represents what rooms you’ve entered. This would have made it easier to visualize your path through the world’s mini-levels. By visualizing your exploration as a timeline, it has the advantage of allowing more branching than a grid-based representation of the world (where going in a circle on the grid implies having to return to an earlier room).
For example above, I travelled through 5 red rooms, but explored a different branch in the 2nd red room (which led to an orange and green room.)
This was a fun idea, but it didn't do much towards addressing the design problems.
The more important idea was the idea of “Centering on a Color”. By equipping a “Memento” of an NPC who is familiar with Red Rooms, you would “Center on Red,” allowing you to frequently find more Red Rooms, especially those important to the NPC.
Now, I also didn’t go with that idea, but it did lead to a useful idea…
Connecting to The Relational World of an NPC
I want to make a game where the layout of the spaces you’re exploring relate to characters. (See the “mental map” core value above) At first I thought I could do this with all those aforementioned Spell-Card/Spaceline ideas, but I came up with something simpler and more fruitful!
The idea comes from how physical spaces actually don’t have a single defined ‘reality’ to them. I touched on this with the Chicago comparison above but here’s another.
If I bring you to my hometown mall parking lot, what you and I perceive is going to be different despite being in the same parking lot. You’re more of a passerby in this parking lot, while I have a longer history with it. But I could tell you about all of these things, and you could experience them secondhand. That idea of communication could be called a “connection”.
So, what if every character in the game can be “connected” with? And - what if - by connecting with characters, this changes the current layout and accessible areas of the world to represent what that character is familiar with?
For example, imagine yourself standing in your home. Your local friend comes over to hang out. Then, I appear in your home! I connect with you. Now I have an deep understanding of your local neighborhood, including your home. But I see your friend is here! Then, I connect with them instead. Now I instead have their mental map of your neighborhood and home but in less detail.
Put into game terms, different parts of the game world appear, disappear, contract or expand based on who you connect to.
Connect to the old man, and you can visit a version of his school from the past, as that’s what he most recently remembers.
Connect to a young boy, and the countryside road will be minimal and short - it’s only used as a passage, after all - perfect from getting between two towns.
Connect to a farmer, and the countryside road has more offshoots and details - bad for getting between the towns efficiently, but good if you need to explore the side of the road.
The game world is not just a forest and a town. You’re never merely in a forest, for that forest has significance for whatever NPC you’re connected to. You wouldn’t be able to explore it otherwise. Why does one NPC have a connection with the forest? I can have the NPC say a little, and maybe other NPCs who know them can say more.
There’s a poetic potential in the collection and arrangement of places, people and level mechanics that appear in any given NPC’s “relational world." If the young boy knows a farmer, that farmer will appear in the young boy’s relational world. Connect to the farmer to reach new place!
Aside: Experiential Fiction
Another piece of writing resonating with me is this 2011 essay by author Brian Evenson. Here’s a quote from Section IV. I particularly like the idea of “experiential fiction,” and the view that it is NOT merely information or meaning. This is what I’m excited about with game-making: the idea of making a game that “clears a space” (through subtraction from pure narrative or spatial realism), and through its rules, provides the “structure of another consciousness” for a player to inhabit.
Put another way, it’s not like I’m against narrative or writing or dialogue, but I want to think of ways of incorporating narrative elements into games where the experience of exploration and play takes on a ‘poetic companion’ role rather than pacing for traditional-writing beats or straightforward metaphor.
Abbreviating Space
Most adventure games always take place in the same space no matter who you are helping out. A game made of relational worlds will abbreviate the spatial experience of an adventure, like how a manga visually abbreviates its world.
By connecting to different NPCs, you will quickly travel about. It might be really fast to get from Point A to Point B depending on what NPCs you connect to. In fact, these connections might even transcend time or reality!
For example, in Sanpo you may be able to connect with a “Media Archaeologist” studying the works of some dead writer. You explore the ruins of some town the archaeologist is in. But when connected to the Archaeologist, inside of a small grove, you stumble upon a person in a corner! It’s… the dead writer? Hm! By connecting to the dead writer, and leaving the grove, you’re now in the past, lively version of the town. Perhaps it’s imagined by the archaeologist, maybe it’s actually how the past was. That can be left unclear.
Im imagining Sanpo’s world as a montage of these sometimes-logically-incompatible realities, but they’re not illogical to the person they’re related to. To me that speaks to how the world actually is! To represent a schoolhouse in its current state denies the past reality (or imagined fantasy) of a person who remembers it from a previous era. In a world where truth is hard to pin down, maybe this is how we need to learn to understand it, a stream of unprovable possibilities.
Staying Oriented
I think if I went this direction I would include a menu that lets you construct your own network diagram of characters/places, as you couldn’t really represent the world with a traditional map.
I don’t think the idea of ‘abbreviating space’ is totally new - in fact, fast travel in games is kind of an older form of it. Shortcuts and world maps also have similarities. I highly doubt the average player views an open world game as the whole open world itself: they mostly view it as the immediate areas around fast travel points, and smaller/medium sized spaces strewn throughout. What my idea does is to make that mental mapping into the actual game itself, but giving priority to characters’ views of the world - not the player’s single experience.
Prototype!
With that in mind, at the end of 2023 I spent some days throwing together a prototype. How could I make small, exploreable spaces that were easy for me to make and had some element of expressiveness baked in?
The earliest version is actually playable on Itch.io. It’s not really the direction of the game now at all, but it may be interesting!
I experimented with a more ‘deliberate’ movement style - sorta roomba-esque movement with momentum. I was curious about a platformer that involved having to fall from certain heights to break things.
I also played with adding “Spells” (distinct from last year’s usage of “Spell Cards”). These are the “furniture items” I talked about earlier in the post.
Here’s a video showing the “Cliff Edge” and “Mushroom” spells.
This direction was pretty fruitful. The level geometry was grid-based and simple, but based on what spells I give the player, simple rooms can require different solutions.
Over January I made a few more spells, coded an HP and MP system and made a very brief test level. In February I decided to axe the top-down camera: it was just too hacky to get platforming to feel OK - if this game was going to center around using a simple jump with potentially-fiddly “spells”, then it would quickly turn into a nightmare if doing simple jumps between things felt unreliable.
Here’s the latest version of the prototype: I’ve given in to the traditional 3rd-person camera, but I think it works a lot better. Unfortunately I do lose that really nice ‘framing each room’ that top-down cameras have, but for now this will have to do.
So far this seems fruitful. I have a dozen or so other spell ideas to implement each with a slightly different use case. The levels I have in mind are these longer stretches of rooms leading from one landmark to another. There are also more dungeon-y like spaces I have in mind.
Another idea is that somehow, the NPCs you connect to also relate to what spells you have available. That, or certain levels restrict the spells you can use.
I think the game doesn’t have many, or any, quests requiring you to return to places. Instead you just discover connections, gain spells and explore. There would likely be a few longer challenges that get easier to do once you have more spells, and perhaps those are the moments that pace out the adventure. But overall, it’s about trying to understand this unique ‘collection of relational worlds’ and the characters that compose it. Much of this builds on some of the ideas I’m working through in Angeline Era.
Anyways, the whole ‘simple jump / spell system’ idea feels pretty fruitful so I’m feeling hopeful! I really like the idea that a lot of these spells also occur naturally in levels (e.g. mushrooms sitting around a forest cave). So it’s not just the characters creating spells, but it’s a part of the world’s fabric. Placing spells and deducing their functions should be intuitive.
The MP System
I have some light ideas for spell economy. I’m imagining each room in the game has a “room MP” limit. You consume this MP to cast spells. You can recycle your spells by destroying them (e.g. get rid of a mushroom you created). If you can’t get through a room with the MP limit, you can continue to cast spells - but it eats your HP. Hazards also eat your HP. Hopefully this lets me design stretches of levels with interesting tension, while keeping the tension around your resources at an understandable level.
“Turn-based Platforming”
This led me to kind of a funny idea: some rooms could have ‘enemies’ - essentially stationary Goombas - and in these enemy rooms, you can move freely, but are only allowed to cast a few spells before choosing to end your turn. Enemies will spawn hazards or hurt you on their turn, so you need to then adjust to the new state of the room to reach and hop on them. In a way it’s like Sephonie’s Link Puzzles applied to 3D platforming. The narrative connections of this are currently unknown, but it’s always good to have a combat-like idea in your back pocket…
With these ideas - relational worlds, abbreviating space, platforming spells, I feel like I actually have a solid basis to keep working! So far, it seems like there are mechanical ideas around magic, mana, rooms, elements, people, magicians, which easily relate to ecological fantasy settings. However I’m not so sure I want to do a fantasy setting, so I guess I have to figure out how to adapt this into something more speculative. Something is calling me towards “Living in America” as a setting idea where the ‘relational world’ of NPCs could be more readily understood by a contemporary audience, so maybe it’s time to figure out how that could work. (After doing a lot more level design, of course…)
Also I think I need a new name, but I don’t know what yet. Sanpo still fits but I wonder if it’s just a bit off for the English audience…
In Conclusion
Recently I’ve been thinking about ways games can be inwards-looking. They may sell millions of copies but the gameplay patterns and tropes are aimed at an audience who has experienced them for decades, and you can ‘tell what you’ll get’ merely by looking at the trailer. Certainly this is fun and all, but I always think that designers have to continue to think about how an outsider could gain something from our games without us assuming a lifetime of gaming experience.
Even though the theory behind Sanpo is complex, the game itself should be streamlined. I want it to be an enriching-feeling game about walking around, doing simple jumps, placing down objects, and talking to a character who looks interesting, and seeing who they know, and where that leads to. It should build on everyone’s natural capacity for curiosity and wondering about people or places.
Thanks for reading! You can subscribe for free for more posts on game design and more.
Very Nice read, love seeing where this ideia is taking you!
I like thinking about how different people perceive the same things differently. I have to navigate by focusing on landmarks, even going down a staircase I have to remind myself which direction I'm going at each turn, in order to 'see' where the 2nd floor of a building is on top of the 1st. I know some people who never get lost even if they've been down a road once, years ago. I know others who don't have a sense that places are connected. And it changes when my mind alters, in a dream any road with the same name is connected, even 100 miles apart. Shortcut to Grandma's house, at least when I'm sleeping. Which means that I can visit her memory sometimes.
So your main mechanic of place and memory will hit hard for me.
Conjuring objects... at once fantastic and (relatively) easy to code. Why don't more games do that? Well, I suppose because of limited memory in consoles already pushed close to the limit. But this just means it's a design space that you can explore and gaming oldbies and newbies will both be learning as you show us the way.
Sanpo is a Japanese word, but it's easy for Americans to pronounce. 'Memory Lane' is on the nose and might push people to see it /only/ as memories rather than reality.