Project - Metagame Analysis

ToastieToastie Join Date: 2012-11-05 Member: 167351Members
I am currently working on a project for a Machine Learning class to analyze NS2, and figured I will probably keep on working on it to turn it into a tool which can be used to discuss the NS2 metagame. I posted about this in the competitive sub-forum to get some ideas on starting (as I am going to try to start looking at competitive data before I expand into pub data).

This breaks up into a couple sections:

<!--coloro:#00FF00--><span style="color:#00FF00"><!--/coloro--><b>Information Extraction</b><!--colorc--></span><!--/colorc-->
This is what I am currently working on. I have gotten a chunk of data gathered from NS2 Stats, and have converted it into C# objects which I can work with (yay LinQ!). Right now I am working on writing methods to pull important information out of the data. So far what I have extractable is:

- KDR / spread for teams / players
- Tres gathered over rounds / time frames in rounds

Next I am adding

- Build order
- Pres gathered
- Lifeform / weapon info
- RTs built / lost
- Hives / CCs built / lost

And later on information more along the lines of

- Pushes
- Turtles
- Engagements
- Map control


<!--coloro:#00FF00--><span style="color:#00FF00"><!--/coloro--><b>Machine Learning and NS2</b><!--colorc--></span><!--/colorc-->
The point of pulling out this information is to use to predict who is going to win (or how likely it is for a team to win) based on how the game evolves. I am planning on attacking this with a few different ML algorithms to see what I can find. Currently planned are:

- Kernelized Perceptron (just to see what I can get from an absurd amount of combinations of features)
- Decision Tree (to see what is "most important" in determining a game's outcome)
- Random Forest / Bagged Trees (to get more complex learners which are still decipherable)


<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro--><b>tl;dr</b><!--colorc--></span><!--/colorc--> I'm making a tool to see if <insert common balance complaint here> is actually a problem.

Comments

  • ghastghast Join Date: 2012-12-05 Member: 174233Members
    All I can say is.... Wow :O
  • bHackbHack Join Date: 2010-03-23 Member: 71059Members
    edited December 2012
    Gl. As I said - it is possible. You just need the proper avg. constant 'values' to work and compare with during the live game.
    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->- RTs built / lost
    - Hives / CCs built / lost<!--QuoteEnd--></div><!--QuoteEEnd-->
    You would need to include alien upgrade structure built / lost, as well as other marine structures, as that influences the economy of the team (tres loss + time loss).
    Clogs and hydras are not of that importance and hard to judge, imho.
  • ToastieToastie Join Date: 2012-11-05 Member: 167351Members
    <!--quoteo(post=2040588:date=Dec 5 2012, 06:22 PM:name=bHack)--><div class='quotetop'>QUOTE (bHack @ Dec 5 2012, 06:22 PM) <a href="index.php?act=findpost&pid=2040588"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->You would need to include alien upgrade structure built / lost, as well as other marine structures, as that influences the economy of the team (tres loss + time loss).
    Clogs and hydras are not of that importance and hard to judge, imho.<!--QuoteEnd--></div><!--QuoteEEnd-->

    I actually just ended up writing generic structures build/lost methods, so it can already do that! I'll keep in mind to look at them tho. Currently just going to file clogs / hydras under pres spent / lost.
  • BurdockBurdock Join Date: 2012-08-27 Member: 156553Members
    I know someone you might want to talk too!

    Arga, laosh'RA, and somewhat my self have been working on a dynamic balance sampler. Basically It samples data from the NS2 source to create a pretty cool system of analyzation. Raw data and Basic tools (How long it takes to kill a hive with X and Y) are in the works, and hopefully a full build order maker will be in short order. But we could use some more hands, and some great ideas!

    Anywho if you want my steam is <a href="http://steamcommunity.com/id/BurdockNS" target="_blank">http://steamcommunity.com/id/BurdockNS</a>

    -Daniel
  • ToastieToastie Join Date: 2012-11-05 Member: 167351Members
    I will take you up on that Burdock, when I am less busy.

    UPDATE:
    Finally got some ML into this, and using round length, KDRs, res info, and initial build/upgrade times of various things, I am currently getting 80% accuracy with a perceptron. I'll update the top post at some point in the next couple days, and once I have a more finished / polished version I'll put out my source code for people to play with.
Sign In or Register to comment.