Source:GEnie Apple II RoundTable Bulletin Board, Eamon topic 9

From Eamon Wiki
Jump to navigation Jump to search
This page is a verbatim reproduction of original source material and should not be edited except for maintenance.
Description

An archive of the 14 messages posted to the GEnie Apple II RoundTable Bulletin Board, category #16 ("Eamon"), topic #9 ("Ambitious Eamon modifications").

Source

Content was retrieved from the text file eamon.03.txt made available by GEnie.

Date

August 1992–November 1994

Author

Various

License

It is believed that the use of this copyrighted item in Eamon Wiki qualifies as fair use under the copyright law of the United States.

Previous item

Topic 8: Wish List for GS-Specific Eamon

Next item

Topic 10: Eamon Elite

Topic 9: Ambitious Eamon modifications

Message 1
M.EDWARDS29 [MARK EDWARDS] — Sat Aug 15, 1992 at 22:22 EDT

One of the things that always bothered me with Eamon was the way that room descriptions disappeared after I had been in a room. So I added a VERBOSE command. That got me started in analyzing the code a bit more. : Now I would like to set up MAIN.HALL to allow more than one person to play at a time (shouldn't be too hard if I modify to add more ADVENTURER and DEAD.MEAT files, right?). : And with that idea in mind, wouldn't it be nice to have a modem Eamon? My problem is, how would I go about doing that? Is it even possible? Any help on "modemizing" Eamon would be appreciated. : Mark Edwards

Message 2
T.ZUCHOWSKI [TomZ] — Sun Aug 16, 1992 at 09:13 EDT

>Mark Edwards

I like your VERBOSE command addition to Eamon, Mark. I've used it in a couple of my own adventures, in fact. I kinda doubt that it is all that important for the average Eamon adventure, since most room descriptions don't merit continuous display. Still, I like it and think I'll write it up as a "Dungeon Designs" tutorial for the next EAG newsletter.

You didn't say what you specifically had in mind for a multi-player Eamon. I assume that you want the ability for more than one player to be able to take turns at the keyboard during the same adventure? If so, you are suggesting a VERY major modification to the MAIN.PGM. You see, the FRESH.MEAT data is placed in location zero of the monster array and is handled in dozens and dozens of special ways. You would have to come up with a method and the code to keep track of which additional monsters were also player characters. You would also have to modify all the character arrays, such as spell and weapon abilities, to work as multiple arrays. You would have to keep up with multiple friend-foe alignments and work out a way to handle varying alignments when everyone is the same room.

In short, it's do-able, but would be a major effort, would eat a lot of precious memory (already in short supply), and run slower. Given the fact that very few people would be interested in it, I doubt that it's worth attempting. To give you some perspective, I wrote the multi-disk code back in 1988 and only one guy ever used it for anything. And that one guy used it against my advice.

What are you wanting to do with a "modem" version of Eamon? I can envision several uses for such a program. One would be to make it possible to play it on-line. Personally, I'd prefer to spend 10 minutes downloading it rather than several hours on-line playing it, but it takes all kinds. *8-) If you want a multi-player modem version, the above problems apply, only more so. Eamon already suffers a terrible memory crunch in its basic form. A multi- player version would not be possible for probably 18 out of the top 20 Eamon adventures. They're just too big.

TomZ

Message 3
M.EDWARDS29 [MARK EDWARDS] — Sun Aug 16, 1992 at 14:09 EDT

Tom,

Sounds like a LOT of work. Here are some of my thoughts:

One of the problems I've had with standard single-player Eamon is that I have to ignore my wife while I play, or (best case) she (or any friends that I'm showing it to) have to sit and watch if I show off Eamon to them. If I turn over the keyboard to them, I end up having to just watch, and it's hard not to kibbitz.

Is it possible to OPEN the monster arrays, keep track of the initial number of monsters, add the adventurer(s), then WRITE them until the end of the session?

As far as modem Eamon, I just thought it would be interesting to be able to play multi-player with (or against another player).

