Page 2 of 4
Re: Experience stats from 250+ replays
Posted: 06 Jun 2011, 20:56
by knorke
A unit that fires 50 times a second and does a grand total of 1 dps to a larger unit, will have experience in the millions in just a few seconds.
Hopefully this illustrates the point.
That's why the pyro accumulates experience like crazy. Same for flashtanks and other rapid fire units.
From looking at rts\sim\units\unit.cpp it does not look like that.
Normal damage dealing:
Code: Select all
if (damage > 0.0f) {
recentDamage += damage;
if ((attacker != NULL) && !teamHandler->Ally(allyteam, attacker->allyteam)) {
attacker->AddExperience(0.1f * experienceMod
* (power / attacker->power)
* (damage + std::min(0.0f, health)) / maxHealth);
damage is a float and there seems no rounding/clamping to integer to be going on.
This looks like the unit who gets the actual kill gets a "bonus":
Code: Select all
if (health <= 0.0f) {
KillUnit(false, false, attacker);
if (isDead && (attacker != 0) &&
!teamHandler->Ally(allyteam, attacker->allyteam) && !beingBuilt) {
attacker->AddExperience(expMultiplier * 0.1f * (power / attacker->power));
teamHandler->Team(attacker->team)->currentStats->unitsKilled++;
Cant see why this would mean "fast firing = more xp" either.
Now I didnt look at this in detail but imo

Re: Experience stats from 250+ replays
Posted: 06 Jun 2011, 21:06
by smoth
Been doing a lot testing for some gundam stuf like it grows in decimal values. The ca ranks icons are not even >10 xp when you max that out iirc. Halloween has an xp bar in it that counts when you level.
Re: Experience stats from 250+ replays
Posted: 06 Jun 2011, 21:10
by knorke
ca rank icons, Halloween, decimal gundams, wtf?
in wow i am level 70, hows that.
Re: Experience stats from 250+ replays
Posted: 06 Jun 2011, 21:18
by smoth
I don't talk about everything I do but you should know about Halloween since I gave it to kaiser to help with his dungeon stuff which iirc you were involved with?
Re: Experience stats from 250+ replays
Posted: 06 Jun 2011, 21:21
by Forboding Angel
Sigh. Take a weasel. Give it a refire rate of 0.1 and a damage of 5. Have it kill a goliath. Prepare to be annoyed.
Now, pay attention to the actual dps that the weasel was doing. Now give the weasel a refire rate of 1, and the number from the dps mentioned before.
Rage. Make posts on forums to fix experience. Profit.
Re: Experience stats from 250+ replays
Posted: 06 Jun 2011, 21:30
by knorke
halloween=mazecraft=wall/room project?
http://springrts.com/phpbb/viewtopic.php?f=14&t=25656
i only made some tests with walls like seen in that thread so no idea.
The ca ranks icons are not even >10 xp when you max that out iirc.
I dont understand that. "maxing out" in ca?
Take a weasel.
so care to post the result of that test and what it should be like?
A test:
BA 7.19
Kill an arm vehicle lab with a flash tank.
flash gets 0.99 xp and now has max health = 768
flash uses weapon: EMGX
[DAMAGE]
{
default=11;
change damage of flash weapon to
default=1;
after killing the lab with the weaker weapon, flash still gets 0.99 xp.
So dps did not matter, only total damage dealt.
(also see previous page, last post)
Re: Experience stats from 250+ replays
Posted: 06 Jun 2011, 21:34
by smoth
I'll pm you some wip shot if I can remember tonight. Iirc I posted something related to it in rand wip
Re: Experience stats from 250+ replays
Posted: 06 Jun 2011, 21:54
by Forboding Angel
knorke wrote:Take a weasel.
so care to post the result of that test and what it should be like?
A test:
BA 7.19
Kill an arm vehicle lab with a flash tank.
flash gets 0.99 xp and now has max health = 768
flash uses weapon: EMGX
[DAMAGE]
{
default=11;
change damage of flash weapon to
default=1;
after killing the lab with the weaker weapon, flash still gets 0.99 xp.
So dps did not matter, only total damage dealt.
(also see previous page, last post)
Slow your roll knorke. I wasn't being a jerk to you, so you can do me the favor of not being a cock.
The factors that matter are metal values. I chose weasel because it has a very low metal value and golly because it has a very high metal value, therefore, the results should be easy to see and more varied. There is no reason using a flash produce a different result, just the numbers would be muchly exaggerated when using a weasel which is good if you're trying to find a discrepancy.
Apparently, as your test shows, the exp per shot vs larger units thing must have been fixed.
Back in the days of yore, this was a HUGE issue in AA. Apparently some enterprising dev fixed it and didn't bother to document it (gee imagine that).
@knorke, thanks for testing and checking. Nice to know that experience isn't omgsupabugged anymore. It is still calculated on metal values, which is epic bollocks, but at least it isn't being calculated upon shots fired anymore as well. That shit was annoying.
Re: Experience stats from 250+ replays
Posted: 06 Jun 2011, 22:31
by Beherith
Also, its not metal cost thats taken into account, but power.
Code: Select all
power = udTable.GetFloat("power", (metalCost + (energyCost / 60.0f)));
Using this and knorke's previously posted equation (also from engine source) it is obvious that experience works just fine.
Forb, you were being a bit of a jerk there. You kept to your opinion in the face of facts. You quoted a 4+ year example, and then when it was shown that you had an old misconception, you proceed to shift the blame on developers for not telling you of this fix.
Inb4 but m + e/60 is also outdated: use the unitdef tag 'power'
Re: Experience stats from 250+ replays
Posted: 07 Jun 2011, 21:45
by abma
@berith:
did you try to run with spring-headless? this should improve speed a lot...
Re: Experience stats from 250+ replays
Posted: 08 Jun 2011, 00:44
by knorke
for me, spring headless did not run replays much faster then using /skipf
Re: Experience stats from 250+ replays
Posted: 08 Jun 2011, 01:05
by Beherith
Abma: headless crashed for me on loading ground decal textures :O
So widget just setminspeed 20.
Ran 4 instances of spring parallel. Btw, I got some corrupt output, but very rare.
Re: Experience stats from 250+ replays
Posted: 08 Jun 2011, 09:39
by hoijui
yeah.. i would not say that headless is much faster if you have decent GFX. it is useful mostly to run spring if you do not have that, or do not have GFX at all.
If you use headless, you
have to use the headless config! (that is most likely why you crashed, Behe. It can be found here:
https://github.com/spring/spring/blob/m ... adless.txt
some-when in the future, we plan to rewrite the engine internal config system, which then would allow to store separate configs for when running with different springs (among other features). until then, you have to switch the files manually.
Re: Experience stats from 250+ replays
Posted: 08 Jun 2011, 10:26
by Beherith
Ah, thanks hoijui, can i pass this config as a parameter or do I have to overwrite my old one?
Headless would help because then I could distribute all these replays over my Condor grid with 512 cores...
Re: Experience stats from 250+ replays
Posted: 08 Jun 2011, 10:51
by Kloot
Re: Experience stats from 250+ replays
Posted: 08 Jun 2011, 11:00
by Beherith
Thank you!
Re: Experience stats from 250+ replays
Posted: 08 Jun 2011, 20:25
by Forboding Angel
Beherith wrote:
Forb, you were being a bit of a jerk there. You kept to your opinion in the face of facts. You quoted a 4+ year example, and then when it was shown that you had an old misconception, you proceed to shift the blame on developers for not telling you of this fix.
What blame? The devs don't document crap all the time, that's nothing new.
It wasn't an opinion behe, it was fact at one point. Also, knorke's original reply didn't show that he had actually tested. I am incapable of testing considering that I am in the middle of nowhere and made both of those posts from my phone.
Re: Experience stats from 250+ replays
Posted: 08 Jun 2011, 20:32
by knorke
Re: Experience stats from 250+ replays
Posted: 09 Jun 2011, 08:13
by Forboding Angel
That is true. If that is the case, then why couldn't anyone ever figure out the cause of the negative sun values causing desyncs and crashes

that of course is a most extreme example. God I am glad that bug disappeared. I'd put 50 bucks on it being an issue with Shitty ATI drivers.
Re: Experience stats from 250+ replays
Posted: 09 Jun 2011, 12:39
by Kloot
why couldn't anyone ever figure out the cause of the negative sun values causing desyncs and crashes
Because that is an old-wives' tale (with you being the wife) originating in a time* when 99% of Spring's** codebase was
much less stable and the empirical evidence for it never went beyond an extremely weak
correlation at best, _not_ a
causal link that would have allowed us developers to actually do so.
*
May 2006
** to say nothing about ATI's drivers five years ago