|
|
Monsters are players, too!One of the fundamental truths of ADOM is that monsters and players are very different beings. Monsters have a lot less attributes than the player character, they use a different magic system, they will have a different inventory system, they can't (really) pray, they will require special code for used items and so on.This is annoying at best and costs time and efforts at worst. Thus one of the principal approaches of JADE will be to treat monsters and players similar in as many respects as possible: I'm hoping that this will extend so far that the only difference will be some controlling methods and the actual game control (an AI for the monster, the keyboard for the player). This document collects some of my preliminary thoughts on this subject. The basic beingBeings in JADE consist of many factors:
Being).
Now it's very tempting to implement all game effects (potion effects, effects from drinking from pools, effects from praying, weapon damage
effects and so on) but once for both the player and the monster.
Since both player and monster will be made from the same stuff (e.g. have the same traits and the same methods to access them), this should
be trivial except for one problem: during the game texts will be printed to the screen and these texts must be adjusted to both the player and
the monster, preferrably without having to write texts for these two special cases. Thus I right now try to determine whether a simple set of
special symbols for the text messages will be suficient to write messages once. See the proposal below and email me
if you discover a flaw somewhere.
Special symbols for messagesThe set of special symbols has some similarity to what you get in C - to understand the following table it might be helpful to understand a bit of C programming. Otherwise please try to make sense of the examples below the table.For the examples we use the player, the generic goblin, a slime blob and Tara the witch.
For each symbol there also will be a capitalized variant which returns the capitalized text. Each being will have a method called usesThirdPerson to determine whether the text is in third- or first-person. Following each @ tag
there can be a number n (one digit) referring to the nth monster registered as a participant in the message
text.
For the examples the following being and item instances will be used:
Ressource requirementsAs you might guess from the above JADE will be somewhat on the ressource-hungry size. Each being will be made up from a couple of dozen objects (probably 100+ for powerful and/or complex beings). All these beings will have a wide variety of choices at their disposal. Thus you'll need a powerful machine to be able to run JADE. I don't mind for a simple reason: JADE probably will need another five full years to get completed (assuming that we'll survive Y2K) and computers will be a lot more powerful then than they are today. This premise has worked very well for ADOM and I'm hoping that it will work for JADE as well. A saved game might require 10-20 megabytes of memory (even when compressed withgzip compression,
which is trivial to add with Java) and what? The smallest hard disks even today are in the gigabyte range. And memory? Yes, JADE probably
will require at least 128 MB of memory! Again I don't care. My computer right now has that much and slowly the cheapest things you can get have
that much... by the end of the year 128 MB probably will be a low standard and in five years we might be talking about gigabytes of main memory.
Please note that this is not meant to be an excuse for sloppy programming and waste of ressources (I'm not trying to write Windows, mind you),
but if a fun feature requires ressources, the feature will get the ressources.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
More details about this item can be found here: United States, United Kingdom, Canada, Germany.
A complete list of my reading recommendations is available here. |