Home Schedule Reading Assignments Piazza

[updated 09.24.2014]


Course Project

The course project will be a semester-long effor to research and develop a Alternate Reality Game (ARG). An ARG is a type of interactive story that plays out in the real world. Mobile ARGs use mobile location-aware devices such as smart-phones and GPS receivers to augment the players' experience such that the story unfolds as the player moves about the physical world. Moblie ARGs have been proposed as a new and emerging form of entertainment, and also theorized to have positive health attributes if they require walking, biking, or running. However, ARGs (mobile and otherwise) currently require a substantial form of human support. Unlike computer games, that can be run on consoles without human intervention, ARGs require human game masters to monitor the game situation, direct the action, and make changes to the story structure on the fly. ARGs also often utilize human confederate actors that play the roles of fictional characters to enhance the sense of realism; the use of confederate actors is an expensive and time-consuming means of entertaining people. These limitations have prevented ARGs from becoming a mainstream form of entertainment (or education or training or health activity). However, recent developments in the field of artificial intelligence -- especially the branch of artificial intelligence pertaining to games and interactive entertainment -- present a way forward. AI Game Masters and virtual autonomous character agents have been the focus of recent AI research.

(An Alternate Reality Game is not Augmented Reality, which is the super-imposition of graphics on the real world through head-sets or other mobile devices. Alternate Reality games attempt to make people feel as if they are in an alternate reality through storytelling.)

More information about ARGs on Wikipedia. Examples of ARGs:

Teams will work together to design an develop and playable ARG system that uses AI as an integral part of the execution and user experience of the game. By "ARG system" I mean a piece of software that delivers and manages the execution of the game in the real world. That is, while there may be work to define and scope a particular story (or, more correctly, a space of interactive stories), the main consideration is not the storytelling abilities of the team. Instead, the emphasis is on the technology through which story experiences are delivered to human players. I do not expect the teams to be great storytellers or for the games themselves to be "fun." I do expect the teams to be exceptional technically. By "AI as an integral part," I mean that no software solution will be accepted without a non-trivial AI implementation. Further, this AI system should be integral to the ARG system in two ways: (1) the game design is simply unplayable if the AI system isn't there, and (2) the AI cannot be replaced by the trivial application of human effort. As noted in the introductory paragraph, ARGs have significant technical and human-effort limitations. The ARG system should be designed and developed in such a way that AI is used to overcome some technical and/or human-effort limitation. This means you have the opportunity to design a system for delivering entertainment (or educational or training) experiences never tried before.

Mobile platforms

Your ARG system will need to manage players who are at times away from traditional computing platforms (e.g. desktops). There are many ways to deal with this. I highlight a few technologies available:

Your ARG system must be playable, however, your grade will primarily reflect your innovative use of AI. Therefore, I encourage you to find light-weight and simple solutions to delivering ARG story content to the player while he or she is mobile. Javascript in the browser and SMS/Twitter may be the most light-weight engineering solutions. Solving this problem of dealing with mobile platforms is a necessary but not sufficient condition of a successful project.

If you have smart devices, you are encouraged to use them. If you do not, I have 2 iPhone 3GS (with data and voice plans) and an iPad 11 iPhone 3G (no data or voice plan, wireless only) in my lab. Note that iPhone development requires a developer license ($100) and license provisioning is a pain in the butt.

I will provide skeleton projects for Android and iOS projects based on the SnaPets project:

These codebases demonstrate registration/login as well as gathering basic device data, sending it to the server, and retrieving data with a query. In the iOS version additional code is provided to demonstrate additional features.

[update 08.24.2014] Another skeleton project has been provided by the TA based on an old class project: RadVenture (this project is missing a file, shop.java, that housed the original AI code).

Artificial Intelligence

Any non-trivial implementation of AI that is integral to game play and non-trivial will be accepted. Almost all AI techniques (search, case-based reasoning, machine learning, decision processes, reactive planners, optimization, Bayesian inference, etc.) are applicable to game AI and thus applicable to this project. It is incumbent on your team to identify the problem that must be solved with AI and also the best technique to implement. You are encouraged to talk through your ideas with the instructor and to read ahead with the class readings to get a good idea of what is possible, and what has been done before. It is acceptable to reimplement techniques that you find in the course reading materials.

Here are a few examples of the usage of AI in Alternate Reality Games and mobile platforms:

This example movie is a mock-up of what I felt would be a good ARG using mobile devices.

Grading and Evaluation

The ARG system must be playable, meaning the instructor can play through a game. The game must be played on campus and must not take more than 1 hour. That being said, your project will be primarily graded on the way you use AI to solve a problem and drive the game play experience. The problem and solution are of your choosing, but it must be a compelling problem and a reasonable solution. If you have any questions about whether your problem and solution are appropriate, you should talk with the instructor. The game play experience itself does not need to be fun or entertaining. I don't expect you to be a great storyteller or a great game designer. I expect you to be great at proposing and solving technical challenges.

Project Phases

The projects will proceed in three phases:

  1. Project pitches: Teams will develop their project idea and pitch it during an in-class presentation. The pitch will include a description of the game, a description of the AI, and an explanation of how the AI helps overcome technical barriers that would make the game otherwise impossible of highly intractable.
  2. Game prototype: Teams will build a completely playable game prototype that may not necessarily include AI, but demonstrates what gameplay will be like when the AI is complete. For example, the prototype may include hard-coded story elements that will later be generated procedurally by the AI. Prototypes will be demonstrated in class.
  3. Final game: The game will be completed with fully functional AI system. Final games will be played by other teams and also demonstrated to the instructor for grading.

Project Critiques

[Update 09.24.2014] Each team project will be critiqued by other project teams at the end of each phase. Each team will critique 3 other projects.

Critiques of each project should start with a brief summary of the proposed problem a project is trying to address and the general overview of the approach to solving the problem. Critiques should also address both the strengths, weaknesses, and recommendations for each of the following:

For each of the above, make sure to describe strengths, weaknesses, and recommendations to address weaknesses to receive full credit.

A critique report will be at least 3 pages (1-inch margins, 12 point font, I'll be checking!) and each critique within the report should be at least 1 page in length.

Writing Assignments

[updated 08.24.2014] At the end of each unit, students will complete a writing assignment on the unit topic. Writing assignments may include: comparing and contrasting AI approaches, hypothetical design tasks, etc. All writing assignments will be at least 1 page in length (1-inch margins, 12 point font) and must cite at least two academic publications, which may include papers on the reading list or other papers not included on the reading list.

Example references:

Example citations: