Home | GOAP

AI Planning Analytics — From F.E.A.R (2005) to Assassin’s Creed: Shadows (2025) by Eric Jacopin. Explore 20 years of Goal-Oriented Action Planning in NPC decision-making.
📅 Nov 3–4, London
🎟 Tickets: https://www.tickettailor.com/events/gameaieventscic/1651469
#AIandGames #GameDev #NPC #GOAP

Interestingly, I added a simple inventory to my little NPCs and then gave them a lower priority goal of collecting a certain amount of food. With a very minimal amount of effort not only will NPCs stockpile some food in their inventory, but also now when they're hungry, they can eat the food in their inventory before going out to look for more.

It's really cool seeing behaviors like this emerging without having explicitly planned it myself! #goap #goapai #gamedev #Godot4

In part 11 of my #JFXInAction interviews, we look at game development. #FXGL is a library created by Almas Baim that helps us create #JavaFX games. But it’s much more than games! With the integrated Goal-Oriented Action Planning (#GOAP) functionality, it can use game technology and AI to solve any goal, based on actions and preconditions. In this video, Almas live codes such a solution with a minimal amount of code!

Video: https://www.youtube.com/watch?v=RFSIBrP4mZM
More info: https://webtechie.be/post/2024-12-05-jfxinaction-almas-baim/

Almas Baim: FXGL, a multipurpose game library for JavaFX (#11)

YouTube
Il dispositivo istituzionale che non crede alle donne quando denunciano una violenza

Nei tribunali italiani il fenomeno della vittimizzazione secondaria è realtà. Gli abusi vengono infatti spesso archiviati e le valutazioni degli psicologi non prendono atto dell’esperienza traumatica delle madri vittime di violenza, privilegiando i padri maltrattanti, ritenuti invece idonei, in più della metà dei casi, per un affidamento condiviso, o addirittura esclusivo, dei figli. Le storie di Julia e Vanessa

Altreconomia

#GodotEngine #ResourceWrangler #GOAP #AI

Am hacking away on a small (fake) GOAP system for my fishies. I am using the Resource Wrangler plugin to sketch it out and find the best approaches.

For more complicated critters I will need a better goap, but that's the future.
🦇

#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

Плэнер — язык логического программирования для ИИ: что из него получилось

Боты под управлением системы GOAP (Goal Oriented Action Planning), источник Плэнер (Planner) — функционально-логический язык программирования, схожий по своему синтаксису с Лиспом . Функциональная часть языка содержит фактически целиком Лисп в качестве подмножества. При этом его встроенные возможности по символьной обработке значительно шире. А введение в запись нескольких типов скобок (в Лиспе допускаются только круглые скобки) сделало программы гораздо понятнее для чтения. В свою очередь, логическое программирование — это парадигма программирования, основанная на математической логике, в которой код состоит из логических утверждений и правил вывода.

https://habr.com/ru/companies/ruvds/articles/808273/

#ruvds_статьи #domainspecific #Planner #ИИ #Плэнер #Лисп #логическое_программирование #GOAP

Плэнер — язык логического программирования для ИИ: что из него получилось

Боты под управлением системы GOAP (Goal Oriented Action Planning), источник Плэнер (Planner) — функционально-логический язык программирования, схожий по своему синтаксису с Лиспом . Функциональная...

Хабр

I gave it a go in implementing #GOAP in our project and it seems it might actually not be very suited for a "tribe sim" sort of game (think buildings and resource management). Simply because... the world is not static. Things sometimes are available sometimes are not.

The world state in Fear is a set of 22 booleans (ENUM_AIWORLDSTATE_PROP_KEY in AIWorldState.h). What happens if you have 40+ resources that can be mixed together in different buildings?

I've been digging into #GOAP #gameai #gamedev. Here is a bunch of resources:

Jeff Orkin's GDC talk: https://www.gdcvault.com/play/1013282/Three-States-and-a-Plan

A shorter intro: https://www.youtube.com/watch?v=PaOLBOuyswI

Even shorter intro: https://www.youtube.com/watch?v=tdBWk2OVCWc

A more recent #GDCtalk about GOAP: https://www.youtube.com/watch?v=gm7K68663rA (the statistics are quite interesting!)

The Fear SDK source code with all GOAP goodies: https://github.com/xfw5/Fear-SDK-1.08

Another simpler GOAP implementation in #cpp: https://github.com/cpowell/cppGOAP

And also: https://www.unrealengine.com/marketplace/en-US/product/goap-npc-goal-oriented-action-planning-for-non-player-characters/

Three States and a Plan: The AI of F.E.A.R.

F.E.A.R.s AI was designed to provide a combat experience as exhilarating as multiplayer against a team of skilled humans. Enemies work in squads, laying suppression fire as allies advance. When confronted with a threat, soldiers shout orders to...