Implement a bot which will "learn" how to build a predetermined amount of marines. Along with a q-learning bot we provide feedback on a replay in terms of probability of winning per time step.
- We are now focusing on having the bot accomplish a goal such as build 20 marines by a certain unit of time.
- We will be branching off into Q-learning
and the use of [Weka]to determine the outcomes that a player should take. - We have decided to implement K-Nearest Neighbor (KNN) in order to deterimne the probability of a player winning at any given time.
- The parser iterates over the 1k+ replays selecting 91 predetermined labels
- It dumps the data of the 91 lables by time step into a csv file
"Units-1311.csv"
- It is also used to parse through the replay which we want to make predictions into another csv file
"parsed_replay.csv"
- We parse over 1k replays saving at every predetermined time interval
- We select 91 labels of interest such as Barracks, BarracksTechLab, etc. to help create the model
- The 92nd label is the win label which will be used as our Y value
- The parsed replays are dumped into a .csv file which are loaded into a pandas
DataFrame
- The
DataFrame
is sliced to fit the requirements of Scikit-learn'sKNeighborsClassifier
algorithm - Export into 4 different csv files pertaining to different values of k: 5, 10, 15, 20
- We created a GUI using Tkinter and matplotlib to plot the probailities of a win while monitoring a replay
- The GUI uploads the multiple csv files generated by the KNN script and plots the values
- x-axis: the time step of the replay
- y-axis: the probability of the win given a particular k value
- Try to build 20 marines as fast and as efficiently as possible using Q learning.
- For more information, visit the README in the Q Learning folder.
Gather large amounts of replay dataDetermine which points of data to retrieve and dump into a csv fileUpload csv file to Weka GUI