SoC Ideas Multiplayer server

From The Battle for Wesnoth Wiki
Revision as of 19:38, 15 February 2009 by Dave (talk | contribs) (General Description)

Extending the Multiplayer server

Our multiplayer community is generally strong and healthy, but we believe its growth is limited by some problems in the interface of the multiplayer lobby.

General Description

The general idea of this project would be

  • To study the current lobby,
  • To develop ideas about how our multiplayer interface could evolve to allow it to scale to a much larger community
  • And to implement as many of those changes as practical

Some ideas that we had (but that are in no way mandatory):

  • Having a simple way to register and authenticate nicknames, similar to what IRC offers. The point is not to have cryptographically safe logins, but to have something simple that gets the job done
  • Having a simple room system? Again, inspired by IRC
  • Having some way to find the type of games you are interested in. filtering by:
    • game type
    • number of free slots/players
    • any other criteria you might find interesting

Other ideas we are not yet convinced are good, but that are certainly worth studying (especially how the communities based around these concepts are different from ours)

  • ranking players
  • guilds
  • official tournaments
  • titles for players
  • metaservers
  • game matching when players are ranked (poker, bridge...)

The scalability of the design (both in term of number of players, and in term of the possibility for players and developers to extend the concept) will be an important criterion.

Administration/moderation problems and techniques should also be studied.

Interaction with the Add-On server/forum should be explored.

An additional feature that could be considered is more secure random number generation to prevent cheating. At the moment, random numbers are generated on the client side. Things could be changed

Required knowledge and talent

  • A fair amount of experience with C++ is required. Wesnoth uses some advanced C++ features and is heavily based on BOOST and SDL. We can train you in some of the libraries used, but learning all of them would be a big hurdle.
  • Experience with multiplayer games, in order to have a good idea of what multiplayer lobbies of other game look like, and (more importantly) a good idea of the social behaviours of multiple MP communities, how teams are formed in games and things like that.

Milestones and deliverables

  • A first milestone would be a presentation summarizing the different studies, and the proposed interface. preliminary informal stages would probably be desirable, to make sure the proposed idea is already a consensus within devs
    • Study of other MP game-matching interfaces and functionalities
    • Study of other MP communities
    • Study of other MP moderation practices
    • Study of the Wesnoth MP community, including needs, various opinions from different developers and players
  • A second milestone would be the main code delivery. Code should be functional for it will be delivered in the next Wesnoth development release

See also

Summer of Code Ideas - The root where all information regarding SoC is (or better should be) linked from.