POSTS

Choose Your Own Adventure

Re: Black Mirror Bandersnatch: If this is a test, I’m pretty sure I failed. Watched 12/30/18. I settled in for a 50ish minute chill out. (I don’t do much passive TV watching. Always building something or reading something or feeling like I should be. But I was tired. I expected to watch and go to bed.) Turns out this is an interactive episode, which is incredibly engaging. I tried as many of the forks as I could, and took almost 2 hours. Something that was a detached shock in a regular show where I’m helpless to control the outcome might stick with me, but I don’t feel responsible. In Bandersnatch, I felt like the bad things were my fault, even when both choices were bad things. Sometimes I picked them with glee and immediately questioned the stability of my own morality. The same action might feel justified or villainous depending on the particular branch. Then the main character broke the fourth wall (sort of, not quite, more talking to an invisible entity in the ceiling? In his head?) and started asking me what he should do next, which made me feel extra implicit.

I found myself wishing the book the game the main character was making was based on was a real book, but alas. I loved the choose your own adventure books as a kid. I read one called Pillars of Pentegarn which I still have somewhere. Depending on your choices, the main character can suffer a tragic fate, find magical artifacts, save the world, become an evil wizard, destroy the world, etc. But Black Mirror’s Bandersnatch was different than these types of books. Pillars of Pentegarn at least tried to maintain continuity. In Bandersnatch, depending on your choices, characters’ entire pasts would change, causing mind-bending attempts to fit all of the threads into a single narrative.

I also love text adventure games and interactive novels (maybe more the idea of them and of making them than actually playing them–they don’t hold my attention long). I’ve been toying with some aspects, technical and otherwise, of developing a MUD or text adventure. I use it as my ‘hello world’ with new tools, programming languages, etc., but usually get bogged down in the details of some rabbit hole in the tool, and haven’t seriously tried to design one. I also doubt there’s much of a market for something like this, so it would have to be a passion/hobby/starving artist piece.

Right now I’m working on deepening my understanding of message queues and containers, using python, pika, flask, docker, and docker compose, with mixed results. The idea is that I can port it to kubernetes and have the number of consumers auto-scale depending on the size of the message queues, which should work fairly well to support a MUD world. While probably not practical, non-standard uses of tools are perfect for teaching technology to someone because it engages the playful part of the brain, which helps with focus and connection to the teacher.

I got the idea for the message queue MUD pretty much directly from a PyCon 2018 talk I went to about Colossal Cave Adventure, a text adventure originally written in COBOL, which the presenter wrote a python interpreter for, and wired it up to a twilio service so anyone could play it using SMS! Here’s the YouTube video of the talk.

It’s still active, and here’s a snippet of log from my game:

CCA: Welcome to Adventure! Type RESET or QUIT to restart the game. Type PURGE to be removed from our database.

CCA: INIT DONE WELCOME TO ADVENTURE!! WOULD YOU LIKE INSTRUCTIONS?

Me: Yes

CCA: SOMEWHERE NEARBY IS COLOSSAL CAVE, WHERE OTHERS HAVE FOUND FORTUNES IN TREASURE AND GOLD, THOUGH IT IS RUMORED THAT SOME WHO ENTER ARE NEVER SEEN AGAIN. MAGIC IS SAID TO WORK IN THE CAVE. I WILL BE YOUR EYES AND HANDS. DIRECT ME WITH COMMANDS OF 1 OR 2 WORDS. (ERRORS, SUGGESTIONS, COMPLAINTS TO CROWTHER) (IF STUCK TYPE HELP FOR SOME HINTS) YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING . AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND DOWN A GULLY.

Me: Go

CCA: WHERE?

Me: Building

CCA: YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING. THERE ARE SOME KEYS ON THE GROUND HERE. THERE IS A SHINY BRASS LAMP NEARBY. THERE IS FOOD HERE. THERE IS A BOTTLE OF WATER HERE.

Me: Take keys

CCA: OK

Me: Take food

CCA: OK

Me: Take water

CCA: OK

Me: Take lamp

CCA: OK

Me: Look

CCA: SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE LONG DESCRIPTION OF YOUR LOCATION. YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING.

Me: Leave

CCA: YOU’RE AT END OF ROAD AGAIN.

Me: Look

CCA: SORRY, BUT I AM NOT ALLOWED TO GIVE MORE DETAIL. I WILL REPEAT THE LONG DESCRIPTION OF YOUR LOCATION. YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING . AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND DOWN A GULLY.

