SoC Ideas Multiplayer Improvements 2011

From The Battle for Wesnoth Wiki
Revision as of 22:19, 8 March 2011 by Crab (talk | contribs) (Game creation screen)

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

This is a Summer of Code 2011 Idea


Reengineer Wesnoth's multiplayer engine

More info at SoC_Ideas_Multiplayer_Improvements_2011

Wesnoth includes a lot of multiplayer content, like 'standard' scenarios, custom scenarios and multiplayer campaigns. However, when creating a multiplayer game, the player's options are highly limited - for example, it is not possible to select the difficulty level before starting the scenario, and it is not possible to allow the scenario to set what 'variables' can be customized by players before game is started (there's only global 'use map settings' flag and some control over sides). We want to reengineer the architecture of Wesnoth's multiplayer engine to allow it to support those things.

There are no submitted student proposals for this idea

Additional Information

Difficulty levels in MP

Wesnoth includes a lot of text data config files which need to be 'parsed' before game starts. Difficulty needs to be known at the time we parse those config files. Currently, we parse those files before entering the multiplayer lobby. As a consequence, we cannot select difficulty in multiplayer game (data's already parsed at the point when the game is created). Note that parsing takes a lot of time, so, if we do it while already connected to MP server, we need to add workarounds to ensure it doesn't think the client is dead.

Game creation screen

We want the multiplayer game creation screen to be different and better. We think that we need different screens for normal MP scenarios, 'custom' MP scenarios and for MP campaigns.

Unification of Multiplayer and singleplayer

A really long-term goal would be to reduce the complexity of the codebase by merging SP and MP (making SP a special case of MP and allow seamless transition between both)

Whom to ask about this

Ask Crab_ on #wesnoth-dev