SXC Development

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

Moderators: Forum Moderators, Developers

Post Reply
MCP
Posts: 518
Joined: May 23rd, 2005, 5:23 pm
Location: California

Re: SXC Development

Post by MCP » October 21st, 2010, 10:49 pm

Clonkinator wrote: Also, why do all player units seem to have had their resistances tempered with? I can see the point of removing overpowered weapon specials like drain, but why reduce resistances of units with good resistance and increase the resistance of units with bad resistance? Units with bad resistance often have something else to make up for it, like high defense and/or good move types. This removes each unit's specialties to a certain degree, and makes them more and more the same.
Some characters are over powered and some characters are obviously worthless. I think those guys should just be thrown away (eg peasant and ghost).

By modifying these resistances it seemingly makes the character cast less diverse, and thus the potential for winning strategies is reduced. What we've observed is rather, without modifying resistances, there are very few characters that are successful in practical play, see Mabuse's maps, MAD mode or whatever it is called now, and consider how few characters get used to win it. What they've been trying to do, is not alienate characters just because they have bad resistances. The fencer has such bad resistances that it's just not a good unit in the higher difficulties of SX, rather I should say, it is un-acceptably prone to dying.

What was suggested a long time ago is, that units such as a fencer can 'fix their resistances' to zero percent, for a price slightly cheaper than normal and without affecting their total number of resistance upgrades. Once a resistance is considered 'fixed', it will cost normal and take away from their total resistance upgrades.
Now this may seem nice, but it is probably a little bit naive. So what has happened is the authors have tried out some math to figure out a 'good balance' so that units that start out with too much or too little resistances do not become over powered or under powered, thus, hopefully, allowing for more unit variety, and thus hopefully, more winning strategies at the highest difficulties. This may have an adverse effect though, causing strategies to become more generic in the end. We're really not sure truthfully, of the outcome, we're just hoping to add to SX.

They don't call it MAD mode without a reason though... o_0

Clonkinator
Posts: 676
Joined: July 20th, 2006, 4:45 pm
Location: Germany

Re: SXC Development

Post by Clonkinator » October 22nd, 2010, 3:16 pm

MCP wrote:Some characters are over powered and some characters are obviously worthless. I think those guys should just be thrown away (eg peasant and ghost).

By modifying these resistances it seemingly makes the character cast less diverse, and thus the potential for winning strategies is reduced. What we've observed is rather, without modifying resistances, there are very few characters that are successful in practical play, see Mabuse's maps, MAD mode or whatever it is called now, and consider how few characters get used to win it. What they've been trying to do, is not alienate characters just because they have bad resistances. The fencer has such bad resistances that it's just not a good unit in the higher difficulties of SX, rather I should say, it is un-acceptably prone to dying.
It is true that some units are better suited to the environment in SX than others. However, maybe it's just me, but I personally enjoy playing with the not-so-good units (like fencers) much more than with the epic ones (like dwarvish thunderers) - partially because they are more challenging to achieve good results with.
Of course, I can see that there are people that don't want their games ruined by unexperienced players choosing a crappy unit and being horribly bad with it. However, I'd take a different approach at this problem - I'd give the players two different eras to choose from. One would be the normal SX Lvl 1 era, containing all level 1 units and leaving the players' resistances alone. The other would be some form of competitive era, which would apply the resistance balancement and remove some units that are beyond saving from the list.
MCP wrote:What was suggested a long time ago is, that units such as a fencer can 'fix their resistances' to zero percent, for a price slightly cheaper than normal and without affecting their total number of resistance upgrades. Once a resistance is considered 'fixed', it will cost normal and take away from their total resistance upgrades.
Now this may seem nice, but it is probably a little bit naive. So what has happened is the authors have tried out some math to figure out a 'good balance' so that units that start out with too much or too little resistances do not become over powered or under powered, thus, hopefully, allowing for more unit variety, and thus hopefully, more winning strategies at the highest difficulties. This may have an adverse effect though, causing strategies to become more generic in the end. We're really not sure truthfully, of the outcome, we're just hoping to add to SX.
In my opinion, what SX currently lacks for balance is a way to upgrade your unit's terrain defense in shops. As I said, many units with bad resistance have good defense to compensate for it and vice verca. Why not encourage players to stay true to their unit's strengths and weaknesses? Give all units the same amount of resistance and defense trainings, for example. Units with already good resistance will be able to improve upon that some more, but they often have bad defense, and it'll likely remain bad. Units with high defense will be able to become very hard to hit, but due to the lack of good resistances, they'll get hurt big time if they do get hit. For defense to be similar in value to resistance, you'd probably have to allow upgrading it to something 90%ish.
I also think that resistance vs. defense is reasonably balanced. Resistances allow a character to reduce damage taken from certain damage types regardless of whether one gets hit or not. Defense allows a character to take less damage from all damage types, but make that character extremely frail against enemies with magical or marksman attacks.

