trolfs@vax1.tcd.ie (Tommy) (04/11/89)
( This is also being posted in comp.lang.forth, as well as in rec.games.programmer, for Forth progammers who might be interested ) I'm in the initial stages of considering writting an *Interactive Adventure Writting Language*. My motivation for doing this is the language FORTH and my love of text adventures. Ignoring Forth for the moment ( You can start breathing again:-), I want to describe the sort of thing I have in mind and see what you think. I'd like to hear from anyone, even if its just to say you think its stupid and a waste of time (give reasons). Criteria For The Interactive Adventure Writting Language: 1) Its got to be a Language as apposed to a Package. This is very important as I feel packages limit the designer. He/she would only be able to do things that the package knew about, and as packages are made to be general there could be quite alot of compromise. The language approach would let the designer make best use of resources and his ideas. 2) Its got to be Interactive. Again, this is a must for creativity. The idea is to be able to create something (room/trap/monster/object) and immediately be able to use it. As you write the adventure you can play it, and thus get instant feedback to the design process. 3) ... etc.. ? ( any further ideas welcome) I'm think of writting this in Forth as it is: i) Compact,fast and fits on any microcomputer, ii) Interactive, iii) Very flexible, iv) and I like it. Of coarse, it doesn't have to be Forth. I'm open to persuation. If you have any ideas (eg How movement/actions/events should be handled/encoded/tested by IAWL. What you would like to see in IAWL) or have done anything like this before or have used adventure writting software or just anything you think might be of value then e-mail me. I'll summarys replies and repost to let you know what the reponse was, if any. If you don't want me to summarries your reply then I won't. I know this has probably been done a hundred times over but I'm doing this as a hobby and for fun, and who knows, maybe something good might come of it, so get out your electronic pens and write. I enjoy getting mail so why not make someone happy. :-) Tommy. Ps. I'm very interested in hearing from anyone who has been thinking of doing something like this. -- Thomas Rolfs E-mail to trolfs@vax1.tcd.ie Disclaimer: As an engineer I cannot be held reponsible for spelling misteaks.
bryan@intvax.UUCP (Jon R Bryan) (04/11/89)
In article <39514@vax1.tcd.ie>, trolfs@vax1.tcd.ie (Tommy) writes: > I'm in the initial stages of considering writting an *Interactive > Adventure Writting [sic] Language*. Electronic Arts' "Adventure Construction Set" was written in Forth by, umm, Glen Tenney I think. It's been a long time since I spoke with him (almost three years). I always thought it would be interesting to write something like that. The thought of writing a parser makes my skin crawl, though. :)
krazy@claris.com (Jeff Erickson) (04/12/89)
From article <39514@vax1.tcd.ie>, by trolfs@vax1.tcd.ie (Tommy): > ( This is also being posted in comp.lang.forth, as well as in > rec.games.programmer, for Forth progammers who might be interested ) > > I'm in the initial stages of considering writting an *Interactive > Adventure Writting Language*. My motivation for doing this is the > language FORTH and my love of text adventures. > I tried to tackle this problem once, from a higher level. I got as far as a functional specification, a formal description of the grammar, etc., but no actual code. Unfortunately, I tried to tackle too much. The name of the language was "Adventure System Specifying Hierarchical Objects, Locations, and Events." Infocom has had one of these for years. I think they call it "Zork Adventure Language" or something. Runs on a VAX and generates code for any microcomputer they have a cross-assembler/compiler for. It's a tough one. Good luck! -- Jeff Erickson \ Internet: krazy@claris.com AppleLink: Erickson4 Claris Corporation \ UUCP: {ames,apple,portal,sun,voder}!claris!krazy 415/960-2693 \________________________________________________________ Soon: 408/987-7309 / "I'm so heppy I'm mizzabil!" -- Krazy Kat
mroberts@.uucp (Mike Roberts) (04/13/89)
In article <39514@vax1.tcd.ie> trolfs@vax1.tcd.ie (Tommy) writes: > I'm in the initial stages of considering writting an *Interactive >Adventure Writting Language*. My motivation for doing this is the >language FORTH and my love of text adventures. I've been working on just such a project for quite a while. My latest attempt, which has been running for about a year now, has demonstrated to me that the ideas the author of this note presented are right on target: make it a language for maximum flexibility; produce an interactive environment for maximum productivity. I would add one other thing: make the language object-oriented. A friend of mine who also likes writing adventure systems came up with this idea, and it's worked out fantastically well in my system. OOP was originally invented for programming simulations; an adventure is essentially a simulation. Good luck--it's an ambitious project!
dunn@uhccux.uhcc.hawaii.edu (John Dunn) (04/13/89)
The idea of making a specific meta language is one I have been working with for awhile. I did a MIDI program where the function modules resembled the old analog synthesizer modules. For my money, the best place to work from is the grea area between language and generalized tool. I am currently working on a generalized art package that starts at the outer level looking like a simple system on the order of "PC-Paint", and ends up as a meta language. ...I, too am leaning toward FORTH. I particularly like LMI's UR/FORTH for the 386 Protected Mode. It has the room to do some serious FORTH programming. What I don't like is that FORTH code is hard to maintain, no one likes other peoples FORTH code. ...Also, the arguments for Object Oriented languages are making a lot of sense to me. I have worked with Lisp and Flavors, am now looking at Actor and Smalltalk-80. ...In the FORTH world there is HMSL, and the object language it is built upon. It is lean and mean. I am in the process (although slowly) of porting HMSL from the Mac to the 386. ...Best of luck with your project. It sounds like a neat one to be working on.
stever@tree.UUCP (Steve Rudek) (04/15/89)
In article <39514@vax1.tcd.ie>, trolfs@vax1.tcd.ie (Tommy) writes: > I'm in the initial stages of considering writting an *Interactive > Adventure Writting Language*. My motivation for doing this is the > language FORTH and my love of text adventures. If you are a serious programmer and competent to do what you are proposing (i.e., design and follow through with the coding of a new language) then I would be very interested in participating in this project. I agree with you that interactive languages beat the pants off of compiled languages (unless you have one of Borland's "Turbo" products in which case the distinction becomes moot). Although I'm not a FORTH expert I've used it enough to know that it would be a good choice. But I don't know of a decent public domain FORTH for UNIX--do you? Does anyone? cforth isn't even worth considering--it's incomplete and too low quality. I'm assuming, of course, that you'd be developing this adventure language on and for UNIX? There are enough adventure languages which do NOT support concurrent multiple users; if you want to make this language really something special then multiuser should be #1 in the specification. By the way, someone mentioned AdvSys--I believe AdvSys is written by the same guy who wrote XLISP. Don't these prolific programmers turn you green? Unfortunately AdvSys doesn't appear to be anywhere near as powerful as, say, ADL. Or am I mistaken?? Have you (or anyone) seen a language called Adventure Authoring Language (AAL) by Jonathan Amsterdam at MIT? The author describes this language in "Creating an Adventurous Language" in the April 1988 issue of Dr. Dobb's Journal. AAL is written in and resides atop a Common LISP kernel just as your proposed language would reside atop FORTH. The author comments on how this enables him to always fall back to LISP code if doing someting in AAL is too difficult. I've been thinking for some time that it might be possible to implement AAL in XLISP in which case the entire package would be pretty portable and freely distributable (at least I *think* AAL is public domain). However, I don't know LISP and have been using that as a convenient excuse for postponing investigating AAL. Perhaps, though, it would make more sense to enhance AAL then to start from scratch? Then again, if it is the excitement of writing the adventurous language which primarily interests you then investigating AAL is probably the last thing you want to do. :-) P.S. As long as I've got the floor, does anyone know of a good concurrent multiuser adventure game for System V UNIX? The closest I've seen is phantasia but its player interaction is minimal. Surely there is something better available? Especially with System V "shared memory" interplayer communications can't be that difficult to implement. (Yeah, I know--then why don't I shut up and implement it myself. Yeah! Guess I will! I've got a couple hours until bedtime! :-) ------------- pacbell!sactoh0!tree!stever ucbvax!ucdavis!csusac!tree!stever
shawn@pnet51.cts.com (Shawn Stanley) (04/17/89)
bryan@intvax.UUCP (Jon R Bryan) writes: >In article <39514@vax1.tcd.ie>, trolfs@vax1.tcd.ie (Tommy) writes: >> I'm in the initial stages of considering writting an *Interactive >> Adventure Writting [sic] Language*. > >Electronic Arts' "Adventure Construction Set" was written in Forth by, >umm, Glen Tenney I think. It's been a long time since I spoke with him >(almost three years). I always thought it would be interesting to write >something like that. The thought of writing a parser makes my skin >crawl, though. :) I understood that the program wasn't quite in the "Text Adventure" arena, but I could be wrong. The salesman didn't describe the product in enough detail, and I wasn't given the opportunity to check it out. (I ended up writing my own game + "language", on my BBS.) Could you describe the "Adventure Construction Set"? UUCP: {uunet!rosevax, amdahl!bungia, chinet, killer}!orbit!pnet51!shawn INET: shawn@pnet51.cts.com
cg@myrias.UUCP (Chris Gray) (04/18/89)
In article <966@orbit.UUCP> shawn@pnet51.cts.com (Shawn Stanley) writes: >I understood that the program wasn't quite in the "Text Adventure" arena, but >I could be wrong. The salesman didn't describe the product in enough detail, >and I wasn't given the opportunity to check it out. >(I ended up writing my own game + "language", on my BBS.) >Could you describe the "Adventure Construction Set"? I have a version of Electronic Arts "Adventure Construction Set" for my Amiga. I wasn't overly impressed (other than by how nonstandard the interface was and by how much work it must have been to do the whole program). I never finished any of the adventures that came with it, and didn't seriously try to create any. There are no real opportunities for anything like programming in it - everything is done by selecting from a bunch of options (using a wierd hollow-circle mouse cursor!). The graphics were nice, and the sounds provided were fine, but I always felt constrained by it. It started with a top-level tiled world (overhead map view of rectangular regions), which could then take you to other mini-maps, or to other places on the same one. I've done three or four attempts at adventure writing systems, with varying degrees of success. I fully intend on doing more, especially multi-user. I'll try to be brief in the following descriptions. SIX/FANT: SIX was a compiler for a fairly complete structured programming language (reminiscent of Algol68 in syntax) which had been augmented by some fairly powerful constructs for adventure-writing. Things like dynamically expandable hash tables, linked lists, run-time typing, constructs for formatted text input and output, special syntax for building locations and parse rules, etc. It generated code for a stack machine, which was interpreted by the FANT interpreter. Several full-scale adventures were written in it, by myself and several others. One was a full re-implementation of the standard Crowther & Woods "Adventure", which ran faster than the PL/I implementation. Runs under the MTS operating system on IBM/Amdahl mainframes. DDSPEC/DD: more of a D & D system than an adventure system. Used character graphics on IBM 3270 terminals (ran on the same mainframe as SIX/FANT). DDSPEC allowed on-screen design of rooms. Had lots of random monsters sort-of animated on the screen. Goal was usually to collect objects, find keys to unlock rooms, etc. Initially planned to be multi-user, but never got there. Quest #1: First version done on my CP/M machine in my language Draco. Later ported to MTS/Pascal by some other folks. Includes a built-in parser which handles grammar rules/dictionary provided by scenario. Used character graphics to window around in an algorithmically defined world. Screen display has three windows: view of world, status window (health, position, items carried, etc.), and text I/O. Text output automatically paginated and formatted. No real adventures ever written, but could be done fairly easily. This one is available in Draco for the Amiga or in C for UNIX. Quest #2: Done in Draco on my Amiga. Has an interpreter for another full structured programming language. Adds run-time typing, the same parser as previous Quest, inter-calling of compiled and interpreted routines, list manipulation, tables, properties, some inheritance. Again, no true scenario ever built. Fully interpreted nature allows easy dynamic creation of everything - in fact the test scenario is just a file that is 'sourced' to build everything up. Explore: Graphics D & D system with adventure overtones. First done in Draco on CP/M, then ported to Amiga. I'm currently working to make the graphics in this one a lot prettier (scrolling 3-D dungeons, scrolling map-view, etc.). A full scenario (called "Amelon") exists. The whole thing is along the lines of the "Ultima" series of commercial games. Program ExpCre allows for mouse- driven creation of maps, tile patterns, mazes, etc. Text-oriented creation of objects, monster types, etc. Allows for a fairly large text interaction by having an auxilliary data file containing just text messages. I'm thinking of adding the standard Quest parser. -- So, I like building tools, but don't always use them or finish them. I have in mind a future system, intended to be multi-player, intended to allow the dynamic creation of things more complex than anything I know of has allowed. Naturally, this will take quite a while. It will be based on an interpreted, structured language like Quest #2, but will add a perspective graphics view of the world. I also plan to spif up the parser a bit, to handle clauses as well as phrases. -- Chris Gray Myrias Research, Edmonton +1 403 428 1616 {uunet!mnetor,ubc-vision,watmath,vax135}!alberta!myrias!cg