Color List
#f77 Proposed
#ff7 Development
#77f Testing
#7f7 Implemented


Primary Goals

 Key  Task Name Task Description Taken Implementer Suggester
  Persist Minds  The server must be able to persist minds. They form the basis of the game play. Minds should be persisted when the server is shut down, and restored when it’s started. Mind data, along with entity data, should be possible to export and share between developers and world builders.  Yes Erik  Erik 
  Editable Minds  It must be possible to edit the minds of NPC live in the world. This forms the basis for any gameplay.  Yes Erik  Erik  
   Inspect Goals Editing AI is tricky and often results in both bugs and emergent behaviour. It’s crucial that it should be possible for a world author to properly inspect the minds of any NPC.  Yes  Erik  Erik  
  Suspend Simulation  When an author is editing the world we sometimes want the simulation to be suspended. This is to prevent things from growing or NPCs moving.  Yes  Erik   Erik 
   Local Admin When Ember is started it should detect if a local server is running, and if so present the user with an easy way to connect and login as an admin character.  Yes Erik   Erik  
  Goals Overhaul   There are a lof of goals which present buggy or unintended behaviour. With improved introspection and editing features it should be possible to fix these. Yes Erik   Erik  
   Entity Prototypes  Currently there’s only functionality on the server to create basic entities, with standard properties. But you want your entities to be more complex, with different properties and different inventory. We need a feature for defining entity prototypes. Thus we can create more interesting enemies for the user to fight, or to interact with. Yes  Erik   Erik 
  Collapse Human Hierarchy  There are currently a lot of different entity types for humans. "settler", "merchant" etc. These all need to go in favour of a "human" type.  Yes Erik   Erik  
   Respawning player entities Entities controlled by players should respawn when killed.  Yes  Erik  Erik  
  Improved Pathfinding  NPCs currently move around the world in straight lines, with jerky movement. And they get stuck. A lot. Instead they should use pathfinding to allow for natural movement. There are a lot of libraries for this. Like OpenSteer or Recast.  Yes  Erik  Erik  
  AI in separate process  We must separate the AI (minds) from the main world simulation. The AI simulation should happen in a separate process, or many processes. These can be run on the local machine, or a separate machine.  Yes  Erik  Erik  
   Custom Goals It’s currently only possible for a world author to add a predefined goal to a character. This makes world authoring cumbersome. To encourage experiments we should also allow for an author to per NPC define totally new goals, made up of arbitrary Python. This of course requires that we lock down the Python sandbox to prevent malicious code to be run.  Yes  Erik  Erik  
   Instancing  To solve all of the issues we're having with stale entities we should support instancing. I.e. that new entities that only are visible to certain other entities are created on the fly, thus "hiding" some entities from the world, and vice versa. No    Erik 
  Accounted entities  Player controlled entities shouldn't be destroyed when the world is reset. We need to somehow make sure that the progress of the player's isn't lost whenever we need to reset the world for some reason.  No    Erik 
   Collision Geometry Currently the geometry of all entities are solely defined by their bounding box. This means that it’s not possible to enter a house. Even though we have a lot of really kick-ass meshes which Jayr have created. This needs to change. Each entity/type should have an additional collision geometry.  No   Erik  
  Improved Goals  The current stack of goals isn’t near enough to provide diverse gameplay. We need to expand this with more goals and behaviour.  No   Erik 
   Improved Crafting The current crafting has an obtuse UI, and doesn't easily allow for combining different entities. We need to improve this, by making the UI better.  No   Erik
  Authoring Permissions  We want to allow different levels of authoring, perhaps even constrained to specific locations. For this we need a server side system which can limit what certain roles can do.  No    Erik 


Other Goals

 Key  Task Name Task Description Taken Implementer Suggester
  Investigate Replacing Skstream Determine if a suitable replacement for the Skstream library. No   Erik 
  Investigate Replacing WFMath Determine if a suitable replacement for the WFMath library. No   Erik
  Update the Main Website  Implement a totally new site using Concrete5. Keep the amount of content down. Use many images and videos. Yes  Dean  Erik