MCP
Posts: 518
Joined: May 23rd, 2005, 5:23 pm
Location: California

Re: SXC Development

Post by MCP » October 22nd, 2010, 5:18 pm

Ok so this new addition to the store would be required:
List Terrains your character can walk on: eg
1. Grass (50%)
2. Shallow Water (30%)
3. Hills (60%)
etc.

Just like resistances, can buy upgrades for each terrain defense in 10% increments (or whatever makes sense).

Perhaps to be abundantly clear, at the start of the game, have the player choose whether they want to be defense % oriented or resistance oriented, then they get upgrades to either one or the other. Since resistances have no cap, where should defensive %'s cap at? 85%? 95%? Have to test out.

I would choose 95% so the last upgrade, 90% to 95%, costs more per percentage point.


Also should ranged units even have the option to be defensive % oriented characters? In general yes, but say on a Mabuse map, he could say NEVER, because it would just be plain suicidal since too many ranged units have magical attacks.


One more 'ability' to potentially benefit defensive % oriented units, 'reduce magical chance to hit' ability will reduce the chance of magical, precision, and marksman by X% or something.

Clonkinator
Posts: 676
Joined: July 20th, 2006, 4:45 pm
Location: Germany

Re: SXC Development

Post by Clonkinator » October 23rd, 2010, 3:43 pm

MCP wrote:Just like resistances, can buy upgrades for each terrain defense in 10% increments (or whatever makes sense).
Yes, 10% or 5% increments would probably work best.
Also, now that I think about it, it would probably be a good idea to make the defense cap not a fixed value, but to base it on the character's base defense on each terrain. For example, let's say that the cap for a terrain's defense would be 20% higher than its starting value. This would mean that a fencer could raise his 60% grassland defense to 80% and his 70% hills defense to 90%, while a spearman could only raise his 40% grassland defense to 60% and his 50% hills defense to 70%. This would not only automatically prevent defense values from getting out of hand, but it would also prevent things like a wose suddenly having 90% defense in water (i. e. units becoming good at things that make no sense for them).

Actually, it may be worth trying out a similar system for resistances - to make the resistance caps for each damage type dependant on the base resistance in that stat rather than a fixed 100%. For example, if this cap was 50% higher than the base value, a bowman could raise all his resistances from 0% to 50% (and arcane from 20% to 70%), while a cavalier for example could raise his impact resistance from 40% to 90%, but his pierce resistance only from -20% to 30%.

As a consequence, since players would no longer be able to become completely immune to a damage type as easily as before, the enemies might need some rebalancing - in particular, the amount of different damage types available to them might need to be toned down a bit again to make resistances more worthwhile. But I think that it would be time well spent, a step in the right direction.
MCP wrote:Perhaps to be abundantly clear, at the start of the game, have the player choose whether they want to be defense % oriented or resistance oriented, then they get upgrades to either one or the other.
That is probably a good idea for the competitive era; however, I'd prefer if this was not included in the normal era.
MCP wrote:Also should ranged units even have the option to be defensive % oriented characters? In general yes, but say on a Mabuse map, he could say NEVER, because it would just be plain suicidal since too many ranged units have magical attacks.
In this case it may be the enemies that need to be rebalanced rather than denying ranged units the option to be defense% oriented.

Mabuse
Posts: 2130
Joined: November 6th, 2007, 1:38 pm

Re: SXC Development

Post by Mabuse » October 25th, 2010, 4:45 pm

