<h2>The Library of Babel</h2>
This is a game about libraries and reading. When I first started making adventure games with <a target="_blank" href="http://twinery.org/">Twine</a> I realised they were not quite the adventures of my youth described in <a target="_blank" href="http://www.getlamp.com/">the marvelous Get Lamp documentary</a> but a bit like the **choose-your-own-adventures** I read as a kid and in many ways these evoked the very early days of the internet, essentially a kind of //hyper-text//.
Reading about the history of //hyper-text// led me to the //'Garden Of Forking Paths'// by <a target="_blank" href="https://en.wikipedia.org/wiki/Jorge_Luis_Borges">Jorge Luis Borgés</a> often regarded as some kind of pre-cursor of hypertext. It turns out it's not exactly: but it does echo **text adventures**, many constructs in gaming culture and even the <a target="_blank" href="https://en.wikipedia.org/wiki/Many-worlds_interpretation">many worlds interpretation</a> with the protagonist becoming aware of all the infinite possible twists and wrong turns and possiblities in his story and that following a certain path will give him the outcome he both desires and fears. It's a very odd form of speculative philosophical fiction with elements of the story folding in on itself.
This path led me to his story about the Library of Babel a fantastical universe of a library that contains **every** possible book //ever//; not only all the books ever written, but all the books that could possibly be written, every combination of every character in the alphabet including the unimaginable billions that make no sense. As a librarian and an influential writer who lived for books yet wrote surprisingly little, this makes sense but the complex philosophical imagination going on was way ahead of it's time. It truly represents Borges' love for libraries and the mulititudes of possibilities they contain.
Both stories foresee strange futures for both libraries and the nature of reading and storytelling: **the internet:** billions of billions of interconnected stories and repositories of writing and information to get lost in; a //universal// library.
This game and the games we will make for our <a target="_blank" href="https://github.com/cheapjack/ForkingLibraries">workshop</a> is about making reading and libraries not //easier// but **stranger**.
Then as I searched online with <a target="_blank" href="https://duckduckgo.com/">Duck Duck Go</a> to find the text of Borgés' Library [[I discovered some people had actually built it.|madeit]]
<!--un comment this for debugging$firstcheckin-->
(if: $firstcheckin is not 1)[
(set: $books to (a:))
(set: $books to $books + (a: (prompt: "Your book, please:")))
Great now this library has something readable called (print: $books)
](else-if: $firstcheckin is 1)[
(set: $books to $books + (a: (prompt: "Your book, please:")))
You've done this before! You can see these books on the shelves, (print: $books.join(", "))
]
(set: $firstcheckin to 1)
<!--un comment this for debuggingThe firstcheckin var is now (print: $firstcheckin)-->
[[back|Library]]
And because this is Twine and thanks to the ''hyper-text'' **markup language** we can drop in the interface for searching for a string of text in such a library. Mind-boggingly, that's over 10<sup>105076</sup> books and when your string has been //found// the location of it can only be represented as a //base-36// number.
Luckily you can bookmark the stuff you find. For example I found the first 3200 characters of the story itself in <a target="_blank" href="https://libraryofbabel.info/bookmark.cgi?mylibraryofbabel">Volume 28</a> on Shelf 2 of Wall 4 of [[this Hexagon|myhexagon]]
Enjoy!
[[back|Library]]
<object data="https://libraryofbabel.info/search.html" width="800" height="400"> Error: Embedded data could not be displayed. </object>
//"The universe (which others call the Library) is composed of an indefinite and perhaps infinite number of hexagonal galleries, with vast air shafts between, surrounded by very low railings. From any of the hexagons one can see, interminably, the upper and lower floors. The distribution of the galleries is invariable.
The arrangement of the galleries is always the same: Twenty bookshelves, five to each side, line four of the hexagon's six sides; the height of the bookshelves, floor to ceiling, is hardly greater than the height of a normal librarian. One of the hexagon's free sides opens onto a narrow sort of vestibule, which in turn opens onto another gallery, identical to the first-identical in fact to all."//
<a target="_blank" href="https://libraryofbabel.info/">The Library of Babel</a> is an online representation of the implications of Borges' story. What if a Library like the one Borges' describes //could// exist? Thanks to the internet, probably the closest thing mankind //has// to a universal library, someone has **actually built it literally**, //as a service//.
Through a combination of math and design, programmer <a target="_blank" href="https://twitter.com/JonotrainEB">Jonathan Basile</a> has managed to let you search for any text string inside a virtual Library Of Babel using some pseudo-random numbers, modular arithmetic and bit-shifting operations. If you want something close to an explanation go <a target="_blank" href="https://libraryofbabel.info/theory4.html">here</a>.
[[Playing in Libraries|Playing]]
The internet already is a library of sorts but it's not always indexed very well unlike *actual* libraries.
In his background to the site a tribute to how reading a story by a long dead writer can take you on a strange journey of learning, the author says something I think we could muse on"
//"The Library of Babel is a place for scholars to do research, for artists and writers to seek inspiration, for anyone with curiosity or a sense of humor to reflect on the weirdness of existence - in short, it’s just like any other library."//
I think libraries could use tools like Twine to make spaces that extend the possibilities for reading not just for finding something to read; **Digital tools** and the internet will not replace a library and that's something we all at <a target=_blank href="http://goscl.com/cracking-the-code-november/">Cracking the Code</a> understand but maybe people who are making them close, won't want to hear.
Imagine if you thought of all the paths to the things you know were a story? How would you tell it? Yes you could list the books you have read, but how about <a target=_blank href="https://github.com/brett-lempereur/icra">all the bits of the internet you used</a>; how would that make sense? I think Twine helps you link up your own writing with bits of the internet and a super engaging game format that is actually one of the oldest game genres. When you've built it, Twine spits out an <code>.html</code> file you can publish anywhere.
And if you've seen some of DomesticScience's recent work that could be anywhere not just on the internet but on smaller pop-up networks on a tiny tablet or phone or triggered by a tiny beacon inside a book.
Lets play a quick game which uses the Library Of Babel service/website and another amazing game <a target="_blank" href="http://100r.co/projects/babelium/index.html">Babelium</a> by <a target="_blank" href="http://wiki.xxiivv.com">xxiivv</a> with Twine to build your own interactive [[library simulator|Library]]
I wrote about <a target="_blank" href="http://cheapjack.github.io/2015/09/01/loads-of-midnight">my history with text adventures</a> and my friend <a target="_blank" href="http://www.textadventuretime.co.uk/2015/10/13/get-lamp/">Dave Mee wrote about the games here</a>.
2murvmvqkamxjxfm7mwfgmx5lv92mhufso7v08sff3dl7bhcis48mxr2zs3qc0y6
chnwrsiao2nfah0uag3y5z8zyez7kja9gu8td7tv89yaybehe4fiuhu095lj437y
9e023fv9pha1ojaaze53nq8ayieek3f40on36cxyrfj4db35cnc81elmweheo1r2
yzxozyv7ca7n6z56mwpy6ecaemz834ziruxyan2kgbp7cvzlj0viffh1jlx692up
2mxvknc9rrz5vbb34vt6o5fla8xz4w0abykla8875mmldux3wotgbdypwsef3e2o
3j8hh9iefy0bzn2mh9zu5h7uhde5nix8q2of258tc59j59nd11hrui3m5t6c0ii9
7e7mp071f6g7h8hgp8cicgy5fcr8y2yn4jbokvinab5wir9uwqaa3ov63c8ktjgz
3ii39hhln9out9hdzn3sx9qr4o3zhxstup8bnrt0cov8x97qw2mrbbxt5k38igfs
wtwcpn2e2zsu9h5txhiexh1yfopld0cuqlzpuuvnk5aizoekv132xrkp63lclyqr
vkgko3uu3i14wp0fzfofdlmlevd7qjepcbaaatbg0w1mqloobehjnpbv95891h9x
a5quydov3iqcgqz27az9esimtgue5phidn29agrai7pukayrylr544ub08gqexm1
6vrwz2xrcffpaxwgodiz8y9hjzrspu0oifgdfwptunrsshc9dxlusl616vzsh4rr
ytsqagta9fvh88xwrqrhzk3fwcjadnxumg1aw27p9nf35atnpejx6zgzo70enjex
cg4lfvtry9ftql14he0iz42l30gjepw02drq0u0tiyhuia942tdkeigyt6z3wg52
uy0b8otw3nhvasr367ul8ybt8fey5kr6hsze7edbwhkpr7bqiyxke0hvfvgowfoi
we20ef9ld261x2w1yx0a4b9grhe364x6n7gui4e7z7wi1tdd275gx2ajj4lwuj9d
6f71g3vb20441ttyy9zidewsbom8a9otp28gfgkxcjq3xo57mlomvgejbbhgpoyn
h066vw9pvw6zclayga91o8gb6t0vmdooyvzvejzj331h56shb5vlq6b7lc8qkl3h
2zm0558rmxx3gk1hjreffovaake9lfe1yrqbe2df6yvcmqda0aazzdn1h7dtx7dq
6td3c83uot18d9gn239tkjcs1l04gur6ojkgarbshaurjmnmn9bhjgwbneed1vm1
933v3taae2bhaoakmha3hpuagrsi699zttio8g7wik1y2mvsxmu6sytzsig4f1lf
p5t2pcgspo3mjopo1leijb5xpev711et8orf1k70kl8fz2y44jsvfnq2pid1v094
2c1nwntwv64wun3dj6eshjmfrk2kci2gubw6suwkdly5gaho3vy2u56i70j60m0j
k27s30dx820ofkcxpqajoccoqrevnubolgxohunw9umgg8uo51vu08c2p9cc2yaf
grq6czmgvn1zc2fawb3zslzwlckot9gpqzaatbluk7yh4yvdv8urmw4uourxv9pg
bn38tiubgxx8tj67ww1obt324zdth192fcus62mnvjv5o7d2ko1oaz1ryar9kgbf
fza0opbroiec9oszymqf1owc5fhous5621k9xl7darak1udjf30441ki391s049m
zlh6dx12r7w71t9efyamxujslfz23cb8ejhvj0q6swde8x6s665xpt9p7sinkrjv
foom7oa7zyi4zsb327jzjmw9x1lfmackr7wmp444tfhscbj1tie8944jww810h8r
wwnjxtv46f5g3oye22o7u5ro320pfrbqky51ybcjwcy050n8t6rnit816xp3p70z
i4sol5l87kggl5a7bp5sk2k51hxb3yvjgthlp11gy1sfi855bmoflskqqgigp8bi
q1h28p5a3513x6eoqq5fyw069z0euh59pmadptsnof4bx25g81m9goynemvvlsqf
f6icsq3vc6t4s0731vg9xgdnv6p9svvipxi756d62ae5l4qbtkrvicna96af2n7i
6jo1fvpkd3902e8724e703n3fnds28g56r6gqjza7mqsd2qxleuqvoji6d1cqxz4
fg21rfozws9nptkz8lkz7qm3c8luqmx15kwu4ynmtvmj7ug19jnksol49qsnvqnr
tp8hwuuwfhae25cqkrskt5bp4sdoynjokfq0yho9arrd6qnlyhti2jlf6gnzv628
rwmr9osz2ej8fjcvq926wziwvng5tfrny4qsfbfo4e5ijk2sxqu3gj5vffucn6wp
2f8tspu51ax0bi9hdo6ff20l0u3aa3jk2fipzb5two1bw5b2roivnqzdmh4pvorw
lu7x5bgzhautea2ur5nljjr2c8sb0qzzi4a9wcpn7yh1pbv37q6i4d6jbff4sctn
jra4l8eft1ylhwzzw9823j12cki58p6pc075fw1bhzy700ipb0hp6eplsax32y23
igzanwci44wzuw1tsa6c34dp9b9ljj0ggvbhvkshe9d2nwu4rb6ge3jydfw9qwej
jl6cxzxo6b24q159h4a5pd7o3v3cseg57zs0qjs2be21rraxf27le4fzazg1soiw
lpi3bz2i5e4855jq5um9voguxls77wn5zoqoiwnxuolznxx4254jcd1p040v4qwi
gnlcpwv8y28y3y1namzlzspol8vnhljmg4w0t77kc8wcewjpgnzcna0ps6kyxbh5
jjr81vu24ms8ge046ghgiq85sp8ql7r0m74mt4b3vpndimmahvd4zojyccwucmmi
hewbb9m7b6r853oiyfu7i65vfiuziw2f1mg1esdiwos52qr30do5cg1ipwf1sgtq
dz2t04lwfacnzqwcn7cufodcf8k311xscjzuof12jl738vwhkji1tuz2f2pk55bg
oxzp6xgijdanv21tpdli31ltgaz8bfsqbiacy0i6w6cfl4ltgneliltavyl00b3n
36rnmo8g1jtfmwevdv8ptdzi6vcxx9aya2v2f6ufm0qvv3hd78u4krxh27ysa2ho
1qbpeiarb5zbgj8n8in88icbj0rkocq67m44slj6g9r4ysdfwimldimhcta5nzds
l8v3c88f78zoiw4fmiezfabec8ebtyuadfu7w7ufhh2s6mdt043w7j
You are in the <a style="background-color: rgb(10, 255, 74); padding: 0.5%; color: rgb(255,255,255);">Library of Babel</a>
By this art you may contemplate the variation of the 23 letters.
The Anatomy of Melancholy, part 2, sect. II, mem. IV
You are in a Hexagonal room, surrounded by four walls of books. In the middle of the room is a staircase and next to it is a desk with a touchscreen terminal.
You could [[descend the staircase|babelium]].
The terminal screen says:
(background: black)[(colour: green)[
Welcome, reader. From here you can [[Add a book to the library|checkin]]
or [[Search across the Library|search]] for a word or passage. Perhaps one day you will find it.
[[Find the books you submitted|mybooks]]
]]
(if: $firstcheckin is not 1)[
You have not submitted anything
](else-if: $firstcheckin is 1)[
You can see these books on the shelves:
(print: $books.join(", "))
]
[[back|Library]]
Use the cursor keys to play the game. **g** is a guide, the rest is text and everything ever written.
[[back|Library]]
<object data="http://100r.co/projects/babelium/index.html" width="800" height="800"> Error: Embedded data could not be displayed. </object>