SoC Ideas Multiplayer Data Analysis

From The Battle for Wesnoth Wiki
Revision as of 07:59, 26 February 2014 by Soliton (talk | contribs) (Additional Information)

This page is related to Summer of Code 2014
See the list of Summer of Code 2014 Ideas

This is a Summer of Code 2014 Idea


Improve the automated collection and display of multiplayer game data

Page for the idea: SoC_Ideas_Multiplayer_Data_Analysis

Multiplayer games are currently archived, but there is no data stored regarding who won the game. We would like to record which team won (for as many games as possible) and then display information about these games for balancing and feedback purposes.

There are no submitted student proposals for this idea

Additional Information

The primary use for this would be for multiplayer balancing, both for developers and for authors of UMC. This breaks down into 3 parts that I can see.

  1. Alter how multiplayer games end in such a way that they must either declare a winning side or have the players select a "continue later" option. This will allow much of the game data that is already collected to be used more directly for analysis. Many games will no doubt never finish "successfully" due to network disconnections or savegames that are never reloaded, but if most players simply declare a winning side via some interface at the end of the game we should get many good data points.
  2. Store in a database as much data useful to analysis as is currently possible. Savegames are stored in WML, which can be parsed by C++, Python and Perl. Some highlights of very useful things:
    • By era, which factions win the most and on which maps.
    • Which side(s) win the most on which maps.
    • Which eras and/or maps see the most games, and their various full-game completion rate.
    • If possible, what difficulty (if applicable to MP campaign or UMC) was selected for the game.
  3. While the first two parts are most important, if time allows it would be great to create a medium to display and filter the data (preferably web-based). Allow for filtering of many different variable with an eye toward being able to expend and add display variables in the future.

Whom to ask about this

Soliton, happygrue (IRC is preferable)