Jason A. Gorski
Jason A. Gorski
Art Thief
Overview
Art Thief was a semester long group project for a graduate-level game design class taken from the Electronic Visualization Lab at University of Illinois at Chicago. The focus of the class was to form a video game company and design/produce an engaging “serious game” by the end of the semester using Electro. Myself, Ben Dombek, and Jonathan Kinkley formed a company called Navi (hebrew for “prophet” or “wise-man”). For our game, we chose to teach Art History to a college-age group using a witty dialog-driven game akin to Monkey Island.
Due to copyright reasons you must be affiliated with a non-profit institution (university, college, museum, public library, or K-12 school) that has access to the ARTstor Digital Library in order to play Art Thief. This is because we used copyrighted art from this digital library in the game.
A full description of the game and company can be found at Navi’s archived website:
http://www.evl.uic.edu/spiff/class/cs426/projects/fall2006/Navi/pages/home.htm
An abridged overview taken from that website is presented below. Although not all game ideas were implemented in the end, I included the full design details.
Update: Jonathan Kinkley wrote an article about this game and it has been published by Leonardo Magazine, and online magazine specializing in the intersection of art and technology. Good work Jon! I have made the article available here.
Quick Info
•Video Game class
•Fall 2006
•Electronic Visualization Lab, University of Illinois at Chicago
•Example of GPU shaders (including bump mapping), Electro, virtual reality, game design, user experience, creative dialog, lighting, dynamic & immersive environment, artificial intelligence, story creation, character creation, 3D modeling, teamwork
Contents
Gamers will be able to control a middle-aged, balding, disgruntled museum guard. With the promise of financial gain from a black market connection, you must purloin paintings that most closely fit the taste of your 'client(s)' through connoisseurship in the world of art history. This game will acquaint the gamer unwittingly with the primary art movements spanning the 16th thru 21st centuries.
1st person mystery/stealth. Three modes: (1) daytime 'case-the-joint mode' where you must consult audio tapes, history books, wall labels and tap the brains of docents and curators for information to identify different periods and artists from history. Use this info to plan your theft. (2) The night heist. Avoid alarms, motion sensors and your arch enemy, the retired cop who patrols the museum at night. (3) Leisure mode where you can stroll through the galleries and enjoy the high life and contemplate some of the masterpieces of the occident.
The color schematics are bland and dark, with the exception of the paintings and sculpture of the museum galleries. These hi-res surfaces will glimmer with the different palette nuances from the Renaissance to the Postmodern. The contrast between the largely monochromatic black and white narrative scenes and museum interiors with the bejeweled art will draw attention to the work, enhancing its importance for the gamer and cultivate interest.
While the narrative sequences will consist of high contrast, graphic-novel throwbacks (Sin City meets Max Pain), the museum itself will be the product of the art museum proliferation of the early 20th c. and modern curatorial practices. The gamer plays the role of the ubiquitous 'everyman,' an uneducated museum guard with a disdain for contemporary art and its affiliation with lofty philosophies, its negative critique of the middle class, the lacuna of artist and audience. In attempting to destroy the object of his behest, the gamer may learn a lesson in art appreciation, or at the very least, understand some of the ideas and concepts the drove/drive different movements.
We're splicing together a hodge-podge of artistic styles to create the look and feel of the game. The narrative sequences will be rendered in a film noir mystery pulp novel style: High contrast, B-movie language, chiaroscuro. The museum itself will have an Art Deco exterior, something that resembles a miniaturized art institute.
Conversely the main character, a white proletariat with who obstinately dislikes art, will be controlled by the gamer. The gamer, culled from our audience of High School, College and up, will likely start as an art skeptic. The character will be compelling to play because he is aligned with a countercultural activity (art thievery), and because the heist will stimulate sensations in the gamer related to the stealth genre in video games. Perhaps the main character will appreciate art in the narrative, or perhaps that will be merely the hope of our company (if we're sticking to the 'hidden agenda' philosophy in 'serious' games). Our character will be a mix of Bill from King of the Hill, Al Bundy, Homer Simpson, a guy from combover.com and any other photo I can find of a 45ish disgruntled male with pattern baldness.
The juxtaposition of the art skeptic and the art museum is not a new precedent. Fine artists (such as Fred Wilson) have explored the ontology of the museum guard before-though not in the same medium or manner. The buildup of the mystery in the gamer's quest to determine the correct painting to steal will hopefully culminate in an interest in the movements and styles of art history.
The main character is WK.
WBW: Well if it isn't Mister Kitsch. A very appropo name I must say, you always exude a particular blue collar stench. 'Kitsch' you should know refers to 'low' art that appeals to you American Idol or NASCAR watching Americans.
WK: Look "Bookworm" I don't have time for this, I've got a question--.
WBW: Watch your tone Kitsch. You should know I reported you to your supervisor—Mr. Harris—yesterday, you delinquent. I saw you turn your eye while a child touched the Picasso...
WK: Just because you volunteer as 'docent' to get you out of the retirement home doesn't mean jack.
WBW: I give up you ignorant twit. What's your question—make it fast?
----------
WK: Excuse me Ms, you better keep that kid'a yours on a tight leash.
MS: Well I never….
AS: She's the one who touches the art.
WK: I catch hell every time one of these little brats touches something.
MS: That may be—but there are NICER ways of asking—besides, my little Abigail would never ruin a painting, she loves art.
AS: Say I do touch a painting. What are you gonna do? Do you have a gun?
MS: Don't taunt the police officer Abigail.
AS: He's not a cop,
WK: No I don't have a gun.
AS: Do you have a tazer?
MS: Abigail!
WK: No.
----------
LL: Hi Mr. K! Woooaaahhh! I like that tie, is that silk?!
WK: It's rayon.
LL: Sounds expensive! Watch out, Brooks Brother comin thru!
WK: It's from Walmart.
LL: Could'a fooled me. You know I bought my dad a tie for Christmas last year, and father's day, and his birthday. We sell these Salvador Dali ties beneath the counter here. (whispers) I just steal some and give them to him (winks) but that's our little secret.
WK: This is why I didn't have kids.
LL: You're SUCH a grouch! You're like Debbie Downer.
WK: And you're a Chatty Cathy, on amphetamines.
LL: What's amphetamines?
WK: The opposite of Ritalin.
LL: You're funny. What can I getcha today hun?
Team Navi has had to make many decisions along the way about what direction to take our game both programmatically as well as thematically. We hope that the end result is a rich environment that a player can really get into.
Trade-offs
Very early on we wanted to have two main parts to the game. One part was going to be the information collection part. In this mode, the player would walk around and discover clues in order to help them figure out what painting they should steal. This is Art Thief as it stands today. We had further aspirations of making more dynamic ways of discovering clues than is currently present. We wanted to have objects that you could find and pick up from the ground that would tell you something, mini side-quests that help you gain a museum patrons support, etc.
Another part of the game we wanted to implement was an actual thief portion. As it stands now you simply select a painting to steal and a closing sequence is played. We had many ideas about a stealth mode in which you would have to sneak into the museum, avoid the night guard (with whom you have hilarious repartee earlier in the game), avoid the security cameras, disable some alarms, and then finally take the painting. This proved to be too big of a scope for just this semester.
Software Design
The game is one giant Finite State Machine. At any given time, the player has what we called a "knowledge nugget" which signifies how much information that player has accrued. Depending on the players current knowledge nugget, the Non-Player Characters (NPCs) will say different things, have different question available for asking, etc.
One of the knowledge nuggets, whether or not the player has the map, also determines if he can open the map in game. It wouldn't make much sense for the player to be able to access the map before he has acquired it in game.
The game uses many animation concepts. We did this to try and bring the NPCs to life. We have two models associated with most NPCs. And idle and a talking model. The idle model is hidden, and the talking model is shown when you click on them. They also turn to face you! It was our hope to get around to modeling more expressive options for our characters. We wanted some basic emotions to work with: Happy, Sad, Angry, Confused, etc. And then, encoded in the dialog structure, would be what expression the NPC should have during the current dialog. This is unimplemented unfortunately.
The dialog is contained in huge Lua tables. The NPC and the current knowledge nugget are typically the index into the dialog data structure. What you get back from the dialog structure is yet another table that includes one or more "sequences" and "questions." There is a special kind of a sequence called an intro sequence which basically will start playing when you click on the character, otherwise the question box is displayed first. Each question is then associated with a sequence except for the last question which is effectively a "cancel".
This is basically how the dialog works although I have oversimplified it. There is also an overall "introduction" dialog that will play the first time you talk to a character no matter what you know or don't know. This became essential because we were having situations where the player would advance in knowledge and skip over some really funny/important dialog from some characters.
Also, ordering becomes tricky. Sometimes the player starts talking first, sometimes the NPC does. In most cases, I set a simple flag indicating who speaks first and then toggle the dialog boxes back and forth between the player and NPC character. In the case of Martha Stewart, Abigail Stewart, Bob Cassady, and Raquel Ramirez, you have multiple NPCs taking part in the same conversation. So a simple programming model that toggles between the player talking and the NPC talking breaks down here. Further programming structures were needed to make this work.
The pathing to the paintings are done using a bezier curve that is dynamically created based on a couple factors. There is a curviness variable that is affected by how close you are to the painting. The closer the player is, the less curviness we want in the path. The end points of the bezier curve are dynamically computed taking into consideration the size of the painting. This way, the player ends up with the painting in full view. They do not end a fixed distance from all paintings. This wouldn't make any sense, small paintings would be difficult to see and large ones would be off screen.
The shading on the walls is done with a basic spot light shader combined with a normal/bump map shader. If you look closely you will see the walls are bump mapped. We made the effect minimal because we didn't want the walls looking like they were stucco. The paintings and floors do not have the bump map applied, but are still affected by a spot light shader. Interesting challenges are always present when you are talking about shaders. One area of interest was the translation that needed to take place for the spot light positions/directions. Our paintings were created centered about the origin and then are programmatically moved to their position in the museum. Our walls and floors by contrast are modeled in their actual final world coordinate system. This means that when you send the positions and directions of the spot lights to the shaders you need to know which coordinate system you are in. When applying a spot light position/direction to a painting, I need to translate them both into the paintings local object space before passing it along to the shader.
Electro 727? (not available)
Electro 727? (included)