kgersen / Allegiance

Allegiance - RTS + FPS Space Combat game
http://www.freeallegiance.org/
MIT License
18 stars 26 forks source link

"AllegSkill" autobalance improvement #191

Closed kgersen closed 8 years ago

kgersen commented 8 years ago

Thread: http://www.freeallegiance.org/forums/index.php?showtopic=58232

the.ynik concocted a new autobalance algorithm that considers player count, team rank, average player rank, and some flexibility when allowing a player to join a team.

This is an alternative to and/or starting block for AllegSkill-based autobalance which may or may not ever happen.

My rendition of his algorithm is attached; I haven't tested it much because I can't seem to get ranks to work on my LAN.

Imported from trac ticket #192, created by TurkeyXIII on 07-29-2010 at 08:44, last modified: 09-01-2012 at 21:32

kgersen commented 8 years ago

The weighting factors and other constants in the equation can be modified by creating a file called balance.txt in the server's artwork. This file should also contain a rank threshold as per [[https://github.com/kgersen/AllegianceTest/issues/168]]

Trac comment by TurkeyXIII on 07-29-2010 at 09:55

kgersen commented 8 years ago

Sgt_Baker approves appending additional rank data in the callsign (for http service fail over and interim testing).

ex.

Imago(0)(43.23)(12.31) RANK MU SIGMA

Add it yourself and attribute it to Sgt_Baker Using a proxy lastMu and lastSigma with TrueSkill is better than what we have now and will put into place the code needed when the actual Mu and Sigma are obtained from the live data source. _Trac comment by Imago on 07-31-2010 at 19:56_
kgersen commented 8 years ago

format now planned is:

+123456789012@ABCD(30)1234 5678

_Trac comment by Imago on 08-01-2010 at 17:25_
kgersen commented 8 years ago

The replacement GetPlayerRank service is active on both CDN and Beta servers for testing. CDN is producing debug info for later review to ensure everything is A1, which seems so.

The next steps are to implement pre-launch and post-launch autobalance functions that use the ppso.mu & sigma. Also we cant forget to set these autobalance functions to be the default setting for new games.

Trac comment by Imago on 08-04-2010 at 01:50

kgersen commented 8 years ago

I renamed the ticket as it's indeed turning into the long awaited AllegSkill AB impl. which uses mu and sigma.

Trac comment by Imago on 08-04-2010 at 01:58

kgersen commented 8 years ago

rankscale .6 should be coded as max(RankID) / TRUE_SKILL_MAX (50)

Trac comment by Imago on 08-04-2010 at 05:12

kgersen commented 8 years ago

once we can remove the fail-over (backwards compat.) /w ASGS we can reduce per player over the wire size to 20B (remove rank)

Trac comment by Imago on 08-04-2010 at 05:25

kgersen commented 8 years ago

RankISScaled should be an On/Off setting in balance so the same code works either way.

Trac comment by Imago on 08-04-2010 at 05:32

kgersen commented 8 years ago

unscaled team conservative rank = sumMu - kfactor * sqrt(sumSigmaSquared)

Trac comment by Imago on 08-04-2010 at 05:39

kgersen commented 8 years ago

sumSquaredSigma += Math.Pow(player.sigma, 2.0)

Trac comment by Imago on 08-04-2010 at 05:43

kgersen commented 8 years ago

post-launch AllegSkill Position Request logic will be available after full testing is complete

Trac comment by Imago on 08-09-2010 at 00:22

kgersen commented 8 years ago

Code was removed, code will be reused with ACSS.

Trac comment by pkk on 02-25-2012 at 15:36

kgersen commented 8 years ago

Also see #326 - poll players before the autobalance process to see if they'd like to participate.

Trac comment by Spunky on 09-01-2012 at 21:32

LordBlacksun commented 8 years ago

low priority