SoC Ideas Persistent Gameworld

From The Battle for Wesnoth Wiki
Revision as of 19:30, 12 March 2010 by Crab (talk | contribs) (Definition of Done)


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



This is a Summer of Code 2010 Idea


Description

Implement persistent storage of gameworld data between semi-related scenarios

Allow WML authors to store/access persistent data 'in context' of a specific campaign/add-on/group of addons/ group of games. This will allow things like 'achievements' or 'massive multiplayer campaigns' to work.

Additional information

Right now, WML can store/load information inside a save game. a save game is a single thread of play through one or multiple scenarios.

We would like to make it possible to store (save/load) information inside a different context, such as 'shared data for all games played locally on a particular map/campaign/addon/wesnoth installation'. This will allow WML authors to implement many interesting things like 'achievements' system for their campaign, or additional replayability things.

Also, we would like to make it possible to store such information for MP games. This will allow things like 'massive multiplayer' games with persistent gameworld - where each MP game changes some data for one of 'global' massive multiplayer campaigns.

Definition of Done

WML authors are able to store and load WML snippets in their core campaigns/addons/groups of addons/groups of games. It is possible to use this system for displaying per-addon 'Achievements'. 'massive multiplayer' games with persistent gameworld are possible to code using WML and possible to host using stock wesnoth multiplayer server.

Whom to ask about this

Ask Crab_ on #wesnoth-dev