Tôi biết, tôi biết, đã khá lâu rồi.
Thật vậy, trong GOAP được thực hiện vào năm 2005 bởi Jeff Orkin trong FEAR (và được sử dụng lại trong các phần tiếp theo, phần mở rộng và ... Shadow Of Mordor), các hành động có chi phí cố định, từ 0,5 đến 8. Nói chung, chi phí tấn công là rất nhiều đắt hơn chi phí phòng thủ. Các chi phí này có thể được truy cập trong cơ sở dữ liệu trò chơi của SDK FEAR miễn phí (2008); họ đây rồi:
{{Animate, 1}, {Attack, 6}, {AttackBurstLrict, 5}, {AttackCrouch, 5}, {AttackFromAmbush, 4}, {AttackFromArmored, 4}, {AttackFromArmoredBounded, 4}, {AttackFromArmoredBounded, 4}, {AttackFromArmored AttackFromVehicle, 1}, {AttackFromView, 4.5}, {AttackGrenadeFromCover, 2}, {AttackLunge3D, 1}, {AttackLungeMelee, 1}, {AttackLungeSu killer, 1}, {AttackLungeUncloilt, 1 1}, {AttackMeleeUncloaken, 3}, {AttackReady, 7}, {AttackTurret, 6}, {AttackTurretCading, 6}, {BlindFireFromCover, 2}, {Charge, 1}, {DeathOnVehicle, 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}, {GotoNodeDirect, 1}, {GotoNodeOfType, 1}, {GotoT, 4 , 8}, {GotoValidP vị trí, 1}, {HolsterWeapon, 1}, {Idle, 2}, {IdleFidget, 1}, {IdleOnVehicle, 1}, {IdleTurret, 2}, {InspectDisturbance, 2}, {InspectDisturbance, 2} }, {InstantDeathKnockDown, 1}, {KnockDownBONS, 2}, {KnockDownExplosive, 2}, {KnockDownExplosive, 2}, {KnockDownMelee, 2}, {LongRecoilBONS, 3}, {LongRecoilBpl, 3 {LookAtDisturbance, 1.5}, {LookAtDisturbanceFromView, 3}, {LopeToTargetUncloaken, 1}, {MountNodeUncloaken, 1}, {MountVehicle, 1}, {ReactToDanger, 1}, Tải lại , 5}, {ShortRecoilMelee, 4}, {Choáng váng, 1}, {SuppressionFire, 2}, {SuppressionFireFromCover, 1}, {SurveyArea, 1},{TraverseBlockedDoor, 1}, {TraverseLink, 2}, {TraverseLinkUncloaken, 1}, {Unpack, 1}, {UseSmartObjectNode, 3}, {UseSmartObjectNodeMounted, 1}}
Nhưng đó không phải là trường hợp trong tất cả các triển khai GOAP và, ví dụ, Tomb Raiders có chi phí biến đổi (ví dụ: khoảng cách cho một hành động Goto).
Các hành động cũng có các điều kiện tiên quyết và một số hành động phải được thực hiện mặc dù kiến trúc GOAP (ví dụ: phát hoạt hình "choáng váng" trong phản ứng làm giảm sức khỏe nhanh chóng - bất chấp Mục tiêu "Tiêu diệt kẻ thù" và kế hoạch mà GOAP quay trở lại để đáp ứng Mục tiêu đó). Trong ví dụ của bạn, tức là chạy trốn và tấn công, mức độ sức khỏe có thể là điều kiện tiên quyết (và không cần phải có chi phí biến đổi).
Hoặc hàm thành viên Check_Costs () được thực thi trước mọi thứ khác, dựa trên các ưu tiên của Michael và trả về chi phí động.
Bây giờ, xin lưu ý rằng trong Shadow Of Mordor, các nhà phát triển trò chơi đã cố gắng chơi với chi phí cho các hành động để ảnh hưởng đến những gì sẽ được thực hiện trên màn hình. Hóa ra đó không phải là hành động dễ dàng và thậm chí rẻ tiền thường không xuất hiện thường xuyên: AI trong trò chơi hỗ trợ người chơi; Nếu người chơi không làm những gì được mong đợi, AI sẽ chỉ hỗ trợ điều đó và ... những gì sẽ xuất hiện trên màn hình sẽ không phải là những gì thiết kế trò chơi mong đợi.