From nicolas.weeger at laposte.net Sat May 10 04:42:24 2008 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Sat, 10 May 2008 11:42:24 +0200 Subject: [crossfire] Dialog modification Message-ID: <200805101142.28075.nicolas.weeger@laposte.net> Hello. I'd like to improve NPC discussion with the following system: * NPC displays a text * the player has a list of available replies * choosing one reply leads to another text * the player can also enter an arbitrary text The three first things make the dialog much simpler for players. The fourth is to "open" some text only if the player uses the right keywords. Comments and suggestions welcome. Nicolas -- http://nicolas.weeger.org [Petit site d'images, de textes, de code, bref de l'al?atoire !] -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://mailman.metalforge.org/pipermail/crossfire/attachments/20080510/d2cae8e6/attachment.pgp From mwedel at sonic.net Sun May 11 01:21:28 2008 From: mwedel at sonic.net (Mark Wedel) Date: Sat, 10 May 2008 23:21:28 -0700 Subject: [crossfire] Dialog modification In-Reply-To: <200805101142.28075.nicolas.weeger@laposte.net> References: <200805101142.28075.nicolas.weeger@laposte.net> Message-ID: <48269068.9050002@sonic.net> Nicolas Weeger wrote: > Hello. > > I'd like to improve NPC discussion with the following system: > * NPC displays a text > * the player has a list of available replies > * choosing one reply leads to another text > * the player can also enter an arbitrary text Sounds good to me (something I've been wanting for a while). At its simplest, this is really just a map update and a little client support. My quick thoughts: 1) For all the msg/endmsg, add a tag for the replies (like the font, bold, underline, etc that are currently supported in messages). Old clients should just ignore the tags, and smart clients can display them appropriately. I'd think it wouldn't be that hard to write a script to update all the maps - it just has to look at the msg field, look at any @match lines, and then insert the tags into the actual text that the NPC says. 2) The client displays that tag in some special way - something like a hyperlink may make the most sense. If the player clicks on the link, the client can easily enough see what word it was, and then just send a 'say ...' to the server. If for whatever reason, the client can not easily support clicking on the word, just display it in bold or underline would give player enough of a clue and they could manually put in the say. Now you didn't go into much detail, so I'm not sure if you plan a large revamp of the conversation system. There is already the CFDialog plugin which allows more complex conversations - I'm not sure in how many places it is used - it would seem any of those would need to be hand updated. > > The three first things make the dialog much simpler for players. The fourth is > to "open" some text only if the player uses the right keywords. I think the fourth is also needed because some NPCs have multiple paths of conversation, so if you go down one path, with various follow up questions, you want to be able to basically go back and go down the other path. If what I describe above is used (or something similar), then there is no problem with the player going back to a previous message and clicking on some other word to go down that path. However, if something different is planned and the replies are more in scripted fashion, that perhaps get trickier. For example, in my description, a conversation may be like: NPC: I've fought a lot of *goblins* and *orcs* in my time. (player clicks on goblins word, and client send 'say goblins' to server) NPC: goblins are fairly easy to *kill* . And player could go back and click on orcs and things would work. But what looks nicer to the player is something like: NPC: I've fought a lot of goblins and orcs in my time: -> Tell me more about orcs. -> Tell me more about goblins (the -> is to indicate a reply). Player clicks on the goblins line: NPC: goblins are fairly easy to kill. -> How do you kill goblins? This second method is more complicated, but in some ways also nicer, because many NPC's have different words that get the same message, so highlighting all of them could be sort of ugly. But this second method is a bit more complicated - those reply messages have to be coded somehow, and in that second case, unclear how easy it would be (or if even proper) if player went back and clicked on a reply to a previous message. In this second case, it could perhaps be done with tags also, something like: Tell me more about orcsorcs Tell me more about goblinsgoblins Where the reply is a tag used to prompt the players, and the tag is used to tell the client what word to send back to the server. What makes this perhaps slightly more complicated is how easily it is for the different clients to store the say data for the previous messages away, so player can back up. A nice thing about this second method is that it allows for what seems to be more complicated conversations without needing to use the CFDialog, because the say words could sort of act like variables. For example: @match * Are you interested in getting treasure? Yes - I really like treasureyes_treasure @match yes_treasure Are you interested in killing monsters? Yes - I really like to kill monstersyes_monster @match yes_monsters .... Of course, with the actual replies in place, the string of yes replies is not needed, so in most all cases, that wouldn't really be needed. From nicolas.weeger at laposte.net Sun May 11 12:53:32 2008 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Sun, 11 May 2008 19:53:32 +0200 Subject: [crossfire] Dialog modification In-Reply-To: <200805101142.28075.nicolas.weeger@laposte.net> References: <200805101142.28075.nicolas.weeger@laposte.net> Message-ID: <200805111953.38429.nicolas.weeger@laposte.net> Well, I did rewrite a big part of the dialog system. The server will now display a list of possible choices, as defined by the map maker. At some point I'll add either a special message type or some way for the server to send the value/message pairs to the client in a format that can easily be parsed for menu display or such. From doc/Developers/objects: The message structure in a monster may contain: @match |[...] [@reply value message] (multiple possible) [@question value message] (multiple possible) [text] [...] This identifies what the monster will say if talked to with a text that matches any keys. They keys are processed as primitive regular expressions, so some characters act as match operators or metacharacters. The asterisk, caret, square braces, and dollar characters are useful to some degree. The '@reply' and '@question' lines will be sent to the client so the player knows available replies. The 'value' is a text that should correspond to a @match, and 'message' is what the player will actually say when saying the 'value'. If using '@reply', the server will display 'player replies: message', with '@question' it will be 'player asks: message'. Note that the order of @reply and @question is non significant, they can be mixed, and can probably be in the middle of the message's text (though easier to put'em at top). Also, 'value' can't contain spaces. An example of usage: @match hello|hi Welcome, good friend! @match bye Goodbye! @match sss @reply yes Yes, isn't it a shame? @question no No, why? Whasssamatter? You got a lisssp or sssomething? @match yes Sssorry, me too. @match ^no$ You're lucky! @match * What did you sssay? --------------- (note that there is also documentation in doc/Developers/dialog.dox, and you can check out the test/say map) Nicolas -- http://nicolas.weeger.org [Petit site d'images, de textes, de code, bref de l'al?atoire !] -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://mailman.metalforge.org/pipermail/crossfire/attachments/20080511/fcdd0212/attachment.pgp From nicolas.weeger at laposte.net Mon May 12 16:33:44 2008 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Mon, 12 May 2008 23:33:44 +0200 Subject: [crossfire] CFAnim Message-ID: <200805122333.49136.nicolas.weeger@laposte.net> Hello. I've fixed some things from CFAnim, and it seems to work though some actions don't really work. Documentation is in doc/Developers/plugins.doc/cfanim/animfiles.txt or you can glance at the map /test/cfanim and associated scripts (cfanim.button and cfanim.animation) to get a rough idea of how it works. What kind of functions would be nice to have? Of course, the idea is not to do another scripting things, but basic animations. On top of my head: * animation loops * jump to a random animation * time based on NPC's speed and not ticks or seconds * send a custom event (to communicate with other plugins) Nicolas -- http://nicolas.weeger.org [Petit site d'images, de textes, de code, bref de l'al?atoire !] -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://mailman.metalforge.org/pipermail/crossfire/attachments/20080512/791a58cb/attachment.pgp From anmaster at tele2.se Fri May 16 17:11:41 2008 From: anmaster at tele2.se (AnMaster) Date: Sat, 17 May 2008 00:11:41 +0200 Subject: [crossfire] SVN commit access Message-ID: <482E069D.5040301@tele2.se> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Hi, I have recently been getting quite a few patches into svn for the server source (look in trunk ChangeLog for "Arvid Norlander"), and have been considering trying to become a developer, gros, Ryo and Ragnor (iirc) have all indicated this may be a good idea on IRC. So here is the request: commit access to the server source in svn, mostly in order to: 1) Clean up source, fix messy/bad/old source 2) Fix bugs (both security related and otherwise), memory leaks, valgrind errors. 2) Writing unit tests for server (has been requested by Ryo on IRC) I may have occasional bug fix for the gtk based clients too but my main interest is in the server source. Regards, Arvid Norlander -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEAREKAAYFAkguBpsACgkQWmK6ng/aMNnaWQCdF5kSXrsWKhCdZ5XVLE6/HiiT JpkAnjPxdTPmGMp7R8Vw153Zs9569ko0 =ANjo -----END PGP SIGNATURE----- From crossfire at suckfuell.net Sat May 17 10:19:10 2008 From: crossfire at suckfuell.net (Jochen =?ISO-8859-1?Q?Suckf=FCll?=) Date: Sat, 17 May 2008 17:19:10 +0200 Subject: [crossfire] Resistance calculation Message-ID: <20080517171910.1078a714@chox.suckfuell.net> Hello! I would like to suggest a change to the resistance calculation to treat every additional protection and vulnerability relative to the current resistance. Currently, all positive resistances ("protection") are accumulated, and the negative resistances ("vulnerability") separately. Accumulation here means: resist_new = resist_old + (1 - resist_old) * resist_item, where resist_item is the protection item. (This means, the resist_item only applies to the remaining damage that is not absorbed by the other items already in the calculation.) Vulnerabilities are accumulated the same way with a positive resist_item value. The final resistance is the accumulated protection minus the accumulated vulnerability. This has several disadvantages in my opinion, e.g.: * The damage factor from a vulnerability varies extremely, e.g. fire -10 doesn't hurt a newbie without fire protection (resistance 0) not much, but even breaks the fire immunity of a fireborn character. * Characters like the serpentman that start with cold -50 cannot get more than cold 50 even if they had a Cloak of Cold Immunity, since the maximum resistance cannot exceed 100-(accumulated vulnerability value). * In general, even a little vulnerability hurts characters with a high resistance very much and renders the respective items almost unbearable. * Potions have to be treated separately, to overcome the penalty by the vulnerabilities. * The resistance cannot be less than -100, although there is no sane reason for this limit. I suggest to simplify the code and treat every protection or vulnerability the same by applying the accumulation formula above to both positive and negative resistance items. Advantages are: * An item with resist -100 effectively doubles the damage taken, no matter if there was any resistance at all. Immune characters remain immune, a character with resist 30 will end up with resist 60, resist -10 will become resist -120. * That's very intuitive, because the resistance on the item tells exactly how the resulting damage is changed. * We could have spells that reduce a monster's resistance without removing immunities. That adds another tactic element. * Potions can be treated like any other resistance item, e.g. a potion of resist +90 increases resist 20 to resist 92 and resist -100 to resist 80. * We can even have powerful items with resist -1000 (ten times the current damage!) to counter other very positive features, without breaking the balance or making the item unusable. * In general there is a better control over the effects of resistance values on items. This change would make the current vulnerability values less painful: Resist +50 and resist -50 would add up to resist +25. As a rule of thumb, all vulnerability values should be at least doubled to remain as effective as intuition tells us that the current values are. (This probably means that many archetypes have to be fixed, but the task sounds like a script could do that just fine.) The current resistance calculation is implemented in common/living.c:fix_object(). I would volunteer to make the required changes to the trunk version (2.0) if there is a common agreement. Jochen (Brugel/Toarch @ metalforge) From nicolas.weeger at laposte.net Mon May 19 15:40:54 2008 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Mon, 19 May 2008 22:40:54 +0200 Subject: [crossfire] Resistance calculation In-Reply-To: <20080517171910.1078a714@chox.suckfuell.net> References: <20080517171910.1078a714@chox.suckfuell.net> Message-ID: <200805192240.54205.nicolas.weeger@laposte.net> Hello. > I would like to suggest a change to the resistance calculation to treat > every additional protection and vulnerability relative to the current > resistance. > > Currently, all positive resistances ("protection") are accumulated, and > the negative resistances ("vulnerability") separately. (split much) IMO, the negative bonus that you can't overcome is part of the penalty for choosing a race/god. If you could, from -30, reach 100, there would be really no point for the -30 in the first place... There are, I think, enough items to have high resistances everywhere, so that -30 wouldn't matter much. > I suggest to simplify the code and treat every protection or > vulnerability the same by applying the accumulation formula above to > both positive and negative resistance items. Code complexity has nothing to do here :) Code is at the service of features we want, not the other way around unless there is a really good reason - in this case none of those. Nicolas -- http://nicolas.weeger.org [Petit site d'images, de textes, de code, bref de l'al?atoire !] From nicolas.weeger at laposte.net Mon May 19 17:10:57 2008 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Tue, 20 May 2008 00:10:57 +0200 Subject: [crossfire] SVN commit access In-Reply-To: <482E069D.5040301@tele2.se> References: <482E069D.5040301@tele2.se> Message-ID: <200805200011.03888.nicolas.weeger@laposte.net> > I have recently been getting quite a few patches into svn for the server > source (look in trunk ChangeLog for "Arvid Norlander"), and have been > considering trying to become a developer, gros, Ryo and Ragnor (iirc) have > all indicated this may be a good idea on IRC. So here is the request: > commit access to the server source in svn, mostly in order to: 1) Clean up > source, fix messy/bad/old source > 2) Fix bugs (both security related and otherwise), memory leaks, valgrind > errors. 2) Writing unit tests for server (has been requested by Ryo on IRC) > > I may have occasional bug fix for the gtk based clients too but my main > interest is in the server source. Support for SVN access - just don't make big breaking changes without discussion first :) Nicolas -- http://nicolas.weeger.org [Petit site d'images, de textes, de code, bref de l'al?atoire !] -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://mailman.metalforge.org/pipermail/crossfire/attachments/20080520/27c81cee/attachment.pgp From mwedel at sonic.net Mon May 19 23:49:45 2008 From: mwedel at sonic.net (Mark Wedel) Date: Mon, 19 May 2008 21:49:45 -0700 Subject: [crossfire] Resistance calculation In-Reply-To: <20080517171910.1078a714@chox.suckfuell.net> References: <20080517171910.1078a714@chox.suckfuell.net> Message-ID: <48325869.1090401@sonic.net> Jochen Suckf?ll wrote: > * The damage factor from a vulnerability varies extremely, e.g. fire > -10 doesn't hurt a newbie without fire protection (resistance 0) not > much, but even breaks the fire immunity of a fireborn character. > * Characters like the serpentman that start with cold -50 cannot get > more than cold 50 even if they had a Cloak of Cold Immunity, since the > maximum resistance cannot exceed 100-(accumulated vulnerability value). I believe those are intentional. > * In general, even a little vulnerability hurts characters with a high > resistance very much and renders the respective items almost unbearable. > * Potions have to be treated separately, to overcome the penalty by the > vulnerabilities. > * The resistance cannot be less than -100, although there is no > sane reason for this limit. That last point is probably more historical - I think at one point the resistance values where just in an 8 bit integer, limiting range to -127 to +127. And it probably dates back to the days when discrete values didn't exist, but rather something with immune (+100), protected (+50) or vulnerable (-100), and no other values existed. > > > I suggest to simplify the code and treat every protection or > vulnerability the same by applying the accumulation formula above to > both positive and negative resistance items. > > Advantages are: > * An item with resist -100 effectively doubles the damage taken, no > matter if there was any resistance at all. Immune characters remain > immune, a character with resist 30 will end up with resist 60, resist > -10 will become resist -120. > * That's very intuitive, because the resistance on the item tells > exactly how the resulting damage is changed. Not sure I totally agree. It makes more intuitive sense to me that if I have a resist +50 item and a resist -50 item, they balance out to 0. > * We could have spells that reduce a monster's resistance without > removing immunities. That adds another tactic element. That's an interesting idea. I'm not 100% sure that the change is needed for that > * We can even have powerful items with resist -1000 (ten times the > current damage!) to counter other very positive features, without > breaking the balance or making the item unusable. I don't think anything actually prevents a resist -1000 item right now, but such an item is clearly useless or meaningless. Off topic, but given items big negatives to offset the big positives they have may be an overused way to slip good items in the game. Players are smart enough to use the right items at the right time, so all the negatives do is prevent it from being a general object that one uses all the time to an object used at specific times. > * In general there is a better control over the effects of resistance > values on items. Hard to really see how all this plays out. And at a larger level, this all comes down to real damage. If my character has 200 hp, -50 racial fire vulnerability, under current system best protection I could get might be resist fire 40 (suppose I have items to get my positive resistance to 90) If I'm hit with a spell that does 50 points of damage, resist fire 40 means I take 30 points of damage. However, under revised scheme, character would take 15 points of damage, and if didn't have that -50 penalty, would only take 10. 10 vs 15 sounds like a lot, but at 200 hp, not a big deal. 10 vs 40 is a lot, and really makes that resistance a handicap, which is its intention. If the resistance formula is changed, I think a lot of the races/classes may need rebalancing. Also, I haven't finished rebalancing the spells for crossfire trunk, and that will affect things also. I certainly won't finish that before I go on vacation. > The current resistance calculation is implemented in > common/living.c:fix_object(). I would volunteer to make the required > changes to the trunk version (2.0) if there is a common agreement. What you may want to try is put your no formula in, but do it with #ifdef NEW_RESISTANCE or something. That provides an easy way for people to expirement with it and see the impact. One of the things I learned with combat rebalancing is that it was often to just try something out and see what impact it is, vs try to speculate how things will get affected. From crossfire at suckfuell.net Tue May 20 13:32:17 2008 From: crossfire at suckfuell.net (Jochen =?ISO-8859-1?Q?Suckf=FCll?=) Date: Tue, 20 May 2008 20:32:17 +0200 Subject: [crossfire] Resistance calculation In-Reply-To: <200805192240.54205.nicolas.weeger@laposte.net> References: <20080517171910.1078a714@chox.suckfuell.net> <200805192240.54205.nicolas.weeger@laposte.net> Message-ID: <20080520203217.2254e1b3@chox.suckfuell.net> Am Mon, 19 May 2008 22:40:54 +0200 schrieb Nicolas Weeger : > Hello. > > > I would like to suggest a change to the resistance calculation to > > treat every additional protection and vulnerability relative to the > > current resistance. > > > > Currently, all positive resistances ("protection") are accumulated, > > and the negative resistances ("vulnerability") separately. > > (split much) > > IMO, the negative bonus that you can't overcome is part of the > penalty for choosing a race/god. > If you could, from -30, reach 100, there would be really no point for > the -30 in the first place... There are, I think, enough items to > have high resistances everywhere, so that -30 wouldn't matter much. > Currently the following can happen: There are two characters with no race vulnerability, both have a total resistance of 30 (from items). Both apply a ring resist+30. Then one of them has resistance 51, the other comes out with 36. What happened? The first one started out with protection 30 and vulnerability 0, while the second one had a high-level protection of 80, but one item with vulnerability -50. This sounds not very logical to me. Concerning race penalties: Take a fireborn, whose fire immunity evens out the severe penalty of not being able to wear weapons and armour, but is broken by any item that does fire vulnerability. The race immunity should IMO be untouchable. You are right that a race penalty of -30 wouldn't matter that much with the new calculation. That's why that penalty should be increased to 60 or even 100. That would definitely matter, but could still be overcome with protective equipment especially for that attack type. But that would likely render the character less protected against other attack types. One thing that should be avoided though is stacking potion effects. With the new system, potions would just be calculated in as any other resistance value, so their effect should be reduced somewhat. This would then also avoid newbies using potions from high level characters to kill otherwise deadly monsters, because without some additional resistance, that would still hurt. Jochen From nicolas.weeger at laposte.net Tue May 20 16:27:52 2008 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Tue, 20 May 2008 23:27:52 +0200 Subject: [crossfire] CFAnim In-Reply-To: <200805122333.49136.nicolas.weeger@laposte.net> References: <200805122333.49136.nicolas.weeger@laposte.net> Message-ID: <200805202327.55715.nicolas.weeger@laposte.net> I tweaked some more, and it's starting to be usable. The newest feature is the ability to specify the animation to play through the 'message' sent as part of the event. Thus it's possible to group animations in a file, and run only one. Check /test/cfanim and associated .py and .conjurer files to see how it works. And I plan to use that for Navar university, so that'll give more hints. Nicolas -- http://nicolas.weeger.org [Petit site d'images, de textes, de code, bref de l'al?atoire !] -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://mailman.metalforge.org/pipermail/crossfire/attachments/20080520/4d7e2b97/attachment.pgp From nicolas.weeger at laposte.net Tue May 20 17:03:25 2008 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Wed, 21 May 2008 00:03:25 +0200 Subject: [crossfire] CFAnim In-Reply-To: <200805202327.55715.nicolas.weeger@laposte.net> References: <200805122333.49136.nicolas.weeger@laposte.net> <200805202327.55715.nicolas.weeger@laposte.net> Message-ID: <200805210003.29377.nicolas.weeger@laposte.net> I added an 'animation' directory in the maps, the a 'maps' subdirectory - the idea is to have the same structure as for Python. Navar university is now the first map to actually use TWO plugins to work ;) I added the whole "Lorkas" backstory, more as a proof-of-concept than a real use, though it could very well stay here. Nicolas -- http://nicolas.weeger.org [Petit site d'images, de textes, de code, bref de l'al?atoire !] -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://mailman.metalforge.org/pipermail/crossfire/attachments/20080521/cdb1d887/attachment.pgp From crossfire at suckfuell.net Thu May 22 17:40:53 2008 From: crossfire at suckfuell.net (Jochen =?ISO-8859-1?Q?Suckf=FCll?=) Date: Fri, 23 May 2008 00:40:53 +0200 Subject: [crossfire] Resistance calculation In-Reply-To: <20080520205208.47885a2e@chox.suckfuell.net> References: <20080517171910.1078a714@chox.suckfuell.net> <48325869.1090401@sonic.net> <20080520205208.47885a2e@chox.suckfuell.net> Message-ID: <20080523004053.0aa79ff9@chox.suckfuell.net> Jochen Suckf?ll wrote: > > > The current resistance calculation is implemented in > > > common/living.c:fix_object(). I would volunteer to make the > > > required changes to the trunk version (2.0) if there is a common > > > agreement. > > > > What you may want to try is put your no formula in, but do it with > > #ifdef NEW_RESISTANCE or something. That provides an easy way for > > people to expirement with it and see the impact. One of the things > > I learned with combat rebalancing is that it was often to just try > > something out and see what impact it is, vs try to speculate how > > things will get affected. > > > > Good idea, I will see how it works out. The tests on my local server turned out quite well. The potion resistance is now calculated in as any other item resistance. Therefore I have reduced their strength somewhat. This makes them still useful, but without any supportive protection you don't want to go for high level monsters. I have submitted a patch including unit test, and documentation and activation in config.h on sf.net, see patch request ID 1969974. The patch can also be downloaded at: http://suckfuell.net/crossfire/resistance.patch Please include that patch on the trunk (though it should work on the 1.11 branch as well), so others can test the change. I'd appreciate any volunteer testers and comments. Jochen From juhaj at iki.fi Fri May 23 12:06:50 2008 From: juhaj at iki.fi (Juha =?iso-8859-1?q?J=E4ykk=E4?=) Date: Fri, 23 May 2008 20:06:50 +0300 Subject: [crossfire] Resistance calculation In-Reply-To: <20080520203217.2254e1b3@chox.suckfuell.net> References: <20080517171910.1078a714@chox.suckfuell.net> <200805192240.54205.nicolas.weeger@laposte.net> <20080520203217.2254e1b3@chox.suckfuell.net> Message-ID: <200805232006.55367.juhaj@iki.fi> > Both apply a ring resist+30. Then one of them has resistance 51, the > other comes out with 36. What happened? The first one started out with Even though I know how resistances are computed and understand the formula, I have to agree, this is highly confusing for anyone who does not. I second the idea that something is changed about this, but overrall the current system is quite good. The fact that having *any* negative resistance prevents total immunity is good. The fact that using 4 resist fire +25 items does not give 100% resistance is good. But there are problems as well, like the above and: > Concerning race penalties: Take a fireborn, whose fire immunity evens > out the severe penalty of not being able to wear weapons and armour, > but is broken by any item that does fire vulnerability. The race > immunity should IMO be untouchable. I second this, too. At least as long as racial vulnerabilities cannot be totally overcome by items, the immunities should not be changed either (except perhaps by damned items). The proposed spell to lower resistances is a good one, though I wonder what it would do to resist magic +100 creatures? =) With regard to fireborns, btw, I think the immunity to fire should be unbreakable unless some of the limitations are significantly reduced. The fire immunity is about the only thing keeping low level fireborns alive (and quite often high level as well). > One thing that should be avoided though is stacking potion effects. Good point. -Juha -- ----------------------------------------------- | Juha J?ykk?, juolja at utu.fi | | home: http://www.utu.fi/~juolja/ | ----------------------------------------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://mailman.metalforge.org/pipermail/crossfire/attachments/20080523/bb6579d6/attachment.pgp From nicolas.weeger at laposte.net Thu May 29 15:37:38 2008 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Thu, 29 May 2008 22:37:38 +0200 Subject: [crossfire] Things to fix Message-ID: <200805292237.42818.nicolas.weeger@laposte.net> Hello. Here are some things that need fixing IMO. I intend to start some, but I can't do everything alone :) The game is missing lore. Some is on the wiki, but not much is integrated in the game itself. Also, many many maps are missing hints relative to their location or purpose (warrior tower, ...). So we need people to first incorporate the existing lore, then add missing one, into a coherent thing, then add hints to various places or things. Ideally, *all* houses and maps could have a whole story (ok, not a whole quest maybe, but some background). Lore should be in various forms, all more or less "right" according to the "real" story (eg same story from various point of view, various versions, ...). I'd like to expand towns to let's say 5 times their current size. This would enable even more things, and make the scale better IMO. Ideally, the world itself could be much expanded. I'm not sure of the best way to put lore ingame. Currently we have books (random things), NPCs. I added some professors in Navar university, one can tell you a long story about Lorkas if you ask. Things to take into account, IMO, are: one NPC shouldn't know everything of the world, or maybe even all the details of one thing. On the other hand, it can be weird to have exactly all the people you need to learn things... Opinions on how to present lore or on those issues? The combat rebalance needs to be finished. Mark, how can we help you on that? Also, do people have comments about the current hand to hand combat rebalance? Can be seen on the Ailesse servers (one permadeath, the other non permadeath). What about general item/monster fixing/balance? IMO, the best way to progress is "game experience-driven development": develop things because they add stuff to the general ingame atmosphere, not for the sake of it "because it's cool". In the same way, we should avoid the "not invented here" syndrom and try to use existing libraries when they exist. Concerning bugs, IMO the most critical are: - http://sourceforge.net/tracker/index.php?func=detail&aid=1967585&group_id=13833&atid=113833 (unique items on world maps deleted) - http://sourceforge.net/tracker/index.php?func=detail&aid=1936178&group_id=13833&atid=113833 trying to remove removed object causes server crash (tentatively fixed) Others are less critical, and considering our development force for now, they can wait. Ideally, we'd have a "chief mapmaker", a "chief lore", a "chief monster", a "chief combat balance", whatever, so *someone* can decide various points when there is no consensus. Nicolas -- http://nicolas.weeger.org [Petit site d'images, de textes, de code, bref de l'al?atoire !] -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://mailman.metalforge.org/pipermail/crossfire/attachments/20080529/4ec5f5c1/attachment.pgp From yann.chachkoff at myrealbox.com Fri May 30 04:33:51 2008 From: yann.chachkoff at myrealbox.com (Yann Chachkoff) Date: Fri, 30 May 2008 11:33:51 +0200 Subject: [crossfire] Things to fix In-Reply-To: <200805292237.42818.nicolas.weeger@laposte.net> References: <200805292237.42818.nicolas.weeger@laposte.net> Message-ID: <200805301133.58073.yann.chachkoff@myrealbox.com> Le jeudi 29 mai 2008, Nicolas Weeger a ?crit : > Hello. > > Here are some things that need fixing IMO. I intend to start some, but I > can't do everything alone :) > > > The game is missing lore. Some is on the wiki, but not much is integrated > in the game itself. Also, many many maps are missing hints relative to > their location or purpose (warrior tower, ...). > > So we need people to first incorporate the existing lore, then add missing > one, into a coherent thing, then add hints to various places or things. > Ideally, *all* houses and maps could have a whole story (ok, not a whole > quest maybe, but some background). > I'd answer "yes, but with comments" on this one. A lot of places do not really need a "story" - places like pubs, inns or shops often don't require such background for themselves. OTOH, what they always require is a "taste of truth". A shop is technically nothing more than a place where you can buy objects; but in-game-wise, it is a place where people work and try to make it so customers are attracted. To achieve such a result, "utility" maps, or maps that are too "small" should get details that make them more believable: customers passing by in shops; drunk lads causing trouble at night in the pub; and so on. Another small idea: most places are probably not open all the time, or offer different things based on the time of the day - that wouldn't be very hard to implement either, but would make the place more alive. > I'd like to expand towns to let's say 5 times their current size. This > would enable even more things, and make the scale better IMO. > Ideally, the world itself could be much expanded. > I'm not sure of that. If you mean "scenaristic expansion" (more active NPCs, clues - true or false - or dynamic effects that have an impact on the story), then I agree. But if you are speaking of geographic expansion, I'd disagree: IMHO, the main issue is not how small cities are, but how (in)efficiently the available space is used. Or to say it in another way: it is not the number of pages that makes a book good. Besides that, I believe it is easier to not start with huge projects, but rather work with smaller scenaristic chunks and maps, and expand places only step by step, as the need arises. > > I'm not sure of the best way to put lore ingame. Currently we have books > (random things), NPCs. I added some professors in Navar university, one can > tell you a long story about Lorkas if you ask. > Things to take into account, IMO, are: one NPC shouldn't know everything of > the world, or maybe even all the details of one thing. On the other hand, > it can be weird to have exactly all the people you need to learn things... > > Opinions on how to present lore or on those issues? > Two main paths for information diffusion: - Random diffusion, from automatically generated books, artifacts, or NPCs; - Human-implemented, by map-makers. Random lore bits should be managed just like any other item: the rarer they are, the higher the chance for them to be meaningful/important/accurate. With a few dead-end ones, to trap the player, of course: not every legend known has to be true, or lead to a quest. Just because Karis Imaden told you there was a huge treasure hidden in one room of the Scorn's Inn doesn't make it true :). Human-implemented lore should follow the classical rules of scenario writing: enough clues to allow the player to be able to progress through the story, but with a layer of uncertainty/inaccuracy, whose importance depends on the average difficulty level of the quest. The principle of "key objects" one must own to trigger a new clue, or the right action to take at the right moment, should be much more extensively used. Most current NPCs are only working on a keyword/answer paradygm, simply because nothing else was possible; this is no longer the case, and we should thus make full use of the available possibilities. > The combat rebalance needs to be finished. Mark, how can we help you on > that? Also, do people have comments about the current hand to hand combat > rebalance? Can be seen on the Ailesse servers (one permadeath, the other > non > permadeath). > What about general item/monster fixing/balance? > No opinion on this. > IMO, the best way to progress is "game experience-driven development": > develop things because they add stuff to the general ingame atmosphere, not > for the sake of it "because it's cool". In the same way, we should avoid > the "not invented here" syndrom and try to use existing libraries when they > exist. > Again, I'd agree - with caveats. Adding things "because they are cool" is perfectly fine - as long as they allow cool in-game results, and just not because it is technically esthetical. I'd prefer seeing development being driven by the "what kind of game do we want ?" reflexion; the "game experience-driven development" is part of it, but there is more than that - mainly the need for a coherent idea of the game. Else, you end up with a lot of small mechanisms that may be pretty good by themselves, but never really interact with each other. > Concerning bugs, IMO the most critical are: > - > http://sourceforge.net/tracker/index.php?func=detail&aid=1967585&group_id=1 >3833&atid=113833 (unique items on world maps deleted) > - > http://sourceforge.net/tracker/index.php?func=detail&aid=1936178&group_id=1 >3833&atid=113833 trying to remove removed object causes server crash > (tentatively fixed) > > Others are less critical, and considering our development force for now, > they can wait. > No opinion on this. > Ideally, we'd have a "chief mapmaker", a "chief lore", a "chief monster", > a "chief combat balance", whatever, so *someone* can decide various points > when there is no consensus. > What is needed is more coordination and clearer, definite goals, at all stages of the development process. Quoting Mike Capps (Epic Games President): "People use these lofty terms like 'Team Dynamics' and 'Culture'. What this really means is that we want people to work harder than usual, and work hard on the same thing. We want this unity of purpose -- this willingness to sacrifice for this purpose. This doesn't mean sacrificing your family, friends, and life, which is a problem in this industry. What I mean is sacrificing fun stuff for the sake of making the game." ( http://www.gamasutra.com/php-bin/news_index.php?story=16200 ) > > Nicolas -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part. Url : http://mailman.metalforge.org/pipermail/crossfire/attachments/20080530/f71e2900/attachment.pgp From anmaster at tele2.se Fri May 30 12:41:18 2008 From: anmaster at tele2.se (AnMaster) Date: Fri, 30 May 2008 19:41:18 +0200 Subject: [crossfire] Things to fix In-Reply-To: <200805301133.58073.yann.chachkoff@myrealbox.com> References: <200805292237.42818.nicolas.weeger@laposte.net> <200805301133.58073.yann.chachkoff@myrealbox.com> Message-ID: <48403C3E.7070204@tele2.se> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Yann Chachkoff wrote: | Le jeudi 29 mai 2008, Nicolas Weeger a ?crit : |> Hello. |> |> Here are some things that need fixing IMO. I intend to start some, but I |> can't do everything alone :) |> |> |> The game is missing lore. Some is on the wiki, but not much is integrated |> in the game itself. Also, many many maps are missing hints relative to |> their location or purpose (warrior tower, ...). |> |> So we need people to first incorporate the existing lore, then add missing |> one, into a coherent thing, then add hints to various places or things. |> Ideally, *all* houses and maps could have a whole story (ok, not a whole |> quest maybe, but some background). |> | I'd answer "yes, but with comments" on this one. A lot of places do not really | need a "story" - places like pubs, inns or shops often don't require such | background for themselves. | | OTOH, what they always require is a "taste of truth". A shop is technically | nothing more than a place where you can buy objects; but in-game-wise, it is | a place where people work and try to make it so customers are attracted. To | achieve such a result, "utility" maps, or maps that are too "small" should | get details that make them more believable: customers passing by in shops; | drunk lads causing trouble at night in the pub; and so on. | | Another small idea: most places are probably not open all the time, or offer | different things based on the time of the day - that wouldn't be very hard to | implement either, but would make the place more alive. | I agree with Yann Chachkoff. | |> I'd like to expand towns to let's say 5 times their current size. This |> would enable even more things, and make the scale better IMO. |> Ideally, the world itself could be much expanded. |> | I'm not sure of that. If you mean "scenaristic expansion" (more active NPCs, | clues - true or false - or dynamic effects that have an impact on the story), | then I agree. But if you are speaking of geographic expansion, I'd disagree: | IMHO, the main issue is not how small cities are, but how (in)efficiently the | available space is used. | Or to say it in another way: it is not the number of pages that makes a book | good. Besides that, I believe it is easier to not start with huge projects, | but rather work with smaller scenaristic chunks and maps, and expand places | only step by step, as the need arises. Indeed, we need to fill up the current bigworld a bit before we change to a hugeworld, it is mostly empty as it is. More quests out in the wilderness. | |> I'm not sure of the best way to put lore ingame. Currently we have books |> (random things), NPCs. I added some professors in Navar university, one can |> tell you a long story about Lorkas if you ask. |> Things to take into account, IMO, are: one NPC shouldn't know everything of |> the world, or maybe even all the details of one thing. On the other hand, |> it can be weird to have exactly all the people you need to learn things... |> |> Opinions on how to present lore or on those issues? |> | Two main paths for information diffusion: | - Random diffusion, from automatically generated books, artifacts, or NPCs; | - Human-implemented, by map-makers. | | Random lore bits should be managed just like any other item: the rarer they | are, the higher the chance for them to be meaningful/important/accurate. With | a few dead-end ones, to trap the player, of course: not every legend known | has to be true, or lead to a quest. Just because Karis Imaden told you there | was a huge treasure hidden in one room of the Scorn's Inn doesn't make it | true :). | Human-implemented lore should follow the classical rules of scenario writing: | enough clues to allow the player to be able to progress through the story, | but with a layer of uncertainty/inaccuracy, whose importance depends on the | average difficulty level of the quest. The principle of "key objects" one | must own to trigger a new clue, or the right action to take at the right | moment, should be much more extensively used. Most current NPCs are only | working on a keyword/answer paradygm, simply because nothing else was | possible; this is no longer the case, and we should thus make full use of the | available possibilities. I agree. | |> The combat rebalance needs to be finished. Mark, how can we help you on |> that? Also, do people have comments about the current hand to hand combat |> rebalance? Can be seen on the Ailesse servers (one permadeath, the other |> non |> permadeath). |> What about general item/monster fixing/balance? |> | No opinion on this. No opinions on this either. | |> IMO, the best way to progress is "game experience-driven development": |> develop things because they add stuff to the general ingame atmosphere, not |> for the sake of it "because it's cool". In the same way, we should avoid |> the "not invented here" syndrom and try to use existing libraries when they |> exist. |> | Again, I'd agree - with caveats. Adding things "because they are cool" is | perfectly fine - as long as they allow cool in-game results, and just not | because it is technically esthetical. I'd prefer seeing development being | driven by the "what kind of game do we want ?" reflexion; the "game | experience-driven development" is part of it, but there is more than that - | mainly the need for a coherent idea of the game. Else, you end up with a lot | of small mechanisms that may be pretty good by themselves, but never really | interact with each other. Yes I agree, with other caveats: A lot of the code is currently a mess, both maintaining and adding stuff will be easier if someone clean up the worst parts. Also: players can't enjoy the game if the server keeps crashing. It will make new players go somewhere else (yes I agree that in game stuff is also important, but note the word "also"). | |> Concerning bugs, IMO the most critical are: |> - |> http://sourceforge.net/tracker/index.php?func=detail&aid=1967585&group_id=1 |> 3833&atid=113833 (unique items on world maps deleted) The reporter for that bug is unable to provide useful and accurate information on what exactly he means. Also the reporter is insulting developers. I'm sure the issue is important but until there is accurate information on how to reproduce... |> - |> http://sourceforge.net/tracker/index.php?func=detail&aid=1936178&group_id=1 |> 3833&atid=113833 trying to remove removed object causes server crash |> (tentatively fixed) |> |> Others are less critical, and considering our development force for now, |> they can wait. |> | No opinion on this. | |> Ideally, we'd have a "chief mapmaker", a "chief lore", a "chief monster", |> a "chief combat balance", whatever, so *someone* can decide various points |> when there is no consensus. |> | What is needed is more coordination and clearer, definite goals, at all stages | of the development process. Quoting Mike Capps (Epic Games President): | | "People use these lofty terms like 'Team Dynamics' and 'Culture'. What this | really means is that we want people to work harder than usual, and work hard | on the same thing. We want this unity of purpose -- this willingness to | sacrifice for this purpose. This doesn't mean sacrificing your family, | friends, and life, which is a problem in this industry. What I mean is | sacrificing fun stuff for the sake of making the game." | | ( http://www.gamasutra.com/php-bin/news_index.php?story=16200 ) | No opinions on this. |> Nicolas | /Arvid Norlander -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEAREKAAYFAkhAPDwACgkQWmK6ng/aMNlhcgCginMOxVl+8GwV4gjlLaLlaFff 9NMAnAvf1B4i1c5EOPqovS5lsFEbO5do =UOAN -----END PGP SIGNATURE----- From agschult at ucalgary.ca Sat May 31 11:33:08 2008 From: agschult at ucalgary.ca (Alex Schultz) Date: Sat, 31 May 2008 10:33:08 -0600 Subject: [crossfire] Things to fix In-Reply-To: <200805292237.42818.nicolas.weeger@laposte.net> References: <200805292237.42818.nicolas.weeger@laposte.net> Message-ID: <20080531103308.4e141c4a@alzerion> On Thu, 29 May 2008 22:37:38 +0200 Nicolas Weeger wrote: > The game is missing lore. Some is on the wiki, but not much is > integrated in the game itself. Also, many many maps are missing hints > relative to their location or purpose (warrior tower, ...). Yes, though as far as locations, I'm not sure of how to even give hints for some locations. The Warriors Tower for instance, can be found by following the road to the north of scorn to the end of it, then searching in the northeast direction, however the area to the northeast is rather barren and I'm not sure what would be a decent hint for how to find it there. > So we need people to first incorporate the existing lore, then add > missing one, into a coherent thing, then add hints to various places > or things. Ideally, *all* houses and maps could have a whole story > (ok, not a whole quest maybe, but some background). I would say that some places might be slightly excessive to have a 'whole story' with, but for sure very many places need more than there currently is. > I'd like to expand towns to let's say 5 times their current size. > This would enable even more things, and make the scale better IMO. > Ideally, the world itself could be much expanded.an interesting plan It sounds like would be interesting in some ways, however I'm unsure of what would really be solving in terms of player experience to just add more size to towns or bigworld. There's already plenty of cheap real estate in Bigworld :) > I'm not sure of the best way to put lore ingame. Currently we have > books (random things), NPCs. I added some professors in Navar > university, one can tell you a long story about Lorkas if you ask. > Things to take into account, IMO, are: one NPC shouldn't know > everything of the world, or maybe even all the details of one thing. > On the other hand, it can be weird to have exactly all the people you > need to learn things... > > Opinions on how to present lore or on those issues? I'm not entirely sure really in some ways. If it's particularly key lore, maybe we could do more of things almost like "cutscenes" using cfanim or something? Besides that, I don't think there's too much that can be done besides occasional information in > The combat rebalance needs to be finished. Mark, how can we help you > on that? Also, do people have comments about the current hand to hand > combat rebalance? Can be seen on the Ailesse servers (one permadeath, > the other non permadeath). > What about general item/monster fixing/balance? In general my thought about these re-balancing things, is it would be really nice if we had some "reference points" of what we would call balanced. Deciding things like "How long should it take a typical level 10 warrior to kill a typical level 10 monster?" or "How powerful a sword makes sense for a level 10?". Of course, I wouldn't say quantifying and deciding such things is necessarily easy, but I think we should make decisions around the "game experience". As far as combat goes, I think it's mainly about three factors: * How long does it take to kill? * How risky is it to kill? * and how much does it benefit the player to kill? (exp, items, etc.) One thought about the first and second ones, is it might not be too hard to make a calculator for those using a reference set of player files, if we think it might be helpful to be rapidly get a better idea of what a given monster stat change means for the game experience. > IMO, the best way to progress is "game experience-driven > development": develop things because they add stuff to the general > ingame atmosphere, not for the sake of it "because it's cool". In the > same way, we should avoid the "not invented here" syndrom and try to > use existing libraries when they exist. For sure! I'm personally trying to think of that more these days, such as instead of thinking "Ew, the protocol is messy, a rewrite would be nice", thinking of "Well, what in a protocol would improve the game experience?" (that specific case is another topic that I won't go into deeper in this thread) Alex -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 197 bytes Desc: not available Url : http://mailman.metalforge.org/pipermail/crossfire/attachments/20080531/b3ad866d/attachment.pgp From anmaster at tele2.se Sat May 31 16:40:11 2008 From: anmaster at tele2.se (AnMaster) Date: Sat, 31 May 2008 23:40:11 +0200 Subject: [crossfire] FAQ on website needs updating Message-ID: <4841C5BB.9010700@tele2.se> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 http://crossfire.real-time.com/faq/faq.html is very outdated. For example ~ * Refers to CVS not SVN ~ * Says last known version to compile on Linux is 0.89.3. ~ * Says "Please note that ALL linux users must have GTK-dev installed as well as xpmlib!!!." We use PNG nowdays. ~ * Says you start server with "crossfire -server -detach", not correct. The binary is called "crossfire-server" nowdays. ~ * Also talks about 'crossclient -server "server node name"' ~ * Many sections seems to refer to the x11 client. ~ * Needs to mention what port is used for metaserver too. ~ * I think details on how stats work may be outdated but I haven't verified that. ~ * There may be more. Who got access to edit the page? Whoever that is: please update the FAQ. Maybe also migrate it to the wiki? /Arvid Norlander -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEAREKAAYFAkhBxbkACgkQWmK6ng/aMNm7JQCcDEPvM0fPY+ecVYVEtmGbFj5W hiAAnRxXCt4fvDLQpoN3EuAp+o2VGwln =bjJ1 -----END PGP SIGNATURE----- From leaf at real-time.com Sat May 31 18:57:41 2008 From: leaf at real-time.com (Rick Tanner) Date: Sat, 31 May 2008 18:57:41 -0500 Subject: [crossfire] FAQ on website needs updating In-Reply-To: <4841C5BB.9010700@tele2.se> References: <4841C5BB.9010700@tele2.se> Message-ID: <4841E5F5.1050001@real-time.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 AnMaster wrote: > > Who got access to edit the page? I do. > Whoever that is: please update the FAQ. Update the webpage to say what, exactly? Your post lacks clarification and content. ;-) > Maybe also migrate it to the wiki? It is, and has been since Dec-2006. http://wiki.metalforge.net/doku.php/faq -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIQeX1hHyvgBp+vH4RAmFyAJ9IDNrVeOx4CHi1bNluQ8ejG2vnAACgvyQ6 kMu9tEBLnwMZca9xh4xflxk= =Fd3F -----END PGP SIGNATURE-----