This is the very first grotto post.

The idea behind grotto is that:

web pages are rooms in a maze.
when a player enters the maze they take on a character identity.
when they enter a room, the character name and time stamp are added to a database with entries for each room.
Players leave a scent trail through the last few rooms they have entered. This is either based on a real time clock and scents fading over time or just the last n number of rooms in their path. Depending on the characters the players were assigned when they entered, different things happen when they meet- wolf, deer, chicken, bear (from thicket), hunter and bear (hunt the wumpus style, hunter can fire one arrow into an adjacent room). Other interactions… Maybe players can move items around a la Adventure (keys, gates, etc).

Here’s my first problem-

So rooms are web pages. I’ll either be making them in jekyll with a layout that grabs all their connecting pages from frontmatter and displays them as a list of exits/directions or maybe generate them with twine.

Here’s a complicated thing I’d like to make easy-

I’d love to define a list of directional pairs as a dictionary or something:

I don’t want to have to think about how pages spatially relate to one another because there’s not enough story for it to be important. All that is important is that rooms are connected. So I want to give a list of pages that are connected to a page, and then those directions to and back from each page are automatically assigned.

So all I have to do is make a bunch of pages that maybe have a number or something as their name, and then all the directional links are automatically created to adjacent pages.

it would be cool if it was as easy as me making a bunch of web pages in a directory (they can have whatever in them) and then running a build script (in a perfect world maybe this happens when I build my website with jekyll) and then according to something like James’ php maze generator, all the pages get directional links to each other, as if each was a node in the maze.

It’s possible that exit names are not important here so we can just use numbers, like the original Hunt the Wumpus.

Here’s another bit of complexity:

We’re in the browser and there’s a url bar so that’s part of the game now. Even if room url’s are un-guessable hashes, there’s nothing to stop a player from copying the url of a page they’ve visited and pasting it to go back. It’s more complex to try to stop them from doing that than to just design for it. So now we have a game where the player can potentially teleport to every place they have been.