1. Adventure Parser ?
- Posted by Quality <quality at ANNEX.COM> Dec 08, 1998
- 391 views
Hi, I'm new to Euphoria. What a neat language! I look forward to exploring its features as time allows. My particular area of interest is developing Interactive Fiction (text based adventures like Colossal Cave & Zork) and I am wondering what examples if any are available of an adventure command parser written in Euphoria? Seems to me this would be an almost natural application for this language.
2. Re: Adventure Parser ?
- Posted by Hawke' <mdeland at GEOCITIES.COM> Dec 08, 1998
- 363 views
> Quality wrote: > Hi, I'm new to Euphoria. > What a neat language! I look forward to exploring its features as time > allows. welcome! > My particular area of interest is developing Interactive Fiction (text > based adventures like Colossal Cave & Zork) and I am wondering what > examples if any are available of an adventure command parser written > in Euphoria? { yall are gonna shoot me i swear :) i'm not tooting that proverbial horn... honest :) } actually, in EUServer, there is an easy to upgrade parsing system built within it, and a program structure such that upgrading the parser to handle more commands is trivially easy. pay special notice to the files: cmdlist.ew and basiccmd.ew.... and particular attention to Do_command... hope this helps--Hawke'
3. Re: Adventure Parser ?
- Posted by Ferlin <ferlin at SANDW.NET> Dec 09, 1998
- 357 views
> Quality wrote: > > My particular area of interest is developing Interactive Fiction (text > based adventures like Colossal Cave & Zork) and I am wondering what > I am currently in the process of working on an Adventure Game Parser. I am glad to see there is someone out there that still enjoys playing games that involve THINKING and Imagination, rather than Point and Click. I was wondering if the Adventure Game Parser would be well received or not, but my thoughts were if you have no use for it, then don't get it. Would be glad to communicate with you on ideas for your Parser, maybe we could give each other ideas. Out of curiosity, who out there would be interested in an Adventure Game Design Kit and Run Time Parser? Later All, + + + Rev. Ferlin Scarborough - Centreville, Alabama - USA
4. Re: Adventure Parser ?
- Posted by Quality <quality at ANNEX.COM> Dec 09, 1998
- 350 views
Ferlin wrote: > I am currently in the process of working on an Adventure Game >Parser. I am glad to see there is someone out there that still enjoys >playing games that involve THINKING and Imagination, rather than Point >and Click. A lot of people are still programming IF stuff... There's even a JAVA parser out there. Try out these two "IF" pages if you haven't already: http://www.leftfoot.com/games.html > I was wondering if the Adventure Game Parser would be well >received or not, but my thoughts were if you have no use for it, then >don't get it. Would be glad to communicate with you on ideas for your >Parser, maybe we could give each other ideas. First I need to find time to learn Euphoria (I work about 65 hours a week) but in time I'd love to share ideas.
5. Re: Adventure Parser ?
- Posted by MindVentur at AOL.COM Dec 09, 1998
- 346 views
This is funny. I posted the other day that I was going to start my first quasi-serious project in Euphoria and now see several people working on IF adventure parsers. The funny thing is that I was thinking about doing exactly that for a while. My idea evolved a little and now I want to make something more akin to a "choose your own adventure" or "endless quest" engine with several enhancements. Basically instead of the open parser after a description and graphics, you get a list of dynamic choices (change according to things in the game) for actions and pick one from the list. If you guys are interested in something like this, let me know. Thanks, Chuck
6. Re: Adventure Parser ?
- Posted by "Jerome T. Nichols" <jnichols at CUB.KCNET.ORG> Dec 09, 1998
- 362 views
- Last edited Dec 10, 1998
Date sent: Tue, 8 Dec 1998 17:52:37 -0800 From: Quality <quality at ANNEX.COM> Subject: Adventure Parser ? > Hi, I'm new to Euphoria. > > What a neat language! I look forward to exploring its features as time allows. > > My particular area of interest is developing Interactive Fiction (text based adventures like Colossal Cave & Zork) and I am wondering what examples if any are available of an adventure command parser written in Euphoria? > > Seems to me this would be an almost natural application for this language. > > I'm really glad someone broth up the question of text adventures in Euphoria. btw: text adventure = interactive fiction = IF - same thing. Awhile ago I spend a lot of time researching the subject of IF. There is a very, very sophisticated but very specialized lang. written by Kent Tessman called "Hugo". (Please DO NOT confuse this with an stupid old adventure game of the SAME NAME, it is IRRELEVANT.). Hugo has a vocabulary of 600 or so words and about all the routines and structures one would ever want in a text adventure. It is some what similar to Euphoria. Seems to me the expedient thing to do might be to convert the Hugo libraries to Euphoria libraries. Consider this verb definition in Hugo code (taken from verblib.g) verblib.g is the main gammer definition file for Hugo.
7. Re: Adventure Parser ?
- Posted by Hawke' <mdeland at GEOCITIES.COM> Dec 09, 1998
- 353 views
- Last edited Dec 10, 1998
"Jerome T. Nichols" wrote: > Consider this verb definition in Hugo code (taken from verblib.g) > verblib.g is the main gammer definition file for Hugo. > -------------------------------------------------------------------------- > verb "look", "l" > * DoLookAround > * "in"/"inside" container DoLookIn > * "on" platform DoLookIn > * "at" object DoLook > * "out"/"through" object DoLookThrough > * "under"/"underneath"/"beneath" object DoLookUnder > * "beside"/"behind"/"around" object DoLookUnder > * object DoLook > ----------------------------------------------------------------------------- hrmmmm.... i can see this being placed into a multiuser adventure, quite easily, with a parser already built... ;) let's see... global function do_look(sequence user, sequence param) integer len object showthis, action len = length(param) param = Lower(param) if len = 0 then --looka da pweettyyyy wallssss return ShowIt(user,ROOM,"") elsif len = 1 then showthis = param[1] --pick off an object/thing return ShowIt(user,THING,showthis) elsif len = 2 then action = param[1][1..2] --pick off the action command showthis = param[2] --pick off the target if IsSame(action,"at") then return ShowIt(user,THING,showthis) elsif IsSame(action,"in") --in, inside, into then return do_lookin (user,showthis) elsif IsSame(action,"un") --under, underneath... then return do_lookunder (user,showthis) elsif IsSame(action,"be") --behind,beneath,beside... then return do_lookunder (user,showthis) elsif IsSame(action,"ar") --around then return do_lookunder (user,showthis) elsif IsSame(action,"ou") --out, outside... then return do_lookthru (user,showthis) elsif IsSame(action,"th") --thru, through then return do_lookthru (user,showthis) end if end if SendToUser(user,NEWLINE & "Syntax...blah") return user end function i'm reasonably sure that the quasi-pseudo/real code above is rather clear/neat... whatta ya think? :) it's actually not very far from what i'm coding :) ShowThis is gonna look similar to the following... glob func ShowThis(seq user, int thingtype, seq thing) object what if thingtype = ROOM then what = GetRoomNum(user) what = GetRoomDesc(what) elsif thingtype = THING then what = LookupObjectByName(thing) what = GetObjectDesc(what) end if SendToUser(user, NEWLINE) SendPageToUser(user, what) return user end func 'course, there'll be a wee bit of extra code added for error checking, like if LookupObjByName returns a not found error, before i go running off and attempt to snarf a description from a NULL :) but, so far, i keep thinking that we have a half dozen people writing *parsers* for IF, but one is already built for y'all... and it doesn't have to be multiuser, u can just strip my parser and have at it... on the other hand, since we have a half dozen people working on IF, in one form or another, shouldn't we put a halt to all this duplication of code? and instead concentrate on the meat and potatoes? (the game itself, the... well all the rooms, and objects and stuff need descriptions and definitions and such... areas built persay) i'm not gonna say that my parser is better or worse than another's parser... I will say that my parser *can* handle multiple users inside the adventure game... and to date, i know of NO actual *adventure* game that allowed multiple users... there are MUD's, and chatters/talkers, but none of them are really *adventures*... they may have mini-quests, sure, but... none of them are like Zork or CutThroat or KingsQuest... i've always wanted to know what it would be like if we coulda had 20, 30, 100... people, grouped together, exploring Zork... sure, we all had our buddies over, and one person typed while everyone else hunched over, trying to read, and throw out suggestions of what to do next... my neck still hurts from all that craneing :) but try this: Johan lifts the rug. Under the persian rug you find a trap door, which is unlocked, but appears frozen shut from years of not being used. Altain uses his prybar on the trap door. The trap door begins to creak open, as Altain bears his might against the prybar. The trap door is open. A set of stairs leads down into the stench rising up from the hole where the trap door used to be. Perynth says, "You go first." Altain says, "Oh no, I opened it, I'm not going down there." Merisol says, "Oh you are all wimps." Altain says, "Who you callin wimp? I opened the damn door." {here is a neat thing i would have always liked to see: {private messages from the GAME, to a SINGLE player :) {this next line is sent ONLY to Johan, choosen at random: {You hear a faint ... moan?} Johan says,"Did you hear that?" Perynth says, "Hear what?" Johan says, "I'm telling you, I heard something down there." Merisol says, "and... what did you hear? Your heart thumping because you are too scared to climb down those stairs?" Altain says, "oh all right, I'll go first." Altain lights his lantern. Altain descends the stairs, and the halo from his lantern slowly diminishes until you see only the barest glow from the hole. now, to me, that woulda been kewl :) and those four 'people' coulda been at the 4 corners of the world... and graphics wouldn't spoil it either... text or text/graphics would be pretty much ok by me... > More info and examples on Hugo can be found on my web site > shown in the footer of this message. It was just a idea I did on > the subject, though I'd pass it on. good idea, i like the idea of choosing one parser and having people interested in contributing/writing/coding making 'areas' for the game, and perhaps have a repository for "need this command" <i will write that command> type of delegation on the project... take care--Hawke'
8. Re: Adventure Parser ?
- Posted by David Cuny <dcuny at LANSET.COM> Dec 09, 1998
- 367 views
- Last edited Dec 10, 1998
Writing a good parser is a *lot* more complex than Hawke's trivial example would seem to indicate. There's nothing more frustrating than playing "guess the magic word" with a parser. An adventure parser is a good exercise, but there are so many programs of such good quality that it becomes difficult to justify writing *another*. A list of adventure building kits includes: Adventure Builder Adventure Creator Adventure Game Toolkit AGI ALAN CAECHO Hugo Inform Rexx-Adventure TADS World Builder You can check out: http://interactfiction.miningco.com/ for more information. But don't let me stop you! Good luck! -- David Cuny
9. Re: Adventure Parser ?
- Posted by C & K L <candkNOSPAM2ME at TICNET.COM> Dec 10, 1998
- 361 views
I've been wanting to develop a program that will let me run a roleplaying adventure, with multiple players, each using a computer to communicate with each other and with me (privately, if necessary). I've got the whole thing plotted out, but needed a framework upon which to position it. Looks like Hawke's stuff might come in handy for this... Having pre-written descriptions, but the ability to customize on the fly, would make this kind of adventure something extraordinary... don't you think? I imagine having a bank of Game Master's at some central location, with people creating parties for adventuring all across the country/world. That could be some fun times. Hawke' wrote: > i've always wanted to know what it would be like if we coulda > had 20, 30, 100... people, grouped together, exploring Zork... >
10. Re: Adventure Parser ?
- Posted by Hawke' <mdeland at GEOCITIES.COM> Dec 10, 1998
- 374 views
C & K L wrote: >I've been wanting to develop a program that will let me run a >roleplaying adventure, with multiple players, each using a >computer to communicate with each other and with me >(privately, if necessary). I've got the whole thing plotted >out, but needed a framework upon which to position it. >Looks like Hawke's stuff might come in handy for this... kewl! least it'll be put to use... dontcha hate writing libraries that noone uses? :> >Having pre-written descriptions, but the ability to customize >on the fly, would make this kind of adventure something >extraordinary... don't you think? we call this "on-line editing"... OLE for short, and we had dibs on OLE before it came to mean 'object linking/embedding'... :) and in a few incarnations of EUServer, i'll have OLE all ready to go, and it won't even need a reboot to have the new "areas" visible to other people/users... (many OLE variations for like diku/merc etc, all required a reboot to make the area you just created visible to other people besides yourself-- it sucked) >I imagine having a bank of Game Master's at some central >location, with people creating parties for adventuring >all across the country/world. That could be some >fun times. yeah, this could be done... no prob... take care--Hawke'
11. Re: Adventure Parser ?
- Posted by Quality <quality at ANNEX.COM> Dec 11, 1998
- 330 views
True, but this is the Euphoria forum. The idea is to write a really good parser in Euphoria by exploiting it's unique list processing capacities. What I really want to do long run is create a natural language database inquiry system with a "look&feel" like an adventure game. The first step is the parser. -----Original Message----- From: David Cuny <dcuny at LANSET.COM> To: EUPHORIA at LISTSERV.MUOHIO.EDU <EUPHORIA at LISTSERV.MUOHIO.EDU> Date: Wednesday, December 09, 1998 10:22 PM Subject: Re: Adventure Parser ? >An adventure parser is a good exercise, but there are so many programs of >such good quality that it becomes difficult to justify writing *another*. > >-- David Cuny
12. Re: Adventure Parser ?
- Posted by Ralf Nieuwenhuijsen <nieuwen at XS4ALL.NL> Dec 11, 1998
- 363 views
- Last edited Dec 12, 1998
>True, but this is the Euphoria forum. The idea is to write a really good >parser in Euphoria by exploiting it's unique list processing capacities. >What I really want to do long run is create a natural language database >inquiry system with a "look&feel" like an adventure game. The first step is >the parser. For natural language you need a content-senstive 'database' system. I'm still trying to do something wiht my 'figurative' image of 'database' I came up with (how speculative can I be ? .. where every fact is linked to other facts. However each fact is either subset or supperset. It contains or is part of (read: property of..) .. however not a tree based system. Something could easily be a part of and a container to the same thing as well. Request are formed by 'relating' two facts. THe route proccesses data from one fact to another. The database engine is the one that finds the route. You can easily add new 'facts' and declare their containers/properties and easily add an 'exception'. Since you almost always add a new route. (shortest route is used) Context sentive in the way that when you specify more facts the number of possible routes decrease. Ralf
13. Re: Adventure Parser ?
- Posted by "Cuny, David" <David.Cuny at DSS.CA.GOV> Dec 11, 1998
- 352 views
"Quality" wrote: >> it becomes difficult to justify writing *another [parser]*. >True, but this is the Euphoria forum... I agree. Perhaps a better phrasing would be to "borrow heavily" from existing code, since they've already covered a lot of the same territory. Euphoria's sequences also makes porting LISP code much easier - and there is a ton of NLP (Natural Language Parsing) code out there in LISP. Good luck! -- David Cuny
14. Re: Adventure Parser ?
- Posted by Quality <quality at ANNEX.COM> Dec 11, 1998
- 356 views
Ralph: What you are describing is the programming language ProLog. -----Original Message----- From: Ralf Nieuwenhuijsen <nieuwen at XS4ALL.NL> To: EUPHORIA at LISTSERV.MUOHIO.EDU <EUPHORIA at LISTSERV.MUOHIO.EDU> Date: Friday, December 11, 1998 11:35 AM Subject: Re: Adventure Parser ? >>True, but this is the Euphoria forum. The idea is to write a really good >>parser in Euphoria by exploiting it's unique list processing capacities. >>What I really want to do long run is create a natural language database >>inquiry system with a "look&feel" like an adventure game. The first step is >>the parser. > > >For natural language you need a content-senstive 'database' system. >I'm still trying to do something wiht my 'figurative' image of 'database' I >came up with (how speculative can I be ? .. where every fact is linked >to other facts. However each fact is either subset or supperset. It contains >or is part of (read: property of..) .. however not a tree based system. >Something could easily be a part of and a container to the same thing as >well. > >Request are formed by 'relating' two facts. THe route proccesses data from >one fact to another. The database engine is the one that finds the route. >You can easily add new 'facts' and declare their containers/properties and >easily add an 'exception'. Since you almost always add a new route. >(shortest route is used) > >Context sentive in the way that when you specify more facts the number of >possible routes decrease. > >Ralf
15. Re: Adventure Parser ?
- Posted by Quality <quality at ANNEX.COM> Dec 11, 1998
- 350 views
>"David Cuny" wrote: > >I agree. Perhaps a better phrasing would be to "borrow heavily" from >existing code, since they've already covered a lot of the same territory. "Plagarism is the sincerest form of flattery"... anonymously plagarized anonymous quote. >Euphoria's sequences also makes porting LISP code much easier - and there is >a ton of NLP (Natural Language Parsing) code out there in LISP. > I never could quite grasp LISP... maybe I never found a good teacher or text.
16. Re: Adventure Parser ?
- Posted by Ralf Nieuwenhuijsen <nieuwen at XS4ALL.NL> Dec 12, 1998
- 363 views
>Ralph: > >What you are describing is the programming language ProLog. Really ? Wow. I'll go look into it. Seems interesting. Ralf
17. Re: Adventure Parser ?
- Posted by Quality <quality at ANNEX.COM> Dec 12, 1998
- 382 views
Good Luck... It is a **VERY** different language and to learn it you need to "unlearn" a lot of what you think you know about programming. Let me know how it all works out. Q>>Ralph: Q>> Q>>What you are describing is the programming language ProLog. Q> R> R>Really ? Wow. I'll go look into it. Seems interesting. R> R>Ralf
18. Re: Adventure Parser ?
- Posted by Daniel Berstein <daber at PAIR.COM> Dec 12, 1998
- 359 views
>>Ralph: >> >>What you are describing is the programming language ProLog. > > >Really ? Wow. I'll go look into it. Seems interesting. You may look for the old TurboProlog for ex-Borland. Regards, Daniel Berstein daber at pair.com
19. Re: Adventure Parser ?
- Posted by Irv Mullins <irv at ELLIJAY.COM> Dec 12, 1998
- 343 views
On Sat, 12 Dec 1998 13:43:17 +0100, Ralf Nieuwenhuijsen <nieuwen at XS4ALL.NL> wrote: >>Ralph: >> >>What you are describing is the programming language ProLog. > > >Really ? Wow. I'll go look into it. Seems interesting. > Maybe, but first look at the code to reverse a list (that's been at topic here lately) domains integerlist = integer* predicates reverse(integerlist,integerlist) append(integerlist, integerlist,integerlist) generate(integerlist,integerlist) clauses reverse([],[]). reverse([X|Y],Z):- reverse(Y,Y1), append(Y1,[X],Z), append([],X,X). append([X|Y],Z,[X|W]):- append(Y,Z,W). generate(0,[]). generate(N,[N|Y]):- M is N - 1, generate(M,Y). test:- generate(50,X), write(X), reverse(X,Y), write(Y). I maybe made a typo somewhere, but how would anyone know? This is clear as mud. Irv
20. Re: Adventure Parser ?
- Posted by Hawke' <mdeland at GEOCITIES.COM> Dec 12, 1998
- 344 views
Irv Mullins wrote: > I maybe made a typo somewhere, but how would anyone know? > This is clear as mud. > Irv actually, ;) i've seen clearer, less opaque mud, they called it C. not saying a whole helluva lot, eh? _/ _/ _/_/_/ _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/_/_/ _/ _/ _/_/ _/_/ _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/_/_/ ({<=----------------------------------------=>}) ({<=- http://members.xoom.com/Hawkes_Hovel> -=}) ({<=----------------------------------------=>})