Well, on the surface, the AI doesn't seem too impressive. The entities aren't writing plays (yet!) or anything. However, the job system and entity state machine was extremely challenging to write. I've had to re-write it several times over the last five years of development. The problem was that I learned a lot as I went (which meant I wanted to throw out garbage code I had written previously) and that the game got more complicated over time. It's super difficult to write something that can catch every edge case. That said, it's finally in a place that feels comfortable to work on and expand upon. Entities still have little behavior issues but it's much easier to address them now.
As for specific challenges, there are so many...
Writing a job system that could assign entities jobs based on priority was interesting. You have a lot of things to factor in for just assigning them a job. Then, what happens when something goes wrong. i.e., The entity dies, or the items i...
Read more