Coder Social home page Coder Social logo

smarthi / balancing-heroes-and-pokemon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from godatadriven/balancing-heroes-and-pokemon

0.0 2.0 0.0 55 KB

Balancing Heroes and Pokemon in Real Time: A Streaming Variant of Trueskill for Online Ranking

License: Apache License 2.0

Scala 100.00%

balancing-heroes-and-pokemon's Introduction

Build Status

Balancing Heroes and Pokemon

Balancing Heroes and Pokemon in Real Time: A Streaming Variant of Trueskill for Online Ranking

We demonstrate a matchmaking system for online video games that needs to work in a streaming setting. In particular we will demonstrate a solution to the following problems;

  • How can you estimate the skill of a video game player in an online setting? Note that this needs to work for one vs. one player games as well as games with a team setting.

  • Given these skill estimations, how can you match them such that each player is always playing against a similar skill level and doesn't need to wait very long. Note that this needs to work in a distributed session as well.

To demonstrate an easy setting we will demonstrate how we are able to rank pokemon in one vs. one matches. To demonstrate a harder setting we will streaming game logs from heroes of the storm into our algorithm to show how it works. We intend to demonstrate a solution to this problem both on an engineering perspective (mainly handled by Fokko) as well as a machine learning perspective (mainly handled by Vincent).

The skill estimation algorithm can in part be found described on Vincent's blog: http://koaning.io/pokemon-recommendations-part-2.html

How to run the application

We need to run in cluster mode because we used Flink's queryable state.

export FLINK_TM_HEAP=4g
export FLINK_HOME=/Users/fokkodriesprong/Downloads/flink-1.3.2
export APP_HOME=`pwd`
$FLINK_HOME/bin/flink run $APP_HOME/target/scala-2.11/tru-scale.jar

You might want to tune the parallelism.default: 8 config in your Flink config. This will heat up your Macbook so your coffee won't get cold. Set the number to the number of logical cores of your machine.

balancing-heroes-and-pokemon's People

Contributors

fokko 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.