Damage Points...

Discuss and provide feedback on Maps.
User avatar
pooty
Posts: 4537
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Damage Points...

Post by pooty »

So there was some discussion of Damage Points. I think most would like them on.

However, they need to work consistently. So how do they work, right now its set to 400 pts damage = 1pt.
How is that calculated? Meaning I have to do 400 pts in one shot, one second, two seconds etc. If its all at once that makes no sense, as only large tanks (mino, heavy goliath, levis ) will ever get them, unless you have Double Damage....

Same target over a period of time, say you shoot the levi do 200 pts, stop for a sec while you move, do another 200 pts, will you or not get the 1pt?

This would apply the same to whether we do it via UTCompOmi or ONSPlusOmni (Same code essentially)
User avatar
captainsnarf
Posts: 2714
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: Damage Points...

Post by captainsnarf »

From ONSPlus_ScoreRules

Code: Select all

function int NetDamage(int OriginalDamage, int Damage, pawn injured, pawn instigatedBy, vector HitLocation, out vector Momentum, class<DamageType> DamageType)
{
	local float CurDamage;

	CurDamage = Super.NetDamage(OriginalDamage, Damage, injured, instigatedBy, HitLocation, Momentum, DamageType);

	if (DamageType != Class'DamTypeLinkShaft' && DamageType != Class'DamTypeLinkPlasma' && injured != None
		&& Vehicle(injured) != None && !Vehicle(injured).IsVehicleEmpty() && instigatedBy != None
		&& instigatedBy != injured && CurDamage > 0 && instigatedBy.Controller != none
		&& instigatedBy.Controller.PlayerReplicationInfo != none
		&& ONSPlusPlayerReplicationInfo(instigatedBy.Controller.PlayerReplicationInfo) != none)
	{
		if (OPGRI == none && PlayerController(instigatedBy.Controller) != none && PlayerController(instigatedBy.Controller).GameReplicationInfo != none
			&& ONSPlusGameReplicationInfo(PlayerController(instigatedBy.Controller).GameReplicationInfo) != none)
			OPGRI = ONSPlusGameReplicationInfo(PlayerController(instigatedBy.Controller).GameReplicationInfo);

		if (OPGRI != none)
		{
			if (Vehicle(injured).Team != instigatedBy.Controller.PlayerReplicationInfo.TeamID)
				ONSPlusPlayerReplicationInfo(instigatedBy.Controller.PlayerReplicationInfo).AddVehicleDamageBonus(CurDamage / OPGRI.DamageScoreQuota);
			else
				ONSPlusPlayerReplicationInfo(instigatedBy.Controller.PlayerReplicationInfo).AddVehicleDamageBonus(-1.0 * CurDamage / OPGRI.DamageScoreQuota);
		}
	}

	return CurDamage;
}
And here is the AddVehicleHealBonus function from ONSPlusPlayerReplicationInfo:

Code: Select all

function AddVehicleHealBonus(float Bonus)
{
	PendingVehicleHealBonus += Bonus;

	if (PendingVehicleHealBonus >= 1.0)
	{
		Level.Game.ScoreObjective(self, PendingVehicleHealBonus);
		Level.Game.ScoreEvent(self, PendingVehicleHealBonus, "heal_vehicle");
		PendingVehicleHealBonus = Max(0.0, PendingVehicleHealBonus - 1.0);
	}
}
It doesn't have to be all at once. It doesn't have to be the same vehicle. As long as you do 400 points to enemy occupied vehicles, you get a point. 'ScoreObjective' updates your score. 'ScoreEvent' updates stats. For whatever reason it doesn't count linkgun damage.
User avatar
pooty
Posts: 4537
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Damage Points...

Post by pooty »

For whatever reason it doesn't count linkgun damage.
Yeah why would that be? Makes no sense.

So it just keeps a running total, and every 400pts you do, you get 1pt. Hmm. This could really skew the points, blast with mino/levi do 2000 pts, you could kill 3 vehicles, get 2 pts each (driver/vehicle), for 6; then 2000/400 = 5 x 3 vehicles = 15, for a whopping 21 pts...

or does it just count one instance once meaning you do NetDamage = 2000 > 400 = 1pt, reset curDamage =0. I guess it depends where/when/how Current Damage counter gets reset.

Trying to get my head around how Damage points with things like Mino/Levi/Ions etc. don't skew the scores badly...
User avatar
captainsnarf
Posts: 2714
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: Damage Points...

Post by captainsnarf »

It just keeps a running total. Every 400 health = 1 point, so yes killing a mino (2000 health) should be 5 points.
User avatar
Enyo
Posts: 1710
Joined: Mon Apr 05, 2021 11:27 pm
Server Sponsor: Yes
Server Admin: Yes

Re: Damage Points...

