ttr1415@helios.TAMU.EDU (Thom Robertson) (06/04/91)
For quite a while it has been clear to me that, in the area of adventure games, it can be quite fun to transport adventure characters from one whole adventure to another. The commercial games Wizardry and Bard's Tale come readily to mind. I also had the pleasure of playing a set of public-domain text adventures on the Apple II many moons ago which let you use the same character in all (mainly because the author published his code, which everyone else just gutted and re-worked for thier own adventures). This phenomenon of share-ability, if you will, is not currently embraced by the popular public-domain games (such as Moria, Hack, or the various Multi-User Dungeon Systems that are out there) and I must ask, why not? This post is intended to express my views on such a system for the express purpose of generating creative thought and productive debate on the subject. Down the road, I would love for the resultant adventure definition to become a standard, with enough ready-made code and utilities that public-domain and share-ware adventure games become easier to write and thus more prolific. No Flame-wars, people, please. I realise that we are all an individualistic bunch, using different computers, languages, and operating systems. I also realise that any standard, by definition, will be limiting to somebody. However, take a moment to consider my points, and if you can think of a better way (which you can, I'm nobody's genius), post it. For want of a better name, I propose to call this standard G.A.S. for Generic Adventure System (again, if you can do better, please post and say so). First off, this standard is mainly concerned with the file format of an adventure character. The format will be intimately tied to the combat system, money system, and other facets of adventure gaming, BUT I'm sure people can create very different adventure games using the same underlying code dealing with how a character interacts w/ the environment. So, Stats: We could go with a standard D&D-like system: Strength 3-18 Intelligence 3-18 Dexterity 3-18 Wisdom 3-18 Constitution 3-18 Charisma 3-18 However, I have several gripes. First, it's been done to death. Second, I don't think it's a very good definition of what is basically a reality- simulation. Any D&D player will admit that the system is not only time- worn, but also extremely arbitrary. We could do the bit of defining some simple, encompassing stats, like: Strength 1-100 Intelligence 1-100 Dexterity 1-100 and also defining 20-40 skills, such as: Archery Knife fighting 1-100 Sword fighting 1-100 Lock picking 1-100 Praying 1-100 Fast talking 1-100 etc. This would result in a bigger character file, and it too is arbitrary. What if we finalize the standard, and then someone wants to write an adventure with motorcycles in it, and we didn't define a motorcycle skill? What is the programmer to do? Use the Horseback-Riding skill? IMHO, we should go with the simple basic stats, like: Strength 1-100 Intelligence 1-100 Dexterity 1-100 but confine our skill definitions to combat and possibly magic and thieving skills. All other circumstances would be left up to the individual adventure. Advancement: I accept as an axiom that most of the fun of adventure games is in gaining levels, and then goin' out and killing that monster who kicked your ass when you were lowly first level. The G.A.S. standard should definitely have rigid rules about how a character advances, at what rate, with changes in what stats. This is, of course, so that someone doesn't inadvertantly create an adventure into which players can shove a first-level character, and Zappo! Two hours later they're 23rd level! There's not really any way to protect against this if someone wants to do it, of course, but peer pressure can keep such instances to a minimum, and it's no fun anyway... Also, most adventure games do what I will call Character Maintenance in the town or city. This is good, because we can write a generic piece of town code which advances the character, lets him or her buy and sell stuff, and do loads and saves. This code would be one of the first generic, freely- used pieces of code which would need to be written, and it should probably be written as both a stand-alone program, and as a routine which programmers can insert into their adventure code. Combat: I figure the G.A.S. standard can tell programmers what damage a character does to an armored orc with a broadsword, but it can't get much more specific. After all, what about combat between parties of characters and monsters? Where does magic come in? Encumbrance? Speed? I don't have any hard and fast ideas for the combat system, but the brain-work I've done on it so far tells me that it is quite complex, and though it will be tough to hammer out, the resultant generic code will be a god-send to prospective adventure programmers. Monsters: Should be simple, until we get into the issue of monsters w/ projectile weapons and/or magic spells. In fact, I think the magic system is going to be the toughest part of G.A.S. to hammer out. Should we have a Magician class? Let every character use magic to some degree? Different schools of magic? Spells? Should we let characters carry spells from one adventure to another? How would this be done? The issue of magic is a thorny one, and I admit I don't have very many good ideas on this subject. Money: Simple enough. We just establish guidelines, and hope nobody steps outside of them. Object Suggested Retail Value (in Gold Pieces? Credits? What?) dagger 10 sword 100 Platemail 1000 magic +1 sword 5000 healing potion 100 etc. Ya know, one game system I came across didn't let characters keep weapons and armor they possessed. You were forced to sell everything at the end of an adventure, and buy what you needed at the beginning of the next. I don't think much of this, but if it's the only way... Object Language: Here's a wacky idea. Magical and special purpose items and spells could be defined by a fragment of interpreted code, which would be saved in the character file. This would be tough to do, but could potentially be the most powerful way of defining objects, allowing a character to transport almost anything between adventures. I like this idea, but it wouldn't be easy. Portability: I think of G.A.S. as being completely platform-independant, and I don't see why we can't have it that way. I would love (in the future) to transfer my character from my Amiga to an IBM just so I can play the latest, greatest G.A.S.-compatible IBM adventure, which isn't available for the Amiga, or vice-versa. Taking it even farther, why can't someone make a MUD (multi- user dungeon) which is G.A.S. compatible? How about versions of Moria, Hack, etc. that are G.A.S. compatible? One small problem: how should we handle the fact that some will create Science Fiction adventures, others will do Fantasy? Do we let a character bring a phaser into Middle Earth? Should we leave this up to the individual adventure? Perhaps every object could have a flag, marking it as appropriate for one style or the other, and then filtering objectionable objects out at load-time. Legalistics: I lay no proprietary claims to this G.A.S. concept. However, I would like to see the concept, standard, and basic code remain in the public domain. HOWEVER, I don't see any problem with share-ware or even commercial code which uses the standard (and thus the code, or a version of it), as long as the person or company selling the product doesn't lay claim to the G.A.S. concept or generic code. Think of it. There could, in the future, be tons of public domain G.A.S. adventures out there, capped off by several professionally-done commercial games, all sharing the same characters. What a happy camper I would be! Thanks for taking the time to read this overly long post. I am open to responses by posting or by E-mailing directly to me at: ttr1415@helios.tamu.edu Hoping to hear from everyone, Thom Robertson "I'm just this guy, you know?"