sgolodetz/game1666 — Issue #58: Implement the objectives system
Author: sgolodetz
Created: 2012-02-29 22:22:13+00:00
State: open
Labels: New Functionality

There need to be objectives for the player to accomplish! As a starting point:

* An objective is just a function that queries the game model and returns a value indicating the extent to which an underlying goal has been satisfied.
* Each world should have its own set of objectives. The objectives for a world should be defined in the world's XML file.
* A world's objectives set needs to notify listeners when individual objectives are satisfied, and when all of the objectives have been satisfied.

An industrial-strength objectives system would allow objectives to be scripted; in practice, I may initially go with the easier approach of pre-defining different types of objective in code, and simply parameterising them from the XML (I want to finish the game, not make a tech demo).