Unformatted text preview:

GRIMM the choose your own story language Mike Lenner Bill Liu Mariya Nomanbhoy and Becky Plummer CS4115 Programming Languages and Translators 12 20 04 1 1 Introduction The programming language GRIMM is designed to allow the user to easily create a choose your own adventure story for children Although simple the language is flexible and powerful enough to create complex text based adventure games GRIMM is named in honor of the brothers Grimm a pair of famous authors of children s stories Using GRIMM the programmer is able to quickly and naturally create a story with characters items and choices for the player using the programmers own images GRIMM allows the programmer to create a personalized story with an ending chosen by the child The experience is interactive making it much more engaging than reading a bedtime story The child will have choices and therefore will direct the progression of the story until they reach their own ending The language is designed so that less technical users such as parents and teachers are able to quickly create programs and detailed stories even if they lack extensive programming experience 1 1 Motivations GRIMM came out of our interest in creating a children s storytelling language text based game creation language and FSM modeling language We wanted to create a language that interested us and also allowed the programmers to create something unique provide entertainment or educate the end user of the application Combining these interests it is easy to see how we arrived at a choose your own adventure storybook language After researching the programming languages created by groups from previous years we decided we wanted to create a language that allows the programmer to do something that is not already implemented in an existing language Our language shares some features with the eMuse language eMuse was designed to allow the programmer to create a screenplay and visualize it before getting actors involved However GRIMM allows the user to directly interact with the story in an open ended non deterministic environment Lastly we wanted a language that would allow the user of a created application to be entertained or educated in some way Initially we considered implementing a tool that would help students in school by using our language to visualize a problem However the creation of a story would be entertaining for a child and inspire them to create their own stories Therefore this meets our two fold objective to entertain the child and expose them to programming while advancing their education by facilitating them to write their own stories 1 2 Goals Inherent in the programming of all text based role playing games are a number of common concepts These include creating characters items and a space in which these characters and items exist Using a non domain specific language such tasks are non trivial Our goal was to create a language with these constructs built in allowing the programmer to concentrate on the creative aspects of building their adventure 2 By taking advantage of the common software aspects of these items and locations GRIMM requires the developer to merely specify a few details for each new entity they wish to introduce in their story So instead of wasting time writing code to implement a front door the developer can create such an object quickly then move on to determine what happens when the character passes through GRIMM takes the developers focus away from the programming details and puts it back to where it should lie in the story By doing so the programmer can create a much richer and more intricate plot making the adventure much more appealing Additionally GRIMM gives those unfamiliar with the aspects of programming an easy interface on which to create the stories they may dream up 1 3 Features GRIMM A simple intuitive flexible object oriented interactive visual fun language Simple In order for teachers and parents to use the language it must be simple for them to learn and use These types of people are busy enough without having to undertake learning a programming language especially if they are not already involved in application development Therefore we wanted to create a language that would be easy for non technical people to understand and use We are offering these people a language that does the image processing and placement scene creation and movement and choice implementation and execution without requiring the writer to know about the intricacies of programming The keywords are straightforward and easy to recall and use The language is also small and basic The programmer can make the stories as simple or complex as they feel comfortable with by choosing how many scenes to have how many objects to use and how many options the user will have Intuitive For non technical people to use GRIMM it must loosely resemble English to make storyboard creation intuitive Languages such as C and Java are hard for non technical people to understand because the syntax is unfamiliar With GRIMM users will understand the keywords and control structures because they will be described using English based conventions New story board creators should be able to easily program by example by examining other stories This will enable non technical parents and teachers to quickly learn and start writing stories in GRIMM Flexible There are many aspects to a story including scenes items characters descriptions and open ended choices We allow the writer to completely create their own world within our framework The writer can assign attributes to scenes such as interesting characters and items Additionally they can associate images with scenes that will be shown at runtime This 3 allows the writer to create stories involving their own surroundings as well as make believe items using basic predefined data types such as character scene and item This flexibility allows there to be an endless number of possible stories with GRIMM Object Oriented GRIMM has many objects each with their own specific attributes There are various basic data types that are used to describe a story One example is a scene Each scene must be created and then assigned values to its attributes such as name and description We thought initially that non technical people could be confused by the idea of Object Oriented but we feel that grouping all aspects of a data type will instead be helpful to them due to its clear organization For example all of the attributes of the scene


View Full Document

Columbia COMS W4115 - GRIMM - the choose your own story language

Documents in this Course
YOLT

YOLT

13 pages

Lattakia

Lattakia

15 pages

EasyQL

EasyQL

14 pages

Photogram

Photogram

163 pages

Espresso

Espresso

27 pages

NumLang

NumLang

6 pages

EMPATH

EMPATH

14 pages

La Mesa

La Mesa

9 pages

JTemplate

JTemplate

238 pages

MATVEC

MATVEC

4 pages

TONEDEF

TONEDEF

14 pages

SASSi

SASSi

16 pages

JTemplate

JTemplate

39 pages

BATS

BATS

10 pages

Synapse

Synapse

11 pages

c.def

c.def

116 pages

TweaXML

TweaXML

108 pages

Load more
Loading Unlocking...
Login

Join to view GRIMM - the choose your own story language 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 GRIMM - the choose your own story language 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?