adonthell-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Adonthell-devel] Re: Re: Creature IDs


From: Kai Sterker
Subject: [Adonthell-devel] Re: Re: Creature IDs
Date: Tue, 11 Jul 2006 13:09:54 +0200

On 7/10/06, Andrew Phillips <address@hidden> wrote:

I don't know how it would work, exactly, but I'll toss something out:

A creature or npc is created. As a part of the creation, a character
level is assigned, based on the overall difficulty level of the game
as a whole and the specific area of the map the character spawns to.
For each level assigned, the engine awards and spends AP in a set
fashion.

That sounds nice. I know that in Oblivion it is somehow based on the
player's level, which isn't too good an indication. (Especially if a
player boosted non-combat attributes, levelled creatures will be hard
to beat).

Making the levelling location-based will avoid this problem, because
at some point, players will have an high enough level to "safely"
enter certain locations.


For example, a level 5 black bear has 15 AP:
The engine knows that black bears can only boost Hardness and Strength,
so it spends 6 AP on Hardness, 6 AP on strength, and "flips a coin" to
decide whether to spend the last 3 AP on a HA or an ST boost.
Alternately, each set of 3 AP could be randomly assigned this way to
provide greater variety among the creatures.

So this would be some of the information required by a creature
template. Some sort of weight that tells an auto-level-mechanism which
attributes to level how much. We could possibly combine this with a
random component, so that for example 2/3 AP will be distributed
according to the predefined weights, while the rest will be
distributed randomly.

Which brings me to a topic I had in mind for quite some time, but
hadn't really mentioned before. I think, all
attributes/properties/skills etc. should not be stored as plain data
types, but we should have a class that encapsulates one attribute/...
with all the information that belongs to that attribute. Information
to store would include:

* name of the attribute
* current (base) value of the attribute
* caps for the attribute (min, max values)
* modifiers to the current value (from spell effects, damage, potions,
diseases, ...)
* weight (as described above)
* AP cost for level-up
* ... (possibly even more)

A little problem I see with that approach is that the information
above has different scopes. Some is valid for all attributes of same
type, other is valid for all creatures of same type and the rest is
valid only for individual creatures/characters. This is mainly a
problem of editing these values, so we'd need some logic for this in
charedit.

Also, there might be slight differences between attributes,
properties, abilities and skills that need to be taken care of.

However, if all these issues could be resolved and cast into a nice
object-model, we should already have a big part of our stat system in
place.

Kai




reply via email to

[Prev in Thread] Current Thread [Next in Thread]