this comment is just theoretical since SX ADDON PACK dont have balance issues nor change original stats of hero units (excpt denying forbidden specials, abilities)
-----------------------------------------------------------------------


of course its clear that defense and resistance work in a very different way.

for a unit with defense ability its enough to boot defense for a single type, i.e. FLAT terrain
flat terrian is avialable almost everywhere and thats just avout it. in case you may also want to boost castle defense.

so in 90% of all cases all you need is to boost castle def and flat def to 95% and thats it.

(of course that wouldnt deal with magical attacks)
The best bet is your own, good Taste.

-stf-
Posts: 76
Joined: December 19th, 2007, 10:27 pm
Location: Prague, Czech Republic
Contact:

Re: SXC Development

Post by -stf- » October 26th, 2010, 8:20 pm

Clonkinator: Yes, still updating it but I didn't have time to work on it in last weeks. Tomorrow I should have new update.

About resistances and terrain defenses: Current calculation is just testing phase and will be changed after all maps will be updated to current system. Some are fine and some are already balanced but many are too unbalanced or just close to unplayable (i. e. 50 strikes for enemy leaders, which causes many minutes long damage calculations, wrong recruits and so on) or also too easy. Having all units in defined range helps to balance maps in that range and after all maps will be done, then it will be much easier to define good balancing system for units that will not ruin some maps balance. Also, maximum terrain defense can't be higher than 80% considering that player can have up to 2 defense rings giving 20% bonus in total and numbers over 100% caused problems (values over 100% were reseted to 50%).

Clonkinator
Posts: 676
Joined: July 20th, 2006, 4:45 pm
Location: Germany

Re: SXC Development

Post by Clonkinator » October 29th, 2010, 5:27 pm

-stf- wrote:Also, maximum terrain defense can't be higher than 80% considering that player can have up to 2 defense rings giving 20% bonus in total and numbers over 100% caused problems (values over 100% were reseted to 50%).
It might be a better idea to remove the defense rings and replace them with something else instead of disallowing 70% elusive units to raise their defenses above 80%.

Also, it may just be me, but wouldn't it be easier and more reasonable to first balance the playable units (and the shop) and then adjust the maps accordingly instead of doing it the other way around?

-stf-
Posts: 76
Joined: December 19th, 2007, 10:27 pm
Location: Prague, Czech Republic
Contact:

Re: SXC Development

Post by -stf- » October 29th, 2010, 8:59 pm

No, because making maps balanced in the range of most common units is the easiest way. Balancing units afterwards is better, because it will show the correct values for coefficients much faster. It will also need to rewrite some calculations and shop sections and I will need more time to do it. People who help with testing and developing have some good ideas that need huge changes in macros to get the expected results. They are not also always online (me too, right now I am finishing some works around my house before the winter comes) and testing with beginners doesn't give good results.

User avatar
Slann
Posts: 66
Joined: March 2nd, 2008, 3:47 pm

Re: SXC Development

Post by Slann » November 15th, 2010, 10:32 pm

Image

WESNOTH 1.8.5

version="0.2.39"

something like "the following addons contains errors and couldnt been charged.

And then "no close tag for blablabla"...

User avatar
SpoOkyMagician
Posts: 281
Joined: September 5th, 2008, 8:04 am
Location: I have no idea...

Re: SXC Development

Post by SpoOkyMagician » November 17th, 2010, 3:08 am

Here is a minor change that can remove this issue. This isn't a permanent fix however. Only a temporary fix for now that should make sxc load. (or works for me anyway.) move or remove the scenarios: SXC_Rush and SXC_Simple from the scen_gol directory. After that, make a quick/uneffective change to the _main.cfg file (add a space, save, remove the space, and save again.) reload and it works for me. Give that a try.

If this doesn't work, post the new error message(s).

edit: note, this is a issue with windows. (that I have noticed.) If you are using a different OS, please specify which OS you are using. (and as stf said below, post the stderr.txt in the programs directory.)
Last edited by SpoOkyMagician on November 17th, 2010, 3:13 am, edited 1 time in total.
"You don't have to understand me, I'm just there!" ~ SpoOkyMagician
Creator of: Unwelcome Guests Series, Modifiable Android Project, SpoOky's Survivals, and many more... (Most of my old stuff is gone.)
(User Page)

