What am I doing now?

I try and make steady progress on the toolkit with regular releases. I base my features on a rough roadmap created to meet the needs of the Summermeat project and community requests.

Developer's Release 6

I am currently working on Developer's Release 6 of the toolkit. This release is part of the continual improvement of the base toolkit. I am steadily making progress towards a general user release that will be simple and efficient for a wide variety of game developers.

Combat AI

This release will introduce general support for in-game combat. It is roughly based off of the City of Doors combat AI written by NamelessOne with several generators modelled after Jasperre's AI. This is perfectly useable combat AI for production modules.

Class System

I am introducing a new class system that will configure Memetic NPCs in a general manner. Each NPC will belong to a series of classes. Each is initialized and potentially creates memetic objects to cause the creature to react, accordingly. Future work will be done to organize a nifty class hierarchy and a collection of behavior patterns. Classes can also be thought of as roles, or professions.

Variable Inheritance and Class Instance

You will now be able to cause an object to inherit variables from another object. Additionally, a class object can be created to allow several object share variables. All of the list handling functions have been updated and augmented. There are now cover functions for the Get and Set functions to manipulate variables.

Assorted Updates

As always, there are a few additional convienence functions added. In particular some PoI functions will allow the automatic creation of PoIs on objects that have a given tag, on module startup. A number of new list functions have been written to allow you to copy and merge lists of a given type.

Upcoming Features

Unfortunately, not everything will make it into the upcoming release. Luckily this just means I have motivation to finish up what's on my plate, so I can get to code even more good stuff. In particular there are a few things that I want to do...

Solver

Eventually there will be a solver. What does that mean? Well, with the introduction of child memes in DR5, I can now dynamically chain behaviors together and unwind the chain as each child succeeds. This will allow me to create a mechanism to register several behaviors are "solutions" to "problems". The solver will have the job to picking several potential solutions and give them the opportunity to attempt to solver the problem. The binding between problem and solution will be hard coded and the algorithm to determine which solutions are selected will likely be similar to NamelessOne's combat AI: there will be a percentage chance that a given NPC will select a particular reaction for a given problem.

Landmark Convienence Functions

The landmark and trail system, although released in DR4, needs to be improved. A number of convienence functions are needed to attach metadata on the landmarks. Additionally, Daryl will be adding code to cache landmark information in the upcoming Bioware database. This will greatly improve load times. We have also discovered a bug in the i_gotolandmark meme which has not been fixed and a TMI bug for landmarks with greater than four trails. This will be fixed with an additional layer of DelayCommand() calls to process each trail leading away from a landmark.