Warning: Table './jgarbe_jacobgarbe/watchdog' is marked as crashed and should be repaired query: INSERT INTO watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:14:\"strict warning\";s:8:\"%message\";s:62:\"Non-static method view::load() should not be called statically\";s:5:\"%file\";s:61:\"/home/jgarbe/public_html/sites/all/modules/views/views.module\";s:5:\"%line\";i:906;}', 3, '', 'http://jacobgarbe.com/thesis', '', '18.119.109.229', 1740236051) in /home/jgarbe/public_html/includes/database.mysqli.inc on line 134

Warning: Table './jgarbe_jacobgarbe/watchdog' is marked as crashed and should be repaired query: INSERT INTO watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:14:\"strict warning\";s:8:\"%message\";s:134:\"Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state)\";s:5:\"%file\";s:82:\"/home/jgarbe/public_html/sites/all/modules/views/handlers/views_handler_filter.inc\";s:5:\"%line\";i:607;}', 3, '', 'http://jacobgarbe.com/thesis', '', '18.119.109.229', 1740236052) in /home/jgarbe/public_html/includes/database.mysqli.inc on line 134

Warning: Table './jgarbe_jacobgarbe/watchdog' is marked as crashed and should be repaired query: INSERT INTO watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:14:\"strict warning\";s:8:\"%message\";s:130:\"Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state)\";s:5:\"%file\";s:82:\"/home/jgarbe/public_html/sites/all/modules/views/handlers/views_handler_filter.inc\";s:5:\"%line\";i:607;}', 3, '', 'http://jacobgarbe.com/thesis', '', '18.119.109.229', 1740236052) in /home/jgarbe/public_html/includes/database.mysqli.inc on line 134

Warning: Table './jgarbe_jacobgarbe/watchdog' is marked as crashed and should be repaired query: INSERT INTO watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:14:\"strict warning\";s:8:\"%message\";s:154:\"Declaration of views_handler_filter_boolean_operator::value_validate() should be compatible with views_handler_filter::value_validate($form, &$form_state)\";s:5:\"%file\";s:99:\"/home/jgarbe/public_html/sites/all/modules/views/handlers/views_handler_filter_boolean_operator.inc\";s:5:\"%line\";i:159;}', 3, '', 'http://jacobgarbe.com/thesis', '', '18.119.109.229', 1740236052) in /home/jgarbe/public_html/includes/database.mysqli.inc on line 134

Warning: Table './jgarbe_jacobgarbe/watchdog' is marked as crashed and should be repaired query: INSERT INTO watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:14:\"strict warning\";s:8:\"%message\";s:130:\"Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state)\";s:5:\"%file\";s:77:\"/home/jgarbe/public_html/sites/all/modules/views/plugins/views_plugin_row.inc\";s:5:\"%line\";i:134;}', 3, '', 'http://jacobgarbe.com/thesis', '', '18.119.109.229', 1740236052) in /home/jgarbe/public_html/includes/database.mysqli.inc on line 134

Warning: Table './jgarbe_jacobgarbe/watchdog' is marked as crashed and should be repaired query: INSERT INTO watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:14:\"strict warning\";s:8:\"%message\";s:126:\"Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state)\";s:5:\"%file\";s:77:\"/home/jgarbe/public_html/sites/all/modules/views/plugins/views_plugin_row.inc\";s:5:\"%line\";i:134;}', 3, '', 'http://jacobgarbe.com/thesis', '', '18.119.109.229', 1740236052) in /home/jgarbe/public_html/includes/database.mysqli.inc on line 134
Thesis | Jacob Garbe

Thesis

Challenges

Historically, one of the big hurdles facing authors of alternate reality games has been the creation of unique content at a rate that equals the ferocity of a viral player base. The more popular the ARG, the faster it runs. This leads to increased creative workload for the authors, and can frustrate the players when they don't have adequate material to satiate their love of the maze. My masters thesis will center around the creation of a system that can take player interactions (stories explored, spaces found, characters met, etc.) and use that as a rough base to procedurally generate new content, or at least build a bulk framework which can be easily completed by the authors.

Current Plan

TL;DR

Have a bunch of fun, short games played endlessly as a baseline, and a larger, ARGier puzzle game going on that's feeding off the interaction data.

The game structure centers around players completing micro-instances that are clearly bounded, with simple mechanics. This provides a way for people to participate in a "pick-up" manner that acts as an entry point for the larger narrative. There are extradiegetic bits and pieces in the instances that players can find or interact with that have larger implications for the framing narrative, but the important thing is that these micro-instances require lots of fast interactions, which are logged to the project database for later use. The idea I'm working with is that structured game mechanisms give rise to specific interaction structures, which can be abstracted out and re-implemented in different contexts to provide new material that is reactive but seems purely generative. In short: I want to cage The Beast with data.

The larger narrative / game is the investigation of why these micro-instances are happening, and what sort of pattern or patterns is governing their appearance. This will push players into a more investigative mode, which will also play off the more kinetic micro-instance challenges to get them to travel to different locations, find certain physical landmarks, and report to the web of players that will be spurring them on. The critical part is that the data logged from the way people are pursuing and playing the micro-instances is being abstracted out into structured operators, and factored into the second-order puzzles. This will make the challenges more dynamic, with the feeling that there is intelligence in the way the automated components are behaving, yet not requiring me to script AI behavior.

Asymmetric Gameplay

TL;DR

I'm going to have asymmetrical roles, because I want players to rely on each other.

I also want to involve people without smartphones, so that there's a division of play between the collectively intelligent Beast chewing through puzzles / story, and the agents on the ground receiving guidance from them. I experimented a bit with asymmetric gameplay in Passing On, a mobile game I made with three other people as part of the TOTEM project in Germany this summer. I liked the result. I'm going to incorporate asymmetric roles into my thesis in order to foster more cooperative behavior between players. One type of player may not be able to get to where they need to go without guidance, and another player may know where to go, but have no way to get there. Again, creating an easy interface that pulls in interaction data from the game can be channeled back to allow limited access to players, and give them a sense of scale in what's happening. The fluidity of player capabilities will also keep them wondering how far their abilities can stretch to impact the game, and encourage them to work together to affect the most change.

Preliminary Work

TL;DR

The FLAG project has team-driven play with a back-end that streamlines the creation of new game instances.

I created a prototype of the AR micro-instance system last spring as part of the winter Playable Media seminar. I accomplished this by hacking together two database-driven web services, Drupal and Junaio, to create a system that allows puppet-masters to create new instances / add augmented reality assets into game instances using a simple content management interface.

Drupal's content management powers allow puppet-masters to do this by simply filling out a form with a few bits of information. Players can then sign up on their phones as field agents for the new “FLAG instance” and once a certain number are in, the game begins.

The gameplay for the prototype is very simple. It's a basic capture the flag scenario, except the FLAGs are augmented reality assets, requiring teamwork and “scanning” to track down. All the player interactions are logged to the database, and the puppet-master can view their progress on an interactive timeline / map. You can login at the project website with the same credentials for this site to see the puppet-master controls I'm talking about.

I received some wonderful feedback from players in the prototyping phase, and will be incorporating their comments and behaviors into the next draft of the game. I expect to have that up and running by mid-November.

The Story

The story from the prototype is rudimentary, as the project was more an investigation of tech feasibility, but I do want to use this thesis as a method of interrogating how we use smartphones and react to surveillance in our society. I think there's an unsettling similarity between blurring magic circles and crowdsourcing surveillance, and I want to see where I can take that.

My Google+ profile