Adventure! Once upon a time...

Similar documents
Networking. Great Ideas in Networking. Central Themes. The Victorian Internet. Paul Otlet. Vannevar Bush and Hypertext. Vannevar Bush and the Memex

Dungeon Crawl Classics #9 Dungeon Geomorphs

GAM0183 Game Programming

Midnight Malady" COPYRIGHT 1981 AVANT GARDE CREATIONS AUTHOR: STEVEN SACKS. A Product of. 'I're Software Guild SYSTEM REQUIREMENTS

ENGLIT 0522 INTERACTIVE FICTION AS LITERATURE. Dr. Patrick Scott Belk, Biddle Hall 225, Office Hours: 10:00 AM-12:20 PM TTh,

Components. Matching Travel Markers. Brother Gherinn

WELCOME TO ADVENTURE ADVENTURE4 VOODOO CASTLE. YOUR GUIDE TO THE ADVENTURES OF scon ADAMS

Lab Assignment 3. Writing a text-based adventure. February 23, 2010

NWN Toolset Module Construction Tutorial

Quests Created By Jordan Hawkey

Bonus: Map Drawing Tips

Making Your World - the world building tutorial

NWN ScriptEase Tutorial

Assignment Cover Sheet Faculty of Science and Technology

ADVENTURE. ~!SI!?!2fT th Ave. N.E.. Suite 200 Bellevue, WA 98004

Stainless Steel Dragon

Making Your World with the Aurora Toolset

Original concept, design and programming by: David Joiner

Two for Infocom. Boris Schneider

The Game. "Warning, Magic works in the Cavern!"

Another boardgame player aid by

The dragons also have breath weapons and their bite is poisonous. (See Player's Handbook)

Table of Contents. TABLE OF CONTENTS 1-2 INTRODUCTION 3 The Tomb of Annihilation 3. GAME OVERVIEW 3 Exception Based Game 3

Madness and the Minotaur 111 A DIVISION OF TANDY CORPORATION FORT WORTH, TEXAS 78102

Fully compatible with all the other Arcanum expansion, you will find this just adds more fun and options to the already fun mix.

Dungeon Map Generator

Create Your Own World

Tonight you sit quietly in a dark corner of the Inn s large common room, with a cup of ale and a piece of hard, brown bread in front of you.

Gold in the Hills Any Campaign Setting. A BFRPG Adventure for 2-4 Characters of Levels 1-3

Tutankham OBJECT SETTING THE CONSOLE CONTROLS

Group Project Shaft 37-X25

HST250 (section 740) Exam #2 Wednesday, March 17, 2010

TRAINING BULLETIN FORCIBLE ENTRY 1 March 15, 1997 FORCIBLE ENTRY TABLE OF CONTENTS. 1. Introduction. 2. Doors-Inward Opening. 3. Doors-Outward Opening

Tutorial: Creating maze games

Multiple Quests using the ScriptEase II Story System

The Halls of Durrag-Dol

A Bad Baby Product, All rights reserved, version 1.0, All comments, suggestions and contacts can be made at

DUNGEON THE ADVENTURE OF THE RINGS

Plot notes for the teacher

OF CLAYMORGUE CASTLE

Teacher s Notes. Level 2. Did you know? Pearson English Kids Readers. Teacher s Notes. Summary of the story. Background information.

Tchang and the Pearl Dragon guided reading pack

Concordia Preparatory School 8 th Grade Summer Reading Assignment: The Hobbit by J. R. R. Tolkien

SudokuSplashZone. Overview 3

LORDS OF TIME. The dream returned last night: so passing strange!

Manual. About this game. Story

WIZARD'S GOLD. User-Written Software for ATARI Home Computers. Diskette: 24K (APX-20020)

Game Maker Tutorial Creating Maze Games Written by Mark Overmars

Part 1. The Tortoise and the Hare A Logo Fable

WELCOME TO ADVENTURE ADVENTURE2 PIRATE COVE. YOUR GUIDE TO THE ADVENTURES OF scon ADAMS

..\/...\.\../... \/... \ / / C Sc 335 Fall 2010 Final Project

Instructor: Teaching Assistants: Justin Hsia Anupam Gupta, Cheng Ni, Eugene Oh, Sam Wolfson, Sophie Tian, Teagan Horkan

PLASMA goes ROGUE Introduction

Hey! Barkeep! Maggie McNamara Basic Information

PLANETOID PIONEERS: Creating a Level!

Tower of Terror. Adventure A TUNNELS & TROLLS TM. Sample file. Written and illustrated by David A. Ullery

System Components. Commando, Getting Started. your mission is to. pause a game during play; You've discovered the secret underground treasure hoard of

Activity Quests. Minecraft Interactive Adventures

HS Dungeons A dungeon crawl game by Matt InfinityMax Drake With special thanks to the guys at Heroscapers.com

Neverwinter Nights Maps

Software and Hardware Certifications 10/04/12-11/07/12. File Number ID Number Version Date Code/Description Game Name(s)

Created by Michael Browning

The Game. "Warning, Magic works in the Cavern!"

MADNESS AND THE MINOTAUR A0503 DRAGON DATA LIMITED

INTRODUCTION ************

60 Seconds And You're Hired! PDF

Creating a Continuous Quest with ScriptEase II

Manual For Minecraft Pe Diamond Survival Mode How To Get Iron

An End Game in West Valley City, Utah (at the Harman Chess Club)

Appendix 6 Wireless Interfaces

Sliding and Pocket Door Hardware

BEST STUDENT MARKETING CAMPAIGN BNP PARIBAS CODEHUNTER

Create Your Own World

The Game of SET! (Solutions)

How would you define your work? Do you define yourself as a writer, a game designer, a developer?

A Teacher's Guide to

Light and dark. 1. Sources of light. 1. Sources of light. 2. Seeing objects

Alright! I can feel my limbs again! Magic star web! The Dark Wizard? Who are you again? Nice work! You ve broken the Dark Wizard s spell!

2j If you return along the passage guarded by the glass skeleton.

Hairdressing, Barbering, Beauty, Media Makeup, Nail Services and Complementary Therapies

Introduction. Modding Kit Feature List

a division of Teacher Created Materials

Why did the Japanese economy stop growing over time? Why did technological progress in Japan decline?

OG TRAINING - Recording 2: Talk to 12 using the Coffee Sales Script.

Set Up Your Domain Here

Black Hills Photography Society. January 8, 2008

DOWNLOAD OR READ : THE WIZARDS WAY PDF EBOOK EPUB MOBI

Vectrex Dark Tower. The games are as follows: Skill Level Keys Provided. Vectrex Dark Tower

Bagels, Pico, Fermi. Bob Albrecht & George Firedrake Copyright (c) 2004 by Bob Albrecht

CORMYR: THE TEARING OF THE WEAVE (DUNGEONS & DRAGONS D FANTASY ROLEPLAYING, FORGOTTEN REALMS SUPPLEMENT) BY RICH BAKER, BRUCE R.

Instruction Manual. 1) Starting Amnesia

