erematorg / LP

A systemic 2D platformer in a dynamic living ecosystem.
https://www.lifesprogress.com
GNU Affero General Public License v3.0
8 stars 8 forks source link

Add Finite State Machine (FSM) for Entity Behaviors #62

Closed erematorg closed 4 months ago

erematorg commented 4 months ago

Problem Description

LP currently lacks a structured approach to manage entity behaviors dynamically. Implementing a Finite State Machine (FSM) will provide a flexible and maintainable way to handle various states and transitions for entities like animals and plants.

Proposed Solution

Develop a general FSM framework that can be easily integrated into the existing LP system. This FSM should handle states such as idle, searching, attacking, fleeing for animals, and growing, photosynthesizing, reproducing for plants. The FSM should be modular to allow for easy expansion and customization.

Alternatives Considered

Additional Context

The FSM should be developed in a new Godot project for initial testing and validation. Once verified, it should be integrated into LP. This will ensure that the FSM is flexible, modular, and easily maintainable, supporting the dynamic behaviors required for LP's ecosystem simulation.

erematorg commented 4 months ago

Closed by PR #67. However room for enhancements is still needed for instance plants and other specific attributes are not being handled yet, still a solid base structure for now with room to improvements later on.