New Plugin: Auto-handicap

voodoocvoodooc Join Date: 2002-12-26 Member: 11560Members
<div class="IPBDescription">Make it fun even with team stacking</div> OK, so I've been running my new plugin on the WFL server for the past day or so, and it seems to be working well.

We have this problem on our server -- some of you might have it too: we have a core of regular, skilled players, who all like to play on the same team, because there is nothing more frustrating to them than playing with a bunch of noobs.

The end result is frequently hideous team stacking, where one team just dominates the other throughout the entire game.

My fix? AUTO HANDICAP.

Here's what the plugin does:
- throughout the life of the server, track player kill-deaths and store them in a mysql DB.
- every 15 seconds it calculates the sum of all player kill-death ratios on each team
- it then assigns a handicap, based on the ratio of team weights, normalized to 1.
- handicap modifies all damage dealt by each team (including sentries, etc)

Example:

Team One:
- three player with a 3:1 K:D ratio (300)
Total : 900 weight

Team Two:
- nine players with 1:2 K:D ratio (50)
Total: 450 weight

Ratio of weights is: 2:1, normalized as 1:0.5

I've actually softened the handicapping by half, so in the current version, it ends up 1:0.75.

Problems:

YOU HAVE TO RUN THE SERVER IN TOURNAMENT MODE FOR THIS TO WORK.

Yes, because the NS developers do not see fit to grace my whining with an answer or help. They have two server cvars, mp_team1handicap and mp_team2handicap. For some reason, they decided to only allow those variables to work under TOURNAMENT MODE.

