SlideShare a Scribd company logo
Killzone 2 Multiplayer Bots Alex Champandard – AiGameDev.com Tim Verweij – Guerrilla Remco Straatman - Guerrilla Game AI Conference, Paris, June 2009
Introduction  Game AI Conference, Paris, June 2009  ,[object Object],[object Object],[object Object]
Scope  Game AI Conference, Paris, June 2009  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scope  Game AI Conference, Paris, June 2009  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scope  Game AI Conference, Paris, June 2009  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scope : movie Game AI Conference, Paris, June 2009
Architecture  Game AI Conference, Paris, June 2009
Architecture  Game AI Conference, Paris, June 2009  Strategy AI –  ISA Strategy AI –  HGH Squad AI Squad AI Squad AI Squad AI Individual AI Individual AI Individual AI Individual AI Individual AI Individual AI Individual AI Individual AI Individual AI
Architecture  Game AI Conference, Paris, June 2009  Strategy AI Squad AI Individual AI ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Individual AI Game AI Conference, Paris, June 2009
Individual AI Game AI Conference, Paris, June 2009  stimuli perception Threats daemons World state planner Plan task execution Controller  input Orders Messages
Individual AI Game AI Conference, Paris, June 2009  stimuli perception Threats daemons World state planner Plan task execution Controller  input Orders Messages
Individual AI : HTN Planner Game AI Conference, Paris, June 2009  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],HTN Planning: Complexity and Expressivity.  K. Erol, J. Hendler and D. Nau. In Proc. AAAI-94.
Individual AI : HTN Planner Game AI Conference, Paris, June 2009  (: method  (select_weapon_and_attack_as_turret  ?inp_threat ) (  branch_use_bullets   // Only use bullets against humanoids and turrets. (and (or (threat  ?inp_threat  humanoid) (threat  ?inp_threat turret ) ) (distance_to_threat  ?inp_threat ?threat_distance ) ( call  lt  ?threat_distance  @weapon_bullet_max_range)  ) ( (attack_as_turret_using_weapon_pref  ?inp_threat  wp_bullets)) ) (  branch_use_rockets   // Don't use rockets against humanoids and turrets. ( and  ( not  (threat  ?inp_threat humanoid )) ( not  (threat  ?inp_threat turret )) (distance_to_threat  ?inp_threat   ?threat_distance ) ( call  lt  ?threat_distance  @weapon_rocket_max_range) ) ((attack_as_turret_using_weapon_pref  ?inp_threat  wp_rockets)) ) )
Individual AI : Plan monitoring Game AI Conference, Paris, June 2009  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Individual AI : Plan Monitoring Example Game AI Conference, Paris, June 2009  (: domain   attack_portable_turret (: method  (attack_as_turret)  // Turret keeps attacking same target as long as possible. (  continue_attack_as_turret   // Continue branch ( active_plan  attack_as_turret) ( ! continue )  ) (  branch_attack_as_turret   // Attack an enemy if possible () (  (! forget   active_plan  **) (! remember  -  active_plan  attack_as_turret) (select_threat_and_attack_as_turret 0) (! forget   active_plan  **) ) ) ) … .
Individual AI : Application Game AI Conference, Paris, June 2009  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Individual AI : Application Game AI Conference, Paris, June 2009
Individual AI : Application Game AI Conference, Paris, June 2009  + branch_mp_behave + (do_behave_on_foot_mp) + branch_medic_revive + (do_medic_revive) - branch_medic_revive_abort - branch_medic_revive_continue + branch_medic_revive ( !forget  active_plan **) ( !remember  - active_plan medic_revive [Soldier:TimmermanV]) ( !log_color  magenta “Medic reviving nearby entity.”) ( !broadcast  friendlies 30.0 10.0 medic_reviving [Soldier:TimmermanV]) ( !select_target  [Soldier:TimmermanV]) + (walk_to_attack 5416 crouching auto) + (wield_weapon_pref wp_online_mp_bot_revive_gun) - branch_auto_and_have_active - branch_auto_wp_pref - branch_dont_switch_weapon + branch_switch_weapon (#0 = wp_online_mp_bot_revive_gun) + (wield_weapon_pref_internal wp_online_mp_bot_revive_gun) ( !use_item_on_entity  [Soldier:TimmermanV] crouching) ( !forget  active_plan **)
Individual AI : Application Game AI Conference, Paris, June 2009  HTN PLAN (non-interruptible) – [BOT] Tremethick DECOMPOSITION TASK LIST ( !forget  active_plan **) ( !remember  – active_plan medic_revive [ Soldier:TimmermanV ]) ( !log_color  magenta  “Medic reviving nearby entity.” ) ( !broadcast  friendlies 30.0 10.0 medic_reviving [ Soldier:TimmermanV ]) ( !select_target  [ Soldier:TimmermanV ]) ( !walk_segment  ( 2370 2369 2368 2367 2366 2365 … 5416 ) standing auto () () ()) A ( !select_weapon  wp_online_mp_bot_revive_gun) ( !use_item_on_entity  [ Soldier:TimmermanV ] crouching) ( !forget  active_plan **) ACTIVE TASK INFO AIHTNPrimitiveTaskSelectWeapon –
Individual AI : Random Numbers Game AI Conference, Paris, June 2009  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Squad AI  Game AI Conference, Paris, June 2009
Squad AI  Game AI Conference, Paris, June 2009
Squad AI Game AI Conference, Paris, June 2009  daemons World state planner Plan task execution Individual Orders Strategy Orders Member Messages
Individual AI : Application Game AI Conference, Paris, June 2009  HTN STATE - HGHSquad2 (time 871273) (faction hgh) (current_level mp_level_05) (capture_and_hold) (capture_area_status [CaptureAndHoldArea:CnH_Area3] [AIArea:CnH_Area3] captured) (capture_area_status [CaptureAndHoldArea:CnH_Area2] [AIArea:CnH_Area2] enemy_controlled) (capture_area_status [CaptureAndHoldArea:CnH_Area1] [AIArea:CnH_Area1] enemy_controlled) (have_order 2 2473) (order 2473 2 defend [AIMarker:Assn_Hide3_Defend2] 0)  (squad_status defend ready 424.166016) (nr_of_members 3) (player_count 3) (member_status [Soldier:[BOT] Brueckner] defending 2473) (member_status [Soldier:[BOT] Politeski] defending 2473) (member_status [Soldier:[BOT] VanDerLaan] defending 2473) (area_of_member [Soldier:[BOT] Politeski] [AIArea:CnH_Area3]) (area_of_member [Soldier:[BOT] Brueckner] [AIArea:CnH_Area3]) (area_of_member [Soldier:[BOT] VanDerLaan] [AIArea:CnH_Area3]) (squad_member 2 [Soldier:[BOT] Politeski]) (squad_member 1 [Soldier:[BOT] Brueckner]) (squad_member 0 [Soldier:[BOT] VanDerLaan])
Squad AI Game AI Conference, Paris, June 2009  (:method (order_member_defend  ?inp_member ?inp_id ?inp_level ?inp_marker ?inp_context_hint ) … (branch_advance () ( ( !forget  member_status  ?inp_member  **) ( !remember  - member_status  ?inp_member  ordered_to_defend  ?inp_id ) ( !start_command_sequence   ?inp_member ?inp_level  1)   (do_announce_destination_waypoint_to_member  ?inp_member )   ( !order   ?inp_member clear_area_filter )   ( !order   ?inp_member   set_area_restrictions (call find_areas_to_wp  ?inp_member  (call get_entity_wp  ?inp_marker )))   ( !order_custom   ?inp_member  move_to_defend  ?inp_marker ?inp_context_hint )   ( !order_custom   ?inp_member  send_member_message_custom completed_defend  ?inp_id )   (order_set_defend_area_restriction  ?inp_member  (call get_entity_area  ?inp_marker ))   ( !order_custom   ?inp_member defend_marker   ?inp_marker ?inp_context_hint ) ( !end_command_sequence   ?inp_member ) ) ) )
Squad & Bot Management
Challenges ,[object Object],[object Object],Paris Game AI Conference, 2009.  Squads: Bots:
Inspiration Paris Game AI Conference, 2009.  Building a Better Battle:  The Halo 3 AI Objectives System Damian Isla Game Developers Conference, 2008. disposable enemies persistent bots level  specific use applied generally for designers for programmers mostly declarative mostly procedural story-driven strategic
Principles ,[object Object],[object Object],Paris Game AI Conference, 2009.
Internal Architecture Paris Game AI Conference, 2009.  Base Strategy Capture & Hold Search & Destroy Assassination Body Count Search & Retrieve Objectives: Squads: Bots:
AI Objectives Paris Game AI Conference, 2009.  Static Offensive AdvanceWaypoint Defensive DefendMarker Dynamic AttackEntity EscortEntity
Search and Retrieve Paris Game AI Conference, 2009.  advance advance attack escort defend
Sub-Objectives ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Paris Game AI Conference, 2009.
Search & Destroy: Defending (1) Paris Game AI Conference, 2009.
Search & Destroy: Defending (2) Paris Game AI Conference, 2009.
Search & Destroy: Defending (3) Paris Game AI Conference, 2009.
Assignments ,[object Object],Paris Game AI Conference, 2009.
Squad & Bot Assignment Algorithm ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Paris Game AI Conference, 2009.
Squad & Bot Assignment Heuristics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Capture and Hold Paris  Game AI Conference, 2009. advance advance defend
Strategic Reasoning
Manual Level Annotations ,[object Object],[object Object],[object Object],Paris Game AI Conference, 2009.  “ Create the information by hand first, then automate it later if necessary.”
Regroup Locations Paris Game AI Conference, 2009.
Sniping Locations Paris Game AI Conference, 2009.
Mission Specific Defense Paris Game AI Conference, 2009.
Automatic Level Processing Paris Game AI Conference, 2009.  Because it’s awesome.™
Strategic Graph Paris Game AI Conference, 2009.
Strategic Graph ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Paris Game AI Conference, 2009.
Waypoint Network Paris Game AI Conference, 2009.
Waypoint Areas Paris Game AI Conference, 2009.
Strategic Graph Paris Game AI Conference, 2009.
Area Clustering ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Paris Game AI Conference, 2009.
Strategic Graph Paris Game AI Conference, 2009.
Strategic Graph Paris Game AI Conference, 2009.  Runtime Information
Influence Mapping ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Paris Game AI Conference, 2009.
Influence Map Paris Game AI Conference, 2009.
Example: Regroup Location Selection ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Paris Game AI Conference, 2009.
Assassination: Defenders Paris Game AI Conference, 2009.
Assassination: Attack Wave 1 Paris Game AI Conference, 2009.
Assassination: Attack Wave 2 Paris Game AI Conference, 2009.
Strategic Pathfinding ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Paris Game AI Conference, 2009.
Strategic Pathfinding Costs Paris Game AI Conference, 2009.
Strategic Pathfinder Paris Game AI Conference, 2009.
Strategic Pathfinder Paris Game AI Conference, 2009.
Incremental Single-Source Algorithm ,[object Object],[object Object],[object Object],[object Object],Paris Game AI Conference, 2009.  Realistic Autonomous Navigation in Dynamic Environments Alex J. Champandard Masters Research Thesis, University of Edinburgh, 2002.
Example: Squad Corridors ,[object Object],[object Object],[object Object],Paris Game AI Conference, 2009.
Squad Corridors: Squad 1 Paris Game AI Conference, 2009.
Squad Corridors: Squad 2 Paris Game AI Conference, 2009.
Squad Corridors: Squad 2 Paris Game AI Conference, 2009.
Squad Corridors: Squad 1 Paris Game AI Conference, 2009.
Squad Corridors: Sniper Squad Paris Game AI Conference, 2009.
Squad Corridors: Sniper Squad Paris Game AI Conference, 2009.
Take Away Paris Game AI Conference, 2009.  Strategy is more than the sum of its parts.
Future work ,[object Object],[object Object],[object Object],[object Object],Game AI Conference, Paris, June 2009
Guerrilla is hiring! Game AI Conference, Paris, June 2009  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るCinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
Unity Technologies Japan K.K.
 
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
승민 백
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
Unity Technologies Japan K.K.
 
블랙옵스4의 레벨 디자인
블랙옵스4의 레벨 디자인블랙옵스4의 레벨 디자인
블랙옵스4의 레벨 디자인
용태 이
 
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
エピック・ゲームズ・ジャパン Epic Games Japan
 
HDR Theory and practicce (JP)
HDR Theory and practicce (JP)HDR Theory and practicce (JP)
HDR Theory and practicce (JP)
Hajime Uchimura
 
RENDERING 最適化「禍つヴァールハイト」
RENDERING 最適化「禍つヴァールハイト」RENDERING 最適化「禍つヴァールハイト」
RENDERING 最適化「禍つヴァールハイト」
KLab Inc. / Tech
 
Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3
Electronic Arts / DICE
 
ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介
Koji Morikawa
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
Ki Hyunwoo
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
ozlael ozlael
 
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
 Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み) Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
Sindharta Tanuwijaya
 
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらいCEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
エピック・ゲームズ・ジャパン Epic Games Japan
 
게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)
Lee Sangkyoon (Kay)
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクション
Unity Technologies Japan K.K.
 
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012devCAT Studio, NEXON
 
ゲームAIとマルチエージェント(上)
ゲームAIとマルチエージェント(上)ゲームAIとマルチエージェント(上)
ゲームAIとマルチエージェント(上)
Youichiro Miyake
 
Unity2018/2019における最適化事情
Unity2018/2019における最適化事情Unity2018/2019における最適化事情
Unity2018/2019における最適化事情
Unity Technologies Japan K.K.
 
UDK Level design portfolio (PvP TDM) [Praha]
UDK Level design portfolio (PvP TDM) [Praha]UDK Level design portfolio (PvP TDM) [Praha]
UDK Level design portfolio (PvP TDM) [Praha]
Kyeong-su Song
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
Yongha Kim
 

What's hot (20)

Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るCinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
 
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
 
블랙옵스4의 레벨 디자인
블랙옵스4의 레벨 디자인블랙옵스4의 레벨 디자인
블랙옵스4의 레벨 디자인
 
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
 
HDR Theory and practicce (JP)
HDR Theory and practicce (JP)HDR Theory and practicce (JP)
HDR Theory and practicce (JP)
 
RENDERING 最適化「禍つヴァールハイト」
RENDERING 最適化「禍つヴァールハイト」RENDERING 最適化「禍つヴァールハイト」
RENDERING 最適化「禍つヴァールハイト」
 
Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3
 
ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
 
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
 Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み) Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
 
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらいCEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
 
게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクション
 
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
 
ゲームAIとマルチエージェント(上)
ゲームAIとマルチエージェント(上)ゲームAIとマルチエージェント(上)
ゲームAIとマルチエージェント(上)
 
Unity2018/2019における最適化事情
Unity2018/2019における最適化事情Unity2018/2019における最適化事情
Unity2018/2019における最適化事情
 
UDK Level design portfolio (PvP TDM) [Praha]
UDK Level design portfolio (PvP TDM) [Praha]UDK Level design portfolio (PvP TDM) [Praha]
UDK Level design portfolio (PvP TDM) [Praha]
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
 

Similar to Killzone 2 Multiplayer Bots

AIES 2021 Keynote lecture
AIES 2021 Keynote lecture AIES 2021 Keynote lecture
AIES 2021 Keynote lecture
Youichiro Miyake
 
426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer Tools426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer Tools
Mark Billinghurst
 
COSC 426 Lect. 3 -AR Developer Tools
COSC 426 Lect. 3 -AR Developer ToolsCOSC 426 Lect. 3 -AR Developer Tools
COSC 426 Lect. 3 -AR Developer Tools
Mark Billinghurst
 
Linux mouse
Linux mouseLinux mouse
Linux mouse
sean chen
 
PVS-Studio, a solution for resource intensive applications development
PVS-Studio, a solution for resource intensive applications developmentPVS-Studio, a solution for resource intensive applications development
PVS-Studio, a solution for resource intensive applications development
OOO "Program Verification Systems"
 
PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...
PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...
PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...
Andrey Karpov
 
JIT compilation for CPython
JIT compilation for CPythonJIT compilation for CPython
JIT compilation for CPython
delimitry
 
ShinoBOT Suite
ShinoBOT SuiteShinoBOT Suite
ShinoBOT Suite
Shota Shinogi
 
Unity3D Programming
Unity3D ProgrammingUnity3D Programming
Unity3D Programming
Michael Ivanov
 
GPThreats-3: Is Automated Malware Generation a Threat?
GPThreats-3: Is Automated Malware Generation a Threat?GPThreats-3: Is Automated Malware Generation a Threat?
GPThreats-3: Is Automated Malware Generation a Threat?
Marcus Botacin
 
Gdc09 Minigames
Gdc09 MinigamesGdc09 Minigames
Gdc09 MinigamesSusan Gold
 
Everybody be cool, this is a ROPpery
Everybody be cool, this is a ROPperyEverybody be cool, this is a ROPpery
Everybody be cool, this is a ROPperyVincenzo Iozzo
 
TCNJ Indoor Aerial Robotics Presentation
TCNJ Indoor Aerial Robotics PresentationTCNJ Indoor Aerial Robotics Presentation
TCNJ Indoor Aerial Robotics PresentationWinston Moy
 
Fuzzing malware for fun & profit. Applying Coverage-Guided Fuzzing to Find Bu...
Fuzzing malware for fun & profit. Applying Coverage-Guided Fuzzing to Find Bu...Fuzzing malware for fun & profit. Applying Coverage-Guided Fuzzing to Find Bu...
Fuzzing malware for fun & profit. Applying Coverage-Guided Fuzzing to Find Bu...
Maksim Shudrak
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in Android
Opersys inc.
 
S378 introduction to robocup & soccer simulation
S378 introduction to robocup & soccer simulationS378 introduction to robocup & soccer simulation
S378 introduction to robocup & soccer simulation
Isfahanlug
 
4Developers 2018: An Arma 3 mod success story - Creating a new game mode for ...
4Developers 2018: An Arma 3 mod success story - Creating a new game mode for ...4Developers 2018: An Arma 3 mod success story - Creating a new game mode for ...
4Developers 2018: An Arma 3 mod success story - Creating a new game mode for ...
PROIDEA
 
Tricky sample? Hack it easy! Applying dynamic binary inastrumentation to ligh...
Tricky sample? Hack it easy! Applying dynamic binary inastrumentation to ligh...Tricky sample? Hack it easy! Applying dynamic binary inastrumentation to ligh...
Tricky sample? Hack it easy! Applying dynamic binary inastrumentation to ligh...
Maksim Shudrak
 
Monogame Introduction (ENG)
Monogame Introduction (ENG)Monogame Introduction (ENG)
Monogame Introduction (ENG)
Aloïs Deniel
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in Android
Opersys inc.
 

Similar to Killzone 2 Multiplayer Bots (20)

AIES 2021 Keynote lecture
AIES 2021 Keynote lecture AIES 2021 Keynote lecture
AIES 2021 Keynote lecture
 
426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer Tools426 lecture 4: AR Developer Tools
426 lecture 4: AR Developer Tools
 
COSC 426 Lect. 3 -AR Developer Tools
COSC 426 Lect. 3 -AR Developer ToolsCOSC 426 Lect. 3 -AR Developer Tools
COSC 426 Lect. 3 -AR Developer Tools
 
Linux mouse
Linux mouseLinux mouse
Linux mouse
 
PVS-Studio, a solution for resource intensive applications development
PVS-Studio, a solution for resource intensive applications developmentPVS-Studio, a solution for resource intensive applications development
PVS-Studio, a solution for resource intensive applications development
 
PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...
PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...
PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...
 
JIT compilation for CPython
JIT compilation for CPythonJIT compilation for CPython
JIT compilation for CPython
 
ShinoBOT Suite
ShinoBOT SuiteShinoBOT Suite
ShinoBOT Suite
 
Unity3D Programming
Unity3D ProgrammingUnity3D Programming
Unity3D Programming
 
GPThreats-3: Is Automated Malware Generation a Threat?
GPThreats-3: Is Automated Malware Generation a Threat?GPThreats-3: Is Automated Malware Generation a Threat?
GPThreats-3: Is Automated Malware Generation a Threat?
 
Gdc09 Minigames
Gdc09 MinigamesGdc09 Minigames
Gdc09 Minigames
 
Everybody be cool, this is a ROPpery
Everybody be cool, this is a ROPperyEverybody be cool, this is a ROPpery
Everybody be cool, this is a ROPpery
 
TCNJ Indoor Aerial Robotics Presentation
TCNJ Indoor Aerial Robotics PresentationTCNJ Indoor Aerial Robotics Presentation
TCNJ Indoor Aerial Robotics Presentation
 
Fuzzing malware for fun & profit. Applying Coverage-Guided Fuzzing to Find Bu...
Fuzzing malware for fun & profit. Applying Coverage-Guided Fuzzing to Find Bu...Fuzzing malware for fun & profit. Applying Coverage-Guided Fuzzing to Find Bu...
Fuzzing malware for fun & profit. Applying Coverage-Guided Fuzzing to Find Bu...
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in Android
 
S378 introduction to robocup & soccer simulation
S378 introduction to robocup & soccer simulationS378 introduction to robocup & soccer simulation
S378 introduction to robocup & soccer simulation
 
4Developers 2018: An Arma 3 mod success story - Creating a new game mode for ...
4Developers 2018: An Arma 3 mod success story - Creating a new game mode for ...4Developers 2018: An Arma 3 mod success story - Creating a new game mode for ...
4Developers 2018: An Arma 3 mod success story - Creating a new game mode for ...
 
Tricky sample? Hack it easy! Applying dynamic binary inastrumentation to ligh...
Tricky sample? Hack it easy! Applying dynamic binary inastrumentation to ligh...Tricky sample? Hack it easy! Applying dynamic binary inastrumentation to ligh...
Tricky sample? Hack it easy! Applying dynamic binary inastrumentation to ligh...
 
Monogame Introduction (ENG)
Monogame Introduction (ENG)Monogame Introduction (ENG)
Monogame Introduction (ENG)
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in Android
 

More from Guerrilla

Horizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case StudyHorizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case Study
Guerrilla
 
Horizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemHorizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-Mortem
Guerrilla
 
Decima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero DawnDecima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero Dawn
Guerrilla
 
Building Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero DawnBuilding Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero Dawn
Guerrilla
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Guerrilla
 
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnThe Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
Guerrilla
 
The Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow FallThe Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow Fall
Guerrilla
 
Out of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI InfoOut of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI Info
Guerrilla
 
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow FallThe Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
Guerrilla
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Guerrilla
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Guerrilla
 
Killzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemKillzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo Postmortem
Guerrilla
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
Guerrilla
 
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person ShooterA Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
Guerrilla
 
Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3
Guerrilla
 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release Cycle
Guerrilla
 
Automatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and BeyondAutomatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and Beyond
Guerrilla
 
The Creation of Killzone 3
The Creation of Killzone 3The Creation of Killzone 3
The Creation of Killzone 3
Guerrilla
 
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case StudyThe PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
Guerrilla
 
Killzone's AI: Dynamic Procedural Tactics
Killzone's AI: Dynamic Procedural TacticsKillzone's AI: Dynamic Procedural Tactics
Killzone's AI: Dynamic Procedural Tactics
Guerrilla
 

More from Guerrilla (20)

Horizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case StudyHorizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case Study
 
Horizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemHorizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-Mortem
 
Decima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero DawnDecima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero Dawn
 
Building Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero DawnBuilding Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero Dawn
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
 
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnThe Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
 
The Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow FallThe Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow Fall
 
Out of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI InfoOut of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI Info
 
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow FallThe Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
 
Killzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemKillzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo Postmortem
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
 
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person ShooterA Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
 
Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3
 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release Cycle
 
Automatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and BeyondAutomatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and Beyond
 
The Creation of Killzone 3
The Creation of Killzone 3The Creation of Killzone 3
The Creation of Killzone 3
 
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case StudyThe PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
 
Killzone's AI: Dynamic Procedural Tactics
Killzone's AI: Dynamic Procedural TacticsKillzone's AI: Dynamic Procedural Tactics
Killzone's AI: Dynamic Procedural Tactics
 

Recently uploaded

From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...
From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...
From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...
Rodney Thomas Jr
 
Hollywood Actress - The 250 hottest gallery
Hollywood Actress - The 250 hottest galleryHollywood Actress - The 250 hottest gallery
Hollywood Actress - The 250 hottest gallery
Zsolt Nemeth
 
Christina's Baby Shower Game June 2024.pptx
Christina's Baby Shower Game June 2024.pptxChristina's Baby Shower Game June 2024.pptx
Christina's Baby Shower Game June 2024.pptx
madeline604788
 
240529_Teleprotection Global Market Report 2024.pdf
240529_Teleprotection Global Market Report 2024.pdf240529_Teleprotection Global Market Report 2024.pdf
240529_Teleprotection Global Market Report 2024.pdf
Madhura TBRC
 
Reimagining Classics - What Makes a Remake a Success
Reimagining Classics - What Makes a Remake a SuccessReimagining Classics - What Makes a Remake a Success
Reimagining Classics - What Makes a Remake a Success
Mark Murphy Director
 
A TO Z INDIA Monthly Magazine - JUNE 2024
A TO Z INDIA Monthly Magazine - JUNE 2024A TO Z INDIA Monthly Magazine - JUNE 2024
A TO Z INDIA Monthly Magazine - JUNE 2024
Indira Srivatsa
 
Skeem Saam in June 2024 available on Forum
Skeem Saam in June 2024 available on ForumSkeem Saam in June 2024 available on Forum
Skeem Saam in June 2024 available on Forum
Isaac More
 
The Evolution of Animation in Film - Mark Murphy Director
The Evolution of Animation in Film - Mark Murphy DirectorThe Evolution of Animation in Film - Mark Murphy Director
The Evolution of Animation in Film - Mark Murphy Director
Mark Murphy Director
 
Scandal! Teasers June 2024 on etv Forum.co.za
Scandal! Teasers June 2024 on etv Forum.co.zaScandal! Teasers June 2024 on etv Forum.co.za
Scandal! Teasers June 2024 on etv Forum.co.za
Isaac More
 
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdf
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdfCreate a Seamless Viewing Experience with Your Own Custom OTT Player.pdf
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdf
Genny Knight
 
This Is The First All Category Quiz That I Made
This Is The First All Category Quiz That I MadeThis Is The First All Category Quiz That I Made
This Is The First All Category Quiz That I Made
Aarush Ghate
 
Young Tom Selleck: A Journey Through His Early Years and Rise to Stardom
Young Tom Selleck: A Journey Through His Early Years and Rise to StardomYoung Tom Selleck: A Journey Through His Early Years and Rise to Stardom
Young Tom Selleck: A Journey Through His Early Years and Rise to Stardom
greendigital
 
Panchayat Season 3 - Official Trailer.pdf
Panchayat Season 3 - Official Trailer.pdfPanchayat Season 3 - Official Trailer.pdf
Panchayat Season 3 - Official Trailer.pdf
Suleman Rana
 
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdf
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdfMaximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdf
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdf
Xtreame HDTV
 
Tom Selleck Net Worth: A Comprehensive Analysis
Tom Selleck Net Worth: A Comprehensive AnalysisTom Selleck Net Worth: A Comprehensive Analysis
Tom Selleck Net Worth: A Comprehensive Analysis
greendigital
 
Treasure Hunt Puzzles, Treasure Hunt Puzzles online
Treasure Hunt Puzzles, Treasure Hunt Puzzles onlineTreasure Hunt Puzzles, Treasure Hunt Puzzles online
Treasure Hunt Puzzles, Treasure Hunt Puzzles online
Hidden Treasure Hunts
 
Meet Crazyjamjam - A TikTok Sensation | Blog Eternal
Meet Crazyjamjam - A TikTok Sensation | Blog EternalMeet Crazyjamjam - A TikTok Sensation | Blog Eternal
Meet Crazyjamjam - A TikTok Sensation | Blog Eternal
Blog Eternal
 
I Know Dino Trivia: Part 3. Test your dino knowledge
I Know Dino Trivia: Part 3. Test your dino knowledgeI Know Dino Trivia: Part 3. Test your dino knowledge
I Know Dino Trivia: Part 3. Test your dino knowledge
Sabrina Ricci
 
Meet Dinah Mattingly – Larry Bird’s Partner in Life and Love
Meet Dinah Mattingly – Larry Bird’s Partner in Life and LoveMeet Dinah Mattingly – Larry Bird’s Partner in Life and Love
Meet Dinah Mattingly – Larry Bird’s Partner in Life and Love
get joys
 

Recently uploaded (19)

From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...
From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...
From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...
 
Hollywood Actress - The 250 hottest gallery
Hollywood Actress - The 250 hottest galleryHollywood Actress - The 250 hottest gallery
Hollywood Actress - The 250 hottest gallery
 
Christina's Baby Shower Game June 2024.pptx
Christina's Baby Shower Game June 2024.pptxChristina's Baby Shower Game June 2024.pptx
Christina's Baby Shower Game June 2024.pptx
 
240529_Teleprotection Global Market Report 2024.pdf
240529_Teleprotection Global Market Report 2024.pdf240529_Teleprotection Global Market Report 2024.pdf
240529_Teleprotection Global Market Report 2024.pdf
 
Reimagining Classics - What Makes a Remake a Success
Reimagining Classics - What Makes a Remake a SuccessReimagining Classics - What Makes a Remake a Success
Reimagining Classics - What Makes a Remake a Success
 
A TO Z INDIA Monthly Magazine - JUNE 2024
A TO Z INDIA Monthly Magazine - JUNE 2024A TO Z INDIA Monthly Magazine - JUNE 2024
A TO Z INDIA Monthly Magazine - JUNE 2024
 
Skeem Saam in June 2024 available on Forum
Skeem Saam in June 2024 available on ForumSkeem Saam in June 2024 available on Forum
Skeem Saam in June 2024 available on Forum
 
The Evolution of Animation in Film - Mark Murphy Director
The Evolution of Animation in Film - Mark Murphy DirectorThe Evolution of Animation in Film - Mark Murphy Director
The Evolution of Animation in Film - Mark Murphy Director
 
Scandal! Teasers June 2024 on etv Forum.co.za
Scandal! Teasers June 2024 on etv Forum.co.zaScandal! Teasers June 2024 on etv Forum.co.za
Scandal! Teasers June 2024 on etv Forum.co.za
 
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdf
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdfCreate a Seamless Viewing Experience with Your Own Custom OTT Player.pdf
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdf
 
This Is The First All Category Quiz That I Made
This Is The First All Category Quiz That I MadeThis Is The First All Category Quiz That I Made
This Is The First All Category Quiz That I Made
 
Young Tom Selleck: A Journey Through His Early Years and Rise to Stardom
Young Tom Selleck: A Journey Through His Early Years and Rise to StardomYoung Tom Selleck: A Journey Through His Early Years and Rise to Stardom
Young Tom Selleck: A Journey Through His Early Years and Rise to Stardom
 
Panchayat Season 3 - Official Trailer.pdf
Panchayat Season 3 - Official Trailer.pdfPanchayat Season 3 - Official Trailer.pdf
Panchayat Season 3 - Official Trailer.pdf
 
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdf
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdfMaximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdf
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdf
 
Tom Selleck Net Worth: A Comprehensive Analysis
Tom Selleck Net Worth: A Comprehensive AnalysisTom Selleck Net Worth: A Comprehensive Analysis
Tom Selleck Net Worth: A Comprehensive Analysis
 
Treasure Hunt Puzzles, Treasure Hunt Puzzles online
Treasure Hunt Puzzles, Treasure Hunt Puzzles onlineTreasure Hunt Puzzles, Treasure Hunt Puzzles online
Treasure Hunt Puzzles, Treasure Hunt Puzzles online
 
Meet Crazyjamjam - A TikTok Sensation | Blog Eternal
Meet Crazyjamjam - A TikTok Sensation | Blog EternalMeet Crazyjamjam - A TikTok Sensation | Blog Eternal
Meet Crazyjamjam - A TikTok Sensation | Blog Eternal
 
I Know Dino Trivia: Part 3. Test your dino knowledge
I Know Dino Trivia: Part 3. Test your dino knowledgeI Know Dino Trivia: Part 3. Test your dino knowledge
I Know Dino Trivia: Part 3. Test your dino knowledge
 
Meet Dinah Mattingly – Larry Bird’s Partner in Life and Love
Meet Dinah Mattingly – Larry Bird’s Partner in Life and LoveMeet Dinah Mattingly – Larry Bird’s Partner in Life and Love
Meet Dinah Mattingly – Larry Bird’s Partner in Life and Love
 

Killzone 2 Multiplayer Bots

  • 1. Killzone 2 Multiplayer Bots Alex Champandard – AiGameDev.com Tim Verweij – Guerrilla Remco Straatman - Guerrilla Game AI Conference, Paris, June 2009
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Scope : movie Game AI Conference, Paris, June 2009
  • 7. Architecture Game AI Conference, Paris, June 2009
  • 8. Architecture Game AI Conference, Paris, June 2009 Strategy AI – ISA Strategy AI – HGH Squad AI Squad AI Squad AI Squad AI Individual AI Individual AI Individual AI Individual AI Individual AI Individual AI Individual AI Individual AI Individual AI
  • 9.
  • 10. Individual AI Game AI Conference, Paris, June 2009
  • 11. Individual AI Game AI Conference, Paris, June 2009 stimuli perception Threats daemons World state planner Plan task execution Controller input Orders Messages
  • 12. Individual AI Game AI Conference, Paris, June 2009 stimuli perception Threats daemons World state planner Plan task execution Controller input Orders Messages
  • 13.
  • 14. Individual AI : HTN Planner Game AI Conference, Paris, June 2009 (: method (select_weapon_and_attack_as_turret ?inp_threat ) ( branch_use_bullets // Only use bullets against humanoids and turrets. (and (or (threat ?inp_threat humanoid) (threat ?inp_threat turret ) ) (distance_to_threat ?inp_threat ?threat_distance ) ( call lt ?threat_distance @weapon_bullet_max_range) ) ( (attack_as_turret_using_weapon_pref ?inp_threat wp_bullets)) ) ( branch_use_rockets // Don't use rockets against humanoids and turrets. ( and ( not (threat ?inp_threat humanoid )) ( not (threat ?inp_threat turret )) (distance_to_threat ?inp_threat ?threat_distance ) ( call lt ?threat_distance @weapon_rocket_max_range) ) ((attack_as_turret_using_weapon_pref ?inp_threat wp_rockets)) ) )
  • 15.
  • 16. Individual AI : Plan Monitoring Example Game AI Conference, Paris, June 2009 (: domain attack_portable_turret (: method (attack_as_turret) // Turret keeps attacking same target as long as possible. ( continue_attack_as_turret // Continue branch ( active_plan attack_as_turret) ( ! continue ) ) ( branch_attack_as_turret // Attack an enemy if possible () ( (! forget active_plan **) (! remember - active_plan attack_as_turret) (select_threat_and_attack_as_turret 0) (! forget active_plan **) ) ) ) … .
  • 17.
  • 18. Individual AI : Application Game AI Conference, Paris, June 2009
  • 19. Individual AI : Application Game AI Conference, Paris, June 2009 + branch_mp_behave + (do_behave_on_foot_mp) + branch_medic_revive + (do_medic_revive) - branch_medic_revive_abort - branch_medic_revive_continue + branch_medic_revive ( !forget active_plan **) ( !remember - active_plan medic_revive [Soldier:TimmermanV]) ( !log_color magenta “Medic reviving nearby entity.”) ( !broadcast friendlies 30.0 10.0 medic_reviving [Soldier:TimmermanV]) ( !select_target [Soldier:TimmermanV]) + (walk_to_attack 5416 crouching auto) + (wield_weapon_pref wp_online_mp_bot_revive_gun) - branch_auto_and_have_active - branch_auto_wp_pref - branch_dont_switch_weapon + branch_switch_weapon (#0 = wp_online_mp_bot_revive_gun) + (wield_weapon_pref_internal wp_online_mp_bot_revive_gun) ( !use_item_on_entity [Soldier:TimmermanV] crouching) ( !forget active_plan **)
  • 20. Individual AI : Application Game AI Conference, Paris, June 2009 HTN PLAN (non-interruptible) – [BOT] Tremethick DECOMPOSITION TASK LIST ( !forget active_plan **) ( !remember – active_plan medic_revive [ Soldier:TimmermanV ]) ( !log_color magenta “Medic reviving nearby entity.” ) ( !broadcast friendlies 30.0 10.0 medic_reviving [ Soldier:TimmermanV ]) ( !select_target [ Soldier:TimmermanV ]) ( !walk_segment ( 2370 2369 2368 2367 2366 2365 … 5416 ) standing auto () () ()) A ( !select_weapon wp_online_mp_bot_revive_gun) ( !use_item_on_entity [ Soldier:TimmermanV ] crouching) ( !forget active_plan **) ACTIVE TASK INFO AIHTNPrimitiveTaskSelectWeapon –
  • 21.
  • 22. Squad AI Game AI Conference, Paris, June 2009
  • 23. Squad AI Game AI Conference, Paris, June 2009
  • 24. Squad AI Game AI Conference, Paris, June 2009 daemons World state planner Plan task execution Individual Orders Strategy Orders Member Messages
  • 25. Individual AI : Application Game AI Conference, Paris, June 2009 HTN STATE - HGHSquad2 (time 871273) (faction hgh) (current_level mp_level_05) (capture_and_hold) (capture_area_status [CaptureAndHoldArea:CnH_Area3] [AIArea:CnH_Area3] captured) (capture_area_status [CaptureAndHoldArea:CnH_Area2] [AIArea:CnH_Area2] enemy_controlled) (capture_area_status [CaptureAndHoldArea:CnH_Area1] [AIArea:CnH_Area1] enemy_controlled) (have_order 2 2473) (order 2473 2 defend [AIMarker:Assn_Hide3_Defend2] 0) (squad_status defend ready 424.166016) (nr_of_members 3) (player_count 3) (member_status [Soldier:[BOT] Brueckner] defending 2473) (member_status [Soldier:[BOT] Politeski] defending 2473) (member_status [Soldier:[BOT] VanDerLaan] defending 2473) (area_of_member [Soldier:[BOT] Politeski] [AIArea:CnH_Area3]) (area_of_member [Soldier:[BOT] Brueckner] [AIArea:CnH_Area3]) (area_of_member [Soldier:[BOT] VanDerLaan] [AIArea:CnH_Area3]) (squad_member 2 [Soldier:[BOT] Politeski]) (squad_member 1 [Soldier:[BOT] Brueckner]) (squad_member 0 [Soldier:[BOT] VanDerLaan])
  • 26. Squad AI Game AI Conference, Paris, June 2009 (:method (order_member_defend ?inp_member ?inp_id ?inp_level ?inp_marker ?inp_context_hint ) … (branch_advance () ( ( !forget member_status ?inp_member **) ( !remember - member_status ?inp_member ordered_to_defend ?inp_id ) ( !start_command_sequence ?inp_member ?inp_level 1) (do_announce_destination_waypoint_to_member ?inp_member ) ( !order ?inp_member clear_area_filter ) ( !order ?inp_member set_area_restrictions (call find_areas_to_wp ?inp_member (call get_entity_wp ?inp_marker ))) ( !order_custom ?inp_member move_to_defend ?inp_marker ?inp_context_hint ) ( !order_custom ?inp_member send_member_message_custom completed_defend ?inp_id ) (order_set_defend_area_restriction ?inp_member (call get_entity_area ?inp_marker )) ( !order_custom ?inp_member defend_marker ?inp_marker ?inp_context_hint ) ( !end_command_sequence ?inp_member ) ) ) )
  • 27. Squad & Bot Management
  • 28.
  • 29. Inspiration Paris Game AI Conference, 2009. Building a Better Battle: The Halo 3 AI Objectives System Damian Isla Game Developers Conference, 2008. disposable enemies persistent bots level specific use applied generally for designers for programmers mostly declarative mostly procedural story-driven strategic
  • 30.
  • 31. Internal Architecture Paris Game AI Conference, 2009. Base Strategy Capture & Hold Search & Destroy Assassination Body Count Search & Retrieve Objectives: Squads: Bots:
  • 32. AI Objectives Paris Game AI Conference, 2009. Static Offensive AdvanceWaypoint Defensive DefendMarker Dynamic AttackEntity EscortEntity
  • 33. Search and Retrieve Paris Game AI Conference, 2009. advance advance attack escort defend
  • 34.
  • 35. Search & Destroy: Defending (1) Paris Game AI Conference, 2009.
  • 36. Search & Destroy: Defending (2) Paris Game AI Conference, 2009.
  • 37. Search & Destroy: Defending (3) Paris Game AI Conference, 2009.
  • 38.
  • 39.
  • 40.
  • 41. Capture and Hold Paris Game AI Conference, 2009. advance advance defend
  • 43.
  • 44. Regroup Locations Paris Game AI Conference, 2009.
  • 45. Sniping Locations Paris Game AI Conference, 2009.
  • 46. Mission Specific Defense Paris Game AI Conference, 2009.
  • 47. Automatic Level Processing Paris Game AI Conference, 2009. Because it’s awesome.™
  • 48. Strategic Graph Paris Game AI Conference, 2009.
  • 49.
  • 50. Waypoint Network Paris Game AI Conference, 2009.
  • 51. Waypoint Areas Paris Game AI Conference, 2009.
  • 52. Strategic Graph Paris Game AI Conference, 2009.
  • 53.
  • 54. Strategic Graph Paris Game AI Conference, 2009.
  • 55. Strategic Graph Paris Game AI Conference, 2009. Runtime Information
  • 56.
  • 57. Influence Map Paris Game AI Conference, 2009.
  • 58.
  • 59. Assassination: Defenders Paris Game AI Conference, 2009.
  • 60. Assassination: Attack Wave 1 Paris Game AI Conference, 2009.
  • 61. Assassination: Attack Wave 2 Paris Game AI Conference, 2009.
  • 62.
  • 63. Strategic Pathfinding Costs Paris Game AI Conference, 2009.
  • 64. Strategic Pathfinder Paris Game AI Conference, 2009.
  • 65. Strategic Pathfinder Paris Game AI Conference, 2009.
  • 66.
  • 67.
  • 68. Squad Corridors: Squad 1 Paris Game AI Conference, 2009.
  • 69. Squad Corridors: Squad 2 Paris Game AI Conference, 2009.
  • 70. Squad Corridors: Squad 2 Paris Game AI Conference, 2009.
  • 71. Squad Corridors: Squad 1 Paris Game AI Conference, 2009.
  • 72. Squad Corridors: Sniper Squad Paris Game AI Conference, 2009.
  • 73. Squad Corridors: Sniper Squad Paris Game AI Conference, 2009.
  • 74. Take Away Paris Game AI Conference, 2009. Strategy is more than the sum of its parts.
  • 75.
  • 76.

Editor's Notes

  1. Defend Marker near home base (weight 1.0) Advance Waypoint to enemy base (weight 1.0) Attack Entity or Escort Entity on carrier (weight 2.0)
  2. Squads created to fulfill objectives / sub-objectives. There are always objectives, even just regroup. Squads created based on bots available, with desired bot count: Try to respect Desired/Min/Max squad size. Keep the squads balanced. Squads are assigned based on proximity to the target objective. After objective, squads persist and bots revert to autonomous behavior.
  3. For every area we control; generate an DefendMarker objective For as many areas as we still want to capture (based on current score, heuristic): Choose the best targets based on current assignments, nearby friendlies, own spawnpoints. If troops left, assign attack objectives to less desired areas. (lone scout approach)
  4. Combine manual annotations with Add many annotations and filter them out at runtime.
  5. Not done dynamically however, assumes dynamic obstacles don't impact connectivity.
  6. Goal is to create areas useful for tactical reasoning during the game. Calculated based on what's feasible at runtime.
  7. Good quality areas without line of sight checks or pathfinding. Try this at home!
  8. Taboo search with weighted selection.
  9. Area cost calculated from influence map: Safe areas given almost free cost. Risky areas exponentially worse. Pathfinder updated as costs change: take the worst case scenario into account.
  10. Updates estimates iteratively and greedily. Deals with rebasing the origin and changing the source. Most accurate near the source, ideal in this case. Once converged, can update estimates incrementally. Can adjust the amount of work done each update, trading off quality for speed.
  11. Future work / discussion Squad now almost makes no decision. Specific context commands. Communication through hierarchy proper. Remove cheat (ammo). Adaptive badge selection and badge combos Use online game states to discover sniper positions and other data mining opportunities during development and after deployment. Integrate game squads / AI squads Chatter RTS AI and FPS AI getting closer from different sides. Future use of techniques.