Me: Go Forest

CCA: I DON’T KNOW THAT WORD.

Me: Go

CCA: WHERE?

Me: Forest

CCA: YOU ARE IN OPEN FOREST, WITH A DEEP VALLEY TO ONE SIDE.

Me: Go

CCA: WHERE?

Me: Valley

CCA: YOU ARE IN A VALLEY IN THE FOREST BESIDE A STREAM TUMBLING ALONG A ROCKY BED.

Me: Leave

CCA: I DON’T KNOW IN FROM OUT HERE. USE COMPASS POINTS OR NAME SOMETHING IN THE GENERAL DIRECTION YOU WANT TO GO. YOU’RE IN VALLEY

Me: North

CCA: YOU’RE AT END OF ROAD AGAIN.

Me: North

CCA: YOU’RE IN FOREST

Me: North

CCA: YOU’RE IN FOREST

Me: North

CCA: YOU’RE IN FOREST

Me: N

CCA: YOU’RE IN FOREST

Me: N

CCA: YOU ARE IN OPEN FOREST NEAR BOTH A VALLEY AND A ROAD.

Me: N

CCA: YOU’RE AT END OF ROAD AGAIN.

Me: N

CCA: YOU ARE IN OPEN FOREST, WITH A DEEP VALLEY TO ONE SIDE.

Me: N

CCA: YOU’RE IN FOREST

Me: N

CCA: YOU’RE IN FOREST

Me: E

CCA: YOU’RE IN VALLEY

Me: E

CCA: YOU’RE IN FOREST

Me: E

CCA: YOU’RE IN VALLEY

Me: S

CCA: AT YOUR FEET ALL THE WATER OF THE STREAM SPLASHES INTO A 2 INCH SLIT IN THE ROCK. DOWNSTREAM THE STREAMBED IS BARE ROCK.

Me: S

CCA: YOU ARE IN A 20 FOOT DEPRESSION FLOORED WITH BARE DIRT. SET INTO THE DIRT IS A STRONG STEEL GRATE MOUNTED IN CONCRETE. A DRY STREAMBED LEADS INTO THE DEPRESSION. THE GRATE IS LOCKED

Me: Inventory

CCA: I DON’T UNDERSTAND THAT!

Me: Inv

CCA: I DON’T KNOW THAT WORD.

Me: I

CCA: I DON’T UNDERSTAND THAT! ARE YOU TRYING TO GET INTO THE CAVE?

Me: Open

CCA: THE GRATE IS VERY SOLID AND HAS A HARDENED STEEL LOCK. YOU CANNOT ENTER WITHOUT A KEY, AND THERE ARE NO KEYS NEARBY. I WOULD RECOMMEND LOOKING ELSEWHERE FOR THE KEYS. THE GRATE IS NOW UNLOCKED.

Me: Open

CCA: THE GRATE WAS ALREADY UNLOCKED.

Me: Enter

CCA: YOU ARE IN A SMALL CHAMBER BENEATH A 3X3 STEEL GRATE TO THE SURFACE. A LOW CRAWL OVER COBBLES LEADS INWARD TO THE WEST. THE GRATE IS OPEN.

Me: West

CCA: YOU ARE CRAWLING OVER COBBLES IN A LOW PASSAGE. THERE IS A DIM LIGHT AT THE EAST END OF THE PASSAGE. THERE IS A SMALL WICKER CAGE DISCARDED NEARBY.

Me: Take cage

CCA: OK

Me: W

CCA: YOU ARE IN A DEBRIS ROOM, FILLED WITH STUFF WASHED IN FROM THE SURFACE. A LOW WIDE PASSAGE WITH COBBLES BECOMES PLUGGED WITH MUD AND DEBRIS HERE,BUT AN AWKWARD CANYON LEADS UPWARD AND WEST. A NOTE ON THE WALL SAYS ‘MAGIC WORD XYZZY’. IT IS NOW PITCH BLACK. IF YOU PROCEED YOU WILL LIKELY FALL INTO A PIT. A THREE FOOT BLACK ROD WITH A RUSTY STAR ON AN END LIES NEARBY

Me: Light lamp

CCA: YOUR LAMP IS NOW ON.

Me: Take rod

CCA: OK

Me: XYZZY

CCA: YOU’RE INSIDE BUILDING.

Me: W

CCA: YOU’RE AT END OF ROAD AGAIN.

Not sure how that happened. Time for a break.