Unfortunately, tourney mode also enables the following side-effects:
- friendly fire (we have a lot of admins, so this isn't a problem)
- have to say 'ready' to start the round
- map doesnt automatically switch
- there is no '25 res window' at the beginning for aliens
- you don't see periodic updates as to total nodes on each team

And I'm sure, a few other things we haven't noticed.

Oh, and also, when you first run the plugin, you can get some wonky balancing problems because the statistical information is young and inaccurate. New players are automatically assigned a weight of 100 (1:1 K:D ratio), and their first games can cause skewed weights if they go on a killing spree.

I'd really like for this to be able to work OUTSIDE of tournament mode, but I can't figure out how to hax0r it without some help from the devs.

Feedback, suggestions, thoughts?

vc

Comments

  • voodoocvoodooc Join Date: 2002-12-26 Member: 11560Members
    Oh yeah, almost forgot, the server (so you can test it) is at:

    Natural Selection v2.01d @ Warmfuzzyland.com|33ms|209.204.62.175:27019

    kthxbai~~~
  • sk84zer0sk84zer0 Join Date: 2003-06-18 Member: 17478Members
    /me points to the edit button
  • NiteowlNiteowl Join Date: 2002-09-04 Member: 1274Members, NS1 Playtester, Contributor
    excellent work voodoc, sorry i can't help ya with yer problem! but looks good <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo-->
  • sawcesawce Join Date: 2002-12-14 Member: 10787Members
    Sounds good and all, but wouldn't an end game team, say, 3-4 onos, and a fade or two, with lerk support, who are slaughtering the marines, and can't get past their turret farms be crippled with damage? Or if marines get a 2 hive lockdown, and are running around with lvl 3 lmgs and shotguns, killing all skulks, and anything else that runs into them, wouldn't that make it so they get crippled damage wise (i think 2.0 does handicaps with damage, right?)
  • jabsjabs Join Date: 2002-12-14 Member: 10773Members
    I was thinking the same thing sawce. If marines get all teched out with ha/hmg/gl or the aliens get a few onos, those players ratios will sky rocket while the other teams ratios will plummit. If you could place some kind of "class penalty" on the kills (like 1 onos kill counts as .75 kills to the ratio while an onos death could be like 1.25 to the death ratio). Also, if the player would get killed by a turret, would that lower the turrets damage and increase the players attack or just increase the players attack?
  • voodoocvoodooc Join Date: 2002-12-26 Member: 11560Members
    Well, the thing is, with an established database of statistics, the kills/deaths generated during a single game shouldn't skew the player weights significantly. You get the kind of 'wonky' behavior you describe only when you first install the plugin.

    I would actually recommend running it first for a few days with tourneymode OFF -- so it calcs weights, tracks kills/deaths, but doesnt actually set the handicap. Once it's been populated, it doesnt matter if youre on a killing spree, and rack up 100 kills -- because you already have a couple thousand in the database.

    Remember, it calcs player weights over the life of the server, not just within a single game. It's not trying to punish a team for doing well, its making it more difficult for a team that is filled with skilled players that is playing against a team of not-so-skilled players.

    Anyone have any good ideas for how to appeal to the NS devs to enable the handicap cvars in non-tourney mode? Threats? Bribes? Promises of sexual favors?

    vc
  • voodoocvoodooc Join Date: 2002-12-26 Member: 11560Members
    Status Update: As we iron out the bugs, the players on the server are getting fonder of this plugin by the minute. No longer is 'OMG TEAMS' cried out, if it is, it is quickly shushed by an explanation of the tracking system.

    It also helps cure the mass-F4-at-the-hint-of-danger problem. When one or two drop, it only strengthens the resolve of the remaining players on the team. Usually, its the people who are complaining who leave first, and those left watch their enemy team's handicap go from 1.0 to 0.8, and it gives them hope. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo-->

    On the noob side, its much more fun to play when you have a chance against the team of noob-rapers who are pwning you heartily.

    On the l33tplayer side, its much more satisfying to pwn 3 enemies without dying, when you know you're only doing 60% damage to them.

    All in all, its a lot of fun!

    vc
  • EpidemicEpidemic Dark Force Gorge Join Date: 2003-06-29 Member: 17781Members
    Stacked marine teams will make aliens pwn too much <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif'><!--endemo--> Also, Marines tend to kill abit more aliens without stacking <!--emo&::marine::--><img src='http://www.unknownworlds.com/forums/html/emoticons/marine.gif' border='0' style='vertical-align:middle' alt='marine.gif'><!--endemo-->
  • voodoocvoodooc Join Date: 2002-12-26 Member: 11560Members
    I love armchair theorists. These are the same guys who would have gone with Aristotle's contention that men had more teeth than women...

    vc
  • SiliconSilicon Join Date: 2003-02-18 Member: 13683Members
    edited September 2003
    I was actually thinking about a system something closely compared to what you are doing, but never expected someone to do it, good job. ;p
    I'd be interested to see statistics too..
  • BryBry Join Date: 2003-01-23 Member: 12609Members
    <!--QuoteBegin--voodooc+Sep 9 2003, 11:52 AM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (voodooc @ Sep 9 2003, 11:52 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Problems:

    YOU HAVE TO RUN THE SERVER IN TOURNAMENT MODE FOR THIS TO WORK.

    Yes, because the NS developers do not see fit to grace my whining with an answer or help. They have two server cvars, mp_team1handicap and mp_team2handicap. For some reason, they decided to only allow those variables to work under TOURNAMENT MODE.

    <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
    Try 2.01e it allwos handicap to work in non tourney mode... <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
  • EvilGrinEvilGrin Join Date: 2002-11-04 Member: 6851Members
    Science & Industry has this sort of 'team balancing' in it. It works quite effectively. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->

    Either I'm blind or you really didn't post a download url. Any eta on when this plugin maybe released? Its exactly what I need..
  • voodoocvoodooc Join Date: 2002-12-26 Member: 11560Members
    <!--QuoteBegin--Bry+Sep 10 2003, 05:17 PM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Bry @ Sep 10 2003, 05:17 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <!--QuoteBegin--voodooc+Sep 9 2003, 11:52 AM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (voodooc @ Sep 9 2003, 11:52 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Problems:

    YOU HAVE TO RUN THE SERVER IN TOURNAMENT MODE FOR THIS TO WORK.

    Yes, because the NS developers do not see fit to grace my whining with an answer or help.  They have two server cvars, mp_team1handicap and mp_team2handicap.  For some reason, they decided to only allow those variables to work under TOURNAMENT MODE.

    <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
    Try 2.01e it allwos handicap to work in non tourney mode... <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo--> <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
    <!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
    Try 2.01e it allwos handicap to work in non tourney mode... <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
    <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->

    YOU #love ME
    YOU REALLY #love ME

    yay for 2.01e

    <!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
    Either I'm blind or you really didn't post a download url. Any eta on when this plugin maybe released? Its exactly what I need..
    <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->

    There are a couple things that need to happen:
    1) I need to finish a few reporting features. I want a triggered popup that tells you what the current weights of all players on both teams are, and who the top twenty weighted players are.
    2) We need members on our NS server. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo-->

    * RUTHLESS PLUG *
    I'm co-owner of a game server hosting company, warmfuzzyland.com. One of our products is called a 'Community Server', where people pay a small monthly fee for a reserved slot, choice of admins, etc. on one of our public servers.

    What we would like to do is develop these sort of things for the community at large (i.e., all you guys), but we want to make sure we get something out of it.

    So, as soon as our NS server reaches the minimum membership to cover its monthly cost, I'll release the plugin to the public. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo-->

    Oh, what wicked webs we weave, when first we practice to break even.

    Cheers,

    vc
  • EvilGrinEvilGrin Join Date: 2002-11-04 Member: 6851Members
  • voodoocvoodooc Join Date: 2002-12-26 Member: 11560Members
    Another Update:

    The <a href='http://ns.warmfuzzyland.com' target='_blank'>WFL NS Community Server</a> is a mere 30 Simoleans away from making the rent this month!

    Unfortunately, a few of our current volunteer admins are unhappy with the plugin and are resigning. We're having a grand old discussion about it <a href='http://ns.warmfuzzyland.com/index.php?name=PNphpBB2&file=viewtopic&t=573' target='_blank'>on our forums</a>.

    I'd still like to make some adjustments to the weighting algorithm. I think it may be over-weighting certain players, or in certain situations. I'd love to have some feedback from interested parties. If you're planning on running this on your own server, this would be the time to help fine-tune it!

    Discussion thread <a href='http://ns.warmfuzzyland.com/index.php?name=PNphpBB2&file=viewtopic&p=5588#5588' target='_blank'>here</a>.
Sign In or Register to comment.