Skip to content

Latest commit

 

History

History
53 lines (47 loc) · 2.32 KB

roadmap.md

File metadata and controls

53 lines (47 loc) · 2.32 KB

Roadmap

This is a basic, non-strict roadmap that serves as a guide to the development of this mod.

Short term

Version 1.0.0-alpha

For version 1.0.0-alpha to be ready for release, the following functionality should be supported by the mod.

  • Nodes
    • Place nodes
    • Dig nodes
    • Ability to operate nodes (e.g. open a door, put items on chest)
    • Own nodes and respect player-owned and other NPC-owned nodes
  • Movement
    • Walk to a specified position with pathfinding
    • Follow a player or other entity
      • Walk to an accessible node that is in the walking path
      • Fix crash when userdata is stored in the program arguments
    • Run-away from a player or other entity
    • Attack a player or another entity
    • Wander while avoiding cliffs, water, lava, etc.
  • Programming API
    • Implement interpreter for anpc-acript
      • Support variables and executing instructions
      • Support control instructions
    • Add exit instruction
    • Add debug tool
      • See current program instructions
      • Ability to execute user-selected
      • See instruction arguments
      • Be able to see the "program" and "data" data structures
  • Translate all built-in programs to anpc-script

Version 1.0.0

  • Programming API
    • Support optional arguments with default values for instructions and programs
  • Movement
    • Support precision jumping
  • Programming API
    • Support 'using' expression in interepter

Long term

  • Nodes
    • Place nodes like players and respect protection
    • Dig nodes like players and respect protection
  • Movement patterns
    • Float/Flight
    • Pivot Points (PP): The idea is to calculate certain points around which the NPC will walk, and will keep a certain distance (radius) around them. These wandering mode is good for villages or forests, where obstacles are present. The NPC will always consider moves in a 180 degrees range.
    • Mostly-Straight Line (MSL): The idea is to calculate a path which is mostly straight however it will bend normally 45 to -45 degrees and will bend up to 90 degrees ocassionaly, while trying to keep going in a certain direction. This wandering is ideal for long distance walking with a goal, when the desired position can't be immediately achieved.
  • Programming API