Starmancer on kickstarter7/15/2023 This included releasing a few dev blogs on the workings of the game and the first was on colonist AI and how it works. King under the Mountain has always been written to use “ Goal-Oriented Action Planning” but I wasn’t very happy with the approach taken so far (everything was a goal, and a goal could be made up of other goals, and so on) as there wasn’t much work put into deciding which goal to pick, and it wasn’t at all open to modding (which is always one of the central concerns when designing a new system). GoalsĪfter liberally borrowing the approach taken by Starmancer (so credit where it’s due!) instead the AI now has a series of potential “goals” and separately “actions” to carry them out. The priorities are (currently) taken straight from the list the Starmancer guys came up with, going from highest to lowest priority: A goal is something like “ Work on a job“, “ Go to sleep” or “ Eat some food“.įor a settler to decide that they want to attain one of these goals, they usually have several criteria against them: If they’re feeling fairly well rested they’ll look for a job to work on If they’re hungry they’ll look for food to eat If they’re tired they’ll want to sleep and so on.Ī settler will usually want to fulfil several of these goals at any one time, so they are queued up with a priority. However, this means a dwarf will work on jobs, ignoring anything they “want” until it becomes a more urgent “need”. To tackle this, goals are also organised around a schedule. Prison Architect did a very similar thing using a “Regime” which was open to modification by the player: Screenshot of Prison Architect’s “Regime” UI These categories are currently (again taken from Starmancer): Now, King under the Mountain follows the same concept with a schedule that has several categories across each hour. With all these concepts together – which goals to work on according to differing criteria, how to prioritise them and when to work on them according to the schedule – goals can be specified with a set of criteria which define what priority and schedule category they are queued up as. A goal will replace itself if it is already queued up with a lower priority, i.e. A settler may “want” to sleep if they’re fairly tired, then change to “need” to sleep when they’re very tired.
0 Comments
Leave a Reply. |