Virtual Memory Palace
Table of Contents
Building a Virtual Memory Palace
fuck you *re-clips your noclip*
— Eryk (@ambisinister.planetbanatt.net) November 9, 2025 at 8:42 PM
[image or embed]
I've written a little bit about memory sports on here before. One very powerful technique is memory palaces, also known as method of loci or roman rooms. I've had good success with this technique, mostly for idle stuff like memorizing playing cards in a short period of time.
But I've found these techniques are mostly useful for quickly memorizing something arbitrary in a short period of time, in an ephemeral way. Compared to stuff like anki it felt like these techniques were mostly targeted at high-level cramming, or winning at memory competitions.
I think this need not be the case, so I'm attempting to create a persistent store for these sorts of memories with this project. This post is more of a dev log: I want to build something useful for my own personal use, and will likely be messing with it over time.
Baseline: Noclip.website
I love noclip.website. The people who made it are very smart and have built a really cool thing, and it's fun and nostalgic flying around everywhere in these old game maps.
I am going to fork their repo for this, and add a bunch of stuff which lets me modify the world. This should let me "place things" just like how I would in a memory palace, and create a persistent world which won't degrade with time. A lot of people use journals which contain which things are supposed to be in which locations, but I'm a digital native sort of guy.
Billboarding
[11/5/25] The first big hurdle after getting everything running was spawning objects in the world. Since 3d stuff is way beyond my pay grade, I elected to do this by using billboards: 2d planes in the world which always face the camera. This way I could have them be occluded by other geometry, and have them look psuedo 3d. The intent of this is for it to all just exist in my mind when I'm not looking at it anyways, so it doesn't have to be too pretty.
This was super difficult for me. I'm not a big frontend guy, so using typescript was very difficult for me. But I figured it out eventually, and was able to successfully spawn Bocchi in Kokiri Forest.
doing stupid shit instead of something productive
— Eryk (@ambisinister.planetbanatt.net) November 5, 2025 at 6:35 PM
[image or embed]
Gravity, Textboxes
[11/10/25] I added gravity, interactable textboxes, and the ability to upload your own images rather than every single billboard just being Bocchi. The basic functionality is really starting to come together now! It feels almost like a game now, since I can run around and place things.
fuck you *re-clips your noclip*
— Eryk (@ambisinister.planetbanatt.net) November 9, 2025 at 8:42 PM
[image or embed]
what is your wisdom
— Eryk (@ambisinister.planetbanatt.net) November 9, 2025 at 9:28 PM
[image or embed]
Loading Zones, Persistence
[11/20/25] Made the textboxes editable, and persist between sessions. This alone has finally enabled the original intent of the project, the use as a memory palace, to be minimally possible1. I added the ability to manage all the billboards in a zone, and that toggling between billboards would teleport you in front of them. There was some special considerations for what camera angle and position to save for this functionality, but it's now possible to manage any billboard in the zone.
After I got that working, I pulled down the second map (inside the deku tree) and got to work creating a special billboard type which will warp you to another location when approached. Getting this smoothly functional was important; it was critical that they felt similar to a normal loading zone in a game (i.e. would not spawn you in a random location, function bidirectionally, don't warp you back and forth in a loop, etc). This, along with some new special tools for re-enabling noclip2, and I had a good virtual environment with two zones working.
More progress on this
— Eryk (@ambisinister.planetbanatt.net) November 20, 2025 at 11:04 PM
[image or embed]
Generatable Images
[11/22/25] After pulling down all the maps and linking a ton of them together with bocchi teleporters, it became clear that it was time to add the ability to hook in image generation capabilities. I hooked up Nano Banana and Nano Banana pro via openrouter, and quickly got to a point where I could generate arbitrary images for the billboards. This is a super useful capability since combining primitives together (e.g. PAO) is really useful for creating mnemonic images (e.g. "Bocchi dunking a basketball")
hooked up the gemini image models to the virtual memory palace im working on pic.twitter.com/VQrkSmfQXO
— Eryk (@erykbanatt) November 22, 2025
This is more or less now functional as a memory palace. I'm going to start using it for some stuff I want to memorize to see where the rough edges are, but I'm pretty pleased with this project so far. I need to do a brief detour for the major system / other ways to make this explicitly more useful, but it should work now for what I need it to do.
Testing
[11/23/25] I spent today trying to use this to memorize the scoring tables for riichi mahjong. The good news is that it definitely, really works. The bad news is that populating a zone with even a modest amount of information is pretty slow, even slower than the process normally is when doing memory palaces normally. That's okay! That's a slightly different problem than the one I'm currently worried about solving.
I also read today How to Use Memory Palaces To Learn Chinese Part 2 by Alex Mullen, former memory world champion. It's interesting how this differs from what I consider "normal" memory palace usage, and I think I'd like to be able to encode stuff in various ways like this also3.
Some substantial work was done today on a simple auxiliary major system trainer which probably will enable all of this stuff much better. This was fun to get working and I used the typing of the dead wordlist to get it off the ground. A lot of the entries are wrong (it definitely doesn't know what all words are prounounced as) but it's more or less fine for now just as a way to get the muscles working again.
More TODOs
- Billboard adjustment is super cumbersome right now
- Need to make this process much faster
- Do I need to rewrite this for non zelda games? I'll worry about that when I completely fill OoT, but that will certainly take nontrivial time.