Created byN O R M A L S and published onFRAMED platform, L I T T L E B R O W S E R is an experimental web browser and game engine hybrid created using Processing. Fed with a single ‘home’ url, an autonomous crawler navigates web pages of which main elements have been translated into game objects—links become gates, divs are clouds, images turns to trees, Facebook links to big red boxes, etc.
L I T T L E B R O W S E R is the second iteration of an ongoing project that aims to approach the web and its content as a space—as in ‘cyberspace’—and one of variable architectures. A first demo, developed in early 2015, offered to control a player-character through dynamically generated maps. In this older version, built withProcessing 2, an algorithm would parse the HTML content of a source url for links and create gate-objects randomly scattered in a 3D environment to form—along with a simple generated terrain—a playable map. As the player passes through these gate objects, the next url is parsed, a new map is created, and the game goes on.
The current version made for FRAMED* is an almost complete rebuild centered around a contemplative experience. This time, the game requires no interaction whatsoever, and simply serves as a stage for web-navigation to occur on its own. The player-character, which is now a ‘bot’, is given new gate-object coordinates to navigate to, while maintaining a certain degree of autonomy—the bot can sometimes hesitate between different links, or simply run to them. But building a fully passive game experience requires new constraints, especially when parsing web content from a variety of servers, each with varying pings. To avoid enormous waiting times in assembling new maps, a world-building algorithm runs on a parallel thread allowing not only for smooth navigation, but also the parsing of many more types of web content as well as more precises url cleaning methods. On top of visualizing images, divs, or links as game objects, the world building algorithm can now signal unreachable links, and detect specific domains. For instance, ‘GAFA’ domains now provoke a change in the character’s appearance. Similarly, Facebook links take on a different shape than the more common, monolithic gates of the game.
“We take web browsers, webpages, and conventional layouts of text + images for granted. Even with WebGL, Unity, and other means of experimenting with what we see online, conventions remain conventional when it comes down to HTTP. We read hypertext as text (well, and images), and browsers are designed towards minimal alteration of that data. Enter alternative interpretations of HTML. How about treating the many hyperlinked nodes we see as ‘pages’ differently? What does the web look like when detached from the semiotics of print?” – N O R M A L S
Although generated levels aren’t stored or reused after being left, a list of visited urls is stored in a list, along with the time spent on each page. When the game reaches an exception, a “game over” screen appears to display the player’s navigation history in a grid of circular diagrams. Shown in chronological order, each diagram displays the amount of different pages visited per domain as well as the duration of each visit. On a side-note: domain visits are capped to 20 different urls before the game reverts to the previous domain. This is to avoid overly self-centered websites with little to no links to other domains (and there are quite a few!).
The game is set in two color-schemes: day and night. While the environment is bright and colored during the day, the game switches to a white on black edge-detection shader for the night.
L I T T L E B R O W S E R is was made with Processing 3, and uses the ProHTML library by Tex.