Roadmap

From WorldForgeWiki
Jump to: navigation, search

This page describes things that may change over time.
It thus requires regular updating, and may be outdated.


Color List
#f77Proposed
#ff7Development
#77fTesting
#7f7Implemented

Current Roadmap (2013)

Key Task name Task description Taken Implementor Suggested by
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. No None 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. No None 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 None 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 None 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 None 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 None 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 None 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 None Erik

Other Goals (2013)

Key Task name Task description Taken Implementor Suggested by
Investigate Replacing Skstream Determine if a suitable replacement for the Skstream library. Yes Erik Erik
Investigate Replacing WFMath Determine if a suitable replacement for the WFMath library. No None 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