The Twitter Archive of BabelSubmitted by Earok on Sun, 09/01/2013 - 12:02
I took a break from the Traffic Department 2192 remake to do something more quirky and experimental.
The Twitter Archive of Babel is a massive virtual world that contains (Within the limitation of 26 lowercase letters, @ and #) every single possible tweet with no exact duplicates.
So while the overwhelming majority of tweets in the world are utter gibberish, it contains, amongst other things:
- Every possible tweet that has ever been made.
- Every possible tweet that will ever be made.
- Perfectly accurate predictions of every future event.
- Every secret that has been lost to time.
- The complete works of William Shakespeare, divided up into individual tweets.
- Edit: And of course all of the above in every possible language that can be rendered with the latin character set
(In other words, Twitter is now redundant ;) )
The world is a series of almost identical, interconnected chambers connected to each other in the four cardinal directions plus staircases running up and down. It is cuboid in shape, 2946 chambers tall and wide with 2947 chambers across it's breadth. To put things in perspective, if the scale of each chamber was only 1 meter across, it'd still be 4.3 x 1040 times wider than the radius of the observable universe.
I was inspired by the short story "The Library of Babel" by Argentinian author Jorge Borges, which is set in a gargantuan library that contains every possible 410 page book. As much as I wanted to bring the world to life in virtual form, I figured it was just going to be too difficult to do it faithfully so I ended up using the much smaller scope of tweets.
The biggest frustration in developing it was probably giving the world the appearance of being sorted randomly. Each tweet is derived from the X, Y and Z index of the chamber plus the wall position, so I needed to make it so that the smallest change in any of those four coordinates would derive a vastly different tweet. Essentially what I needed was something like MD5, but completely reversable, so you could derive a tweet from coordinates or coordinates from a tweet. In the end I used an array of different ciphers to achieve the desired effect.
The raycaster engine I developed for it was based on some early work I did towards an HTML5 reboot of Derelict. Performance isn't fantastic but it is in a highly unoptimised state.
I'm not sure what to do with it next. Might do some form of online multiplayer mode where the chambers could be explored with a group. Definitely not happy with the clarity of the text, so I'll either need to double the texture size or double the text size. It may also be worth looking into some sort of API integration with Twitter itself.
The current version is up on a temporary page at http://earok.net/games/tab/index.html