Wesband, MP dungeon-crawler (now for Wesnoth 1.9.14+ !)

Discussion of all aspects of multiplayer development: unit balancing, map development, server development, and so forth.

Moderator: Forum Moderators

Post Reply
Brian_A
Posts: 29
Joined: December 12th, 2010, 5:01 pm
Location: Baltimore, MD

Re: Wesband 0.6.1, improved inventory management

Post by Brian_A »

Sapient wrote:
zaimoni wrote:Actually, XP-farming in Angband and variants requires breeders; there is no experience for merely wounding a monster.
Sounds like you found a possible solution right there. Take away attack XP and give only kill XP.

However, if you look at the popularity of the Survival Extreme games on the server, where units acquire ridiculously inflated stats that render them nigh invincible, I think you will find that this is a popular play style for some people. Is that an example of farming XP? Close enough.
It seems a bit much to stop a single corner-case by removing the entire reason to work with someone else (the earning of XP simply for fighting).

Guys - if you don't like farming, agree on a definition and then agree up front that no one in your MP game will farm. If someone breaks that rule, then don't play MP games with them.
zaimoni
Posts: 281
Joined: January 27th, 2005, 7:00 am
Location: Linn Valley, KS U.S.A.
Contact:

Re: Wesband 0.6.1, improved inventory management

Post by zaimoni »

Brian_A wrote:Guys - if you don't like farming, agree on a definition and then agree up front that no one in your MP game will farm. If someone breaks that rule, then don't play MP games with them.
Precisely.
zaimoni
Posts: 281
Joined: January 27th, 2005, 7:00 am
Location: Linn Valley, KS U.S.A.
Contact:

Re: Wesband 0.6.1, improved inventory management

Post by zaimoni »

zaimoni wrote:Hitting two errors with "four dwarves and four white mages"

Code: Select all

UnitConstruction.lua:391: arithmetic on a string value error
* Happens on level creation only
* in local function move_cost_modifer which is called only to bootstrap the local variable "values".

I didn't see anything outlandish in the incoming parameter values. If I were to look at this further, I'd be seeing why get_p was returning a string value instead of a numeric value.
This is making dark elves a pushover: several of their units with ranged-cold attacks in earlier versions no longer have them. [Their other significant damage types are blade and pierce, which are useless against heavy armor fighters at their depth currently.]

Also, I'm not confident about how to locally patch this until a release comes out.
Exasperation
Posts: 462
Joined: June 8th, 2006, 3:25 am

Re: Wesband 0.6.1, improved inventory management

Post by Exasperation »

@zaimoni: Well, since 1.9.10 is out (and has started the feature freeze for 1.10), I've started to port Wesband over to the new version, so it might be a bit before the next update is ready. That said, if you don't want to wait for that, attached are the files changed pre-1.9 conversion.
wbtemp.zip
(41.41 KiB) Downloaded 260 times
As for the exp farming issue, I already said the following:
hopefully when we get around to balance adjustments, we'll be able to balance the risk vs. reward of farming xp with weak attacks; until then, just play whichever way you feel is more fun
To elaborate a little: I don't want to make it impossible to farm xp, because I don't believe that there should be a mandatory "right way" to play. However, I do feel that if you go into fights deliberately playing to not win the fight, there should be at least some chance of actually losing the fight.
The discussion of tweaking kill xp vs combat xp got me thinking; what if, after every n combats that an enemy participates in, its level went down by one (without decreasing its stats). Then there would be a finite amount of xp that could be milked from any enemy without letting it level, and letting it level would give diminishing returns for effort vs. gain.

Regarding some of the specific balance complaints brought up in the discussion:
-I agree that the armor system needs some overhauling, but I'm still thinking about the best way to do it. Just adding a flat resistance cap would exacerbate some of the other issues the current armor system has.
-I have noticed that some of the units (staplers, the mushroom line) tend to get overly powerful very quickly, while some of the others (mainly some of the human types?) don't tend to increase in power quickly enough, and I'll have to do something about that.
-I'll look at berserk, and maybe give it some additional bonus to make it more of an upgrade.
zaimoni
Posts: 281
Joined: January 27th, 2005, 7:00 am
Location: Linn Valley, KS U.S.A.
Contact:

