Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Rhyme and Reason behing the game... (artefacts and player killings)



Excerpts from games.Crossfire: 12-Sep-94 Re: Rhyme and Reason behin..
Mark Wedel@rahul.net (3362)

>  Player killing is one example.  If a player is moving quickly and
> runs into another player, somethng should happen.  I take the peaceful
> flag to make accidental deaths less likely.  However, even that has
> some flaws.  How would the character know that some creatuer is
> unagressive or friendly?  However, with the peaceful flag, that knowledge
> is apparant.

Personally, this is Yet Another Thing I Have An Opinion On! :-)
(YATIHAOO!!!!, the famous war cry)
[Hope you don't mind the sudden influx of my rambling rabbiting
loquacity, but I've had a week of little compute-power to think about
all sorts of useful, work-related things.  I.e. crossfire ideas.]

Isn't it time to add in alignment of some sort to the game? Rather than
a simplistic toggled flag to say if they are going to attack you or not.
Admittedly, with a more complex system, some quests may be more
interesting: how to get the skeleton to open the door for you if all he
wants to do is kill you on sight..., but this is a problem which can be
adjusted easily, I think.  As the only time peaceful/aggressive is
looked at is in determining how a monster moves/attacks, it makes it
easy to change the code at the moment (and means that the new system
should be pretty all-encompassing, as it may not be so easy to replace
later): instead of "if (monster->peaceful)", a quick calculation can be
done based on the individuals involved (e.g. compare alignments of the
two characters.  If radically different, then attack, else ignore). 

I've been thinking about adding this into the game, and my current idea
is that alignment should be based as follows:
there are three "poles" of alignment: 
1) good/lawful: characters don't kill other good characters/monsters.
2) evil: characters kill everyone they see, but are less likely to kill
other evil characters
3) chaotic: characters do whatever they want to.

You also have a second parameter which defines the magnitude of a
creatures alignment (this is getting very similar to polar geometry),
ranging from (MINIMAL to TOTAL).

So, how to use this system:
--------------------

When player does anything, call enforce_alignment() to amplify the
alignment of whatever the act they were doing.  For example, if a good
player kills an evil player, then you'd want to enforce the goodness of
the good player.  As every act as an equal/opposite reaction, this would
automatically detract the same amount from the opposite alignment. 
Different acts have different amounts of effect, this is the magnitude
parameter.  So, killing a very high level evil character would cause a
very large magnitude change in your alignment.  I like the idea that
someone who's been busy killing all of the other players finds himself
attacked by the guards on entering the bank! How do you tell how other
characters are aligned: by the way they act and the way they look (at
some point in the future, change the color of the players dependent on
their alignment). Of course, monsters, etc will *know* you're alignment,
because they've heard the rumours about you...

What immediate changes does this system give you?
--------------------

Firstly, some maps become broken, as as soon as the player enters the
map and activates it, the different monsters notice they're living with
radically different alignment creatures and start killing each other
off!  However, this isn't neccessarily a bad thing: it'll get the really
weird maps fixed and it might make people create more sensible maps in
the future.

Secondly, monsters behave slightly more erratically: it's possible that
you might walk into a room and all of the denizens to ignore you, since
you're of the same alignment, whereas before they'd attack you on sight.
 Or the monsters which might have ignored you before, as they were
marked as peaceful, might start ripping your guts out. HoHum.

What's the benefit of it then?
-----------------

It allows us to create a more varied range of monsters: not just hack
and slay things everywhere.  You can have all sorts of good creatures:
unicorns, faeries (good/chaotic), horses, dogs (not wild dogs, which are
bad), cats (Good/Chaotic), etc.  

Allows the spells to take on more power: summon pet, charm monster, etc:
e.g. a charm monster spell may just cause monsters to change their
alignment to match yours: become peaceful to you, rather than pets.  Or
the alignment shift may be only partial...

It allows you to play a bad character if you want (this has been asked
of me...).  A particular example which made me start thinking of all
this is the necromancer class: a class with very low charisma and
typical evil alignment.  Very good at spellpaths related to the dead. 
Have the ability to revive as zombie/vampire/various things when killed
(only after a certain level).  However, a pretty pointless class unless
you have a concept of "good" and "bad" in the game.

So, whady'a think?
Nick Williams, Systems Architecture Research Centre, City University, 
London, EC1V 0HB.  UK.

Web: http://web.cs.city.ac.uk/finger?njw
E-mail: njw@cs.city.ac.uk (MIME and ATK)
Work Telephone: +44 71 477 8551
Work Fax: +44 71 477 8587