BTW, do you have flow charts, a completely REM-ed version of the programs, or anything that would make Eamon easier to follow (I really wish BASIC had better control structures...)?

*s

Message 4
T.ZUCHOWSKI [TomZ] — Sun Aug 16, 1992 at 17:50 EDT

Mark,

If all you want to do is add a companion monster who has the name and stats of a character, that wouldn't be too difficult to do. But to give that companion the ability to execute commands would entail all the problems that I outlined in the previous post. The problems all stem from the fact that location zero in the monster arrays (the player) is handled in totally different ways than the rest of the monsters are. You'd have to fix that by basically rewriting the MAIN.PGM in hundreds of different statements.

Personally, I find it a lot of fun to "share" a character when playing, especially when solving puzzles. Takes all kinds, I guess. *8-)

There aren't any flowcharts or special REM'd versions of Eamon. However, there is a quite extensive writeup of the MAIN.PGM in the authors' manual on the Dungeon Designer Diskette. If you haven't done so, you will find it well worthwhile to print this manual out. I might add that you may find the version 7.0 MAIN.PGM much easier to figure out than previous versions. I went to a lot of trouble to make the code better organized. There are a couple of Basic-related tricks to make it run faster and take up less memory, but I was very careful to close all loops, etc. Earlier versions were often a real mess, especially when you stop to consider that they were done by a professional programmer!

The club newsletter always includes a programming/plotting tutorial in each issue, too. Back issues now go back 8 years.

TomZ

Message 5
M.EDWARDS29 — Tue Aug 18, 1992 at 22:44 EDT

The club newsletter always includes a programming/plotting tutorial in each issue, too. Back issues now go back 8 years.

Tom,

How would I go about getting back issues of the newsletter (those that relate to the newer version - 7.0). And how would I go about subscribing to it for the newer issues?

I would like to know as much as possible about all the variables, etc. - yes, I have printed the manual - but some of the variables seem to be hidden in the FAST.START file. There is a reason I would like all this info.

I noticed recently that GraForth is now freeware, and I own an original copy of it. The control structures in GraForth would be ideal for Eamon, and would add another graphic dimension (for those who wish to do so) to Eamon that has been impossible until now. The only problem I forsee is the lack of array support (but I'm working on it. One of the reasons I would like to port Eamon to GraForth is the ease of making modifications - you just add a new command word to the programming - really simple.

Thanks, Mark Edwards *s *s

Message 6
A2.TIM [Lost Classic] — Wed Aug 19, 1992 at 04:23 EDT

>>> M.EDWARDS29

One of the reasons I would like to port Eamon to GraForth is the ease of making modifications

That statement reflects one of the reasons why we started Lost Classics. :) Makes me feel proud. So do not think I am raining on your parade, but wouldn't there be a problem in that GraFORTH is in DOS 3.3 but Eamon is under ProDOS 8? Or did you intend to use it for the DOS 3.3 Eamons? (just want to understand. :)

Tim Tobin
A2 Head Librarian

Message 7
T.ZUCHOWSKI [TomZ] — Wed Aug 19, 1992 at 15:20 EDT

>>Mark Edwards

You can join the Eamon Adventurer's Guild and get the newsletter for $7.00 per year. It's a quarterly 10-page newsletter. To join up, send me a check for $7.00 to:

Eamon Adventurer's Guild
7625 Hawkhaven Dr.
Clemmons, NC 27012

Back issue info is included in every newsletter. The Sept. issue will be coming out soon.

I don't believe that there are many variables not listed in the manual. (I could be wrong. <grin>) The list is pretty complete. All that is contained in the FAST.START file is artifact and monster data, the command list, and some verbs. You can see what's there by listing MAKE.FAST.START or MAKE.ARTS.MONS. At any rate, my present plans are to include a complete listing in the Sept. newsletter "Dungeon Designs" column. But the only ones that aren't in the manual list should be local variables. Variables like A, M, and Z are used and reused all over the place for various purposes. Memory is so tight in Eamon that we can't afford the luxury of dozens of single- purpose local variables. I reused 'em every chance I got!

