Re: [crossfire] Materials

2011-06-29 Thread Nicolas Weeger
Hello.


Considering the global response, I've removed that code, and associated data 
from the file (but leaving extended material in case someone wants to have fun 
with it).

Regards

Nicolas
-- 
Mon p'tit coin du web - http://nicolas.weeger.org


signature.asc
Description: This is a digitally signed message part.
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Materials

2011-06-27 Thread Mark Wedel

On 06/26/11 05:28 AM, Nicolas Weeger wrote:

Hello.


In the code is support for NEW_MATERIAL_CODE.


Enabling it randomizes the material for many items, leading to proliferation
of items with different materials and properties (more damage to weapons,
different resistances, and such).


Material support is half-written for multiple combinations (iron + paper for
instance), but not totally everywhere.


I wonder whether to enable that (extended material) support by default and fix
issues, or totally remove it.


 Leaf did pretty well summarize the issues, but there was another annoyance I 
found with it:


 For most items, the material made very minor difference.  So following on 
Leaf's example, no only would you have 6 different boots of speed (instead of 
them stacking), but save for maybe 1 point of resistance here or there, or one 
being a little bit lighter, they were all basically the same.


 So you got a lot of inventory clutter for very little gain.  And the way the 
code work, it would find something of 'iron', and then randomize the material 
for all the things that could be iron.  Some materials might make a difference 
for armor, but not weapons, and vice versa, but the material code itself had no 
way to restrict that. so you would have 6 times of metal armor, with maybe only 
one or 2 of the materials being different enough to really care about.


 So I would say that the material logic could be removed.  If one was to 
improve it, these are my thoughts:


1) Make it more like the artifact code, where one can restrict it to different 
items.  Thus, a yew bow may be really good, so you would find normal wood bows 
and the better yew bows, but wouldn't find pine, spruce, etc.  OTOH, this starts 
to look like just another stack of item bonuses, and is it worth it to do it via 
material instead of just making some bows better and in the description say they 
are made from yew?


2) Ability to regionalize materials.  It might make perfect sense in the area 
far to the north where only pine trees grow that the vast majority of wooden 
items would be pine, in a jungle area, bamboo, etc.  That would sort of 
eliminate some of the stacking problem - since you would typically do your 
adventuring within an area and then go to the shop to sell at once, most of your 
items would be made from the same local material.  But even then, I would have 
to ask if the changing of materials really gains that much?


___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


[crossfire] Materials

2011-06-26 Thread Nicolas Weeger
Hello.


In the code is support for NEW_MATERIAL_CODE.


Enabling it randomizes the material for many items, leading to proliferation 
of items with different materials and properties (more damage to weapons, 
different resistances, and such).


Material support is half-written for multiple combinations (iron + paper for 
instance), but not totally everywhere.


I wonder whether to enable that (extended material) support by default and fix 
issues, or totally remove it.


What do you think?



Regards


Nicolas
-- 
Mon p'tit coin du web - http://nicolas.weeger.org


signature.asc
Description: This is a digitally signed message part.
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Materials

2011-06-26 Thread Rick Tanner
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


 I wonder whether to enable that (extended material) support by default and 
 fix 
 issues, or totally remove it.
 
 What do you think?

What I found to be irritating about the material code was it made
inventory management much more annoying.