Tutorial Super Mario Bros 2 3ds Cheats World 1 Castle Coins

Name: July Supplementary Work

Getting Started with Coding Awbie. Updated

PRODUCT CATALOGUE 2017

Art Detectives Anselm Kiefer

TEMPLE OF LOCKS V1.0

Botzone: A Game Playing System for Artificial Intelligence Education

Tips & Guidelines. May your dungeons be beautiful! Square Tiles? Hand Drawn?

Create Or Conquer Game Development Guide

Transcription:

! Once upon a time... Jerry Cain CS 106AJ November 28, 2018 slides courtesy of Eric Roberts Myst When Myst appeared in 1993 (back when computers were too slow to animate more than a small part of the screen), the most common question we got from CS 106A students was: Can I write Myst? The Origins of the Internet The Internet that has become so much a part of today s world got its start as the ARPANET in the late 1960s. The contract to build the ARPANET was awarded to Bolt Beranek and Newman Inc. (BBN), a small, Cambridge-based research and development firm founded by MIT engineers. A prototype implementation of the ARPANET connecting four nodes (one at Stanford) came on line in December 1969. The initial design for the ARPANET allowed for a maximum of 127 connected computers. Larger networks were possible only after the TCP/IP protocols were adopted in the 1980s. Early Designs for the ARPANET As Larry Roberts envisioned it in his notebooks: As deployed in 1969: 1