I have mixed feelings about using GraForth. Sure, it will make it easier for you to maintain your own adventure, but it will make it darned difficult for me to maintain it after you have wandered off. Lots of bug fixes come in from the field, and that won't be possible if it isn't Applesoft. Also, lots of Eamonauts get more pleasure from puttering around in the adventure code than they do from playing the adventure, and GraForth will deny them that.

Tim, Graforth's DOS 3.3 base would not be a problem. There are presently about 220 DOS 3.3 Eamons. Of that group, about 100 have been converted to 40- col. ProDOS. Of THAT group, about 30 have been converted to 80-col. mixed text.

TomZ

Message 8
M.EDWARDS29 — Wed Aug 19, 1992 at 21:57 EDT

You can join the EAG and get the newsletter

Okay, thanks, I will be sending the check tomorrow.

I have mixed feelings about using GraForth. Sure, it will make it easier for you... but it will make it darned difficult for me... after you have wandered off.

Well, I've been around with Eamon for a loooong time now, and don't plan to wander off, especially if others seem interested in this idea. I could use the notoriety <g>.

I've maintained a Genie or CIS account for the last 15 years (and plan to keep up with both now), so I intend to be available at least via my networks, no matter where I live. Can't live without my networks!

...lots of Eamonauts get more pleasure from puttering around in the adventure code than they do from playing the adventure, and GraForth will deny them that.

Here I have to differ with you. GraForth makes the code a lot easier to putter around with. It has a enough modular structure that mods are easy to follow and implement; it has a lot better flow control than BASIC; it is a lot faster than BASIC; you can add graphics and music. GraForth was made for putterers.

At any rate, how about I give it a try? It may take me forever, but I'll have fun with it, and will keep you updated on my progress (or lack thereof).

What I'm hoping to do is a straight retranslation of what the BASIC code does, into the same stuff in Graforth. Of course, I'd be really happy if anyone out there wants to help....

Mark Edwards

Message 9
M.EDWARDS29 — Wed Aug 19, 1992 at 21:59 EDT

>>tim

did you intend to use [GraForth] for the DOS 3.3 Eamons?

Tim,

Actually, I was hoping to use GraForth, not necessarily for the older Eamons (that would mean recoding all that special coding for each adventure), but (hopefully) as an alternate platform for newer Eamons that are easier to maintain and modify.

The main reasons I never got really involved in the Eamon world before are:

  1. I was in the Air Force and moved around too often to really keep in touch with other Eamon-ites (especially back before the EAG).
  2. The code seemed too loop-y and hard to follow.
  3. There was no easy-to-communicate-with group like the Genie EAG folks (within my previous price range).
  4. There just wasn't anything cheap and easily available enough besides BASIC in which to offer Eamon.

Well, now I'm out of the force (although the "Force" is always with me <g>), understand programming languages better (especially after my horrible collision with COBOL), we have EAG on- and off-line, and GraForth is free for the asking.

So I decided to get ambitious. Does that help? B{)

Mark Edwards

Message 10
A2.BEAR [RTC Dweeb] — Wed Aug 19, 1992 at 22:05 EDT

To: M.EDWARDS29

Mark you can discuss porting EAMON to GraForth with Tom LIVE and IN PERSON at an upcoming Real Time Conference. On Tuesday August 25, 1992 at 2130 Eastern Time Tom will answer any and all EAMON questions.

Bear Did I mention it was LIVE and IN PERSON?

Message 11
M.EDWARDS29 — Thu Aug 20, 1992 at 21:26 EDT

Here are most of the Eamon variables in Main.pgm. There are a few local variables, but I left these out. I used the XREF command, in the APA program, from the "BASIC Programming with ProDos" diskette, to get the printout.

Mark Edwards

