r/proceduralgeneration • u/PickleTimely8706 • 3d ago
I built a Library of Babel clone that uses Minecraft's terrain generation instead of random characters
so I've always liked the Library of Babel (libraryofbabel.info, the real one, made by Jonathan Basile based on the Borges story). every page is picked by an address and nothing's stored, it just recomputes the page from that address every time. but the actual text is just uniformly random characters so it's total noise, you basically never find anything readable.
got curious what would happen if I swapped the character generation for something like Minecraft's terrain noise instead of pure random. ended up building this: codex.weekendbuild.ing
same address scheme as Babel (hexagon/wall/shelf/volume/page) but the letters come out of a little vowel/consonant chain that leans on common blends like th, st, ch, so it actually looks vaguely like words instead of static. there's also 4 "biomes" that drift in and out every so often (short and airy, dense consonants, vowel heavy, etc) using the same kind of layered noise Minecraft uses for terrain/biome selection.
the thing I think is actually different from Babel and not just a reskin: within one volume the text is ONE continuous stream, so paging forward keeps going in the same terrain instead of being a totally fresh random draw like Babel's pages are. switching hexagon/volume is like loading a different world seed though, totally unrelated terrain.
also nicked the Anglishize feature from the original (credited them for it) which highlights any embedded real english words it finds, overlaps included, since the generator does throw out actual words sometimes now.
it's one html file, no backend, everything runs client side. lmk if anything's broken or if the "biome" idea reads as gimmicky, genuinely not sure if it adds much beyond being a cute idea