Developer Log #11 :: Goal Oriented Action Planning

After receiving quite a bit of great feedback from the alpha demo I’ve been focusing on resolving issues with the colonist behavior system. This is a daunting task as I believe it will require a re-write of the current system, but thankfully most of the core systems in the game are fairly modular so it should be straight forward once I have a solid plan.

The current system was inspired by articles I had read on goal oriented action planning or GOAP, but is neither as robust or complex. GOAP is a method of behavior control that has actions and goals defined in such a way that actions can be dynamically chained together to fulfill a given goal. The system I have in place at the moment uses actions, but how actions are connected together are predefined in code based on a relevant goal. This mostly works but results in very strict behavior and poor handling of failure events.

Goal Oriented Action Plan Example

I’ve gone back to the drawing board to re-evaluate integrating an actual GOAP system in the Mercury Fallen to allow for better behavior for the colonists. This will require a complete rewrite of the behavior system, but much of the time will be sunk into research and development of how I want to integrate such a system.

I have started coding in the basic structure for the new system, but it will take more time before I’m able to see the fruits of my labor. The end result should be a much more stable and responsive colonist AI that will allow for much more flexibility in colonist actions.


More Information About GOAP:



2 Replys
  1. Sounds awesome, looking forward to it!

    Do you think you might be able to expose the input data of this system for modding?

    • That is certainly an extra challenge of the system, but something I’ve already had in mind. The other benefit of this approach is a modular sensory/action system that can be tied in to creating custom clones/robots as a gameplay element.


Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Get On Steam

Twitter Posts