VARIABLE LINE NUMBERS
======================================================================== AC
7600/26070/31040/31100/31110/31120/32555/32560 AE
7600/31040/31120/32560 A$(*)
110/115/117/160/165/190/3410/3420/4030/4040/4140/4200/4210/
          4215/4220/4230/4830/5040/5100/5110/6020/6033/6034/6035/
          7040/7060/7070/7075/7410/7420/7440/7507/7510/7515/7530/
          7532/7537/7540/7605/7720/9095/9100/9110/9115/9320/10060/
          10110/17030/17100/19040/20020/20030/20110/20120/20130/
          20220/20310/20330/21120/21130/21140/22020/22030/22110/
          22130/23020/23030/23210/24020/24030/24130/24150/25080/
          26015/26020/26030/26040/26050/26080/27030/27040/31050/
          31052/31060/31100/31110/31440/32040/32090/32300/32315/
          32320 BA        31040/32560 BV$(*)    7510 B%
140/160/320/370/400/410/420/4200/5100/10060/10110/
          31100/31111 C         94/270/272/275/290/3020/4910 CC        275
CH        3650/31040/32320/32550 CP        50/29050/31430 CZ$       230/240
C$(*)     94/270/272/275/4910/8040 C%
140/145/160/165/175/320/330/370/375/400/410/415/420/425/
          4200/4210/4710/4715/4720/4770/4810/4830/4850/5100/5110/
          10060/10080/10110/10120 D$
45/3540/3560/18040/29050/29060/31040/31054/31060/32020/
          32500/32530/32540/32550/32570/3290 D2
6060/7070/7633/7635/7640/9320/10140/12060/22140 DF
350/375/415/420/425/6050/6060/7300/7360/7370/7507/7510/
          7515/7545/7607/7625/7633/7637/7638/7640/7650/7710/7720/
          7730/7740/9320/10140/11050/12060/22140 DI        7740/32030/32540
D%        140/160/320/370/400/410/420/4200/4710/4720/4770/4810/
          4830/4850/5100/10060/10110 EA        7507/7600/31120 ED$
45/29060/31060 EM        4801/4805/4830/6020/25070/26010/26015/27010 ER$
3540/29060/31060 F
272/275/4020/4710/4750/4810/4830/4860/5030/6010/6040
          7020/7030/9050/9070/10030/11010/17010/19010/20010/21100/
          21110/22010/23010/24010/25050/25070/26010/27010 FF$
32060/32310 FR        3650 F(*)      3610/3670/7640/7710/7750 G
24030/24120 GO        9500/9540/10140/31040/32360/32560 HA
4020/4705/4720/4801/4804/4830/7030/25070/26010/27010 HI
7300/7310/7505/7511 L         50/52/54/56/58/59/210 LL        50 LR
29060/31060 LS        110/115/117/3560/5042/19050 LT
110/125/3560/4905/5042/10020/15005/19040/19050 MC        340/350/490 MR%
335/336 M$        4710 M$(*)
150/154/333/335/4760/7440/7510/7638/9300/10070/10100/
          12040/13070/15030/24120/24150/25070/31040/32550/32570 M%(*,*)
120/140/145/150/154/320/330/333/334/335/336/340/350/360/
          370/375/410/420/425/3610/3630/3640/3650/3670/4040/4140/
          4220/4720/5050/5060/5100/5150/6050/7010/7050/7360/7370/
          7410/7440/7505/7507/7515/7530/7540/7605/7625/7633/7637/
          7640/7650/7710/7720/7730/9090/9095/9110/9115/9300/9320/
          9540/10040/10120/12040/12050/13010/13070/14040/15010/
          15030/15040/17100/22130/24120/24150/25060/25080/26050/
          26070/27020/27030/31040/31060/31111/31440/32020/32550/
          32555 NA
190/4200/4820/5100/7420/7720/10060/10110/20220/31050/
          31052/31080/31100/31110/32040/32320 NC        272 NL
