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...