Re: Wesband 0.6.1, improved inventory management

Post by zaimoni »

Exasperation wrote:Regarding some of the specific balance complaints brought up in the discussion:
-....
-I have noticed that some of the units (staplers, the mushroom line) tend to get overly powerful very quickly, while some of the others (mainly some of the human types?) don't tend to increase in power quickly enough, and I'll have to do something about that.
I'm guessing that the following pose a noticeable risk of death in one turn, no advance warning:
* L6 Stapler (DL12 or lower)
* L5 Spectre (DL12 or lower)
* Entrance ambush by a pack of mudcrawlers led by an L4 covering the one exit out.
* Entrance ambush by a pack of mushrooms led by an L3 covering the one exit out.

An isolated L6 earth elemental only looks bad.

The danger curve increases sharply from DL9 to DL13.
Exasperation wrote:-I'll look at berserk, and maybe give it some additional bonus to make it more of an upgrade.
I'd be happy if Berserk was modified to be "an interesting option". The doubling of defending melee duration means that effective hitpoints are halved when doing defending melee chance-to-kill calculations, so Berserk makes the adventurer unusable for a fighting withdrawal. At the moment I'd only take Berserk as a role-playing option, as "extra-strength Rage" doesn't matter that much when Rage is already giving 99%+ kill rates half of the time on offense.
User avatar
Xudo
Posts: 563
Joined: April 3rd, 2009, 5:26 pm

Re: Wesband 0.6.1, improved inventory management

Post by Xudo »

Other piece of feedback :) Currently, if enemy eventually die, it drop some loot at it's position. It means that icons of each item placed on map. Despite the fact, that there are some graphic glitches, it produce lag when other enemy "picks" this loot.

I rewrite WBD_COMMAND_MANAGE_INVENTORY macro and add some comments. It works like the previous one, but produces much less code after the preprocessor analysis (now ~400 strings instead of ~800). I can say that performance has improved. :)
Spoiler:
Last edited by Xudo on November 14th, 2011, 2:08 am, edited 1 time in total.
Mabuse
Posts: 2327
Joined: November 6th, 2007, 1:38 pm

Re: Wesband 0.6.1, improved inventory management

Post by Mabuse »

Sapient wrote: However, if you look at the popularity of the Survival Extreme games on the server, where units acquire ridiculously inflated stats that render them nigh invincible, I think you will find that this is a popular play style for some people. Is that an example of farming XP? Close enough.

i can only speak about SXRPG here, and it might be a bit OT
(since it is maintained by me, so i know about the balance) but:

bad example.
the increased stats are part of the SX balance.
units in SX are nowhere even near being invincible.
(also, stats (starting gold) in SXRPG depend on player number (ye less ye more) which may support the impression of invincible units. but you still have to fight everything alone. it might be a bit easier on solo though .. but i get lost in details here)

btw, the "magic" how it is possible that you are not invincible with increased ("ridiculously inflated") stats is: the "enemies" also have increased ("ridiculously inflated") stats. increasing players and enemies strengh over time is part of the sx gamestyle.

also, there are different enemy types in SX. "creeps" and "bosses".
a single creep is no match for the player. this is intended.

you can say "no thanks i dont play SX because i dont like high stats".
then i cannot make a senseful reply on that "argument" since you are just expressing your personal preference, which is your god given right. but nothing to debate about.

the popularity of SX has other reasons.
still, the number of good players is limited.


conclusion:
---------------

"increased stats" != "game-exploit"
The best bet is your own, good Taste.
User avatar
Xudo
Posts: 563
Joined: April 3rd, 2009, 5:26 pm

Re: Wesband 0.6.1, improved inventory management

Post by Xudo »

I rewrite CREATE_EXITS and WBD_CHANGE_LEVEL macroses. They do same, but produces less code after the preprocessor analysis. Again. =)
Spoiler:
It seems that the Wesband author considers macros as functions while they are not. It leads to things like:

Code: Select all

foo = 0;
if(foo == 0)
    { /*code #1*/}
else
    { /*code #2*/}
foo = 1;
if(foo == 0)
    { /*code #1*/}
else
    {/*code #2*/}
While it should look like

Code: Select all

