Coder Social home page Coder Social logo

starcraft-bot-detection's Introduction

Deep Learning for bot detection in StarCraft: Brood War

By Dr. Michael Tsikerdekis, Sean Barret, Raleigh Hansen, Matthew Klein, Josh Orritt, and Jason Whitmore

This repository contains all the source code used for our research project as part of Western Washington University's CSCI 491/492/493 final project series. This project was overseen by Dr. Michael Tsikerdekis.

Components

This project is split into 3 primary components that represent the workflow used to conduct the experiments in our research paper.

The primary programming language of this project was Python 3.6. Any external packages used are listed at the top of each python file with their version numbers

Parser

This component was created by Sean Barret and Matthew Klein

Since there was no standardized StarCraft: Brood War dataset for bot detection, we were required to collect, parse, and clean the data ourselves. The code in this component converts StarCraft: Brood War replay files (.rep) into JSON files, then finally into comma separated value (.csv) files which can be used as time series data in our deep learning classifier model.

Detector

This component was created by Jason Whitmore

Once the data has been parsed into .csv files, this component is used to construct and train deep learning models on this dataset.

Hyperparameters such has hidden layer size and sequence length are listed as variables in all capital letters at the start of the files. When running the game sequence length experiment, the model will be trained using K-fold cross validation and terminates with display of relevant statistics such as F1, F2, precision, and recall on the test sets.

Evaluations

This component was created by Raleigh Hansen and Josh Orritt

Once a deep learning model is trained on our dataset, the evaluations component of our code provides tools to interpret and display results for the experiments we conducted. Notably, this component visualizes the simulated real time predictions experiment, which processes stateful predictions from each game, then plots a mean and standard deviation. These plots allow us to describe the accuracy and variance of our deep learning classifier as a game progresses.

starcraft-bot-detection's People

Contributors

tsikerdekis avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.