Tag: Utility

5.3 – Hybrid (BT + Utility) C++ Libraries

Hybrid of utility and behavior tree

Read More »

5.2 – Hybrid (BT + Utility) Architecture

5.2.0 – The Idea At certain point when I was implementing stuff, I started to realize that all kinds of AI systems could probably give very similar results, if not identical. It was just a matter of how…

Read More »

6.3 – Buddy AI Demo 2 – Ambient Following, Taking Cover, Combat Utility

Read More »

5.1 – Hybrid System Literature Review

Game AI Pro – Bill Merrill’s Building Utility Decisions into Your Existing Behavior Tree Game AI Pro – Daniel Hilburn’s Simulating Behavior Trees: A Behavior Tree/Planner Hybrid Approach Game AI Pro – Sergio Ocio Barriales’s Building a Risk-Free Environment to…

Read More »

2.6 – Utility Demo 2 – Target Selection

<Utility name="Utility_Test_3"> <Action id="Investigate"> <Consideration name="NotSeeEnemy"> <ResponseCurve type="Step" slope="-1" exponent="1" xshift="0" yshift="1"/> <Input id="SeeEnemy"/> </Consideration> <Consideration name="HaveLKP"> <ResponseCurve type="Step" slope="1" exponent="1" xshift="0" yshift="0"/> <Input id="HaveLKP"/> </Consideration> <Consideration name="CoolDown"> <ResponseCurve type="Polynomial" slope="0.5" exponent="2" xshift="0" yshift="0"/> <Input id="Time"/> </Consideration> </Action>…

Read More »

2.5 – Utility Architecture Update – Target Selection

2.5.1 – Target Selection Overall I thought about two ways to do target selection. One way is to use a hierarchy system to select targets, and another way is to calculate the scores for all targets simultaneously. Mike…

Read More »

2.4 – Utility Architecture

2.4.0 – The design Utility theory highlights the “motivation” behind every decision the AI makes. Each AI has a list of Actions. Each action contains a list of Considerations. Each consideration has a Response Curve and a Input…

Read More »

2.3 – Utility Demo 1

<Utility name="Utility_Test_2"> <Action id="Attack"> <Consideration name="SeeEnemy"> <ResponseCurve type="Step" slope="1" exponent="1" xshift="0" yshift="0"/> <Input id="SeeEnemy"/> </Consideration> <Consideration name="NearEnemy"> <ResponseCurve type="Linear" slope="-1" exponent="1" xshift="0" yshift="1"/> <Input id="Distance"/> </Consideration> <Consideration name="HealthIsHigh"> <ResponseCurve type="Linear" slope="1" exponent="1" xshift="0" yshift="0"/> <Input id="Health"/> </Consideration> <Consideration…

Read More »

2.2 – Utility C++ Libraries

Utility system iteration 0 – response curve functions based on Mike Lewis’s Choosing Effective Utility-Based Considerations (Pro 3-13) and Dave Mark’s GDC Talk Architecture Tricks: Managing Behaviors in Time, Space, and Depth (starting from 33:40), with data loaded from XML in runtime iteration 1…

Read More »

2.1 – Utility Literature Review

Game AI Pro 1 – 9 An Introduction to Utility Theory by David Graham Game AI Pro 3 – 13 Choosing Effective Utility-Based Considerations by Mike Lewis Mike Lewis and Dave Mark’s GDC Talk Building a Better Centaur: AI…

Read More »
The AI Project