Post by Enyo »

The biggest question is why it intermittently doesn't work. Many players here can attest to this from the last time we had damage points turned on. And I experienced it again last night... peppered a Levi/Kraken/whatever alone with a predator until it died, got 1 pt. And when it does the 1pt no matter what you kill routine, it lasts the entire match, but it doesn't happen to every player.

Per pooty's example, it can definitely over-reward players with OP spammy vehicles. Nothing you can do about that with both damage pts and vehicles that do massive damage. Whoever came up with damage pts probably did so with stock vehicles in mind.

Whatever, I don't really care what the scoring does if we'd just turn the balancer off, but I don't think you guys are ready to give up on it yet. Scrotey and I think you're chasing a ghost, ONS can never be balanced, too many variables. Definitely getting tired of watching it repeatedly jack the teams up though, maybe the multiplier will help with that.
“Never argue with stupid people, they will drag you down to their level and then beat you with experience.”
― Mark Twain
User avatar
DrScrotey
Posts: 70
Joined: Sun Aug 29, 2021 9:59 pm
Location: Texas

Re: Damage Points...

Post by DrScrotey »

Enyo wrote: Thu Sep 15, 2022 2:24 pm Whatever, I don't really care what the scoring does if we'd just turn the balancer off, but I don't think you guys are ready to give up on it yet. Scrotey and I think you're chasing a ghost, ONS can never be balanced, too many variables. Definitely getting tired of watching it repeatedly jack the teams up though, maybe the multiplier will help with that.
I'd say it has to do with a combination of under-parameterization and bias-variance tradeoff. But I concur, granted you come up with bad teams when randomized also, but my hunch is that we got good teams more often when randomized than with the balancer. I hesitated to say anything because I've heard the way I play was "weird" heheh (nudge nudge enyo... I still don't know how), and I figured my experience would be an anomaly.

PS All hail Hellmuth! :D
User avatar
Provert
Posts: 83
Joined: Sat Jun 12, 2021 8:28 pm
Location: La Mesa, CA
Server Sponsor: Yes
Contact:

Re: Damage Points...

Post by Provert »

Maybe it doesn't count the link gun because it can do healing and could possibly count the healing as damage on top of the healing?
User avatar
captainsnarf
Posts: 2714
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: Damage Points...

Post by captainsnarf »

Provert wrote: Thu Sep 15, 2022 7:32 pm Maybe it doesn't count the link gun because it can do healing and could possibly count the healing as damage on top of the healing?
I think that's what the ONSPlus guy was thinking, but it doesn't work that way. It also doesn't count link plasma which doesn't do healing.
User avatar
pooty
Posts: 4537
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Damage Points...

Post by pooty »

but my hunch is that we got good teams more often when randomized than with the balancer.
This was disproven with Data. I ran an analysis of lopsided matches from the StatsDB. With the balancer on it was I'll say slightly better
viewtopic.php?p=133&sid=f94909202695a1e ... c970c#p133

I haven't re ran the analysis since. I do feel with the Multiplier on its better as it splits up the top tier players (Enyo/Leon/Xexx/Anon etc) across the teams, without it, sometimes the points are "close" (and worse IMO with Damage points on) and you end up with a tier 2 player getting assigned to match up against Tier 1. [Say Shadow gets the Mino spams, gets a really high score, ups his PPH and next round you get him instead of Enyo/Xexx...)

I will say its definitely chasing a ghost. From the other thread:

It will hardly ever be close to perfect:
1. Teamwork-some players works better together - scores don't always reflect this.
2. Individual performance varies day by day, even on a map. I might get a nice PPH using the mino on Minus, but if next game I don't get it, I won't be as effective (at least points wise).
3. Joins/Leaves - People join or leave which then creates an imbalance which really can't be accounted for unless there's a mid round shuffle--which IMO is universally hated.
4. Don't underestimate noobs/poor players wasting power vehicles... If Enyo is on your team you want him in that Falcon. You don't want some noob taking the mino for a suicide run -- like playing in the lakebed on dria or trenches in Minus.

I say put the Multiplier back on, and leave it as is, not worth putting more effort into it simply because we don't have all the inputs necessary.
User avatar
McLovin
Posts: 1194
Joined: Sat Apr 03, 2021 12:54 pm
Location: Salt Lake City, Utah
Server Sponsor: Yes
Server Admin: Yes

Re: Damage Points...

Post by McLovin »

pooty wrote: Fri Sep 16, 2022 12:34 pm ...
3. Joins/Leaves - People join or leave which then creates an imbalance which really can't be accounted for unless there's a mid round shuffle--which IMO is universally hated.
...
Yes, mid-round shuffles are universally hated. It's kind of silly but I build a fake sense of loyalty to the team I started with.
Post Reply