Tasks:Road Map

From Adonthell
Jump to navigation Jump to search

The direction Adonthell development is heading

Current Objective

Create a minimal Adonthell v0.4 alpha release with following features:

  • Screen-sized world map with a few scenery objects.
  • A player-controlled character that can walk, run and jump.

Future Objectives

Subsequent Engine development will be based on the minimal release and expand it by adding new or by integrating existing code. Tool development will proceed as features are incorporated into the release.

  1. Improve Object Models
    At present, object models are boxes. Object models should at least be simple 3D shapes to better match object graphics.
  2. Improve Collision Detection
    At present, collision detection is largely based on cells of the world grid being either walkable or not. It should be based on actual object models however.
  3. 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.
  4. Integrate Schedule System
    With path finding in place, add an NPC to the demo that follows a simple schedule.
  5. Implement Basic GUI Functionality
    The current state of the GUI is unknown. Check implementation and make sure that it has a Window implementation.
  6. Implement Map View
    At present, there is no map view. With the GUI in place, implement a Map View as a Window that renders part of the map. A Python script will determine which part of the map is visible in the view.
  7. Implement simple GUI Widgets and Containers
    Add a text widget (UTF-8 capable), animation/image widget and list container.
  8. Integrate Dialogue Engine
    With simple widgets in place, create interface for dialogue and allow speaking with NPC in demo.
  9. Implement complex GUI Widgets and Containers
    Implement table or matrix container, better layouts and controls.
  10. Integrate Item System
    At present, only item models are implemented. Add graphical representation to items and integrate with map engine.
  11. 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.
  12. Implement Role Playing System
    At present, the Game Rules only exist in documentation.
  13. Implement Melee Combat
    With the game rules and items in place, add melee combat with NPCs to the demo.
  14. Integrate Audio System
    Integrate existing audio code to add background music and sound effects to demo.
  15. Implement Ranged Combat
    With the game rules and items in place, add ranged combat with NPCs to the demo.
  16. Implement Spells
    With the game rules and items in place, add casting spells on self and others to the demo.

Dun Barethsol

With all the above in place, we should be able to create and release Dun Barethsol, which is a whole set of tasks in itself.

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.