From nicolas.weeger at laposte.net Fri May 1 03:54:01 2020 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Fri, 01 May 2020 10:54:01 +0200 Subject: [crossfire] Various adjustments Message-ID: <11114288.YyaIKn0iTy@gros> Hello. Been playing some lately, and I noticed a few things I'd like to change. I think the following commands should be made DM-only, if needed adding the player to affect: - fix_me - forget_spell - printlos Moving in diagonals should cost more than moving horizontally or vertically ; ok, that one is potentially a major change, but it makes it faster to move in zigzags than plainly straight... "usekeys" should by default be set to "containers". It has the potential to confuse new players who activate a sack but don't know that command (or should that be totally removed and keys used automatically anyway?) Best regards Nicolas From nicolas.weeger at laposte.net Fri May 1 04:01:50 2020 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Fri, 01 May 2020 11:01:50 +0200 Subject: [crossfire] Monsters balance Message-ID: <2139111.OYDCqDyScF@gros> Hello. Monsters balance (and game balance in general) is a big topic obviously :) I think right now monsters aren't really balanced, with big gaps in terms of difficulty (how long it takes to kill them, how dangerous they are for players) versus experience they give versus rewards they provide, and such. So I was thinking along the idea of making monsters more like players in terms levels. Basically: for various "types" of monsters, define a level 1 prototype, and leveling rules. Then using that generate monsters of various levels. For instance, with totally random numbers that would need to be adjusted :) For undead, decide that zombies are level 1, with eg 4 hp, dam 2, they give 100 exp. For each undead level, add 3 hp, 1.5 dam, 2 armour, and 500 exp. If ghosts are level 5, then they have approximately 16 hp, dam 8, armour 8, giving 2100 exp. Of course this wouldn't be a hard rule, it could be changed and altered, but it could make monsters more interesting. It also doesn't take into account armour/weapons/spells, or hp regeneration, of course. Exp itself is a big topic too. It really depends on how many monsters we want players to kill to level up. Should it be a zillion monsters? A few hundred of around the same level? Could one or 2 really though give enough exp to level up? Those are just random thoughts, but I wanted to share them :) Best regards Nicolas From mwedel at sonic.net Fri May 1 23:39:39 2020 From: mwedel at sonic.net (Mark Wedel) Date: Fri, 1 May 2020 21:39:39 -0700 Subject: [crossfire] Monsters balance In-Reply-To: <2139111.OYDCqDyScF@gros> References: <2139111.OYDCqDyScF@gros> Message-ID: On 5/1/20 2:01 AM, Nicolas Weeger wrote: > Hello. > > > Monsters balance (and game balance in general) is a big topic obviously :) > > > I think right now monsters aren't really balanced, with big gaps in terms of > difficulty (how long it takes to kill them, how dangerous they are for players) > versus experience they give versus rewards they provide, and such. Totally true. I tried to balance them somewhat at one point, but it is a big task, and hard to get right. Also, because some monsters have vulnerabilities, they still become easy to kill if the players know to use the right spell/weapon against them. > So I was thinking along the idea of making monsters more like players in terms > levels. > > > Basically: for various "types" of monsters, define a level 1 prototype, and > leveling rules. Then using that generate monsters of various levels. > > > > For instance, with totally random numbers that would need to be adjusted :) > > For undead, decide that zombies are level 1, with eg 4 hp, dam 2, they give > 100 exp. For each undead level, add 3 hp, 1.5 dam, 2 armour, and 500 exp. > > If ghosts are level 5, then they have approximately 16 hp, dam 8, armour 8, > giving 2100 exp. > > > Of course this wouldn't be a hard rule, it could be changed and altered, but > it could make monsters more interesting. > > It also doesn't take into account armour/weapons/spells, or hp regeneration, > of course. I always sort of thoughts that if you say monster level should be roughly equal to player level (though maybe not, so you tend to have swarms of monsters in crossfire), you would want things like HP to be on par, eg, a level 5 monster should have roughly same HP as level 5 player. My thought for that is things like spell effects - PvP was really deadly (or getting caught in a friendly spell if that was enabled) because monsters used to have lots more HP the players, so spells had to do a lot of damage to be useful. But it then meant if the monsters had the same spell, it killed players. > > > Exp itself is a big topic too. It really depends on how many monsters we want > players to kill to level up. Should it be a zillion monsters? A few hundred of > around the same level? Could one or 2 really though give enough exp to level > up? The fact is that there tends to be lots of monsters piled in the game. While it may make sense for there to be fewer monsters vs swarms you just kill by the dozens as you run through them or hit them with spells, changing all the maps to reflect that is a big change. Rather than monsters, it may be better to think about time to do so. Is 30 minutes/level (up to some level, like 20) a reasonable time? So it takes 10 hours to get to level 20? Then you start looking at how fast you kill them, etc. It could make some sense that for dungeons, most of the trash monsters are worth very little experience, but the final end monster is worth a lot - more than it should be worth from a pure monster perspective, but that basis is more of 'this is the reward for getting to the end'. And one can then make a better guess on how long it would take a player of the appropriate level to get to that point. From mwedel at sonic.net Fri May 1 23:29:04 2020 From: mwedel at sonic.net (Mark Wedel) Date: Fri, 1 May 2020 21:29:04 -0700 Subject: [crossfire] Various adjustments In-Reply-To: <11114288.YyaIKn0iTy@gros> References: <11114288.YyaIKn0iTy@gros> Message-ID: <26721ea4-db60-18ee-2bbc-b04f35ae70cf@sonic.net> On 5/1/20 1:54 AM, Nicolas Weeger wrote: > Hello. > > Been playing some lately, and I noticed a few things I'd like to change. > > > I think the following commands should be made DM-only, if needed adding the > player to affect: > - fix_me > - forget_spell > - printlos I think the rationale for forget_spell is that if players learned a spell they don't want to know for some reason, they should be able to forget it. But I'm not quite sure why they would want to (try to keep the spell list shorter). But I imagine it could be used for abuse - forget spells that you fine spellbooks for, so that you can re-learn the spell and get exp? Other ones seem reasonable. > > > Moving in diagonals should cost more than moving horizontally or vertically ; > ok, that one is potentially a major change, but it makes it faster to move in > zigzags than plainly straight... It shouldn't be faster to move in zigzags than straight - you are covering more distance, but going NE, NW, NE, NW, NE, NW should not get you due north any faster than if you just did N, N, N, N, ... The one danger I can think about changing this is if it affects other things, like spells. This could first of all perhaps result in odd spell propogation (may depend on the spells, though I think in most cases the spell just moves to next space and ignores any cost to do so). But this could cause odd effects to the players trying to move out. For example, a character may be able to outrun a spell effect if they are heading due north and the spell is also heading due north, but may not be able to outrun it if they head NE (since each space is costing more movement) if the spell can also move NE without that extra cost. I'm not really sure, but something to think about/investigate. From nkipps at gmail.com Mon May 4 12:48:38 2020 From: nkipps at gmail.com (Nathaniel Kipps) Date: Mon, 4 May 2020 13:48:38 -0400 Subject: [crossfire] Various adjustments In-Reply-To: <11114288.YyaIKn0iTy@gros> References: <11114288.YyaIKn0iTy@gros> Message-ID: I understand the issue with diagonals, and I agree it seems like a rather hard problem. In any case, I don't think the current state is a serious or exploitable issue, as long as future map and code development acknowledges the inconsistencies. --Nathan On Fri, May 1, 2020 at 5:01 AM Nicolas Weeger wrote: > Moving in diagonals should cost more than moving horizontally or vertically ; > ok, that one is potentially a major change, but it makes it faster to move in > zigzags than plainly straight... From leaf at real-time.com Fri May 8 11:15:30 2020 From: leaf at real-time.com (Rick Tanner) Date: Fri, 8 May 2020 11:15:30 -0500 Subject: [crossfire] Various adjustments In-Reply-To: <11114288.YyaIKn0iTy@gros> References: <11114288.YyaIKn0iTy@gros> Message-ID: I see no help file exists for fix_me, but I found this in the ChangeLog: fix_me command added - basically just calls the fixme function. Can be useful if you that your characters weight is for some reason incorrect. Another commit added "Add sum_weight() call to fix_me command so that players weight is properly recalculated" Looks to me that fix_me should remain accessible to players? As for forget_spell - I have heard from players they use that to keep their spell list short, or to get rid of low level spells (i.e., cause light wounds when they have cause critical wounds) that are no longer used. Otherwise, I am not sure why one would use this command. >From my testing, forget_spell was available as a player. It is listed as a dm_command though on the wiki and as best as I can tell should be a DM only ability? lib/wizhelp/forget_spell With regards to printlos command. Looks like this was moved out of DM commands to player commands in Mar-2010. Looks to be useful for testing lighting code. Not sure if and how a player in game would use or find this useful? From kevinz5000 at gmail.com Fri May 8 13:41:39 2020 From: kevinz5000 at gmail.com (Kevin Zheng) Date: Fri, 8 May 2020 11:41:39 -0700 Subject: [crossfire] Various adjustments In-Reply-To: References: <11114288.YyaIKn0iTy@gros> Message-ID: On 5/8/20 9:15 AM, Rick Tanner wrote: > I see no help file exists for fix_me, but I found this in the ChangeLog: > > fix_me command added - basically just calls the fixme function. Can be > useful if you that your characters weight is for some reason incorrect. > Another commit added "Add sum_weight() call to fix_me command so that > players weight is properly recalculated" > > Looks to me that fix_me should remain accessible to players? I agree. Ideally, we would not need a fix_me command, but until all the bugs are squashed, I think this should be available to players. > As for forget_spell - I have heard from players they use that to keep > their spell list short, or to get rid of low level spells (i.e., cause > light wounds when they have cause critical wounds) that are no longer > used. Otherwise, I am not sure why one would use this command. > > From my testing, forget_spell was available as a player. It is listed as > a dm_command though on the wiki and as best as I can tell should be a DM > only ability? lib/wizhelp/forget_spell I added this command. I initially designed it for DM's (as an undo for learn_spell), but agree that it's useful to players. I'm not sure if this could be abused; you could repeatedly learn and unlearn low-level spells. But what would that give you? -- Kevin Zheng kevinz5000 at gmail.com | kevinz at berkeley.edu XMPP: kevinz at eecs.berkeley.edu From robert at timetraveller.org Fri May 8 23:38:46 2020 From: robert at timetraveller.org (Robert Brockway) Date: Sat, 9 May 2020 14:38:46 +1000 (AEST) Subject: [crossfire] The problem with Valkyrie Message-ID: Hi all. Let me start with a story. Throth is a troll barbarian. He had humble beginnings. He was illiterate and had learning difficulties. All he knew how to do was hit things real hard. As time went on Throth became smarter and wiser. Eventually he learnt to read. As one would expect this opened up a world of new opportunities. Throth dabbled in various cults, following Gnarg and Ruggilli for a while, before eventually committing himself wholly to Valkyrie, blessed lady of hitting stuff really hard. Throth became wealthy and experienced with many battles under his belt. There was a problem though. Throth had found a powerful rod that banished Valkyries enemies. When his first was destroyed he sought another. Eventually he held two rods, each more powerful than the original. And with them he could smite the enemies of his goddess, righteously. The problem though was that almost all of Throth's experience is now in use magic item. He's actually not that good with a sword. He's 96th level overall, 95th level in use magic item and and 33rd in one handed weapon, his highest melee skill level. It's also fair to say that this is really not in keeping with the style of Valkyrie that was probably intended, but given the wide range of enemies available it is almost inevitable. This has bothered me for a while so I've changed Valkyrie on my server. I've allowed followers of Valkyrie the Turning path only. I intend to block their access to rods, staves and wands but that isn't working right now. I've set can_use_range 0 in the Object Valkyrie archtype but it isn't getting inherited when a test character converts to Valkyrie as I thought it would. I am a few months behind head on SVN so will update and retest. Anyway the main point I want to make is that I think this will make Valkyrie more interesting and playable and should broadly gel with the idea of the goddess. And this would leave Throth high in praying which seems better for a follower of Valkyrie than use magic item. Naturally magic weapons, armour, rings and amulets are still allowed. Valkyrie isn't crazy. I am planning a few other changes and will be opening up my server soon so people can try them. Rob From kevinz5000 at gmail.com Sat May 9 00:29:30 2020 From: kevinz5000 at gmail.com (Kevin Zheng) Date: Fri, 8 May 2020 22:29:30 -0700 Subject: [crossfire] The problem with Valkyrie In-Reply-To: References: Message-ID: <24eaad74-0610-cc00-0e68-01a76180c3ae@gmail.com> On 5/8/20 9:38 PM, Robert Brockway wrote: > This has bothered me for a while so I've changed Valkyrie on my server. > I've allowed followers of Valkyrie the Turning path only.  I intend to > block their access to rods, staves and wands but that isn't working > right now.  I've set can_use_range 0 in the Object Valkyrie archtype but > it isn't getting inherited when a test character converts to Valkyrie as > I thought it would.  I am a few months behind head on SVN so will update > and retest. Allowing only the turning path doesn't block non-turning magic items, correct? Weapon restrictions aren't new and if I remember correctly, work for other gods. If you'd like, I can take help you take a look at why can_use_range isn't being copied correctly. Another possibility is that can_use_range is actually copied, but just not respected when inside a 'force' object. You could check this by opening the player file in a text editor. Let me know if you'd like some help taking a whack at this. Regards, Kevin P.S. I appreciated the story! -- Kevin Zheng kevinz5000 at gmail.com | kevinz at berkeley.edu XMPP: kevinz at eecs.berkeley.edu From robert at timetraveller.org Sat May 9 00:52:08 2020 From: robert at timetraveller.org (Robert Brockway) Date: Sat, 9 May 2020 15:52:08 +1000 (AEST) Subject: [crossfire] The problem with Valkyrie In-Reply-To: <24eaad74-0610-cc00-0e68-01a76180c3ae@gmail.com> References: <24eaad74-0610-cc00-0e68-01a76180c3ae@gmail.com> Message-ID: On Fri, 8 May 2020, Kevin Zheng wrote: > Allowing only the turning path doesn't block non-turning magic items, > correct? Exactly. > Weapon restrictions aren't new and if I remember correctly, work for > other gods. If you'd like, I can take help you take a look at why > can_use_range isn't being copied correctly. Great thanks. > Another possibility is that can_use_range is actually copied, but just > not respected when inside a 'force' object. You could check this by > opening the player file in a text editor. I've examined the character file directly. It had: can_use_rod 0 can_use_range 1 This is an old character. I don't even know when can_use_rod would have got in there. I'm going to try the experiment with a different character. > Let me know if you'd like some help taking a whack at this. Definitely thanks. I'll follow up privately. > Regards, > Kevin > > P.S. I appreciated the story! :) Cheers, Rob From kevinz5000 at gmail.com Sat May 9 01:43:43 2020 From: kevinz5000 at gmail.com (Kevin Zheng) Date: Fri, 8 May 2020 23:43:43 -0700 Subject: [crossfire] The problem with Valkyrie In-Reply-To: References: <24eaad74-0610-cc00-0e68-01a76180c3ae@gmail.com> Message-ID: Some initial investigation reveals that can_use_range, can_use_bow, and can_use_ring have not applied to player characters since July 2002, with the introduction of body parts for player characters. If any of these flags are set for players, they are not honored nor saved. can_use_weapon, can_use_shield, and can_use_armour continue to be used for deity weapon restrictions. I'm currently exploring the least painful way to resurrect can_use_range without leaving a large portion of the population unable to use wands and rods. Regards, Kevin -- Kevin Zheng kevinz5000 at gmail.com | kevinz at berkeley.edu XMPP: kevinz at eecs.berkeley.edu From nicolas.weeger at laposte.net Sat May 9 12:36:27 2020 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Sat, 09 May 2020 19:36:27 +0200 Subject: [crossfire] Monsters balance In-Reply-To: References: <2139111.OYDCqDyScF@gros> Message-ID: <1726539.Dlc3Il5g09@gros> Hello. > Totally true. I tried to balance them somewhat at one point, but it is a > big task, and hard to get right. Also, because some monsters have > vulnerabilities, they still become easy to kill if the players know to use > the right spell/weapon against them. But that's also part of the fun, IMO. > I always sort of thoughts that if you say monster level should be roughly > equal to player level (though maybe not, so you tend to have swarms of > monsters in crossfire), you would want things like HP to be on par, eg, a > level 5 monster should have roughly same HP as level 5 player. Yes, that's an option. > The fact is that there tends to be lots of monsters piled in the game. > While it may make sense for there to be fewer monsters vs swarms you just > kill by the dozens as you run through them or hit them with spells, > changing all the maps to reflect that is a big change. I never said it'd be a small change :) > Rather than monsters, it may be better to think about time to do so. Is > 30 minutes/level (up to some level, like 20) a reasonable time? So it > takes 10 hours to get to level 20? Then you start looking at how fast you > kill them, etc. That really depends on the kind of game we want, though. If we want 30m per level, we'd also need enough maps of the good level, with correct monsters... But then, we could also consider the aim of the game is exploring the world, leveling up being a side-effect... > It could make some sense that for dungeons, most of the trash monsters are > worth very little experience, but the final end monster is worth a lot - > more than it should be worth from a pure monster perspective, but that > basis is more of 'this is the reward for getting to the end'. And one can > then make a better guess on how long it would take a player of the > appropriate level to get to that point. True, another important balance choice... Best regards Nicolas -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 195 bytes Desc: This is a digitally signed message part. URL: From mwedel at sonic.net Sat May 9 19:52:31 2020 From: mwedel at sonic.net (Mark Wedel) Date: Sat, 9 May 2020 17:52:31 -0700 Subject: [crossfire] Various adjustments In-Reply-To: References: <11114288.YyaIKn0iTy@gros> Message-ID: <3f423ae7-e794-d3e7-25c4-8d15412f9955@sonic.net> On 5/8/20 11:41 AM, Kevin Zheng wrote: > On 5/8/20 9:15 AM, Rick Tanner wrote: >> I see no help file exists for fix_me, but I found this in the ChangeLog: >> >> fix_me command added - basically just calls the fixme function. Can be >> useful if you that your characters weight is for some reason incorrect. >> Another commit added "Add sum_weight() call to fix_me command so that >> players weight is properly recalculated" >> >> Looks to me that fix_me should remain accessible to players? > > I agree. Ideally, we would not need a fix_me command, but until all the > bugs are squashed, I think this should be available to players. IIRC, main issue is when picking up or dropping lots of stuff, and I suspect there is probably some interaction with containers that reduce weight of things inside of it. fix_me (which maybe should really be called fix_weight?) has to go through every item in the players inventory to calculate things correctly. As such, if player has tons of stuff, it is not most efficient, though this was probably more an issue when computers were much slower and fix_me took a measurable amount of time. And I think some of the issue is one wouldn't want to call this function everytime an item is picked up or dropped, because if someone is doing a dropall or has pickup mode all on, this could get called hundreds of times in one tick. It might be interesting to measure how long it takes now on a character with lots of items to run this. One thought is to just call this every Xth tick or something if it is sufficiently fast on current hardware. > >> As for forget_spell - I have heard from players they use that to keep >> their spell list short, or to get rid of low level spells (i.e., cause >> light wounds when they have cause critical wounds) that are no longer >> used. Otherwise, I am not sure why one would use this command. >> >> From my testing, forget_spell was available as a player. It is listed as >> a dm_command though on the wiki and as best as I can tell should be a DM >> only ability? lib/wizhelp/forget_spell > > I added this command. I initially designed it for DM's (as an undo for > learn_spell), but agree that it's useful to players. > > I'm not sure if this could be abused; you could repeatedly learn and > unlearn low-level spells. But what would that give you? I thought you got literacy experience each time you learned a spell (though could be mis remembering). As such, anytime you found a spellbook, if you already knew the spell, you forget it, and then re-learn it from the spellbook you found, gaining a little more literacy experience. I'm not sure if that is really an abuse, though if that is intended (or lack of better term), probably some better interface to do that would be desired - an option to read (consume) the book for some amount of experience if you already know the spell. From robert at timetraveller.org Sun May 10 05:53:16 2020 From: robert at timetraveller.org (Robert Brockway) Date: Sun, 10 May 2020 20:53:16 +1000 (AEST) Subject: [crossfire] The problem with Valkyrie In-Reply-To: References: <24eaad74-0610-cc00-0e68-01a76180c3ae@gmail.com> Message-ID: On Fri, 8 May 2020, Kevin Zheng wrote: > I'm currently exploring the least painful way to resurrect can_use_range > without leaving a large portion of the population unable to use wands > and rods. Fantastic thanks. Anyone with can_use_range=1 in the character file would presumably be safe right? Cheers, Rob From kevinz5000 at gmail.com Sun May 10 13:30:00 2020 From: kevinz5000 at gmail.com (Kevin Zheng) Date: Sun, 10 May 2020 11:30:00 -0700 Subject: [crossfire] The problem with Valkyrie In-Reply-To: References: <24eaad74-0610-cc00-0e68-01a76180c3ae@gmail.com> Message-ID: <59bcba80-8400-a7f8-6193-b8a02ad3955b@gmail.com> On 5/10/20 3:53 AM, Robert Brockway wrote: > On Fri, 8 May 2020, Kevin Zheng wrote: > >> I'm currently exploring the least painful way to resurrect can_use_range >> without leaving a large portion of the population unable to use wands >> and rods. > > Fantastic thanks.  Anyone with can_use_range=1 in the character file > would presumably be safe right? Right, but the real trick is to make sure that existing characters don't suddenly lose the ability to use wands and rods. I think the right thing to do might just be to set can_use_range for all player archs (in arch/player), just like can_use_weapon and can_use_shield, and then make the code changes to support using can_use_range again. Regards, Kevin -- Kevin Zheng kevinz5000 at gmail.com | kevinz at berkeley.edu XMPP: kevinz at eecs.berkeley.edu From robert at timetraveller.org Mon May 11 01:55:35 2020 From: robert at timetraveller.org (Robert Brockway) Date: Mon, 11 May 2020 16:55:35 +1000 (AEST) Subject: [crossfire] Monsters balance In-Reply-To: <1726539.Dlc3Il5g09@gros> References: <2139111.OYDCqDyScF@gros> <1726539.Dlc3Il5g09@gros> Message-ID: On Sat, 9 May 2020, Nicolas Weeger wrote: > Hello. > > > >> Totally true. I tried to balance them somewhat at one point, but it is a >> big task, and hard to get right. Also, because some monsters have >> vulnerabilities, they still become easy to kill if the players know to use >> the right spell/weapon against them. > > But that's also part of the fun, IMO. Exactly. That's not a bug, that's a feature! FWIW I don't think 'balance' matters in the way some people argue it matters. In early D&D (for example) classes needed to be balanced because most people played regularly as part of an ensemble team and in most cases people wouldn't choose classes that would clearly disadvantage them relative to other players. But in Crossfire most play is solo and even on multi-player servers people don't usually adventure with the same group all the time. If they are going to team up then it's probably in an adhoc fashion depending on who is on. Also, unlike a single D&D group the players (PCs) may be of significantly different levels. In the case of Crossfire I propose that it doesn't matter as much if some races or classes are better than others. New players will gravitate towards the easier options. More experienced players may choose a harder option for the challenge or just because it is exotic. Unlike D&D we also have a 'stable' of characters so we don't have to commit fully to an unusual class/race choice either. The fact that maps and monsters are highly variable in Crossfire and that even high level character are going to get plastered if they go up against the wrong monsters is part of the charm of Crossfire IMHO. Rob