Saya tahu, saya tahu, sudah cukup lama.
Memang, dalam GOAP seperti yang diterapkan pada 2005 oleh Jeff Orkin di FEAR (dan digunakan kembali dalam sekuel, ekstensi, dan ... Shadow Of Mordor), tindakan memiliki biaya tetap, mulai dari 0,5 hingga 8. Secara umum, biaya menyerang jauh lebih mahal dari pada biaya bertahan. Biaya-biaya ini dapat diakses dalam database game Free FEAR SDK (2008); di sini mereka:
{{Animate, 1}, {Attack, 6}, {AttackBurstLimited, 5}, {AttackCrouch, 5}, {AttackFromAmbush, 4}, {AttackFromArmored, 4}, {AttackFromArmoredBounded, 4}, {AttackFromCover, 4}, { AttackFromVehicle, 1}, {AttackFromView, 4.5}, {AttackGrenadeFromCover, 2}, {AttackLunge3D, 1}, {AttackLungeMelee, 1}, {AttackLungeSuicide, 1}, {AttackLungeUncloaked, 1}, {AttackMelee, 3}, {AttackMeleeLong 1}, {AttackMeleeUncloaked, 3}, {AttackReady, 7}, {AttackTurret, 6}, {AttackTurretCeiling, 6}, {BlindFireFromCover, 2}, {Mengisi, 1}, {DeathOnVehicle, 1}, {DismountNodeUncloaked, 1} , {DismountVehicle, 1}, {DodgeCovered, 1}, {DodgeOnVehicle, 1}, {DodgeRoll, 2}, {DodgeRollParanoid, 2}, {DodgeShuffle, 3}, {DrawWeapon, 1}, {EscapeDanger, 0,5}, { FaceNode, 1}, {FlushOutWithGrenade, 3}, {Follow, 3}, {FollowHeavyArmor, 2}, {FollowPlayer, 2}, {FollowPlayerFidget, 1,8},{FollowWaitAtNode, 4}, {GetOutOfTheWay, 1}, {GotoNode, 1}, {GotoNode3D, 1}, {GotoNodeOfType, 1}, {GotoNodeOfType, 1}, {GotoTarget3D, 4}, {Target} , 8}, {GotoValidPosition, 1}, {HolsterWeapon, 1}, {Idle, 2}, {IdleFidget, 1}, {IdleOnVehicle, 1}, {IdleTurret, 2}, {InspectDisturbance, 2}, {InstantDeath, 1} }, {InstantDeathKnockDown, 1}, {KnockDownBullet, 2}, {KnockDownExplosive, 2}, {KnockDownMelee, 2}, {LongRecoilBullet, 3}, {LongRecoilExplosive, 3}, {LongRecoilHelmetPiercing, 3}, {Long, {LookAtDisturbance, 1.5}, {LookAtDisturbanceFromView, 3}, {LopeToTargetUncloaked, 1}, {MountNodeUncloaked, 1}, {MountVehicle, 1}, {ReactToDanger, 1}, {Reload, 5}, {ReloadCovered, 1} , 5}, {ShortRecoilMelee, 4}, {Stunned, 1}, {SuppressionFire, 2}, {SuppressionFireFromCover, 1}, {SurveyArea, 1},{TraverseBlockedDoor, 1}, {TraverseLink, 2}, {TraverseLinkUncloaked, 1}, {Uncover, 1}, {UseSmartObjectNode, 3}, {UseSmartObjectNodeMounted, 1}}
Tapi itu tidak terjadi di semua implementasi GOAP dan, misalnya, Tomb Raiders memiliki biaya variabel (misalnya jarak untuk tindakan Goto).
Tindakan juga memiliki prasyarat dan beberapa tindakan harus dimainkan meskipun arsitektur GOAP (mis. Memainkan animasi "terpana" dalam reaksi dengan cepat menurunkan kesehatan - terlepas dari Sasaran "Bunuh Musuh" dan rencana yang dikembalikan GOAP untuk memenuhi Sasaran itu). Dalam contoh Anda, yaitu melarikan diri vs menyerang, tingkat kesehatan dapat menjadi prasyarat (dan tidak perlu memiliki biaya variabel).
Atau fungsi anggota Check_Costs () dijalankan sebelum hal lain, berdasarkan prioritas Michael, dan mengembalikan biaya dinamis.
Sekarang, harap dicatat bahwa dalam pengembang game Shadow Of Mordor mencoba untuk bermain dengan biaya tindakan untuk mempengaruhi apa yang akan dieksekusi di layar. Ternyata itu tidak mudah dan bahkan tindakan murah tidak muncul begitu sering: AI dalam permainan mendukung pemain; jika pemain tidak melakukan apa yang diharapkan, AI hanya akan mendukung itu dan ... apa yang akan muncul di layar tidak akan seperti apa yang diharapkan desain game.