A random dump of the thoughts I had this very early morning about the multi user dungeon engine I’m building…

Dungeon States

Today at 03:48 (24-hr time)

I woke up dreaming about dungeon.social — this must mean I’m invested! I was thinking about state management and databases and storytelling.

When I first enter a dungeon, what do I see? There is how the space looks right now, and how the space will look after certain events have happened. It makes me think that part of what can happen after I take an action is that some descriptive text might be revealed that I couldn’t see before, and then the way I see the space might forever change.

In a way, I’m wandering around collecting new experiences, much like in life.

So there appears to be a need for many small databases:

  1. A log of unique experiences that I have collected, saved in the dungeon:
    1. I can delete experiences, which makes them available to have again and may reset dungeon state
    2. I can hide experiences so I don’t see them on review
    3. Each experience has a headline and descriptive text
    4. Each experience has a timestamp
    5. Dungeon experiences have a unique tag that can unlock actions, changes in room description or action results, etc.
    6. Player experiences have a headline of the player’s name
  2. The physical layout of the dungeon:
    1. What actions can be taken, some of which are conditioned on player state:
      1. If this action adds an experience, what gets added to the player’s log?
      2. If this action does not add a new experience, what routine text do they see?
    2. What routine text do they see when they enter the space?
    3. What exits are available based on the experiences they have collected?
    4. Can I chat with other players in this space?
  3. What people see when they examine me within the dungeon:
    1. If I don’t know them what do I look like?
    2. If we are friends what changes? Is there more to me they can see? Or is it just something they “know” about me?
    3. Unique bits about me I have shared with them during an interaction, which they can see upon examination or in their experience log (I own this content and can delete it from my perspective, but they own it, too, and it still lives in their log if they want)
  4. My personal log of every unique experience I have had in any dungeon saved in my client, including chat transcripts, organized by place. I can filter experiences by type (dungeon vs player)

Anyway, that’s all I’ve got. Maybe I can sleep some more.

05:18

I still couldn’t sleep. More ideas kept popping. With a generic event/action model it makes sense that you can add plugins to your dungeon that enhance things.

For example, random encounters that can be overcome with player stats that are gained from acquiring items. It could be as simple as munchkin rules, or as complicated as pathfinder. Once you have a plugin installed then every room has more options for actions that trigger specific events that the plugin responds to.

Encounters can either be personal to a player or shared for everybody in the dungeon. For example, a monster that has stats that can only be overcome if enough people who have enough strength are helping. But the important thing here isn’t beating the monster — it’s having the shared experience! This could create a tagged dungeon experience that unlocks more of the dungeon for you and your friends!