The ARPANET in 1971 The ARPANET in 1971 SRI PDP-15 PDP-11 U TA H ILLIN O IS TX-2 M IT LIN C O LN GE-645 U C SB 360/75 STA N FO RD SD C C A SE 360/67 C A RN EG IE 360/67 DDP 516 U C LA SIGMA 7 360/91 RA N D BBN IBM 3800 DDP 516 H A RVA RD PDP-1 BU RRO U G H S 86500 360/65 ILLIAC IV Life among the Wizards The BBN ARPANET Team The history of the Internet has been told in several books. One tells the following interesting story: A small circle of friends at BBN had gotten hooked on Dungeons and Dragons, an elaborate fantasy role-playing game in which one player invents a setting and populates it with monsters and puzzles, and the other players then make their way through that setting. The game exists only in the minds of the players. Dave Walden got his introduction to the game one night when Eric Roberts, a student from a class he was teaching at Harvard, took him to a D&D session. Walden immediately rounded up a group of friends from the ARPANET team for continued sessions. Roberts created the Mirkwood Tales.... Dave Walden Willie Crowther One of the regulars was Will Crowther... Willie Crowther s Game Willie Crowther s Game Welcome to ADVENTURE!! Would you like instructions? YES Welcome are to in ADVENTURE!! the Hall of the Would Mountain you like King, instructions? with passages off in most directions, some of which appear to be newly constructed. YES A huge green fierce snake bars the way! Somewhere nearby is Colossal Cave, where others have found fortunes in treasure and gold, though it is rumored that some who enter are never seen again. Magic is said to work in the cave. I will be your eyes and hands. Direct me with natural English commands; I don't understand all of the English language, but I do a pretty good job. (Should you get stuck, type "HELP" or "?" for some general hints.) Good Luck! - - - are standing at the end of a road before a small brick building. Around you is a forest. A small stream flows out of the building and down a gully to the south. The road runs up a small hill Somewhere nearby is Colossal Cave, where others have found fortunes in RELEASE BIRD treasure and gold, though it is rumored that some who enter are never The little bird attacks the green snake, and in an astounding flurry seen again. Magic is said to work in the cave. I will be your eyes drives the snake away. and hands. Direct me with natural English commands; I don't understand all of the English language, but I do a pretty good job. (Should you get stuck, type "HELP" or "?" for some general hints.)... some time later... Good Luck! - - - are are in standing at canyon the end which of a exits road before small and brick building. a secret to the a north east. A huge you Around green is fierce a forest. dragon A small bars the stream way! flows out of the building and The dragon down a gully is to sprawled the south. out on The a persian road runs rug!! up a small hill GO INSIDE GO INSIDE RELEASE BIRD are inside a building, a well house for a large spring. There are some keys on the ground here.... inside building, well house for a large The are little bird a attacks the a green dragon, and in an spring. astounding flurry There are some keys on the ground here.... gets burnt to a cinder. The ashes blow away. 2

A Brief History of Eric Roberts begins the Mirkwood Tales in early 1975. Will Crowther creates later that year. Will Crowther moves to Xerox/PARC in 1976. Stanford graduate student Don Woods releases an expanded version of in early 1977. Dave Lebling and others from MIT release the first version of Zork in 1977. That game later becomes the foundation of the computer game company Infocom. is ported to a wide variety of platforms by 1980. Eric Roberts creates an expanded version in 1984 and uses it as the basis for his first Contest at Wellesley. Structures in the Game AdvGame Contains the code and data necessary to play the game. The main program, which gets the program started. AdvRoom Maintains the data structure for each room in the cave. AdvPassage Keeps track of the passages leading from a room. AdvObject Maintains the data structure for each object that can be carried by the player. <!DOCTYPE html <html <head <title</title <script type="text/javascript" src="jsconsole.js"</script <script type="text/javascript" src=".js"</script <script type="text/javascript" src="advgame.js"</script <script type="text/javascript" src="advobject.js"</script <script type="text/javascript" src="advpassage.js"</script <script type="text/javascript" src="advroom.js"</script </head <body onload="()" <div id="gamedata" style="display:none;" </div </body </html Structure of the index.html File... the XML entries that define the game... XML for Rooms <room name="outsidebuilding" short="outside building" are standing at the end of a road before a small brick <passage dir="west" room="endofroad" / <passage dir="up" room="endofroad" / <passage dir="north" room="insidebuilding" / <passage dir="in" room="insidebuilding" / <passage dir="south" room="valley" / <passage dir="down" room="valley" / <room name="endofroad" short="end of road" are at the end of a road at the top of a small hill. can see a small building in the valley to the east. <passage dir="east" room="outsidebuilding" / <passage dir="down" room="outsidebuilding" / Milestone #1 Adapt the code from the Teaching Machine application so that it uses the class and method names for. Once you finish this milestone, you should be able to wander around the surface geography of the game. Welcome to! are standing at the end of a road before a small brick are at the end of a road at the top of a small hill. can see a small building in the valley to the east. are standing at the end of a road before a small brick Milestone #2 Implement the setvisited and hasbeenvisited methods in AdvRoom. Check this flag in the code that describes a room. Once you finish this milestone, the program should use the short descriptions when you enter a previously visited room. Welcome to! are standing at the end of a road before a small brick are at the end of a road at the top of a small hill. can see a small building in the valley to the east. 3

