Re: Re[2]: Aggr mobs - with races added

From: Daniel Koepke (dkoepke@CALIFORNIA.COM)
Date: 08/07/97


On Thu, 7 Aug 1997 angus@EDGIL.CCMAIL.COMPUSERVE.COM wrote:

-+     - welcome back from vaca dan.

Happy to be back.  South-eastern Texas, as far as my "city-boy" point of
view goes, is the seventh circle of Hell.  Of course, I wouldn't want to
offend any south-east Texans (but then again, from those I met, the chances
of meating a SE Texan on the Internet are slim [not to mention in a mailing
list that deals, at least partly, with programming]).

-+     - how about giving all mobs races, having a 2d array that contains the
-+     relations of one race to the other. on a scale of 0 to 10, 0 being
-+     friendly, 10 being aggro, the rest you decide. (make it 1 and 0 and
-+     you can just use bits, 1 vector for each race, but then you can only
-+     have 32 races.)  include both mob and PC races. then you can have the
-+     inhabitants of different parts of the zone at war with each other...
-+     the evil dark dwarves fighting back a incursion from the gem hunting
-+     gnomes and such....  the roo's vs the aboriginies Down Under.  trolls
-+     vs orcs in that merc gang land.  and if you don't want the races in
-+     one zone attacking the other, just make them friendly.  really helpful
-+     for polymorphed chars  :) to save processor, maybe only do the check
-+     on char_to_room.

Hm, it is an interesting idea, and lends itself to some rather interesting
occurances.  I've always found it annoying that the mobile with the best
weapon always dies to a character who gets the best weapon in the game.  An
intelligent design would have more than just characters wanting that best
weapon.  This leads us to having mobiles of the same race (or of allied
races) grouping together and seeking out treasures/armory, and returning
to be a little bit tougher than what they once were.  With the proper amount
of thought, you could achieve these affects with little more than a bit of
C code.

As for the exact implementation of racial hatred, I think a 2D array would
only permit Dwarves to hate one race, or Orcs to only hate one race.  While
this might be true in some cases, other cases have it different.  An army
of humans and an army of dwarves prepare to attack one anoter, when an
army of wood elves march up to attack both, and then an army of Orcs march
up to attack all three, and finally some eagles come to the rescue (sound
familiar to anyone? :).

It might serve it's purpose better as a NUM_RACES*NUM_RACES array:

  bool racial_hatred[NUM_RACES][NUM_RACES] = {
                 /* Hum    Elf    Dwa    Orc   Eag */
    /* humans */ { false, false, true , true, false },
    .
    .
    .
    .
  };

[Hey, get this, I think that's the first C code I've written in 2 months!
Well actuall, because I'm using lowercase false/true constants and the bool
type, it's closer to C++, but anyway :P]


--
Daniel Koepke -:- dkoepke@california.com -:-  [Shadowlord/Nether]
Dance in the darkness, bleeding rage, crying with inhumanity, and
kindle the flames of passion, cold inferno of the shadow creeping


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/08/00 PST