110/3560/5042/19040 NM        140/320/370/400/415/420/3620/13070/15010 NR
3040/3550/8500 NZ        160/190/6032/31050/31060/31080/31090 OF
350/7300/7410/7440/7505/7507/7510/7530/7540/7545/7600/7605 PX$
32500/32530 R2        3030/3040/3060/3410/3420/3530/7610/7615/7620/7625/8500
R3        3530/3630/7370/9120/13080/24150 RB$(*)    7520 RD%(*)
3030/3540/3550/8500/20330 RE        31040/32550/32570 RL
7511/7520/7607/7615/7620/7625/7630/11500/11505/11520/13010/13050 RN$
130/3540 RO
135/140/160/190/320/370/400/3390/3530/3540/3630/3640/4020/
          4200/4705/4805/5040/5110/6020/6510/7030/7370/7410/7420/7530/
          7720/9120/13070/13080/15010/20020/20220/20330/24120/24150/26010 S
4710/4810/7050/7070/7605/7630/7633/11010/11050/11500/11505/
          11520/11530/12010/13010/14010 S$
94/250/260/4010/4610/4680/4710/4760/4810/4830/4860/4910/5010/
          8030/8040/9010/9050/9070/9810/10010/12010/16900/20060/21010
          21100/21110/25010/25040/25050/25070 S2%(*)
122/11500/11505/11520/11530/31040 SA%(*)    122/11500/11520/31040/32550 SE$
31040/32560 SH        26040/26050/27020/31110/31111/32315/32555 SL
270/272/4610/4680/8040/9500/9540 SM$(*)    15040 SP
120/14020/14040/32020 SU        11500/11510 SY        4680 SY$       4680 TP
32320/32350/32360 T(*)      310/360/490/3010/3610/3670/7750/8010 UP
7310/7600 V$        250/270/272 V%(*)     135/3390/6510 WA%(*)
7310/7507/7600/31040/32560 WD%(*,*)  32300/32560 WH
4705/4720/4801/4805/4830/25070/26010/27010 WP$(*)    32040/32070/32090/32560
WP%(*)    32040/32090/32300 WT
4040/4140/4220/4230/5040/5050/5150/9100/31052/31100/31110
==========================================================================

Hope this helps all you other Eamonauts...

Message 12
T.ZUCHOWSKI [TomZ] — Thu Aug 20, 1992 at 22:51 EDT

Mark, your variable list was mangled by the insidious GEnie line reformatter, but I am certainly gonna buffer it off. I can use it for my variable article. Thanks! (BTW, when doing lists like that it is best to begin every line with a space so that GEnie will keep its cotton-pickin' hands off of your formatting.)

I am excited about getting you hooked up with the EAG. We can always use another active power user. Eamon can't claim too many right now; we lost a couple to the Dark Side and a couple more are in college. *8-) But I'dbe a lot more excited if you got interested in writing your own adventures! The best Eamons have always been done by people who understood how to get a program to do what they want. It seems like most Eamon programmers are mainly interested in "improving" existing Eamon software. I guess that is because such "improvements" are something that is very easy to do.

Of course, your GraFORTH project won't be easy! And your point is well taken; people hwo enjoy puttering in the code will also probably enjoy obtaining GraFORTH and puttering in it, too. The drawback is that they will have to recognize, find, and obtain GraFORTH. That's the one and only huge advantage of Applesoft: you KNOW that everyone has it! *8-)

Seriously: the most fun that I have EVER had with my Apple was writing my four adventures. I've never done anything else that even came close. I wish I had time to do another. I've got some ideas.....

TomZ

Message 13
P.SCHULZ4 [PhilS] — Tue Nov 01, 1994 at 20:13 EST

Hey, I think Tom's mentioned this in his newsletter some time in the past, but would a compiled language really make that much of a difference? Most well-written Eamon code runs fast enough anyway. WWhat I would like to see is an Eamon that could run off a RAMdisk or something so all of the disk access time would be cut WAY down. (I don't have a RAM expantion card...yet) If I may, there are some other rather advancd things that I've tried and still want to try in Eamons. Once I get the one that I'm working on now finished, I want to do one that is almost totally random: Random in terms of monsters and where they appear, maybe even random room connections (that would make a really insane maze, eh?) Anybody else got any ideas like that?

Message 14
KEN.GAGNE — Thu Nov 03, 1994 at 18:34 EST

maybe even random room connections (that would make a really insane maze

I'd just load up my copy of Rogue for that. :)

-Ken