sinbad,
@sinbad@mastodon.gamedev.place avatar

Major change to the inertia scoring system in SUSS; previously it just added inertia bonus to a decided action for future evaluations (reducing over time), which was fine so long as in future updates that action scored averagely well if it took some time. I found that in boundary cases where an action wanted to change state such that future evaluations scored badly or not at all, the action was susceptible to getting interrupted regardless of inertia. You could bodge it by making sure 1/n

sinbad,
@sinbad@mastodon.gamedev.place avatar

...state wasn't changed until late in the action's execution, but this was fragile & hacky. So instead I've made it so that once you've made a decision, that entire score (including inertia) becomes a minimum score for that action (in that context), which reduces as a whole over time. If subsequent evals score it more highly, that 'tops it up' (but no inertia, that only gets added on new decisions). It makes for a much more intuitive way to avoid 'flip/flopping' under fluctuating state 2/2

sinbad,
@sinbad@mastodon.gamedev.place avatar

The idea of Utility AI is quite simple, but there's a lot of devil in the details of exactly what you do with the scoring system, what levers and tweaks you can apply to it, how contexts are generated via queries, what should be a context/scoring system and what should be in the action implementation. I've learned a lot over the last couple of months implementing and using it

sinbad,
@sinbad@mastodon.gamedev.place avatar

How all the bits interact is fascinating as well. You can short-circuit this inertia system by priority groups for example, meaning you can implement "once you've decided to do something, resist changing your mind for a while, UNLESS it's one of these things in which case totally change your mind RIGHT NOW"

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • ngwrru68w68
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • anitta
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • provamag3
  • tester
  • Leos
  • megavids
  • JUstTest
  • All magazines