-stf-
Posts: 76
Joined: December 19th, 2007, 10:27 pm
Location: Prague, Czech Republic
Contact:

Re: SXC Development

Post by -stf- » November 17th, 2010, 3:11 am

Unfortunately, this error window never contains all informations. To analyze the real source of error, I need error log (in linux console output, in windows file stderr.txt - at least I think it's the correct name).
We know that there is something causing this error but on linux (at least in my version compiled from source) this error never occurs so it's hard to analyze the source of this error.

Kernigh
Posts: 107
Joined: February 13th, 2007, 10:21 pm
Location: United States
Contact:

Re: SXC Development

Post by Kernigh » November 26th, 2010, 5:02 pm

I have same error. I am not running Windows, my operating system is OpenBSD 4.8 (a Unix clone, like Linux) on an amd64 processor.
sxc error message
sxc error message
I also have xterm output:

Code: Select all

20101126 11:56:51 error general: no location found for 'data/add-ons/PickYourRecruits_Era/translations', skipping textdomain
20101126 11:57:00 error config: File not found 'SPECIAL_NOTES_SKIRMISH'
20101126 11:57:00 error config: File not found 'ABILITY_SKIRMISH'
20101126 11:57:00 error config: File not found 'TYPE'
20101126 11:57:00 error config: File not found 'TYPE'
20101126 11:57:00 error config: File not found 'ABILITY_SKIRMISH'
20101126 11:57:00 error config: File not found 'ABILITY_SKIRMISH'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'ABILITY_SKIRMISH'
20101126 11:57:00 error config: File not found 'ABILITY_SKIRMISH'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'ABILITY_REGENERATION'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'ABILITY_SKIRMISH'
20101126 11:57:00 error config: File not found 'ABILITY_SKIRMISH'
20101126 11:57:00 error config: File not found 'PROTECTION_LEVEL_2'
20101126 11:57:00 error config: File not found 'PROTECTION_LEVEL_2'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:DRAKE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'SOUND_LIST:HORSE_DIE'
20101126 11:57:00 error config: File not found 'WEAPON_SPECIAL_LATCH'
20101126 11:57:23 error config: error reading usermade add-on '/home/kernigh/.wesnoth1.8/data/add-ons/SXCollection/_main.cfg'
20101126 11:57:23 error general: The following add-on had errors and could not be loaded:
/home/kernigh/.wesnoth1.8/data/add-ons/SXCollection/_main.cfg
ERROR DETAILS:
Missing closing tag for tag option at ~add-ons/SXCollection/macros/SXCmacros.cfg:5324 included from ~add-ons/SXCollection/_main.cfg:21 included from ~add-ons/SXCollection/macros/SXCmacros.cfg:5143 included from ~add-ons/SXCollection/_main.cfg:21 included from ~add-ons/SXCollection/macros/SXCmacros.cfg:2590 included from ~add-ons/SXCollection/_main.cfg:21 included from ~add-ons/SXCollection/macros/SXCmacros.cfg:1538 included from ~add-ons/SXCollection/_main.cfg:21 included from ~add-ons/SXCollection/macros/SXCmacros.cfg:1427 included from ~add-ons/SXCollection/_main.cfg:21 included from ~add-ons/SXCollection/scen_def/SXC_Maze.cfg:241 included from ~add-ons/SXCollection/_main.cfg:22, value '' at ~add-ons/SXCollectio:5142

-stf-
Posts: 76
Joined: December 19th, 2007, 10:27 pm
Location: Prague, Czech Republic
Contact:

Re: SXC Development

Post by -stf- » November 26th, 2010, 10:24 pm

Here is something strange in this line:
Kernigh wrote:

Code: Select all

~add-ons/SXCollection/_main.cfg:22, [color=#FF0000]value '' at ~add-ons/SXCollectio:5142[/color]
Seems the error code is somehow truncated which can be another problem (in engine).
Anyway, I checked all the code around these lines and I found nothing that could lead to the source of the error. Only possible thing I think about is that something is wrong with the scenarios itself or the problem can be in engine. I can try to remove all scenarios that are not adapted to the new macros and re-add them one by one (but already changed) and see what will happen. When it will happen with these too, it could be at least less difficult to find the problem.

Kernigh
Posts: 107
Joined: February 13th, 2007, 10:21 pm
Location: United States
Contact:

Re: SXC Development

Post by Kernigh » December 1st, 2010, 10:45 pm

My error mentions ~add-ons/SXCollection/macros/SXCmacros.cfg:1538 which is the line {SXC_SHOP_SPECIALS}. I can prevent this error if I delete this line from my copy of macros/SXCmacros.cfg, so that my shops will not sell any specials:

Code: Select all

#define SXC_SHOP_MENU
  [set_menu_item]
    id=SXC_Shop
...
            {SXC_SHOP_ENHANCEMENTS}
            {SXC_SHOP_WEAPONS}
            # SXC_SHOP_SPECIALS
            {SXC_SHOP_ARMORY}
            {SXC_SHOP_MOVEMENTS}
            {SXC_SHOP_ABILITIES}
            {SXC_SHOP_ITEMS}
...
After I removed the specials, I got a diffferent error:

Code: Select all

20101201 17:00:23 error config: error reading usermade add-on '/home/kernigh/.wesnoth1.8/data/add-ons/SXCollection/_main.cfg'
20101201 17:00:23 error general: The following add-on had errors and could not be loaded:
/home/kernigh/.wesnoth1.8/data/add-ons/SXCollection/_main.cfg
ERROR DETAILS:
Missing closing tag for tag if at ~add-ons/SXCollection/macros/SXCmacros.cfg:1221 included from ~add-ons/SXCollection/_main.cfg:21 included from ~add-ons/SXCollection/macros/SXCmacros.cfg:1191 included from ~add-ons/SXCollection/_main.cfg:21 included from ~add-ons/SXCollection/macros/SXCmacros.cfg:475 included from ~add-ons/SXCollection/_main.cfg:21 included from ~add-ons/SXCollection/scen_gol/SXC_Attack.cfg:351 included from ~add-ons/SXCollection/_main.cfg:23, value '' at ~add-ons/SXCollection/macros/SXCmacros.cfg:202 included from ~add-ons/SXCollection/_main.cfg:21 included from ~add-ons/SXCollection/macros/SXCmacros.cfg:1222 included from ~add-ons/SXCollection/_main.cfg:21 included from ~add-ons/SXCollection/macros/SXCmacros.cfg:1191 included from ~add-ons/SXCollection/_main.cfg:21 included from ~add-ons/SXCollection/macros/SXCmacros.cfg:475 included from ~add-ons/SXCollection/_main.cfg:21 included from ~add-ons/SXCollection/scen_gol/SXC_Attack.cfg:351 included from ~add-ons/SXCollection/_main.cf:23
But ~add-ons/SXCollection/scen_gol/SXC_Attack.cfg:351 is the line {SXC_ARMORY_LIMIT 4}. There was no error for {SXC_ARMORY_LIMIT 1}, {SXC_ARMORY_LIMIT 2}, {SXC_ARMORY_LIMIT 3} in the same SXC_Attack scenario. Also, there was no error for {SXC_ARMORY_LIMIT 4} in any of the scenarios included before SXC_Attack. Also, I checked the code and the 'Missing closing tag' is not missing!

This is an engine problem. I guess so.

I suspect that there is a limit inside the WML preprocessor. If you expand many macros, then the WML preprocessor will become 'full' and skip the last lines of a macro. When it skips these lines, it misses a closing tag.

The limit is strangely different for different operating systems. My OpenBSD machine has a lower limit, so the error is in scen_def/SXC_Maze.cfg, one of the first scenarios. Windows has a higher limit, so the error is in scen_gol/SXC_Rush.cfg, one of the later scenarios. Linux has a very high limit, so Linux users can load all SXC scenarios without an error.

Kernigh
Posts: 107
Joined: February 13th, 2007, 10:21 pm
Location: United States
Contact:

Re: SXC Development

Post by Kernigh » December 3rd, 2010, 1:31 am

I reproduced this problem with a scenario that is not SXC.
I am taking this problem to the WML workshop: http://forum.wesnoth.org/viewtopic.php?f=21&t=32338

Post Reply