SolarGram's Fix It Shop: Game Framework
- Skylar L.
- Jun 19, 2024
- 2 min read
Updated: Jun 20, 2024
This framework was inspired by The Sims 3's Utility AI system. Although the full system was not implemented, a simplified version with allocated numbers for calculations was used instead.
Task Inertia & Low-Frequency Calculation
Sole reliance on Utility AI can make NPC behavior robotic and predictable by always seeking the optimal solution. Inertia helps maintain continuity in NPC actions, avoiding abrupt task switches. Continuous decision-making can cause oscillation issues when actions have similar scores. A current proposed solution by David "Rez" Graham (Lead AI Programmer @ EA) is to stall the decision-making process for other actions until the current action is completed, the mechanism can be observed in The Sims. The proposed solutions/improvements are listed below.
Solutions/Improvements:
Process subsequent tasks at a low-level detail in the background.
Switch tasks only when the urgency of the subsequent task is significantly higher.
Continuously calculate utility for current and subsequent tasks; switch if the new task's utility is much higher.
Maintain the current task if utilities are similar and urgency is low.



Override Container
The override container functions as a comprehensive repository, systematically cataloguing a diverse array of potential world-state situations that hold the possibility of overriding the currently selected action.
Solution: The UAI will list potential situations that could replace the current action.
A designated container categorizes severe potential situations affecting the NPC, such as safety hazards, death, and environmental factors. If any of these situations arise during the NPC's current action, it seamlessly transitions into alert mode. In this state, the NPC evaluates and prioritizes actions that ensure its well-being and overall benefit.
The designated container assesses situations based on severity to determine if the NPC should transition into alert mode. If the severity is not high enough, the NPC may continue its current action. This tiered approach supports nuanced decision-making aligned with potential impacts on the NPC. To manage high processing costs, processing occurs at a low frequency, allowing NPCs to stay informed with slight delays in action.
This framework offers solutions to prevent task halting inconveniences and address situations where NPCs persist in current tasks despite urgent, life-threatening circumstances. Integrating these solutions enhances NPC adaptability, promoting dynamic and responsive behavior for a more believable emergent narrative.

Comments