Specific example was Boots of speed. Instead of have (let's say..) a
stack of 6 boots, you would see all individual boots because they were
all made of different material (leather, snakeskin, etc.)

So, only way to see that items were made of different materials is to
have them show up individually in your inventory or item stack.

On a side note..

As I recall, the intent of the original author was to deploy a questing
system where a NPC would ask for something like a gold dagger and then
the player would provide that to get a new item request (i.e., granite
stone axe.)

I personally liked such a concept, but not enough to really want to
endure the issues it causes and mentioned above.

So, unless some new ways to deploys this can come together, I would vote
for removing this feature.





-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iD8DBQFOB4avhHyvgBp+vH4RArETAKCN1W9+ZiR6VWXgm4Bt3cmmeIPb+QCeImjl
Af5fojNj+3v76pqBiveExnA=
=V+4Z
-END PGP SIGNATURE-
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Materials

2011-06-26 Thread Kevin Bulgrien
Rick pretty well summarized my feelings on the matter... nice concept in theory 
if unintended side rffects on stacking etc. were dealt with, but that seems a 
big challenge considering current game mechanics and what not.

Rick Tanner l...@real-time.com wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


 I wonder whether to enable that (extended material) support by default and 
 fix 
 issues, or totally remove it.
 
 What do you think?

What I found to be irritating about the material code was it made
inventory management much more annoying.

Specific example was Boots of speed. Instead of have (let's say..) a
stack of 6 boots, you would see all individual boots because they were
all made of different material (leather, snakeskin, etc.)

So, only way to see that items were made of different materials is to
have them show up individually in your inventory or item stack.

On a side note..

As I recall, the intent of the original author was to deploy a questing
system where a NPC would ask for something like a gold dagger and then
the player would provide that to get a new item request (i.e., granite
stone axe.)

I personally liked such a concept, but not enough to really want to
endure the issues it causes and mentioned above.

So, unless some new ways to deploys this can come together, I would vote
for removing this feature.





-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iD8DBQFOB4avhHyvgBp+vH4RArETAKCN1W9+ZiR6VWXgm4Bt3cmmeIPb+QCeImjl
Af5fojNj+3v76pqBiveExnA=
=V+4Z
-END PGP SIGNATURE-
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Materials

2007-07-06 Thread Andreas Kirschbaum
Nicolas Weeger wrote:
 Le samedi 09 juin 2007 23:49, Lalo Martins a écrit :
  what about... keep materialname and lib/materials, and kill the
  material field?

 Err, can't for now, Gridarta (which is hopefully the official editor
 doesn't handle this materialname field :)

This should be no argument if it is just that one field is missing: adding (or
changing or removing) a field to/from Gridarta is a simple change. That is, if
you decide on which way to go, I can update the editor in no time.


Andreas

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


[crossfire] Materials

2007-06-09 Thread Nicolas Weeger
Hello.

I'd dug some in the material code, and it is quite messy. But I'm not sure how 
to fix/change it.

Here is how it works.

Material is used for saving throws against attacktypes (against fire, 
ice, ...).
When NEW_MATERIAL_CODE is defined, material will also affect an item's 
resistances, damage, speed, wc, ac.

There are 2 related fields, material which is a bitmask and materialname 
which is a string.

lib/materials contains a list of materials, first regular materials (which 
all got neutral resistances / modifiers), then special ones (with special 
resistances / modifiers).
Each material type (metal, dragonscale, ...) corresponds to a type, check 
include/material.h (M_xxx) for their values.

If materialname is NULL, it is initialized with a material 
matching material's bitmask.
When NEW_MATERIAL_CODE  is defined, this material incarnation is chosen 
randomly based on map's difficulty and item's magic (thus having a material 
of 2 can translate to iron, silver, gold, lead, steel, ...).
When NEW_MATERIAL_CODE is not set, the first matching material is used (thus 2 
will always do iron).

materialname is used when doing saving throws, pointing to the material's 
intrinsic resistances. It is also used when describing the item - thus gold 
coins have a it is made of: gold even when its material value is 2 (iron) 
in the archetype. Consequently also, gold coins will use the 'gold' values 
for saving throws.


There are some issues with the current implementation:
* when NEW_MATERIAL_CODE  is defined, objects have modified resistances / 
stats based on their material and also random materials, thus leading to 
massive non merging things
* materialname only reflects one material - if I set material 3 in the 
archetypes, it will only be paper, not paper and iron. This also 
influences the saving throw, which will only be paper, not iron.
* if material name is set to a special value (paper and glass - anything not 
listed in lib/materials), the item is then indestructible.
* material is effectively useless when materialname is set, even to 
an invalid value


So the plan is obviously to fix multi material handling - and for instance use 
a random material for saving throws, the hit can be on a random part of the 
item.
Keeping specific saving throws seems logical, since gold doesn't behave like 
iron for instance (but they got the same material value, 2).


The 2 things I'm wondering whether to keep (and maybe enable?) or remove 
totally are:
* random material choice if not set.
* resistances / stats modifier


Activating this could lead to more random items, and interesting combinations. 
Current eg resistance modifiers in the lib/material aren't that important 
(around -5 to 5), but could add variety to items.
On the other hand, it would introduce quite many different items, non merging, 
things like that.


If I were to decide right now (but that may change), I'd probably keep/enable 
modifiers and random materials. But I would link that to loot diminution, 
ie reduce the junk players find. Thus less items, but more varied. I would 
also add materials with higher modifiers and penalties (eg: +20 fire, -20 
cold - you get a bracers of that type, keep it?). And maybe even add other 
modifiers (reduce/increase hp regen, ...)
Of course, that would mean more time required to sort/test all the junk :)


Nicolas
-- 
http://nicolas.weeger.free.fr [Petit site d'images, de textes, de code, bref 
de l'aléatoire !]


pgpmVSYJZ2OVJ.pgp
Description: PGP signature
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Materials

2007-06-09 Thread Mark Wedel
Nicolas Weeger wrote:
 Hello.
 
 I'd dug some in the material code, and it is quite messy. But I'm not sure 
 how 
 to fix/change it.
 
 Here is how it works.
 
 Material is used for saving throws against attacktypes (against fire, 
 ice, ...).
 When NEW_MATERIAL_CODE is defined, material will also affect an item's 
 resistances, damage, speed, wc, ac.
 
 There are 2 related fields, material which is a bitmask and materialname 
 which is a string.

  Yes - the bitmask is the old/original code, and materialname came later as a 
more flexible material system.

 
 lib/materials contains a list of materials, first regular materials (which 
 all got neutral resistances / modifiers), then special ones (with special 
 resistances / modifiers).
 Each material type (metal, dragonscale, ...) corresponds to a type, check 
 include/material.h (M_xxx) for their values.
 
 If materialname is NULL, it is initialized with a material 
 matching material's bitmask.
 When NEW_MATERIAL_CODE  is defined, this material incarnation is chosen 
 randomly based on map's difficulty and item's magic (thus having a material 
 of 2 can translate to iron, silver, gold, lead, steel, ...).
 When NEW_MATERIAL_CODE is not set, the first matching material is used (thus 
 2 
 will always do iron).

  Yes - the reason this was added is that having a huge number of different 
materials really got annoying.  Instead of having say 6 shortswords non merging 
shortswords like you do now if you clear out a dungeon (those six being 
different in some way - a couple may be cursed, 1 would be normal, a few 
magical 
of different ways, etc), you'd have like 20, because in addition to those 6 
types above, you'd get bronze, steel, iron, etc.  And so now you got really 
long 
list of items and it just proved more annoying.

 
 So the plan is obviously to fix multi material handling - and for instance 
 use 
 a random material for saving throws, the hit can be on a random part of the 
 item.
 Keeping specific saving throws seems logical, since gold doesn't behave like 
 iron for instance (but they got the same material value, 2).
 
 
 The 2 things I'm wondering whether to keep (and maybe enable?) or remove 
 totally are:
 * random material choice if not set.
 * resistances / stats modifier
 
 
 Activating this could lead to more random items, and interesting 
 combinations. 
 Current eg resistance modifiers in the lib/material aren't that important 
 (around -5 to 5), but could add variety to items.
 On the other hand, it would introduce quite many different items, non 
 merging, 
 things like that.

  Which is why in most cases it is turned off.

  I think different materials are interesting, but I also think some better for 
of what gets created is needed.  Having a pine arrow and oak arrow is fine, but 
if the only difference is that the pine arrow is 5 grams lighter, who really 
cares - in that case, it becomes a bother.  And that is generally what is was 
with the material system in place.  A problem is that material can apply to 
everything - thus, anything made of iron could now become made of any of the 
'metal like' materials - that is fine in one way, but for some items, it makes 
no effective difference, because the adjustments don't apply (a material that 
gives extra armor benefit I believe has no effect if applied to an item that 
doesn't have any armor value in the first place, like a sword).


  I think in the past there was some thought to basically add material 
transmutation into the artifacts file, since that does provide a good level of 
control.  Thus, you could limit it to things that make sense (that steel sword 
does 1 more point of damage than that iron one).  Doing that in itself isn't 
hard - I think the slightly harder part was some logic about having it be too 
pass or reentrant was need - you should be able to get a steel sword of 
lythander for example, but right now, the artifact processing will only do one 
artifact type.

  IT may be to do something like this in the material file - similar format 
(which is nice - you can then dictate what steel armor gives vs steel weapons) 
- 
it could perhaps even use the same parsing/naming structure, as well as odds, 
but put the data into a seperate array.  So basically, it does a treasure. 
First, it calls the material code to see if it should change material, and 
after 
that (regardless of any change), it then calls normal artifact processing.


___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire