After struggling a bit over the holiday with the javascript inventory UI, I did a little exercise where instead of slogging towards my very elaborate initial idea I ask, “What’s the version I could make of this in n days/weeks?” In this case, what’s the version I could probably get done of this in say, two weeks?
My answer was to basically take the grotto site as it exists now, and get it working with only atari joystick input- that would mean some kind of authentication other than password (or just pre-authenticate as me or as a user made for a show), make sure the page is navigable just with joystick and a single button, make text interface elements big (probably rearrange them too, use the model from the elaborate version where items are stored in an inner part of the room that you enter, so that when you are just moving between rooms that’s all you see- picking exits or the trapdoor down, and when you’re inside it’s just messing with items). Then map the whole web interface onto one surface and use a whole second interface to play animations that get triggered by choices made in the web interface. You could just have a wooden block with a controller connected to it that symbolizes a television/computer and use the wall to project animations.
So this offloads a lot of the UI programming that would have been done in javascript to a simple css/html refactoring, with javascript just listening for joystick triggered keypresses and then sending OSC triggers to show animations in a separate simple page/electron app/whatever.
Also- a lot of interactions that I had originally conceived as two or more option- (press to use, long press to place, etc) have been reduced to a single option. You can only pick an item up from a room. You use the item and if it’s an incense you then automatically place it (if the incense wards off the wumpus it’s too unbalanced to carry it with you since it lasts a week. maybe the incense takes a while to sanctify the room?). If it’s a candle the candle’s verb changes from use to place, so you can continue to carry it before you place it in a room, but you don’t have to choose between using and placing. In this situation, junk items are only used to give to a trader in exchange for candles or incense. when you meet a trader it’s a one button situation, the trader npc has a “trade” verb and it one click trades one of your junk items for a candle or incense, text feedback tells you what happened.
Gone is all the complicated projection mapping of multiple canvases etc. Two big unified screens. It doesn’t really feel that different or that diminished. Also an incredibly less complex physical set build.
Instead of developing mudroom as a parallel project, this imagines it as just the next step in developing the grotto codebase, with some optional additions (joystick control, triggered animations)