Difference between revisions of "SoC Ideas Persistent Gameworld"

From The Battle for Wesnoth Wiki
(Additional information: examples)
m (Additional information)
Line 11: Line 11:
 
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.
 
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.
  
**Example:**
+
'''Example:'''
 
Imagine a game where there's a 'game master' - who creates a scenario, where you, for example, as a captain of a royal army, play for loyalists vs orcs. and then, if you win, the 'game master' changes the 'geopolitical map' to represent the fact that the border was defended, and orcs were defeated. Or imagine several games played in parallel, where you can transition from one game to another 'right-in-the-middle' (e..g, the gamemaster can store your units in one game and spawn them in another). and, it will not be hardcoded in c++ code. Every rule, every fantasy, can be achieved in wml, if we give a 'language' for it and implement engine support.
 
Imagine a game where there's a 'game master' - who creates a scenario, where you, for example, as a captain of a royal army, play for loyalists vs orcs. and then, if you win, the 'game master' changes the 'geopolitical map' to represent the fact that the border was defended, and orcs were defeated. Or imagine several games played in parallel, where you can transition from one game to another 'right-in-the-middle' (e..g, the gamemaster can store your units in one game and spawn them in another). and, it will not be hardcoded in c++ code. Every rule, every fantasy, can be achieved in wml, if we give a 'language' for it and implement engine support.
  

Revision as of 19:51, 18 March 2010


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.

Example: Imagine a game where there's a 'game master' - who creates a scenario, where you, for example, as a captain of a royal army, play for loyalists vs orcs. and then, if you win, the 'game master' changes the 'geopolitical map' to represent the fact that the border was defended, and orcs were defeated. Or imagine several games played in parallel, where you can transition from one game to another 'right-in-the-middle' (e..g, the gamemaster can store your units in one game and spawn them in another). and, it will not be hardcoded in c++ code. Every rule, every fantasy, can be achieved in wml, if we give a 'language' for it and implement engine support.

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