KR101220071B1 - 추론적 피직스 모델링과 목적-기반 인공 지능의 결합 - Google Patents

추론적 피직스 모델링과 목적-기반 인공 지능의 결합 Download PDF

Info

Publication number
KR101220071B1
KR101220071B1 KR1020107021338A KR20107021338A KR101220071B1 KR 101220071 B1 KR101220071 B1 KR 101220071B1 KR 1020107021338 A KR1020107021338 A KR 1020107021338A KR 20107021338 A KR20107021338 A KR 20107021338A KR 101220071 B1 KR101220071 B1 KR 101220071B1
Authority
KR
South Korea
Prior art keywords
character
physics
speculative
actions
simulation
Prior art date
Application number
KR1020107021338A
Other languages
English (en)
Other versions
KR20100120697A (ko
Inventor
데이비드 풋졸루
아론 쿤제
테레사 모리슨
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20100120697A publication Critical patent/KR20100120697A/ko
Application granted granted Critical
Publication of KR101220071B1 publication Critical patent/KR101220071B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6027Methods for processing data by generating or executing the game program using adaptive systems learning from user actions, e.g. for skill level adjustment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6615Methods for processing data by generating or executing the game program for rendering three dimensional images using models with different levels of detail [LOD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

하나의 실시예에서, 본 발명은 게임의 인공 지능(AI) 캐릭터에 의해 보이는 컴퓨터 게임의 장면의 변형가능 객체를 확인하는 단계, AI 캐릭터에 의한 변형가능 객체에 대한 동작의 결과를 결정하기 위해 변형가능 객체와 연관된 추론적 피직스 시뮬레이션을 요구하는 단계; 및 AI 캐릭터에 의해 수행될 동작을 선택하는 단계를 포함하고, 선택은 적어도 부분적으로 추론적 피직스 시뮬레이션에 기초하는 방법을 포함한다. 다른 실시예들이 기술되고 청구된다.

Description

추론적 피직스 모델링과 목적-기반 인공 지능의 결합{COMBINING SPECULATIVE PHYSICS MODELING WITH GOAL-BASED ARTIFICIAL INTELLIGENCE}
본 발명은 일반적으로 컴퓨터 게임에 관한 것으로, 보다 구체적으로는 컴퓨터 게임의 피직스 모델링 및 인공 지능에 관한 것이다.
컴퓨터 게이밍에서, 컴퓨터-제어 개체의 동작을 결정하도록 인공 지능(artificial intelligence; AI)이 포함될 수 있다. 비디오 게임에서의 AI의 예제들은 지능을 가진 것처럼 보이게 하는 것을 제공하는 방식으로 게임 내 목적을 달성하도록 AI 개체가 유한-상태 기계(finite-state machine) 또는 목적-기반 계획수립(goal-based planning)을 사용하는 계획수립; AI-제어 개체가 원하는 지점에 도달하도록 환경(environment)을 돌아다니는 경로 탐색(path finding) 알고리즘을 사용하는 경로 탐색; 및 AI-제어 개체가 종종 다른 개체들의 움직임에 기반하여 그 움직임을 보정하는 조종(steering)을 포함한다. AI 기술의 적용은 컴퓨터 게임이 지능을 가진 것처럼 보이고 플레이어에게 흥미로운 도전을 제공하는 비-인간 개체들을 포함하도록 하며 비디오 게임의 성공에 있어 결정적인 요소가 될 수 있다.
피직스 시뮬레이션(physics simulation; 이하에서는 "피직스")은 또한 컴퓨터 게임에서 이용된다. 게임에서 피직스는 언제 물체가 충돌하는지를 검출하고 충돌에 대한 응답(튀어오르기, 병합, 파괴 등)을 제어하는 활동들, (예를 들어, 강/물 또는 유체를 사용하는 무기로 환경을 표시하기 위한) 유체 흐름(fluid flow) 시뮬레이션, (옷, 갑옷 등을 입은 사람 또는 생물체들의 현실감을 향상시키기 위한) 옷감(cloth) 시뮬레이션, 무기 피직스(궤도 시뮬레이션, 폭발 시뮬레이션), 및 다양한 다른 주제들을 포함한다. 비디오 게임에서 보다 최근의 피직스의 적용예들은 객체가 피직스의 지원 아래에서 조작될 수 있는 변형가능 세계(deformable world)의 개념을 포함하기 시작했다. 변형가능 세계에서, 일부 또는 모든 객체들은 그것들의 물리적 특성에 의해 기술되고, 객체와의 플레이어의 상호작용은 게임 환경의 변화 및 조작을 가능하게 한다. 변형가능 세계 피직스에 의해 가능한 것들의 예제들은 출입구를 통하는 것이 아니라 벽을 통해 쏘아 구멍을 내는 것 또는 무기를 발사하는 대신 환경에서 찾은 의자를 던지는 것을 포함한다.
하지만, 피직스 및 AI 양자는 비디오 게임에 있어 계산상으로 상당한 작업량일 수 있다. 현재 게임들에서 피직스는 (10 - 100) * 10^9 초당 부동 소수점 연산(GFLOPS)을 소모하고, 미래의 게임들은 체적 유체(volumetric fluid)와 같은 풍부한 환경 피직스를 제공하기 위해 더 많은 컴퓨팅 자원을 소모할 것으로 예상된다. 또한, 피직스 및 AI를 구현하는 소프트웨어는 코드 복잡성(분기(branching), 불규칙/비연속(irregular/non-streaming) 메모리 액세스) 및 데이터 복잡성(정교한 데이터 구조의 사용) 양자에 있어, 복잡하다. 일반적으로, 피직스 서브시스템 및 AI 서브시스템은 서로 상호작용하지 않는다.
도 1a는 본 발명의 하나의 실시예에 따른 사전-프로그램된 잠재적인 동작들의 예제 그래프를 도시하는 도면.
도 1b는 본 발명의 하나의 실시예에 따른 예제 그래프를 도시하는 도면.
도 2는 본 발명의 하나의 실시예에 따른 방법의 흐름도를 도시하는 도면.
도 3은 본 발명의 실시예에 따른 하나 또는 그 이상의 추론적(speculative) 피직스 시뮬레이션을 수행하는 방법의 흐름도를 도시하는 도면.
도 4는 본 발명의 실시예에 따른 시스템의 블록 다이어그램을 도시하는 도면.
비디오 게임과 같은 컴퓨터-기반 게이밍에서 AI 및 피직스를 결합하기 위해 실시예들이 사용될 수 있다. 보다 구체적으로, AI가 (예를 들어, 플레이어 죽이기와 같은) 이루고자 하는 소정의 목적을 가지는 목적-지향(goal-oriented) AI의 개념을 (예를 들어, 벽을 쏘는 것이 플레이어에게로 건물이 무너지도록 하는지를 평가하는) 변형가능 세계 피직스의 추론적 실행과 함께 적용하여 이러한 상이한 기술들이 결합될 수 있다. 게임 피직스 및 AI의 경우에, 따라서 목적-기반 AI 시스템은 가능한 동작들의 (상황에 따르는 것이 아니라, 사전-프로그램된) 일반적인 목록(repertoire)에 피직스-기반 변형가능 세계 변형을 추가한다. 따라서, 디자이너가 물리 환경의 변형가능성에 의해 AI 개체에게 주어지는 모든 옵션을 예측하도록 강요당하는 대신에, AI 개체는 추론적으로 변형가능 객체들과 상호작용함으로써 동적으로 옵션들을 발견할 수 있다. 본 명세서에서 사용될 때, 용어 "AI 개체" 또는 "AI 캐릭터"는 AI 시스템에 의해 제어되는 게임 환경 내에 존재하는 행위자 또는 다른 대리인을 표시한다.
AI-기반 발견의 하나의 예로서, AI 시스템은 벽에 총을 쏘는 것이 붕괴로 인해 플레이어를 죽게 할지, 의자를 미는 것이 플레이어에게 도달하는 새로운 경로를 생성할지, 또는 폭탄을 터트리는 것이 플레이어가 통과할 수 없는 장벽을 만드는 지를 결정할 수 있다. 이것은 또한 변형가능 세계의 피직스 성능의 보다 나은 이점을 취하고, AI 캐릭터의 지능을 플레이어에게 표시하는 것을 제공하여 AI가 보다 창의적으로 보이도록 만든다.
반면에, 현재 대부분의 비디오 게임에서, AI 및 피직스는 상대적으로 제한되어 사용된다. AI는 일반적으로 상태 기반이거나 매우 제한된 목적-기반 행동을 가진다. 또한, AI 캐릭터에게 가능한 옵션들은 디자이너에 의해 기술되어야 한다. 이것은 노동집약적 과정이며, AI가 디자이너에 의해 개발된 정적으로 생성된 환경과 상호작용하도록 제한하는 과정이다. 따라서, 일부 경우에 현재 게임 AI가 세계 변형의 가능성을 제공하지만, 그러한 가능성은 게임 디자이너에 의해 수동으로 사전-프로그램된다. 예를 들어, AI 캐릭터는 디자이너가 AI 알고리즘에 명시적으로 옵션을 추가한 경우에만 방에 들어가기 위해 창문을 통해 깨고 들어갈 수 있을지를 알 수 있다. 그러한 옵션들은 보통 객체들 또는 시도될 수 있는 동작들의 특정 리스트만을 포함한다. 또한, 현재 컴퓨터 게임은 플레이어가 동작을 수행하고 피직스 시뮬레이션이 결과를 모델링하는 반응하는 형태로 피직스를 사용한다. 하지만, 그러한 게임들은 목적-기반 AI와 추론적 피직스 실행의 결합을 사용하지 않는다. 이러한 두 기술들을 결합하기 위해 본 발명의 실시예를 사용하여, 게임은 플레이어에게 보다 도전적이고 흥미있게 만들어질 수 있고, 게임 디자이너에 의해 필요한 일의 양을 줄일 수 있고, 디자이너에 의해 예측되지 않는 방법으로 물리적 환경을 이용할 수 있는 AI의 능력을 증가시킬 수 있다.
많은 상이한 구현방식들이 가능하지만, 하나의 실시예가 예시로서 설명된다. 예제 실시예는 게임 개발 중 디자이너가 AI 캐릭터가 취할 수 있는 가능한 동작들과 그러한 동작들로부터 어떤 결과가 생길지를 표시하는 잠재적 동작의 그래프를 생성하는 목적-지향 계획수립을 사용한다. 이것은 AI 캐릭터의 목적을 이루기 위해 사용된다.
사전 프로그램된 잠재적 동작들의 예제 그래프가 도 1a에 도시되어 있고, 여기서 목적은 문의 반대편 벽의 스위치를 켜는 것이다. 도 1a에서, 노드들은 AI 캐릭터가 있을 수 있는 상태들이고 모서리들은 AI 캐릭터가 취할 수 있는 동작들이다. 모서리에는 AI 캐릭터에게 특정한 과정의 동작에 대한 선호도를 제공하는 비용값(cost value)이 적혀 있다. 따라서 도 1a를 참조하면, 잠재적 동작 그래프(10)는 AI 캐릭터가 있을 수 있는 상태를 각각 정의하는 복수 개의 노드들(20, 25, 및 35)을 포함한다. 특히, 상태(20)는 문을 연 후의 AI 캐릭터의 위치잡기 및 상태와 연관될 수 있고, 노드(25)는 문을 발로 찬 후의 AI 캐릭터의 상태 및 위치잡기와 연관되고, 상태(35)는 AI 캐릭터가 스위치를 켠 후 도달할 수 있다. 하나의 실시예에서, AI 서브시스템은 목적에 대해 그래프를 통한 최단 비용 경로를 찾고 계획을 구현하기 위해 동작한다. 예를 들어, 만약 문이 잠기면, AI는 이것을 깨닫을 수 있고, 다시 계획을 세울 수 있다. 도 1a의 실시예에서, 괄호안의 숫자들은 각 동작의 비용을 표시할 수 있다.
본 발명의 실시예를 사용하여, 이 사전-프로그램된 그래프는 AI 시스템에서부터 피직스 시스템으로의 문의에 의해 제공되는 옵션들로 동적으로 증가될 수 있다. 예를 들어, 상기 시나리오를 따르면, 벽의 일부 부분은 폭발물에 의해 조작될 수 있는 벽돌 더미로 모델링될 수 있다. 디자이너로부터의 입력 없이, AI 시스템은 캐릭터로부터 보이는 모든 변형가능 객체들을 식별하기 위해 레이캐스트(raycast)를 동적으로 수행할 수 있다. 만약 그러한 객체들이 발견되면, 객체들을, 예를 들어, 로겟 발사기로 쏜 결과가 AI 캐릭터가 그 목적을 달성하도록 할지를 알기 위해 추론적 피직스 시뮬레이션이 실행될 수 있다. 만약 그러한 옵션들이 가능하면, 도 1a의 그래프는 도 1b의 그래프처럼 확대될 수 있다.
보다 구체적으로, 도 1b는 본 발명의 실시예에 따른 잠재적 동작 그래프를 도시한다. 그래프(10')에서, 부가적인 상태(40)가 표시된다. 이 부가적인 상태(40)는 게임의 실행 시간 동안 그래프에 동적으로 결합될 수 있다. 즉, AI 서브시스템은, 환경을 관찰한 후, (예를 들어, 벽과 같은) 변형가능 객체의 존재를 결정하고 (예를 들어, 벽에 로켓 발사기로 쏘는 것과 같은) 동작의 실행이 원하는 결과, 즉 AI 캐릭터가 마지막 목적에 도달할 수 있도록 벽 또는 그 부분을 때려 부수는 결과를 가져올지를 결정하기 위해 물리 서브시스템으로 추론적 물리 시뮬레이션을 수행하도록 하는 요구를 생성할 수 있다. 따라서, 도 1b의 그래프(10')는 도 1a의 그래프(10)와 동일한 사전프로그램된 옵션들로부터 시작하여 AI 서브시스템에 의해 요구된 하나 또는 그 이상의 추론적 피직스 시뮬레이션의 결과에 기반하여 그래프를 업데이트하여 실행시간 동안 동적으로 생성된다. 따라서 이 확대된 그래프는 디자이너가 명시적으로 가능한 모든 동작들을 기술할 필요없이, AI 캐릭터가 상이한 방식으로 환경과 상호작용하도록 한다. 도 1b의 실시예에서, 벽에 로켓을 쏘는 비용은 다른 잠재적 동작들보다 높을 수 있다. 일부 구현방식들에서, 그러한 추론적 동작들을 위한 비용 결정은 디자이너에 의해 결정될 수 있다. 예를 들어, 만약 디자이너가 AI 캐릭터가 보다 미세한 접근방법을 선호하도록 원한다면 모든 로켓 발사기 사용에 난투극 펀치(melee punch)보다 더 높은 비용의 특정 비용이 주어질 것이다. 기타 구현방식들에서, 비용은 피직스 서브시스템에 의해 생성될 수 있다. 예를 들어, 특정 무게의 블록들을 밀기 위해 발휘되는 일은 AI 캐릭터에게 덜 물리적인 작업에 선호도를 주기 위해 사용될 것이다.
이제 도 2을 참조하면, 본 발명의 하나의 실시예에 따른 방법의 흐름도가 도시되어 있다. 도 2를 참조하면, 방법(100)은 실행 시간 동안 하나 또는 그 이상의 추론적 피직스 시뮬레이션의 결과를 요구하고 획득하며 그러한 결과들을 취할 동작들을 결정하는 데 사용하도록 AI 서브시스템에 의해 사용될 수 있다. 도 2의 흐름도가 게임 동작 중의 실행 시간에 관한 것이지만, 실시예들은 디자인 부분의 게임 개발 시에 또한 사용될 수 있다. 따라서, 이하에서 더 설명될 것처럼, AI 서브시스템은 도 2에 도시된 것과 유사한 방법으로 게임의 시제품 실행시 변형가능 객체들에 취할 수 있는 다양한 잠재적 동작들을 결정하도록 동작할 수 있어, 추론적 피직스 시뮬레이션의 결과에 기반하여, 게임 디자이너가 하나 또는 그 이상의 잠재적 동작들을 가능한 동작들의 사전프로그램된 선택된 것들과 결합하도록 선택할 수 있다.
이제 도 2를 참조하면, 방법(100)은 AI 캐릭터에게 보이는 변형가능 객체들을 확인하기 위한 요구를 수행함으로써 시작될 수 있다(블록(110)). 다양한 실시예들에서, 게임 동작 동안 AI 캐릭터가 환경으로 들어갈 때, AI 서브시스템은 AI 캐릭터에게 보이는 하나 또는 그 이상의 변형가능 객체들의 존재를 결정할 수 있다. 적어도 하나 및 어쩌면 보다 많은 또는 모든 변형가능 객체들에 대해, AI 서브시스템은 하나 또는 그 이상의 변형가능 객체들에 수행할 추론적 동작들의 추론적 피직스 시뮬레이션에 대한 요구를 생성할 수 있다(블록(120)). 따라서, AI 서브시스템은 이하에서 더 설명될 것처럼, 추론적 피직스 시뮬레이션을 수행할 수 있는 피직스 서브 시스템에 이러한 요구를 전송한다.
블록(130)에서, 시뮬레이션 결과들은 피직스 서브시스템으로부터 수신될 수 있다. 주어진 추론적 동작이 벽을 부수거나, 장벽을 세우거나, 또는 소정의 다른 원하는 동작들을 일으키는 것과 같은 원하는 결과를 성공적으로 발생시키는지를 표시할 수 있는 이러한 결과들에 기반하여, 결과들이 잠재적 동작들의 그래프에 결합될 수 있다(블록(140)). 예를 들어, 도 1b를 다시 참조하면, 추론적 피직스 시뮬레이션의 결과에 기반하여, 부가적인 노드(40)가 AI 서브시스템에 의해 부가될 수 있어 그래프(10')를 생성한다. 이 그래프에 기반하여, (예를 들어, 그래프에 나타낸 것처럼) 잠재적 동작들이 선택될 수 있다(블록(150)). 보다 구체적으로 하나의 실시예에서, AI 서브시스템은 수행하는데 가장 적은 비용을 가지는 동작을 선택할 수 있다. 마지막으로, 블록(160)에서 선택된 동작이 수행될 수 있다. 도 2의 실시예에서 이러한 특정한 구현방식이 도시되었지만, 본 발명의 범위는 이러한 것들에 한정되지 않고, AI 서브시스템은 상기 설명된 것과는 상이한 추론적 피직스 시뮬레이션의 결과를 요구하고 사용할 수 있다.
추론적 피직스 시뮬레이션을 수행하는 것은 계산하는 데 비용이 많이 들 수 있다. 따라서, 일부 실시예에서, 완전한 추론적 피직스 시뮬레이션에서 변형된 것이 가장 광범위한 게임 시나리오 및 하드웨어 환경에서 동작하도록 복잡도를 감소시키기 위해 수행될 수 있다. 이러한 변형물들은 게임에서 실제 객체들이 움직이도록 하는 피직스보다 추론적 피직스를 위해 덜 정확한 피직스 시뮬레이션을 수행하는 것; 추론적 피직스 시뮬레이션을 수행하는 데 사용되는 프로세서 시간의 양을 제한하는 것(예를 들어, 이러한 시뮬레이션은 예를 들어, 50% 이하와 같이 소정의 레벨의 프로세서 대역폭으로 제한될 수 있음); 얼마나 멀리 객체가 AI 캐릭터의 시선으로부터 떨어져 있는지에 의해 피직스 시뮬레이션의 우선 순위를 정하는 것을 포함한다. 복수 개의 동시에 수행되는 시뮬레이션들을 수행하는 것은 잘 병렬화될 수 있어, 별개의 추론적 피직스 시뮬레이션이 완전히 독립적으로 수행될 수 있다.
상기에서 논의된 것처럼, 계산상 복잡성 등을 줄이기 위해 다양한 최적화가 추론적 피직스 시뮬레이션에 대해 수행될 수 있다. 이제 도 3을 참조하면, 본 발명의 실시예에 따른 하나 또는 그 이상의 추론적 피직스 시뮬레이션을 수행하는 방법의 흐름도를 도시한다. 도 3을 참조하면, 방법(200)은 하나 또는 그 이상의 추론적 피직스 시뮬레이션에 대한 요구를 수신함으로써 시작할 수 있다(블록(210)). 그 다음, 피직스 서브시스템은 AI 캐릭터와 변형가능 객체 사이의 거리에 기초하여 이러한 시뮬레이션의 우선순위를 정할 수 있다(블록(220)). 예를 들어, 다수의 요구들이 수신되었고, 적어도 하나의 요구는 AI 캐릭터 시야 내의 복수 개의 변형가능 객체들의 각각과 연관되었다고 가정하자. 우선 순위 결정을 가능하게 하도록, 피직스 서브시스템은 피직스 시뮬레이션을 수행하기 위해 가장 가까운 객체를 선택할 수 있다. 적어도, 피직스 서브시스템은 가장 가까운 객체들이 먼저 해석되도록 시뮬레이션을 명령할 수 있다.
그 다음, 계속 도 3을 참조하면, 각 시뮬레이션에 대해, 시뮬레이션을 수행할 수 있는 충분한 자원들이 있는지를 결정할 수 있다(다이아몬드(230)). 예를 들어, 하나의 구현방식에서 시뮬레이션들이 병렬화되고 주어진 프로세서의 복수 개의 코어들 또는 다른 프로세싱 유닛들의 각각에 개별적으로 제공될 수 있다. 만약 주어진 시뮬레이션에 대해 자원이 존재하지 않으면, 방법은 그 시뮬레이션에 대해 종료할 수 있다. 만약 대신에 자원이 존재하면, 동작이 시뮬레이션될 수 있고 피직스 모델이 생성될 수 있는 블록(240)으로 제어가 전달된다(블록(240)). 예를 들어, 피직스 모델은 통합 단계(integration stage) 및 충돌 검출 단계를 수행하도록 구현될 수 있다. 통합 단계에서, 변형가능 객체 및/또는 다른 물체들이 움직일 수 있고, 통합 단계 동안 하나 또는 그 이상의 지점에서, 두 물체들이 충돌했는지를 결정하기 위해 충돌 검출이 수행될 수 있다. 가능한 자원의 양에 기반하여, 이러한 통합 및 충돌 검출 단계들이 상이한 미세도(granularity)로 수행될 수 있다. 시뮬레이션이 완료되었을 때, 변형가능 객체의 확인 및 추론적 결과(예를 들어, 벽이 부서졌거나 등)에 대응할 수 있는 이러한 시뮬레이션의 결과가 AI 서브시스템으로 다시 통신될 수 있다(블록(250)). 그리고, 만약 수행되어야 할 부가적인 시뮬레이션이 있으면, 제어는 상기 설명된 다이아몬드(230)로 다시 전달될 수 있다. 도 3의 실시예에서 이러한 특정한 구현방식이 도시되었지만, 본 발명의 범위는 이러한 것들에 한정되지 않는다.
상기에서 논의된 것처럼, 일부 구현방식들에서 AI 및 피직스 시뮬레이션을 결합하는 것이 게임의 디자인 중에 이루어질 수 있다. 보다 구체적으로, 최초 프로그래밍이 완료되고 시제품 프로그램이 실행가능하면, 그러한 시제품 또는 검증 실행 중에 AI 서브시스템은 가능한 동작들의 잠재적 결과를 결정하기 위해 하나 또는 그 이상의 추론적 피직스 시뮬레이션을 시도할 수 있다. 이러한 추론적 피직스 시뮬레이션 결과는 그 다음 게임 디자이너에 의해 해석될 수 있다. 그 결과에 기초하여, 게임 디자이너는 잠재적 동작들의 그래프에 결합하기 위해 하나 또는 그 이상의 잠재적 동작들을 선택할 수 있다. 따라서, 이러한 추론적 작동에 기초하여, 하나 또는 그 이상의 부가적인 잠재적 동작들이 시제품 프로그램에 대한 개정 또는 업데이트로서 AI 캐릭터에 유효한 사전프로그램된 동작 세트에 추가될 수 있다. 따라서 도 1b를 다시 참조하면, 게임의 시제품 작동 중에 수행된 추론적 피직스 시뮬레이션에 기초하여, 도 1a의 그래프 10과 같은 사전프로그램된 그래프에 부가적인 노드(40)가 추가될 수 있다.
따라서 본 발명의 다양한 실시예들을 이용하여, 게임 작동 중에 AI 캐릭터는 디자이너에 의해 기술되고 게임에 결합된 사전프로그램된 결정에 근거하여 복수 개의 잠재적 동작들로부터 선택할 수 있다. 또한, 부가적인 잠재적 동작들이 게임 개발 중 AI 서브시스템에 의해 생성된 잠재적 결정에 근거할 수 있다. 그러한 시제품 게임 작동 중에, 잠재적 결정을 포함하는 결과를 수신한 후, AI 서브시스템은 게임 디자이너에 의해 사전-프로그램된 하나 또는 그 이상의 잠재적 동작들을 이미 포함하는 잠재적 동작들의 그래프를 업데이트할 수 있다. 이 시제품 작동 모드에서의 하나의 구현방식에서, 이 후에 게임 디자이너에 의해 액세스될 수 있도록 추적 캐쉬 또는 다른 저장 위치에 모든 추가된 잠재적 결정들을 저장하도록 시제품 게임이 제어될 수 있다. 또한, 일부 구현방식에서 그 비용이 정적으로-정의된 동작들보다 크더라도, 하나 또는 그 이상의 동적으로 업데이트된 잠재적 동작들이 AI 캐릭터에 의해 실행되도록 선택될 수 있도록 시제품 게임 작동이 제어될 수 있다. 게임 디자이너가, 게임 작동의 평가 중에, 그러한 동작들이 잠재적 동작들의 그래프로 사전-프로그램될 필요가 있는지를 결정할 수 있도록 그러한 실행의 결과는 또한 추적 캐쉬 또는 다른 저장장치에 저장될 수 있다. 따라서 이러한 작동에 기초하여, 이러한 잠재적 결정들은 게임 개발 중 게임의 최종 버전에 사전-프로그램될 수 있도록 결합하기 위하여 디자이너에 의해 선택될 수 있다.
마지막으로, 다양한 실시예들에서, 실행 시간 작동 중에 AI 서브시스템은 피직스 서브시스템에 실행 시간 중 자동적으로 하나 또는 그 이상의 추론적 피직스 시뮬레이션을 요구할 수 있다. 이러한 잠재적 동작들과 연관된 결과들은 수행될 잠재적 동작들의 그래프에 부가될 수 있다. 따라서 실행 시간 중, AI 캐릭터는 다음에 이러한 동적으로 부가된 동작들 중 하나를 선택하여, 사용자에게 게임의 현실성을 증가시킬 수 있다.
실시예들은 많은 다른 시스템 유형들에서 구현될 수 있다. 이제 도 4를 참조하면, 본 발명의 실시예에 따른 시스템의 블록 다이어그램이 도시된다. 도 4를 참조하면, 멀티프로세서 시스템(500)은 점대점 상호접속 시스템이고, 점대점 상호접속(550)을 통해 결합된 제1 프로세서(570) 및 제2 프로세서(580)를 포함한다. 도 4를 참조하면, 프로세서들(570 및 580) 각각은 멀티코어 프로세서일 수 있고, 제1 및 제2 프로세서 코어들(예를 들어, 프로세서 코어들(574a 및 574b) 및 프로세서 코어들(584a 및 584b))을 포함하고, 잠재적으로 더 많은 코어들이 프로세서에 존재할 수 있다. 각각의 프로세서 코어는 프로세서간 통신 네트워크(도 4에 도시되지 않은)에 의해 결합된 코히어런트 캐쉬 메모리를 지닌 와이드 벡터 프로세싱 유닛을 가지는 순차 프로세서일 수 있다. 또한, 일부 실시예들에서 프로세서들(570 및 580)은 추론적 피직스 시뮬레이션을 수행하도록 구성될 수 있는 하나 또는 그 이상의 전용 피직스 프로세싱 유닛을 포함할 수 있는 고정 기능 코프로세서를 또한 포함할 수 있다. 하지만, 많은 구현방식들에서 본 발명의 실시예에 따라 수행되는 추론적 피직스 시뮬레이션이 선택된 (예를 들어, 서브세트와 같은) 하나 또는 그 이상의 프로세서 코어들에서 실행될 수 있다. 따라서 실시예들은 하나 또는 그 이상의 프로세서 코어들에서 실행되는 AI 서브시스템에 의해 제어되는 AI 캐릭터와 관련된 사용에 대해 고속 추론적 피직스 시뮬레이션을 수행하기 위해 많은 코어 환경을 가지는 구조의 장점을 가질 수 있다.
계속 도 4를 참조하면, 제1 프로세서(570)는 메모리 제어기 허브(MCH)(572) 및 점대점(P-P) 인터페이스(576 및 578)를 더 포함한다. 유사하게, 제2 프로세서(580)는 MCH(582) 및 P-P 인터페이스(586 및 588)를 포함한다. 도 2를 참조하면, MCH(572 및 582)는 프로세서들을 해당 메모리, 즉 해당 프로세서들에 국부적으로 소속되는 (예를 들어, 동적 임의 액세스 메모리(DRAM)와 같은) 메인 메모리의 부분일 수 있는 메모리(532) 및 메모리(534)에 결합한다. 제1 프로세서(570) 및 제2 프로세서(580)는 각각, P-P 상호접속부(552 및 554)를 통해 칩셋(590)에 결합될 수 있다. 도 4를 참조하면, 칩셋(590)은 P-P 상호접속부(594 및 598)를 포함한다.
또한, 칩셋(590)은 P-P 상호접속부(539)에 의해, 칩셋(590)을 고성능 그래픽 엔진(538)에 결합하는 인터페이스(592)를 포함한다. 즉, 칩셋(590)은 인터페이스(596)를 통해 제1 버스(516)에 결합될 수 있다. 도 4를 참조하면, 제1 버스(516)를 제2 버스(520)에 결합하는 버스 브리지(518)와 함께, 다양한 입력/출력(I/O) 장치들(514)이 제1 버스(516)에 결합될 수 있다. 예를 들어, 키보드/마우스(522), 통신 장치(526) 및 디스크 드라이브 또는 하나의 실시예에서 코드(530)를 포함할 수 있는 다른 저장 장치와 같은 데이터 저장 유닛(528)을 포함하여, 다양한 장치들이 제2 버스(520)에 결합될 수 있다. 또한, 오디오 I/O(524)는 제2 버스(520)에 결합될 수 있다.
실시예들은 코드로 구현될 수 있고 시스템이 명령어들을 수행하도록 프로그램하는데 사용될 수 있는 명령어들이 저장된 저장 매체 상에 저장될 수 있다. 저장 매체들은 플로피 디스크, 광학 디스크, 컴팩트 디스크 읽기 전용 메모리(CD-ROMs), 컴팩트 디스크 재기록가능(CD-RWs), 및 광자기 디스크, 읽기 전용 메모리(ROMs), 동적 임의 액세스 메모리(DRAMs), 정적 임의 액세스 메모리(SRAMs), 삭제가능 프로그래머블 읽기 전용 메모리(EPROMs), 플래쉬 메모리, 전기적 삭제가능 프로그래머블 읽기 전용 메모리(EEPROMs)와 같은 임의 액세스 메모리(RAMs)와 같은 반도체 장치들, 자기 또는 광학 카드, 또는 전자 명령어들을 저장할 수 있는 어떤 다른 유형의 미디어를 포함하여 어느 종류의 디스크를 포함할 수 있지만, 그에 한정되지는 않는다.
본 발명이 한정된 개수의 실시예들에 대해 설명되었지만, 당업자는 다양한 수정 및 변화를 만들 수 있다. 첨부된 청구항들은 본 발명의 범위 내에 포함되는 모든 수정물 및 변형물을 커버하도록 의도되었다.

Claims (20)

  1. 추론적 피직스 모델링과 목적-기반 인공 지능을 결합시키는 방법으로서,
    컴퓨터 게임의 인공 지능(AI) 캐릭터에 의해 보이는 컴퓨터 게임 장면의 변형가능 객체를 확인하는 단계;
    상기 AI 캐릭터에 의한 상기 변형가능 객체에 대한 적어도 하나의 동작과 연관된 결과를 결정하기 위해 상기 변형가능 객체와 연관된 적어도 하나의 추론적 피직스 시뮬레이션을 요구하는 단계; 및
    상기 AI 캐릭터가 취할 수 있는 복수 개의 동작들 중 하나를 선택하는 단계
    를 포함하고,
    상기 선택은 상기 적어도 하나의 추론적 피직스 시뮬레이션에 기초하는 방법.
  2. 제1항에 있어서,
    각각의 동작에 연관된 비용에 기초하여 상기 복수 개의 동작들로부터 동작을 선택하는 단계를 더 포함하는, 방법.
  3. 제1항에 있어서,
    복수 개의 추론적 피직스 시뮬레이션을 요구하는 단계를 더 포함하고,
    상기 추론적 피직스 시뮬레이션의 우선권은 해당 변형가능 객체 및 상기 AI 캐릭터 사이의 거리에 기초하는, 방법.
  4. 제1항에 있어서,
    제1 정확성을 가지는 시뮬레이션 모델을 사용하여 상기 적어도 하나의 추론적 피직스 시뮬레이션을 수행하는 단계를 더 포함하고,
    상기 제1 정확성은 상기 변형가능 객체의 실제 움직임에 대해 수행되는 제2 정확성을 가지는 시뮬레이션 모델보다 낮은 정확성을 가지는, 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 동작과 연관된 결과를 수신하고 상기 결과에 기초하여 상기 AI 캐릭터가 취할 수 있는 잠재적인 동작들의 그래프를 업데이트하는 단계를 더 포함하는, 방법.
  6. 제5항에 있어서,
    상기 업데이트 이전의 잠재적 동작들의 그래프는 사전-프로그램된 동작들만을 포함하는, 방법.
  7. 제1항에 있어서,
    상기 적어도 하나의 추론적 피직스 시뮬레이션에 기초하여 상기 AI 캐릭터를 제어하는 AI 서브시스템에서 복수 개의 변형가능 객체 조작 옵션들을 평가하는 단계를 더 포함하는, 방법.
  8. 제7항에 있어서,
    멀티코어 프로세서의 상이한 코어 또는 코어들의 서브셋 상에서 상기 복수 개의 변형가능 객체 조작 옵션들의 각각을 평가하는 단계를 더 포함하는, 방법.
  9. 제1항에 있어서,
    상기 적어도 하나의 추론적 피직스 시뮬레이션을 수행하는 사용가능한 프로세서 자원들을 미리 정해진 레벨로 제한하는 단계를 더 포함하는, 방법.
  10. 명령어들을 포함하는 컴퓨터 판독 가능한 기록 매체로서,
    상기 명령어들은 실행될 때 컴퓨터로 하여금,
    컴퓨터 게임의 시제품 버전의 개발중 실행시에, 인공 지능(AI) 캐릭터에 의해 보이는 컴퓨터 게임 장면의 변형가능 객체를 확인하고,
    상기 AI 캐릭터에 의한 상기 변형가능 객체에 대한 가능한 동작과 연관된 결과를 결정하기 위해 상기 변형가능 객체와 연관된 적어도 하나의 추론적 피직스 시뮬레이션을 수행하고,
    동적으로 정의된 동작에 대응하는 결과를 이용해 상기 AI 캐릭터가 취할 수 있는 가능한 동작들의 그래프 - 상기 그래프는 복수 개의 사전-프로그램된 동작들을 포함함 - 를 동적으로 업데이트하고,
    상기 컴퓨터 게임의 프로그래머가 액세스할 수 있도록 임시 저장장소에 상기 결과를 저장하도록 하는, 컴퓨터 판독 가능한 기록 매체.
  11. 제10항에 있어서,
    상기 가능한 동작들의 그래프로부터 상기 AI 캐릭터가 취할 수 있는 복수 개의 동작들 중 하나를 선택하는 명령어를 더 포함하는, 컴퓨터 판독 가능한 기록 매체.
  12. 제11항에 있어서,
    상기 동적으로 정의된 동작과 연관된 비용이 상기 사전-프로그램된 동작들과 연관된 비용보다 크더라도, 상기 AI 캐릭터가 실행을 위한 상기 동적으로 정의된 동작을 선택하게 하는 명령어를 더 포함하는, 컴퓨터 판독 가능한 기록 매체.
  13. 제12항에 있어서,
    상기 프로그래머가 액세스할 수 있도록 상기 선택된 동작에 의해 일어나는 결과를 상기 임의 저장장소에 저장하는 명령어들을 더 포함하는, 컴퓨터 판독 가능한 기록 매체.
  14. 추론적 피직스 모델링과 목적-기반 인공 지능을 결합시키기 위한 시스템으로서,
    독립적으로 명령어들을 실행하는 복수 개의 코어들을 포함하는 프로세서; 및
    명령어들을 포함하는 프로그램을 저장하는 동적 랜덤 액세스 메모리(DRAM)
    를 포함하고,
    상기 프로그램은 상기 프로세서 상에서 실행되는 인공지능(AI) 모듈 및 피직스 모듈을 가지고,
    상기 AI 모듈은 상기 AI 모듈에 의해 제어되는 AI 캐릭터에 의해 보이는 상기 프로그램의 장면의 변형가능 객체를 확인하고, 상기 AI 캐릭터에 의한 상기 변형가능 객체로의 적어도 하나의 동작으로부터 발생하는 결과를 결정하기 위해 상기 변형가능 객체와 연관된 적어도 하나의 추론적 피직스 시뮬레이션을 수행하도록 상기 피직스 모듈에게 요청하고, 상기 AI 캐릭터가 상기 변형가능 객체에 취할 수 있는 동작들의 세트에 상기 적어도 하나의 동작을 추가하며, 상기 동작들의 세트의 다른 것들은 사전-프로그램되어 있는, 시스템.
  15. 제14항에 있어서,
    상기 AI 모듈은 잠재적 동작들의 그래프에 상기 적어도 하나의 동작을 추가하고, 상기 적어도 하나의 동작과 비용을 연관시키는, 시스템.
  16. 제15항에 있어서,
    상기 명령어들은 상기 AI 모듈이 상기 동작들의 세트로부터 동작을 선택하도록 하고,
    상기 선택은 상기 선택된 동작에 대한 비용에 기초하는, 시스템.
  17. 제16항에 있어서,
    상기 피직스 모듈은 상기 적어도 하나의 동작이 선택되면 수행되는 피직스 시뮬레이션보다 낮은 정확도에서 상기 적어도 하나의 추론적 피직스 시뮬레이션을 수행하는, 시스템.
  18. 제14항에 있어서,
    상기 AI 모듈은 복수 개의 추론적 피직스 시뮬레이션을 요구하고, 상기 피직스 모듈은 해당 변형가능 객체 및 상기 AI 캐릭터 사이의 거리에 기초하여 상기 추론적 피직스 시뮬레이션의 우선순위를 정하는, 시스템.
  19. 제18항에 있어서,
    상기 피직스 모듈은 상기 복수 개의 코어들 중 상이한 하나에서 상기 복수 개의 추론적 피직스 시뮬레이션의 각각을 실행하는, 시스템.
  20. 제14항에 있어서,
    상기 사전-프로그램된 동작들 중 적어도 하나는 상기 프로그램의 시제품 실행 시(during prototype execution) 추론적 피직스 시뮬레이션을 위한 상기 AI 모듈의 요구로부터 도출되는, 시스템.
KR1020107021338A 2008-03-26 2009-03-20 추론적 피직스 모델링과 목적-기반 인공 지능의 결합 KR101220071B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/079,372 2008-03-26
US12/079,372 US8069124B2 (en) 2008-03-26 2008-03-26 Combining speculative physics modeling with goal-based artificial intelligence

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020127012385A Division KR20120060917A (ko) 2008-03-26 2009-03-20 추론적 피직스 모델링과 목적-기반 인공 지능의 결합

Publications (2)

Publication Number Publication Date
KR20100120697A KR20100120697A (ko) 2010-11-16
KR101220071B1 true KR101220071B1 (ko) 2013-01-08

Family

ID=41114606

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020107021338A KR101220071B1 (ko) 2008-03-26 2009-03-20 추론적 피직스 모델링과 목적-기반 인공 지능의 결합
KR1020127012385A KR20120060917A (ko) 2008-03-26 2009-03-20 추론적 피직스 모델링과 목적-기반 인공 지능의 결합

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020127012385A KR20120060917A (ko) 2008-03-26 2009-03-20 추론적 피직스 모델링과 목적-기반 인공 지능의 결합

Country Status (6)

Country Link
US (2) US8069124B2 (ko)
EP (1) EP2254673A4 (ko)
JP (1) JP5746509B2 (ko)
KR (2) KR101220071B1 (ko)
CN (1) CN101977662B (ko)
WO (1) WO2009120601A2 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090259450A1 (en) * 2008-04-15 2009-10-15 Cleary Paul William physics-based simulation
JP5759164B2 (ja) 2010-12-20 2015-08-05 株式会社スクウェア・エニックス ゲーム用人工知能
US8826153B2 (en) * 2011-10-04 2014-09-02 Google Inc. Speculative actions based on user dwell time over selectable content
KR101265051B1 (ko) * 2012-05-30 2013-05-16 주식회사 쏘그웨어 게임 사용자 수준에 따른 npc ai제공방법
US8799799B1 (en) * 2013-05-07 2014-08-05 Palantir Technologies Inc. Interactive geospatial map
JP6032710B2 (ja) * 2013-09-12 2016-11-30 株式会社コナミデジタルエンタテインメント シミュレーション装置及びプログラム
JP2015083555A (ja) * 2013-10-25 2015-04-30 花王株式会社 頭髪の染色又は脱色方法
CN104965695B (zh) * 2014-11-25 2018-01-23 深圳市腾讯计算机系统有限公司 模拟用户实时操作的方法和装置
US9891808B2 (en) 2015-03-16 2018-02-13 Palantir Technologies Inc. Interactive user interfaces for location-based data analysis
KR102201215B1 (ko) 2015-06-30 2021-01-08 코오롱인더스트리 주식회사 폴리에스테르 필름 및 이의 제조방법
CN105119733B (zh) * 2015-07-06 2019-01-15 百度在线网络技术(北京)有限公司 人工智能系统及其状态跳转方法、服务器、通信系统
US9600146B2 (en) 2015-08-17 2017-03-21 Palantir Technologies Inc. Interactive geospatial map
US10706434B1 (en) 2015-09-01 2020-07-07 Palantir Technologies Inc. Methods and systems for determining location information
US9893974B2 (en) * 2015-10-11 2018-02-13 Microsoft Technology Licensing, Llc Synchronization of data for colliding bodies
US9987559B2 (en) 2016-05-27 2018-06-05 International Business Machines Corporation Aggregating and utilizing meta-game data for artificial intelligence in video games
CN106422332B (zh) * 2016-09-08 2019-02-26 腾讯科技(深圳)有限公司 应用于游戏的人工智能操作方法和装置
JP6330008B2 (ja) * 2016-10-13 2018-05-23 株式会社 ディー・エヌ・エー Q学習を用いたニューラルネットワークの重み付け調整のためのプログラム、システム、及び方法
CN107890675A (zh) * 2017-11-13 2018-04-10 杭州电魂网络科技股份有限公司 Ai行为实现方法和装置
CN109550249B (zh) * 2018-11-28 2022-04-29 腾讯科技(深圳)有限公司 一种目标对象的控制方法、装置及设备
CN110523081B (zh) * 2019-08-08 2022-07-29 腾讯科技(深圳)有限公司 导航寻路路径的规划方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001224849A (ja) * 1999-12-10 2001-08-21 Sony Computer Entertainment Inc エンタテインメントシステム、エンタテインメント装置、記録媒体及びプログラム
US20040266526A1 (en) * 2003-06-30 2004-12-30 Ralf Herbrich Modified motion control for a virtual reality environment
KR100621559B1 (ko) * 2004-03-31 2006-09-18 봉래 박 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템및 그 이식방법
KR20090008714A (ko) * 2007-07-18 2009-01-22 중앙대학교 산학협력단 단계별 퍼지 로직을 이용한 게임 전략 방법 및 그 시스템

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2888724B2 (ja) * 1993-03-26 1999-05-10 株式会社ナムコ 3次元ゲーム装置及び画像合成方法
US5577185A (en) * 1994-11-10 1996-11-19 Dynamix, Inc. Computerized puzzle gaming method and apparatus
JPH08299597A (ja) * 1995-04-28 1996-11-19 Taito Corp ガンシューティングゲーム機
US6195626B1 (en) * 1998-06-19 2001-02-27 Microsoft Corporation Heightened realism for computer-controlled units in real-time simulation
JP4278071B2 (ja) * 1999-06-17 2009-06-10 株式会社バンダイナムコゲームス 画像生成システム及び情報記憶媒体
US7358973B2 (en) * 2003-06-30 2008-04-15 Microsoft Corporation Mixture model for motion lines in a virtual reality environment
US7895411B2 (en) * 2003-10-02 2011-02-22 Nvidia Corporation Physics processing unit
US7739479B2 (en) * 2003-10-02 2010-06-15 Nvidia Corporation Method for providing physics simulation data
US7574695B2 (en) * 2003-12-23 2009-08-11 Ntt Docomo, Inc. Performing checks on the resource usage of computer programs
US20100235608A1 (en) * 2004-03-25 2010-09-16 Aiseek Ltd. Method and apparatus for game physics concurrent computations
GB0407336D0 (en) * 2004-03-31 2004-05-05 British Telecomm Pathfinding system
JP3974134B2 (ja) * 2005-01-25 2007-09-12 株式会社コナミデジタルエンタテインメント プログラム、自動生成方法、ならびに、画像生成装置
KR100766545B1 (ko) * 2005-09-08 2007-10-11 엔에이치엔(주) 게이머의 입력 패턴을 복사하여 게임을 수행하는 게임 ai제어 방법 및 게임 ai 제어 시스템
US7616204B2 (en) * 2005-10-19 2009-11-10 Nvidia Corporation Method of simulating dynamic objects using position based dynamics
US7408550B2 (en) * 2006-07-24 2008-08-05 Bunnell Michael T System and methods for real-time rendering of deformable geometry with global illumination

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001224849A (ja) * 1999-12-10 2001-08-21 Sony Computer Entertainment Inc エンタテインメントシステム、エンタテインメント装置、記録媒体及びプログラム
US20040266526A1 (en) * 2003-06-30 2004-12-30 Ralf Herbrich Modified motion control for a virtual reality environment
KR100621559B1 (ko) * 2004-03-31 2006-09-18 봉래 박 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템및 그 이식방법
KR20090008714A (ko) * 2007-07-18 2009-01-22 중앙대학교 산학협력단 단계별 퍼지 로직을 이용한 게임 전략 방법 및 그 시스템

Also Published As

Publication number Publication date
CN101977662B (zh) 2014-01-22
EP2254673A4 (en) 2011-06-29
US8069124B2 (en) 2011-11-29
KR20120060917A (ko) 2012-06-12
US20120030148A1 (en) 2012-02-02
CN101977662A (zh) 2011-02-16
WO2009120601A3 (en) 2009-11-26
KR20100120697A (ko) 2010-11-16
WO2009120601A2 (en) 2009-10-01
US8280826B2 (en) 2012-10-02
JP5746509B2 (ja) 2015-07-08
JP2011513009A (ja) 2011-04-28
EP2254673A2 (en) 2010-12-01
US20090248593A1 (en) 2009-10-01

Similar Documents

Publication Publication Date Title
KR101220071B1 (ko) 추론적 피직스 모델링과 목적-기반 인공 지능의 결합
Treanor et al. Game-o-matic: Generating videogames that represent ideas
Tian et al. Elf: An extensive, lightweight and flexible research platform for real-time strategy games
Barriga et al. Game tree search based on nondeterministic action scripts in real-time strategy games
CN103577704A (zh) 游戏系统中npc处理事件的方法及装置
Gaudl et al. Behaviour oriented design for real-time-strategy games.
CN113509726B (zh) 交互模型训练方法、装置、计算机设备和存储介质
Weber Integrating learning in a multi-scale agent
Vitek et al. Intelligent agents in games: Review with an open-source tool
CN114146414A (zh) 虚拟技能的控制方法、装置、设备、存储介质及程序产品
Díaz et al. Swarm intelligence scheme for pathfinding and action planning of non-player characters on a last-generation video game
Majumder et al. Pathfinding and navigation
Zickler Physics-based robot motion planning in dynamic multi-body environments
KR102479931B1 (ko) 게임 제공 장치, 예측확률지수에 대응하는 리워드를 제공하는 게임 제공 방법 및 컴퓨터 프로그램
Yu et al. Reversely discovering and modifying properties based on active deep Q-learning
Heinimaki et al. Implementing artificial intelligence: a generic approach with software support.
Laird Design goals for autonomous synthetic characters
JP4804230B2 (ja) シューティングゲーム処理方法、その装置、そのプログラム及びその記録媒体
Viazovskyi MCTS knihovna pro plánování pohybu jednotek v real-time strategické hře StarCraft
CN116271831A (zh) 非玩家角色的控制方法、装置、存储介质和电子设备
Tarımer et al. FIRST-PERSON USER GAME SOFTWARE DESIGNING BASED ON RULE-BASED ARTIFICIAL INTELLIGENCE TECHNIQUE
Moretón Arancón A virtual environment for reasoning with sensorial information
Furelos Blanco Learning and generalization in Atari games
Jacobi O-MuZero: abstract planning models Induced by Options on the MuZero Algorithm
Sanz Ferrero Emergency behaviors as a firts-class mechanic in video games

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180103

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee