DOC PREVIEW
MIT 6 001 - ADVENTURE GAME

This preview shows page 1-2-3-4-5 out of 15 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

THE 6.001 ADVENTURE GAME:NAVIGATING THE JUNGLES OF MITTeam 18: Kyle Ingols, Aileen Tang, Lawrence Wang Abstract:For this project, we built a graphical version of the 6.001 text-based adventure game. We wrote a Javaversion of the original Scheme game so we could interface it with runtime image generation and display.On the graphics side, the objects and people were modeled using Alias Wavefront. We obtained thescene models by using Canoma to generate 3-D models from photographs of the actual locale and totexture map the photographs onto the 3-D geometries. Alias objects were then incorporated into specificlocations in each scene model and ray traced using a light source that closely resembles that of theoriginal photograph. We then used an image diff technique to enable fast reconstruction of all possiblecombinations of people and objects per scene, without having to prerender all possible combinations --allowing real time image generation as the adventure game is being played. We encountered obstacleswith integrating outputs of one tool with another and learned valuable lessons in the process aboutrealistic tools assessment and effective project planning and management. Overall, we learned to searchfor tools that satisfied our needs, learned to use these tools and to find ways to work around them if theydo not work, and produced as a product a graphically enhanced adventure game that is more interestingand fun to play. Table of ContentsIntroduction BackgroundMotivation Computer Graphics Techniques Goals Project Extensions Achievements User Interface/Java Game Engine Object/Scene Modeling Rendering Image Masking/Dynamic Scene Generation Conclusion Individual Contributions Lessons Learned Software Engineering Issues Project Management Issues Acknowledgements Bibliography Appendix IntroductionA. BackgroundOur project stems from the 6.001 Adventure Game problem set, which acclimates students toobject-oriented programming by playing a simple text-based adventure game. Everything within thegame is modeled as an object. There are three main classes of objects: places, people, and things. Placescan be various corners of the MIT campus, and people can be either autonomous-persons (robots thatdefine their own actions at each clock tick), the single avatar (the protagonist character that the playercontrols), and trolls (the bad guys that raid campus and attack other people). Things are non-peopleobjects that either exist in places or in people’s possession. Clock ticks define the time in the world of our adventure game. At each clock tick, each autonomousperson and troll randomly picks a possible action and performs it. Some example actions include EAT,SLEEP, MOVE-TO another place, or HIT a victim (if the person is a troll). On the other hand, what theavatar does at each clock it is controlled by the player. The goal of the game is to navigate the halls andbuildings of MIT until the player finds and obtains the thing named ’diploma. B. MotivationWhile the adventure game serves the purpose of introducing object oriented programming to 6.001students, it is also a lot of fun to play. The objects’ actions in the game produce very interesting (andoften hilarious) interactions. And since MITers are all in fact playing the game in real life (wonderingaround the institute sleeping, eating, suffering, and hoping to snatch the diploma before getting killed bytrolls like the registrar), we can actually relate to the otherwise amusingly absurd situations generated bythe game. Therefore, we thought it would be fun to create a graphical version of the original text-basedgame. The addition of graphics gives an additional dimension to the game and makes it not onlyconceptually interesting but also visually fun. The graphical game is in storybook style. Each clock tick produces a rendered scene based on the stateof the adventure game world at that moment. The player sees a scene of where the avatar is currentlylocated, along with other objects and people located in the same place as the avatar. C. Computer Graphics TechniquesComputer graphics help bring text to life, and our project enhances the visual experience of theadventure game. The style of placing cartoon-like characters and objects inside of realistic scenes of theactual MIT campus captures two unique aspects of the adventure game that makes it so much fun toplay. The characters’ experiences, often funny and absurd, give them a cartoon-like quality. Yet thesetting and premise of the game is so familiar to the players (assumed to be MIT students) that thecombination of familiarity and hyperbole makes the game interesting to play. Relevant computergraphics topics include scene and object modeling, ray tracing, and our experimental notion of imagediffing (described throughout the paper). GoalsA. ProjectWe begin by creating models of each PLACE in the world. (In this case the PLACES are familiar MITlocales, like 10-250 and Lobby 7.) We will also model the people and objects, which include denizens of10-250 (Prof. Duane Boning, a sleepy student) and some objects as well (a problem set, a bottle of jolt).As a consideration of the speed/quality/storage tradeoff, each PLACE is assigned a single view angle,meaning that there is no animation of views. This allows us to pre-render a good, ray-traced view of theroom and use it each time the room is entered. In addition, each PERSON and THING is assigned anon-overlapping location within each PLACE. This means that no given object will ever occludeanother object. We opted to make the quality of the presentation high by sacrificing storage space and preprocessingtime. Before ever playing the game, we create a large quantity of pre-rendered ray traced images, andthen combine those images at runtime to present the desired picture to the user. For lack of a better term,we call this image diffing. We model each of our scenes (i.e. PLACES) from photographs of MIT locales and texture map thephotograph directly onto the model so it has a realistic semblance to the actual place. For each scene, wefirst render it empty. Then, we render the PLACE containing precisely one object, take a diff of thatpicture and the picture of the empty place, and store the diff. We do this for every possible person andobject that can potentially be in each scene. At runtime, our game engine decides which objects are inthe current scene, loads up the image of the empty PLACE, and patches in the diffs of each object that ispresent.


View Full Document

MIT 6 001 - ADVENTURE GAME

Documents in this Course
Quiz 1

Quiz 1

6 pages

Databases

Databases

12 pages

rec20

rec20

2 pages

Quiz II

Quiz II

15 pages

Streams

Streams

5 pages

Load more
Download ADVENTURE GAME
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view ADVENTURE GAME and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view ADVENTURE GAME 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?