[DGD]Melville
Mikael Lind
z94lind at mtek.chalmers.se
Mon Jul 31 11:02:16 CEST 2000
Quoting Darius AMJ from 15:13, July 30, 2000:
> [...]
>
> P.S. has anyone actually hand coded a good combat
> system (player vs player or player vs monster) on
> DGD before? If it's unresonable, let me know.
> In the meanwhile, I'll be hacking. :)
I haven't completed such a thing but I have started on a couple of
combat systems earlier and am now working on one that seems
promising. The concepts explained below aren't all implemented yet
and are thus likely to be tweaked as I see how they work out. Several
parts are still missing.
I'm aiming for a semi-complex combat system with a few strong base
concepts.
[A monster is an active being that may be player-controlled.]
- Damage types. Every attack is of a certain damage type, including
slash, crush, sting, heat, cold, shock and so on. Different
armours are good for absorbing different damage types. Monsters
may be invulnerable to certain types of damage.
- Equipment slots. Monsters have a set of equipment slots of
different sizes (tiny, small, medium, large or huge). For
instance, a centaur would have this set of slots:
NAME AMOUNT SIZE
weapon 1 medium
shield 1 medium
amulet 1 medium
bracelet 2 medium
ring 10 medium
helmet 1 medium
neck-guard 1 medium
armor 1 medium
gloves 1 medium
bracers 1 medium
horse blanket 1 large
horse leggings 1 large
horse shoes 1 large
Equipment pieces (weapons, armour pieces and jewels) also
define slots and will occupy the monster's equipment slots as
the pieces are equipped. For instance, a two-handed weapon would
occupy the weapon slot and shield slot; a pair of gauntlets would
occupy the gloves slot and the bracers slot. Sizes must match.
(I don't consider the equipment slot system to be a major
improvement compared to 2.4.5's armor slots.)
- Time slots. Most actions take time to perform. (Movement does
not.) This is handled in the following way: If a monster takes an
action and it has finished its previous action, then the new
one takes place immediately. The time span required for the
action is reserved after the point in time of the action.
Additional actions are queued up and each take place as the time
span of the previous action ends.
If all actions are finished and the monster is in combat, it
will automatically do a combat action. (Usually taking a swing at
its opponent.) Yes, this means that sweeping that healing potion
will cause you to miss 1.3 attacks or something like that.
Time spans are affected by the monster's speed, which for
instance means that monsters will attack with different time
intervals.
I did a test implementation of the time slot system and it seemed to
work out fine. Oh, you need a version of DGD that allows call-outs
with millisecond precision. (Actually, what you really need is about
0.1 second precision. Whole seconds are just too rough.)
// Mikael (Elemel)
List config page: http://list.imaginary.com/mailman/listinfo/dgd
More information about the DGD
mailing list