Tasks:Road Map

From Adonthell
Revision as of 10:29, 8 March 2009 by Ksterker (talk | contribs) (Editors)
Jump to navigation Jump to search

The Road Map tries to give an overview of the direction Adonthell development is heading. If you are planning to help with development, you should get an idea what task might be the most pressing.

Over the coming year, the engine should reach a state, where the Dun Barethsol demo game can be implemented. From then on, the main focus will shift to cosmetic and usability improvements.

State of Adonthell

A series of alpha releases demonstrate the engine's current state with a number of Python scripts and small programs in the test/ folder [1]. The last version, v0.4 Alpha 2, was released on March 10th, 2008. The next milestone release is scheduled for March 2009.

The Task List is a pretty good indicator for the state of completion of the individual tasks listed below.

Current Objectives

There are currently a number of features being worked on, of which the GUI will probably make its appearance in the upcoming release. NPC schedules and a map editor are to be expected in Q3 2009.

GUI

  1. Implement Basic GUI Functionality
    The GUI should at least be able to display a full screen view of the world map.
  2. Implement simple GUI Widgets and Containers
    Add a text widget (UTF-8 capable), animation/image widget and list container.
  3. Integrate Dialogue Engine
    With simple widgets in place, create interface for dialogue and allow speaking with NPC in demo.

Path Finding

  1. Implement Path Finding
    At present, there is no path finding. Implement at least basic path finding for NPCs and expand later to allow them to jump/climb to traverse terrain that isn't all flat.
  2. Integrate Schedule System
    With path finding in place, add an NPC to the demo that follows a simple schedule.

Editors

  1. Map Editor
    The tool that allows to place scenery and characters on the map. Will later be expanded to allow scripting of map events, to place items and do all the other things required by a RPG.
  2. Sprite Editor
    The tool used to create a sprite from a set of PNG files. Everything displayed by the engine, whether animated or not, is a sprite.
  3. Object Editor
    The tool to create the 3D model for a given sprite. This is currently a manual process that should be by aided by a graphical tool for convenience.

Future Objectives

These objectives are planned for further milestone releases, but that doesn't mean it is forbidden to work on those now. Usually, objectives further down the list depend on steps higher up.

  1. Implement complex GUI Widgets and Containers
    Implement table or matrix container, better layouts and controls.
  2. Integrate Item System
    At present, only item models are implemented. Add graphical representation to items and integrate with map engine.
  3. Integrate Inventory
    With complex widgets in place, create interface for inventory management. Allow picking up and dropping of items to demo. Improve NPC schedules to handle items.
  4. Implement Role Playing System
    At present, the Game Rules only exist in documentation.
  5. Implement Melee Combat
    With the game rules and items in place, add melee combat with NPCs to the demo.
  6. Integrate Audio System
    Integrate existing audio code to add background music and sound effects to demo.
  7. Implement Ranged Combat
    With the game rules and items in place, add ranged combat with NPCs to the demo.
  8. Implement Spells
    With the game rules and items in place, add casting spells on self and others to the demo.

Dun Barethsol

Dun Barethsol will be the game to demonstrate all the features above. As such it cannot be completed before they are all implemented. However, there are a lot of tasks that can and should be done in parallel. This includes Graphic related tasks, creation of the game world as the map editor becomes available, dialogue writing, etc ...

And Then?

Once Dun Barethsol is released, it might be in order to go over the engine for cosmetic and usability improvements, like:

  1. Improve Game Controls
    Provide better configuration and default settings for the Input System.
  2. Implement annotations on in-game Maps
    Allow players to add their own notes to in-game maps.
  3. Implement Lighting System
    Allow for day/night cycle, darker dungeons, etc ...
  4. Improve Modding Ability of Engine
    Allow for official/user contributed mods.
  5. Implement Sky Layer
    Have clouds or birds floating above the landscape.