Mar 14, 2024
Spring break has given me more time to sit and play with projects. No big breakthroughs. I rewired the doorknob plinth from Doors and now the action on all the knobs and doorknob is much nicer than in the show. Unfortunately there’s still communication issues with the blinkm rgb light that lights up the keyhole. It’s possible that I rewired it wrong, but maybe more likely that it’s an OSC issue. It’ll take a little work to remember how it was meant to work and do some troubleshooting, since it was the last feature I added before the show and probably the least documented part of the project.
Do I even want to get this working again though? I can see it being part of a show with more grotto-related stuff, but part of me thinks it’s probably better to concentrate on other stuff.
More ➜
Jan 15, 2024
It’s funny looking back at this blog for the last year or so and finding only really terse notes about school projects and the aftermath of school projects when there is obviously so much going on in the world. The violence and darkness that surrounds us can make us feel small and disempowered, but everyone is part of history, and we all move it together. A better world is, as they say, possible. There’s so much in my research that connects history to this present moment, but it’s also a path that seems to be taking me further and further from the actual act of making games. That’s fine, but the path i’ve been going feels like it would have benefitted from a different degree than a practice degree (I will admit that the Information Science class I took was really compelling). Right now I want to make things that connect me to people rather than isolate me further, and to do that I need to keep refining and experimenting in a game making practice.
More ➜
Oct 16, 2023
While it’s not as attractive or ‘in-world’ as a mazelike tilemap representation would be, I’ve made an auto minimap for grotto using D3. D3 is a library to procedurally draw SVG in a browser, and it’s commonly used for interactive data visualizations. I used it here because it has the ability to create force directed node maps. This means nodes are repelled from one another in a game-physics like simulation, so rather than needing to figure out how to place them on the screen, they simply spread out to positions where they no longer overlap. Here’s what it looks like in a room with a lot of sibling nodes:
More ➜
Oct 1, 2023
New Studio space! I just moved some things into a workspace at The Museum of Human Achievement.
Now I am deciding what to work on next. I think there was potential in the installation I did for my graduate thesis show, but it was missing some important pieces to be effective. The first think it’s missing is a legible mini-map. Navigating a maze that is a tree structure is incredibly frustrating. It’s maybe the worst possible level design. people get trapped in branches too easily looking for the one door back up. I’m experimenting with maps in the web game using the api, but it’s very difficult, as I’ve said before, to automatically lay these maps out. You really need a force-directed nodemap, which clashes stylistically with the patterned-tiles-on-a-grid style. I’m playing now with some nodemaps using D3, and I’m going to functionally solve the problem first and then deal with the aesthetics.
More ➜
Aug 17, 2023
It’s a little confusing to keep calling these posts studio notes, since I no longer have a studio space. I’m sitting in a room at our place back in Austin that’s still filled with unpacked boxes. Settling back in is a slow process, and the last month has been really busy with moving a relative out of this space as we move back in. We also got a new kitten, who we are slowly acclimating to our other cat through a pet gate, carefully negotiating their two territories and resources (is there a strategy game idea somewhere in cats claiming or sharing litter boxes, food dishes, toys and sunbeams?)
More ➜
Aug 11, 2023
Still don’t have a project tag for this roguelike experiment yet, but it seems like it might turn into an actual game. Now I’ve added doors, (some of which are locked and have paired, color coded keys,) inventory, enemies, and slightly janky click to pathfind to suppliment arrow key movement. I’m about to add sound with howler.js and audiosprite next.
A big thing that is missing is fog of war. I made kind of a mess getting my Grotto tiles working and it’s not as straightforward as it would be in a normal ascii rot.js game. I’ll give it some consideration once I get sound added.
More ➜
Jul 10, 2023
I added fire and death to the little rot.js roguelike game I am tinkering with. This is separate from Grotto but uses the same visual language. It’s a difficult proposition to try to integrate this with Grotto, as this is turn based and Grotto is a multiplayer database driven thing with no understanding of items or characters positions in a room. This feels like a new game so far and not an extension of grotto, although there could be some interactions between the two using Grotto’s API. What should it be? It could either be a totally new dungeon game or I could try doing some sort of zero player ant-hill arcology thing to go with Archon as I had originally imagined. Hmm.
More ➜
Jul 5, 2023
Two work notes-
I was able to use the Grotto API to make a bot player, hosted on Glitch, that has simple logic that has the player check the cleanliness level of the room it’s in once and hour, if it’s dirty it uses a scrub brush item, if it’s clean, it moves through an adjacent unlocked door.
I also had some moderate success using my tileset to build a small dungeon map using the roguelike javascript library rot.js. using a rat’s nest of conditional logic, it does sort-of-cellular-automata-style matching rules to draw walls and shadows around a floor map, in the style of Grotto rooms.
More ➜
Jul 1, 2023
I have graduated and I am back in Austin. All of my stuff is still in a u-haul box on a long drive here from Los Angeles.
More ➜
May 20, 2023
Things I’d like to do if I get more time
More ➜
May 19, 2023
Last night was the opening of the UCLA DMA Thesis show, which held the Grotto-connected installation I’ve been working on this quarter.
More ➜
May 17, 2023
Grotto is now at v1.01. The last push included a text-entry interaction that can be used for writing notes with a letter item and for updating a character greeting. Letter item and Potion item both are now functional, although Potions aren’t particularly useful yet.
More ➜
May 3, 2023
updates, just 15 days until the show-
More ➜
May 1, 2023
behind on grotto main game schedule, but making progress on installation stuff.
More ➜
Apr 17, 2023
The scripts that generate book content from Grotto are done, the output requires a little bit of tweaking after they run, the pdf output looks good and I’ll try printing soon. This is going to be an expensive print job, as the book is over 1000 pages, 500ish 2-sided. I intend to print signatures and stitch it coptic, including whatever thesis writing is done.
More ➜
Apr 10, 2023
Having all sorts of long-term ideas go out the window. Up until now I’ve been using a solenoid lock to stop a ratchet wheel in one direction and another ratchet wheel and arm to keep the assembly only turning in one direction. I had a limit switch that would flip on a turn.
More ➜
Apr 7, 2023
Flailing. A few issues made me abandon my idea for a doorknob controller plinth in which the doorknob portion revolves to select a “door”, reorienting the player- first the reintroduction of a projection screen into the space, which would make variable player orientation weird, and 3 or four mistakes in laying out an mdf laser cut that made the complicated revolving encoder/slipring assembly off center or needing hand drilled holes over and over, resulting in a lot of wasted time. The alternative (keeping the doorknob controller) is an additional spinner knob control on the top of the plinth. I don’t love it. The idea here is there’s a projection of a circular array of the doors in the room, with the color of the room and doors, a spinner revolves them, the doorknob tests them to go through.
More ➜
Mar 11, 2023
Big leap forward today- passing through a door in grotto gives it a color marking of its connecting room, letting you know what path you’ve taken. The maze is still disorienting, there are no cardinal directions in the map view, but you leave a breadcrumb trail as you traverse it.
More ➜
Feb 27, 2023
Some small updates to Grotto- keys are no longer single-use, but rather have a chance to break on use, like shields and brushes. Shield bashing- you can attempt to shield bash locked doors now, but this has affected regular character shield bashing and will need to be revisited. Added incense animation.
More ➜
Feb 23, 2023
the node app I made to check the grotto api and send mqtt (mosquitto) messages to things like lights and the doorknob controller is working, which is huge.
More ➜
Feb 22, 2023
Genealogy breakthrough today- was able to fix a wrong name and add one generation prior to the earliest Fridel family member on record as well as a few additional people in other families. This means another version of the GEDCOM file, which is kind of a hassle at this point, because a new GEDCOM file totally rebuilds the game maze and I need to make sure that the cenotaph activation and relic csv’s all have all correct person names.
More ➜
Feb 7, 2023
The cheapo usb 5.1 audio interface I got only does surround sound through a bunch of 3.5 mm analog plugs, and the surround speakers at the lab are digital only (the interface has optical out but it only carries stereo).
More ➜
Feb 3, 2023
My current challenge is to find ways to connect Grotto to a gallery space for my final show. I’d like to avoid falling into the same pattern of “Thing projected on a wall” that you see at a lot of these shows. So far I have been concentrating on esp32 microcontrollers or headless raspberry pi’s that can get information from Grotto’s API. I’d like to use lights and sounds and weird tactile interfaces as much as possible.
More ➜