#gamedev
I would be remiss if I didn't acknowledge how much influence #bladesinthedark has had on the development of my game. Its faction-level play is unrivaled to any TTRPG I've read.

My only real issue with the faction game is the sheer complexity implied by its comparatively simple rules. You might not be MEANT to run all 60 or so factions at the same time the players are making their little plans, but all that content would otherwise go to waste...

My answer was to automate it: find a way to manage the factions in the background, giving all the NPCs their own goals and motivations and using the output for a dynamic campaign setting.

#gamedev
At this point I've probably coded 3-4 iterations of the automated faction system, and this latest one is a banger. I've taken everything I've learned from working on #roguesouls the last year and a half and wrote a (barely) functional prototype in about 10 hours.

What was different THIS time is that I started with the core logic behind the rogues' planning and goals. The system is a chassis over a custom implementation of a Goal-oriented Action Planner.

Instead of separating actions and goals and passing around game state, I've reduced most everything to fairly simple predicates and Boolean logic and organized goals around POTENTIAL output.

#GOAP
What this means in practice is that an agent will attempt several things to try and bring its game state into alignment before trading to see if it has reached its goal.

There are mainly two things limiting the sorts of goals sought by an agent: One is that goals aren't originated from the agent themselves but the environment around them (Situations "emit" types of goals), and agents will make generalized risk/rewards assessments in the planning process.

I've implemented some "child goals" in tandem with the many free-standing goals, so that certain things will be attempted by an agent before they act on their main objective.

Results are varied, of course, so an agent might try to pull off a heist without knowing the interior of the location, becoming lost as a result. See: my next influence... #fiasco

@tanysfoster Hello! I've stumbled upon your toot because I follow the #bladesinthedark hashtag, and I'm not sure I understand what exactly you automated. It's that for a game you're making that also has factions, or have you created a room to automate the BitD factions? I'd be very interested in the latter, especially!