Milestone #3 Implement the QUIT, HELP, and LOOK commands. Once you finish this milestone, the player can end the game, see the help text, and redisplay the room s long description. Welcome to! are standing at the end of a road before a small brick are at the end of a road at the top of a small hill. can see a small building in the valley to the east. LOOK are standing at the end of a road before a small brick QUIT XML for Objects <object name="keys" location="insidebuilding" </object <object name="lamp" location="beneathgrate" a brightly shining brass lamp </object <object name="rod" location="debrisroom" a black rod with a rusty star </object <object name="water" location="player" </object <object name="nugget" location="nuggetroom" a nugget of gold </object <object name="diamond" location="westbankoffissure" a sparkling diamond </object Milestone #4 Implement the AdvObject class. Implement the methods in the AdvRoom class that make it possible to keep track of the objects in a room. In the AdvGame class, write the code to put each object in its initial room (ignore the room name "PLAYER" for now). Change the code to display a room so that it lists the objects. This milestone allows you to see (but not yet take) objects. IN are inside a building, a well house for a large spring. The exit door is to the south. There is another room to the north, but the door is barred by a shimmering curtain. There is here. Milestone #5 Implement the TAKE, DROP, and INVENTORY commands and any code you need to remember what the player is carrying. are inside a building, a well house for a large spring. The exit door is to the south. There is another room to the north, but the door is barred by a shimmering curtain. There is here. TAKE KEYS Taken. TAKE GOLD I don't see that here. INVENTORY are carrying: DROP WATER DROP KEYS INVENTORY are empty-handed. XML for Synonyms Milestone #6 <synonym word="q" definition="quit" / <synonym word="l" definition="look" / <synonym word="catch" definition="take" / <synonym word="release" definition="drop" / <synonym word="i" definition="inventory" / <synonym word="n" definition="north" / <synonym word="s" definition="south" / <synonym word="e" definition="east" / <synonym word="w" definition="west" / <synonym word="u" definition="up" / <synonym word="d" definition="down" / <synonym word="back" definition="out" / <synonym word="gold" definition="nugget" / <synonym word="bag" definition="coins" / <synonym word="nest" definition="eggs" / <synonym word="bottle" definition="water" / Implement synonym processing so that the player can use abbreviated forms of the direction verbs and alternative names for the objects. Welcome to! are standing at the end of a road before a small brick I are carrying: DROP BOTTLE W are at the end of a road at the top of a small hill. can see a small building in the valley to the east. D There is here. 4

Locked Passages and Forced Motion <room name="outsidegrate" short="outside grate" are in a 20-foot depression floored with bare dirt. <passage dir="north" room="slitinrock" / <passage dir="up" room="slitinrock" / <passage dir="down" room="beneathgrate" key="keys" / <passage dir="down" room="missingkeys" / <room name="missingkeys" The grate is locked and you don't have any keys. <passage dir="forced" room="outsidegrate" / <room name="beneathgrate" short="beneath grate" are in a small chamber beneath a 3x3 steel grate to the surface. A low crawl over cobbles leads inward to the west. <passage dir="up" room="outsidegrate" / <passage dir="out" room="outsidegrate" / <passage dir="in" room="cobblecrawl" / <passage dir="west" room="cobblecrawl" / locked passage forced motion Milestone #7 Implement locked passages, which are passages that require a particular object to use, as illustrated on the previous slide. Making this change requires moving the getnextroom code from AdvRoom to AdvGame so that it can see the objects. are in a 20-foot depression floored with bare dirt. INVENTORY are carrying: DOWN are in a small chamber beneath a 3x3 steel grate to the surface. A low crawl over cobbles leads inward to the west. There is a brightly shining brass lamp here. Milestone #8 Implement forced motion, in which the player is forced to move from a room even before reading a command. Forced motion is indicated by the verb FORCED. It is important to ensure that your implementation of forced motion allows those passages to be locked. This combination of features is used to implement the shimmering curtain. The End are in a 20-foot depression floored with bare dirt. INVENTORY are carrying: DOWN The grate is locked and you don't have any keys. Outside grate. 5