Roguelike Celebration 2018 continues with day 2. The livestream can be found at
Tarn Adams: Procedural Stories and Roguelikification
Tarn is one of the co-creators of Dwarf Fortress. Unfortunately he chose a color scheme for his slides which is almost impossible to photograph.
He characterized this project as "a band-aid I'm throwing on Adventure mode before I work on mythology and the magic system, which will take two years." These are not features that are done yet, so he apologized for the level of handwaving. He wants a system that has:
- an emergent narrative (resonant, consistent, allows player investigation)
- replayability (which means different hings to different people: novelity, mastery, immersion)
- accretion (works well with existing design and its legacy)
He characterizes this as "roguelikification": putting storyline into the open-world environment.
So, his candidate was "Villains". Have villains with objectives that influence the world through networks of influence. Villains map to traditional RPG (and other computer game) storylines, so players will have some intuition to work with. Villains's intrigues and schemes support emergent narratives, and many of the building blocks are already in place.
The villain has goals; they build networks of followers, influence the game work, and repair the networks when they are damaged. The example he used was a necromancer who wants revenge and dead bodies. The necromancer's assistant wants the secret of immortality. This assistant has influence over the king's advisor, and through that provokes war (dead bodies) and bandit raids on the village that exiled the necromancer (revenge, more dead bodies.) How does a player interact with this setup?
(1) Player arrives and gets an incomplete view of this network. By talking to townspeople they learn about the necromancer, the king, and the bandit raids.
(2) Investigation: could be arbitrarily complex. Rumors, partial clues, mistakes. Both player skill and character skill can feed into this, and it could be a balance of expendable resources, time, and risk. And, there's always an escape hatch--- you can just have an NPC tell the player what they need to do, if the clues aren't working.
(3) action! Go raid the bandits. There are additional clues in the base, or other exposition opportunities like interrogating the bandits (to find the link back to the advisor). Even with redundancy the thread can be broken, but that's OK! The villain will keep working, the player might be able to find a different part of the plot or the other end of the thread later.
(4) reflect/strategize and reaction/reprisal. The plot "spirals upwards" through the previous stages again. Maybe the necromancer sends a zombie after the player, which is itself a clue.
Brian Walker - Procedural Level Generation
Brian Walker is the creator of Brogue, a beautiful and well-thought-out roguelike. Today he was talking about its level generator, as well as level design on a roguelike platformer he's building.
Brogue's design starts with room accretion. Start with a single room. Generate another room (maybe with a hallway) and connect it as tightly as possible. Keep doing so until the level is full. Room shapes can be generated in a variety of ways: intersecting rectangles, circles, cellular automata:
This leads to a tree structure, where there is only one path between any two locations! That's bad for playability, so add doors between rooms wherever you can, to produce a mesh.
The next step is adding lakes. This might be water, a chasm, or lava. Generate cellular-automata blobs and see where they can be placed that does not block (bisect) the level.
A final pass adds machines. These are gadgets, booby traps, lock and key puzzles, lairs and warrens. These additions are all constrained by where they can go, but aren't predefined patterns (like some other level generators.) They depend on specific types of terrain; the spatial relationships are qualitatively described. For example "far, near, or in doorway" or "in a hallway" or "within line-of-sight" or "at least N spaces."
If the minimum specification is made, the level generator will try to make the machine work.
To generate wandering paths (where you have to search for the correct path, or open it by reaching a goal state) he randomly destroys cells unless they would break the path. For "spatial machines", look for choke points and translate them into warren entrances or other puzzles. For "vestibule machines", an area outside of a door is identified, for example statues that might transform if you take something from the room. For "area machines" an arbitrary area of a certain size is needed, for example a totem and its surrounding monsters.