Skip to content

A couple of simple Warcraft 3 games distribution visualisations

Notifications You must be signed in to change notification settings

l-Fingon-l/Wc3GamesDistribution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Wc3GamesDistribution

This repo consists of a set of tiny scripts for Warcraft 3 game history visualization. The supported graphs include:

Screenshots

Games by date

games-by-date

Winrate by hour

winrate-by-hour

Win-loss by hour

win-loss-by-hour

w3g py lib & optimizations

The underlying library used for replay parsing was the w3g lib by Anthony Scopatz.
This is one of the very few w3g python libraries out there and it's written in a very clean and simple manner.

However, at the point of creation of this project the library had been abandoned by its maintainer and it was crashing on newer replays.
I did rewrite the engine so it could handle the latest version of replays.

The second issue was the performance: as clean as the code has been, the library was literally unsuitable for use on large samples of data, - each replay file could take up to 3-5 seconds to parse.

As the internal parsing engine has been slightly optimised, the whole pack of ~900 replays took just about 4.5 seconds to get parsed in total.

Which means we got close to (10^3)x running time speedup on a ~10^3 items sample with just a handful of simple optimizations in a totally unknown codebase in a couple of hours. Oh, and by the way, it was my first time working with Python.

Optimization process

optimizations

About

A couple of simple Warcraft 3 games distribution visualisations

Topics

Resources

Stars

Watchers

Forks

Languages