Page 3 of 5

Re: Golden Cliffs + Bonuses!

PostPosted: 19 Sep 2014, 13:29
by Tiank
"Host files do not match outs. Host may be trying to cheat.".
Well that one happens mostly all the time. When we vote to go to lobby. I think it's caused by delay between votes. We often couldn't start the game, cause paused file was different for some players. We needed to reload from autosave.

That breaking replay thing happened, when I was playing against 5 AI's, I created my own local server for that. It broke few minutes after PT. I will try to reproduce it now and let you know.

Re: Golden Cliffs + Bonuses!

PostPosted: 19 Sep 2014, 14:11
by Lewin
"Host files do not match outs. Host may be trying to cheat.".
Well that one happens mostly all the time. When we vote to go to lobby. I think it's caused by delay between votes. We often couldn't start the game, cause paused file was different for some players. We needed to reload from autosave.
Do you mean it happens all the time in all maps, or just in this map? The vote delay shouldn't make any difference, it only saves when a majority vote is achieved. However, this bug should be easy to fix! Next time it happens, please ask everyone to send me the 3 files: MapsMP\paused.sav + .bas + .rpl. With those files from all players I can see why the saves don't match and fix the bug (but I need multiple players including the host to send the files to me otherwise it won't work). The main idea of beta testing is to fix bugs before they make it into the public release, so I would really appreciate it if players can help by sending these files. Thanks.

EDIT: @Esthlos: There's a bug in your script which caused a crash report sent to us. In OnHouseDamaged you check States.UnitOwner(aAttackerIndex), but aAttackerIndex is a player index not a unit index. So you don't need to use UnitOwner.

Re: Golden Cliffs + Bonuses!

PostPosted: 19 Sep 2014, 15:03
by Tiank
Do you mean it happens all the time in all maps, or just in this map?
As far as I remember, it happened many times, while we were playing on any map. Probably spectators were in game as well. But I thought, it was reported and fixed already... I will send what you need if it happens next time.

My replay broke again. Again, I created my own local server, chose 5 AI's, random locs, 70 PT, 2x/1.5x speed. I chose Tough People.
GC broke.7z
Game ends at around 1:28, cause I got range check error again (I sent a report). It seems, that replay brokes around 10-12 minutes before that error (last time it was similar I think...).

Re: Golden Cliffs + Bonuses!

PostPosted: 19 Sep 2014, 15:07
by Esthlos
Do you mean it happens all the time in all maps, or just in this map? The vote delay shouldn't make any difference, it only saves when a majority vote is achieved. However, this bug should be easy to fix! Next time it happens, please ask everyone to send me the 3 files: MapsMP\paused.sav + .bas + .rpl. With those files from all players I can see why the saves don't match and fix the bug (but I need multiple players including the host to send the files to me otherwise it won't work).
Managed to get the "cheat" bug... attaching files here.
1v1 over local LAN, no AIs, no PeaceTime, chose Engineer and Explorers, went back to Lobby as soon as both finished their Inn.
EDIT: @Esthlos: There's a bug in your script which caused a crash report sent to us. In OnHouseDamaged you check States.UnitOwner(aAttackerIndex), but aAttackerIndex is a player index not a unit index. So you don't need to use UnitOwner.
Oh, thank you. I'll fix that.

EDIT: Wait, this makes no sense... if aAttackerIndex is the player, how come that States.UnitType(aAttackerIndex) recognizes the unit type that damaged the house?
(When I tested it, it correctly added 4 bonus damage if the attacker was melee and 2 if was ranged, so it must be working somehow)
(aAttackerIndex couldn't coincidentally be the unit ID too, since I tested it with every soldier type in a single game, after adding them all with the editor... I'm testing it again now)

EDIT2: I'm sure that States.UnitType(aAttackerIndex) correctly recognizes the unit type.

EDIT3: Trying to use aAttackerIndex instead of States.UnitOwner(aAttackerIndex) makes the script crash.

EDIT4: Lewin, I'm sure that aAttackerIndex is the unit ID... it can't be otherwise. Can you check it please? :(

Re: Golden Cliffs + Bonuses!

PostPosted: 19 Sep 2014, 15:37
by Lewin
As far as I remember, it happened many times, while we were playing on any map. Probably spectators were in game as well. But I thought, it was reported and fixed already... I will send what you need if it happens next time.
I fixed some replay inconsistency bugs in RC1, but none in RC2 yet.
My replay broke again. Again, I created my own local server, chose 5 AI's, random locs, 70 PT, 2x/1.5x speed. I chose Tough People.
GC broke.7z
Game ends at around 1:28, cause I got range check error again (I sent a report). It seems, that replay brokes around 10-12 minutes before that error (last time it was similar I think...).
Thanks, I'll look into it. If you notice simpler/more reliable way to reproduce the replay inconsistency let me know.
Managed to get the "cheat" bug... attaching files here.
1v1 over local LAN, no AIs, no PeaceTime, chose Engineer and Explorers, went back to Lobby as soon as both finished their Inn.
Thanks, it was caused by a simple/stupid problem which will happen whenever you play a map downloaded from the host. I won't need any more files like this until RC3. But it's not related to the replay consistency, that must be caused by another bug...
EDIT: @Esthlos: There's a bug in your script which caused a crash report sent to us. In OnHouseDamaged you check States.UnitOwner(aAttackerIndex), but aAttackerIndex is a player index not a unit index. So you don't need to use UnitOwner.
Oh, thank you. I'll fix that.

EDIT: Wait, this makes no sense... if aAttackerIndex is the player, how come that States.UnitType(aAttackerIndex) recognizes the unit type that damaged the house?
(When I tested it, it correctly added 4 bonus damage if the attacker was melee and 2 if was ranged, so it must be working somehow)
(aAttackerIndex couldn't coincidentally be the unit ID too, since I tested it with every soldier type in a single game, after adding them all with the editor... I'm testing it again now)
Sorry about that, you're right, it is a unit ID. The crash appears to be caused by the unit being dead (archer died before the arrow hit), so States.UnitOwner(aAttackerIndex) returns -1 and therefore doesn't work as an index into the array. So you should check States.UnitDead on AttackerIndex (same in OnUnitWounded).

Re: Golden Cliffs + Bonuses!

PostPosted: 19 Sep 2014, 15:42
by Esthlos
Sorry about that, you're right, it is a unit ID. The crash appears to be caused by the unit being dead (archer died before the arrow hit), so States.UnitOwner(aAttackerIndex) returns -1 and therefore doesn't work as an index into the array. So you should check States.UnitDead on AttackerIndex (same in OnUnitWounded).
This I can do. :P

EDIT: Done.
I'm not really sure of how to test this, but now the script checks for both the dealer and receiver of the hit to be existing and alive; anyway, the Script Validator says it's ok.
Also, since it could be used for cheating, now the Storehouse is disabled too until a bonus is chosen.

Re: Golden Cliffs + Bonuses!

PostPosted: 20 Sep 2014, 15:41
by Tiank
Here's some replay for you.
GC bonus game 3v3.7z
For now, it seems that picking an eco bonus is better than fighting bonus (it's probably because of map's difficulty, you have big advantage if you build sth earlier). But of course it needs more games to gather some data. In this game, it seemed that Snipers didn't make any difference, but on the other hand, we couldn't use their full potential...

We played on previous version, number 5.

Oh, and nothing crashed, even though we returned to lobby with spectators :D. Although, there was an error (range check again?), but maybe it was because of sth, that you already fixed in newer version...

Re: Golden Cliffs + Bonuses!

PostPosted: 20 Sep 2014, 16:13
by Esthlos
For now, it seems that picking an eco bonus is better than fighting bonus (it's probably because of map's difficulty, you have big advantage if you build sth earlier).
Try the Engineers then :mrgreen:
But of course it needs more games to gather some data. In this game, it seemed that Snipers didn't make any difference, but on the other hand, we couldn't use their full potential...
Snipers work onUnitWounded, so Bowmen can use this bonus less efficiently than Crossbowmen... in my opinion this played a role too.

I'm still watching the replay, but as of now everybody went for Bows, and no Crossbow has been made yet...

EDIT: Oh, wait, you made Crossbowmen! :D
But you didn't get Snipers, so I guess that this doesn't really count...

EDIT 2: Ouch, your Barbarians just got caught alone! :(

Re: Golden Cliffs + Bonuses!

PostPosted: 20 Sep 2014, 16:23
by Tiank
EDIT 2: Ouch, your Barbarians just got caught alone!
Yeah, I made some mistakes in that game :D. However, even outnumbered, I was able to defend myself for a while with xbows, and Barbs are pretty useful in close encounters (when there's no arrow rain near them...).

Re: Golden Cliffs + Bonuses!

PostPosted: 20 Sep 2014, 16:35
by Esthlos
Nice game, thank you for sharing it.

It gave me an idea... what would you think about adding a 9th bonus, something like "Berserker rage"?
If you choose that bonus, you get no economic boost nor battle ability, but for every one of your soldiers that dies, all the survivors (and newly equipped ones) get a permanent +0,1% chance to shrug off the enemy's hit (capped at 100% after a thousand deaths, of course).
(Rage is a hell of a painkiller, after all :P )

Players choosing this bonus would be extremely weak at the start, but if they manage to survive for a while they will become nigh unstoppable... also, this should encourage massing Militia, since they're cheap and die fast, thus letting you stack up the rage fast.

Re: Golden Cliffs + Bonuses!

PostPosted: 20 Sep 2014, 16:46
by Tiank
I'd say, let's wait with new bonuses until the current ones are tested. But maybe instead of adding 9th bonus, change the already existing one? So far Demolishers seem to be most useless bonus, cause when you enter enemy's city, you can easily destroy his economy by killing citizens, there's no need to destroy buildings.

But that Berserk rage... So, after 100 deaths (which can only happen after VERY long games, over 3 hours I think) a player with that bonus is unstoppable? That would be rarely used in my opinion. I'd rather see a bonus, that can be used near PT. Maybe instead of Demolishers, use Berserk Rage like that: all (maybe melee only) units have triple damage, but they miss more often?

Too many bonuses are not good, it makes player confused.

Re: Golden Cliffs + Bonuses!

PostPosted: 20 Sep 2014, 16:57
by Esthlos
I'd say, let's wait with new bonuses until the current ones are tested. But maybe instead of adding 9th bonus, change the already existing one? So far Demolishers seem to be most useless bonus, cause when you enter enemy's city, you can easily destroy his economy by killing citizens, there's no need to destroy buildings.
[...]
Too many bonuses are not good, it makes player confused.
Good point.
But that Berserk rage... So, after 100 deaths (which can only happen after VERY long games, over 3 hours I think) a player with that bonus is unstoppable? That would be rarely used in my opinion. I'd rather see a bonus, that can be used near PT.
Well, you would not need the full 1000 deaths to make use of that bonus... even with 1 death you already get 0,1% chance to ignore the damage from enemy units (this by the way makes it technically nearly impossible to reach 1000 deaths, unless you are sacrificing your units under enemy Towers).
Also, nothing forbids from using another number instead of 1000... :wink:
Maybe instead of Demolishers, use Berserk Rage like that: all (maybe melee only) units have triple damage, but they miss more often?
Could be done...

Re: Golden Cliffs + Bonuses!

PostPosted: 20 Sep 2014, 18:48
by Ben
Berserker rage just sounds bad. I hate it when games reward players for poor performance :P

What if you had something like "Green Thumb"? Woodcutters, farmers, and vineyards x2 workrate (double wares produced)? (personally, I think the eco bonuses are more cool ;))

Re: Golden Cliffs + Bonuses!

PostPosted: 21 Sep 2014, 06:20
by Lewin
Although, there was an error (range check again?), but maybe it was because of sth, that you already fixed in newer version...
Errors like this caused by the script will now be logged and displayed nicely so script author can fix it, rather than sending a crash report to us. The game will also continue running. These kind of script errors includes stuff like dividing by zero or accessing an invalid array element (which is what happened here).

Re: Golden Cliffs + Bonuses!

PostPosted: 21 Sep 2014, 16:46
by Esthlos
What if you had something like "Green Thumb"? Woodcutters, farmers, and vineyards x2 workrate (double wares produced)? (personally, I think the eco bonuses are more cool ;))
Could be done... :wink:
Errors like this caused by the script will now be logged and displayed nicely so script author can fix it, rather than sending a crash report to us. The game will also continue running.
Nice!
These kind of script errors includes stuff like dividing by zero or accessing an invalid array element (which is what happened here).
Is it again due to the attacker who died during OnUnitWounded or OnHouseDamaged?