Roadmap

This is a Sprint Backlog, listing the features we plan to implement in roughly the next month, for the next release.

For the full list of planned and suggested features, see the Feature category.

For a list of games that are planned for the Skycastle platform, see the Game Ideas.

Next Release - Skycastle 0.1
The main goal of this release is to get a compilable, deployable, and runnable client and server, with a chat feature.

Features to implement, in priority order:
 * Developer Installation
 * Protocol
 * Dynamic UI - Server specified UI layouts that the client can show and navigate in.
 * Account - List of games, and avatar creation and management
 * Game - Just the basic interface with avatar creation and joining a game.
 * Chat - As a simple game that shows players and forwards input from one to all.
 * Client Installation
 * Server Installation
 * POJO GameObjects - Create GameObjects by creating a normal class and annotating its methods and properties with access rights
 * IRC chat
 * Console

Feature List
List of features, by completition stage. Automatically generated.

Completed Features
Category:Completed_Features

Started Features
Category:Started_Features

Planned Features
Category:Planned_Features

Suggested Features
Category:Suggested_Features

Product Backlog
These are features that could be implemented in the future.

Basic client functionality

 * UI
 * Server Selection - a way to browse different available servers, and read their descriptions / web pages / logos

Basic server functionality

 * Game
 * Permissions

Agents

 * Movement
 * Physics - Start with simple physics like moving on the terrain and jumping / throwing. Add simple collision detection between objects.  Allow objects to move between Spacess through Portals.
 * Perception - Use various sensors to get updates on what other objects are present in this and other visible Spaces, what their properties are, what actions they do, how they look, and what animations they are performing.
 * AI
 * Scripting - See IRC discussion about scripting on 2007-09-04 for some discussion on this subject.

Content

 * Terrain
 * Vegetation
 * Roads - about networked addressing system, transport capacity, etc. Together with rivers and data networks, road systems are a kind of Network.
 * Buildings
 * Machines
 * Creatures

Editing support

 * Component Library - a common way to organize all kinds of components that can be used for building other components, or used in the game somehow
 * Component Editor (diagram style, could be used for visual programming too maybe?).
 * Graph Editor - for editing 2D graph / map / painting / whiteboard style data.
 * UI Editor - a way to edit the UI, and link UI components to the game object they should control or visualize. Could be partly built into the UI system itself.