/*code #1*/
/*code #2*/
Exasperation
Posts: 462
Joined: June 8th, 2006, 3:25 am

Re: Wesband 0.6.1, improved inventory management

Post by Exasperation »

@xudojnik: The thing to understand about that is that Wesband has been around for a pretty long time. When it was started (using BfW 1.4, I believe), WML wasn't as fully featured as it is now (no [fire_event], no [insert_tag], no [endlevel], no "$()" formula evaluation, no Lua, etc.), and Wesband has grown considerably in size and complexity since then. So a lot of things have been replaced in bits and pieces over the years (often by people other than the ones that wrote the original code), leaving lots of legacy structure behind, and some other things may still be unchanged from the earlier versions, even though there are now better ways to do them.
My recent rewrite of some of the larger chunks of WML in Lua was done mainly for the same reasons as what you're doing here, and I appreciate the effort you're putting in.
That said, you might want to ask about plans for specific pieces of code before you spend your time rewriting them. While the level change stuff looks good and I will put it in as soon as I go over it to make sure it works the same as the current code in any corner cases, I have mentioned earlier in this thread that when I convert Wesband over to 1.9/1.10 I plan to completely rewrite the inventory management menu in Lua to take advantage of the new custom dialog features (and I have now started doing so).
User avatar
Xudo
Posts: 563
Joined: April 3rd, 2009, 5:26 pm

Re: Wesband 0.6.1, improved inventory management

Post by Xudo »

Exasperation wrote:I have mentioned earlier in this thread that when I convert Wesband over to 1.9/1.10 I plan to completely rewrite the inventory management menu in Lua to take advantage of the new custom dialog features (and I have now started doing so).
this is good news. :)

Do you have design document?
Exasperation
Posts: 462
Joined: June 8th, 2006, 3:25 am

Re: Wesband 0.6.1, improved inventory management

Post by Exasperation »

I'm still figuring out how I want things laid out and what's even possible (not everything in GUI2 is supported by the Lua interface yet, so some things can't yet be done in the manner I would prefer - which means at least one more redesign of the inventory menu will be forthcoming for 1.11/1.12 :roll: ).

I do have a related question for everyone who plays Wesband, though. Do you get much (or even any) use out of the undo functionality in the current inventory menu? I'm wondering if it's worth keeping, or if just the accept/cancel all options are enough.
zaimoni
Posts: 281
Joined: January 27th, 2005, 7:00 am
Location: Linn Valley, KS U.S.A.
Contact:

Re: Wesband 0.6.1, improved inventory management

Post by zaimoni »

Exasperation wrote:I do have a related question for everyone who plays Wesband, though. Do you get much (or even any) use out of the undo functionality in the current inventory menu? I'm wondering if it's worth keeping, or if just the accept/cancel all options are enough.
While I have never caught myself ever needing to cancel out just the inventory slot I was trying to adjusting, I do use it as an extra safety measure when I decide not to do a change.
Brian_A
Posts: 29
Joined: December 12th, 2010, 5:01 pm
Location: Baltimore, MD

Re: Wesband 0.6.1, improved inventory management

Post by Brian_A »

Exasperation wrote:I do have a related question for everyone who plays Wesband, though. Do you get much (or even any) use out of the undo functionality in the current inventory menu? I'm wondering if it's worth keeping, or if just the accept/cancel all options are enough.
Can't recall ever using it...


But I could seriously use a "collect all items" button that would work on the whole level at once - when the level is cleared.
Exasperation
Posts: 462
Joined: June 8th, 2006, 3:25 am

Re: Wesband 0.6.1, improved inventory management

Post by Exasperation »

We've discussed having a function like that. See, for example, http://www.wesnoth.org/forum/viewtopic. ... 25#p387425. No promises, but I'll look into it a little further while I'm already rewriting inventory management anyways.
zaimoni
Posts: 281
Joined: January 27th, 2005, 7:00 am
Location: Linn Valley, KS U.S.A.
Contact:

Re: Wesband 0.6.1, improved inventory management

Post by zaimoni »

Aside: what would be a fast way to verify where the illegal terrain codes are coming from?

[ A map with these will save fine, but chokes on reload. I'm pretty sure this happens even when following the maximally safe reload guidelines for Wesnoth 1.8.6. ]
Post Reply