RPG 게임에서 AI를 더욱 실감 나게 만드는 방법에 대한 권장 블로그 나 백서가 있습니까? (특히 전투 기반 전투)
나는 거기에 무언가가 있어야한다는 것을 알고 있지만 AI 뒤에있는 알고리즘에 관한 논문 만 찾고 있습니다. 나는 "이것이 컴퓨터의 상대를 생생하게 느끼게하는 것"의 선을 따라 더 많이 찾고 있습니다. 위험 감수, 쉬움, 후퇴 등 ...
너무나 멋진 답변이 몇 개 있습니다. 모두 감사합니다!
RPG 게임에서 AI를 더욱 실감 나게 만드는 방법에 대한 권장 블로그 나 백서가 있습니까? (특히 전투 기반 전투)
나는 거기에 무언가가 있어야한다는 것을 알고 있지만 AI 뒤에있는 알고리즘에 관한 논문 만 찾고 있습니다. 나는 "이것이 컴퓨터의 상대를 생생하게 느끼게하는 것"의 선을 따라 더 많이 찾고 있습니다. 위험 감수, 쉬움, 후퇴 등 ...
너무나 멋진 답변이 몇 개 있습니다. 모두 감사합니다!
답변:
실수. 15 마일 떨어진 곳에서 당신을 겨냥하거나 항상 완벽한 승리 전략을 선택하는 AI 상대보다 나쁘지 않습니다. 그것은 침수를 깨고 당신이 일상을하고 있음을 분명히합니다. 실수로 인해 AI가 더 인간처럼 보일 수 있습니다.
많은 FPS 게임은 AI가 처음 몇 번의 샷으로 놓치도록 강요하여 AI가 거기에 있다고 경고합니다.
전략 게임은 때때로 차선책을 선택하거나 위협을 평가할 때 일부 전략을 의도적으로 무시할 수 있습니다.
내가 일했던 레이싱 게임은 플레이어가 근처에있을 때 계산 한 다음, 주사위를 굴려서 AI 전방의 차를 모퉁이를 통해 언더 스티어하거나 타이어를 날려 버렸습니다. 현실적인 AI로 칭찬 받았다.
그러나 불완전한 AI를 만드는 것은 여전히 어려운 과제입니다. 당신은 말도 안되는 실수를 할 때까지 완벽한 행동을 취한 후에 완벽한 행동을하기보다는 설득력있는 속도로 설득력있는 실수를해야합니다. 완벽한 AI를 재생하는 것보다 더 나쁠 수 있습니다. 예를 들어, 위의 레이싱 AI를 작업하는 프로그래머는 자동차 언더 스티어링 방법과 설득력있는 언더 스티어를 유발하기 위해 AI가 어떤 입력을해야하는지 모델링하는 데 많은 시간을 보냈습니다. 항상 그렇듯이 플레이 테스트는 매우 중요합니다.
다음은 이러한 종류의 실수를 일으키는 것에 대한 좋은 기사입니다. http://www.gamasutra.com/view/feature/3947/intelligent_mistakes_how_to_.php
다른 사람들은 인공 지능, 논리, 계획 및 실수의 중요성에 대해 이야기했습니다. 그리고이 모든 것이 AI 개발에 좋고 유용합니다.
그러나 문제는 컴퓨터의 상대가 어떻게 생생하게 느끼게 하는가에 관한 것이며 AI를 통해서는 달성 할 수 없습니다. 그렇지 않습니다. 플레이어는 전략적 수준의 선택에 따라 게임에서 캐릭터를 판단하지 않습니다. 그들은 훨씬 작은 것들에 근거하여 판단합니다.
컴퓨터 상대를 생생하게 느끼려면 상대를위한 포괄적 인 고품질 애니메이션 및 사운드 (특히 음성)가 필요합니다. 플레이어는 AI를 볼 수 없습니다. 그는 그것을들을 수없고, 그것을 경험할 수없고, 상대방이 무엇을 생각하는지 알 수 없습니다. "이 캐릭터는 살아있는 존재"의 등장은 캐릭터에서 재생되는 애니메이션과 캐릭터에 의해 생성되는 사운드 (다시 말하면 대부분 보컬 임)를 통해 플레이어에게 전적으로 제공됩니다.
캐릭터가 주변의 자극에 반응하는 것이 중요합니다. 주변의 사물을보고, 주변의 사물을 만지거나 (적절한 경우) 놀랐을 때 깜짝 놀랐으며, 적절한 경우 다른 감정을 보여줍니다
이러한 것들에 대해 이야기 할 때 반복을 최소화하는 것이 중요합니다. 캐릭터가 공격 할 때마다 동일한 "공격"애니메이션을 사용하면 결코 살아남지 못할 것입니다. 그가 다른 일을하지 않을 때 단일 반복 "유휴"애니메이션을 재생하면 살아남지 못할 것입니다. 그가 같은 음성을 두 번 (특히 연속적으로) qu다고하면 캐릭터가 살아 있다는 환상을 깨뜨립니다.
그리고 그것은 거의 다입니다. 당신이 살아있는 것처럼 보이는 상대가 당신의 게임에 실제로 존재한다면, 그들을 살아있는 것처럼 보이게 만드는 성공은 주로 플레이어에게 보여지는 그래픽과 사운드에 의해 결정됩니다.
체스와 스타 크래프트의 경우처럼 당신이 "살아있는"상대가 실제로 게임에 존재하지 않는다면,이 답장을 무시하십시오. 최선의 방법은 AI 중심의 답변을 따르는 것입니다.
상대를 더 생생하게 만들 수있는 몇 가지 간단한 개념 목록은 다음과 같습니다.
의도
플레이어에게 AI의 '의도'를 구분할 수있는 방법을 제공하십시오. 이것은 주인공을 공격하기 전에 정확한 헤드 샷 공격을 시도하기 전에 "품질보다 질적"이라고 소리 치거나 "플랑크 그를", 또는 "지도자를 데려가십시오"라고 말하는 것만 큼 간단 할 수 있습니다. 예를 들어 팀원에게 수화를주고 팀원의 행동을 바꾸는 등의 과정이 더 복잡해질 수도 있습니다.
절망
상대가 죽음에 가까워 질수록 절망감을 느낄 수 있습니다. 특정 건강 이정표에서 전술을 변경하십시오. 후반 단계가 더 당황스럽고 위험이 더 커집니다 (느린 치핑보다는 우박 메리를 향함). 시각적으로도 의사 소통합니다 (더 과장된 애니메이션, 맥동 정맥 등).
뱅으로 외출하십시오.
그들에게 싸움을 반복 할만한 가치가있는 죽음을주십시오. 그런트가 애니메이션으로 용감 해졌습니다. 보스 soliloquize. 그것이 자랑스런 성격이라면, 그들이 당신을 죽이기를 거부하고 그들의 마지막 손해를 스스로 처리하십시오. 드리프트를 얻습니다.
이 Google IO 토크는 Google Doodle pacman에 관한 것입니다. 18:00 년에 그들은 팩맨에서 귀신의 성격에 대해 말하기 시작합니다. 그것은 당신이 어떻게 간단한 길 찾기에 개성을 넣을 수 있는지 정말 놀랍습니다.
Google I / O 2011 : Google Pac-Man의 비밀 : 게임 쇼
모든 비디오를 볼 가치가 있습니다. 정말 추천합니다.
그런 블로그에 대해서는 잘 모르겠지만 전술 턴 기반 롤 플레잉 게임은 로그 라이크 다음으로 가장 좋아하는 두 번째 장르이므로 블로그 게시물을 작성하겠습니다. 내 경험상 RPG 나 RTS에서 전술 AI의 어려움이 아니라 종종 나를 미치게했다. 그러나 그 반대는 AI의 완벽한 근시와 팀 결정의 부재이다. 인간은 절대 이런 식으로 연주하지 않을 것입니다.
그 당시에도 여전히 JRPG를 게임 디자인의 정점으로 보았을 때 파이널 판타지 전술과 같은 전술 턴 기반 전투에 중점을 둔 "전형적인 일본 TRPG"를 만들려고 노력했습니다. 항상 그렇듯이 길 찾기와 AI에 대한 기술 데모가되었으므로이 주제에 대한 생각을 나누겠습니다.
이러한 TRPG의 대부분은 AI를 많이 신경 쓰지 않습니다. 플레이어의 재미는 복잡한 전술적 또는 전략적 도전이 아니라 일반적인 농업 및 AI 학대에서 재미있는 방식으로 발생합니다. 따라서 AI가 인간이하지 않은 일을하는 것은 중요하지 않습니다. 일반적으로 어리석은 AI를 가지고 게임 디자인과 균형을 맞추는 것으로 충분합니다. 사전에 둘 이상의 움직임을 볼 필요가 없으며 최상의 단기 움직임 만 사용할 수 있습니다. 물론 실제로는 느끼지 않지만 누가 신경 쓰나요? 이것은 단지 잘못 느낀다. 나는 농사와 강렬한 롤링 대신 복잡한 AI 액션과 싸우면서 재미있는 것을 만들 수 있다고 믿고 싶다. 불필요하고 시간 소모적이지만 가능합니다.
오리지널 Final Fantasy Tactics와 하드 코어 모드 FFT 1.3을 기억하면서 인간과 같은 재미 있고 재미있는 AI 목표를 설정했습니다.
저는 1 번 등장하는 행동, 다른 성격과 인간과 같은 "반미 랜덤"전략 선택, 3 번 하드 코딩을 최소화하고 세심한 테스트를 통해 첫 번째 문제를 해결할 것이라고 생각했습니다.
제가 말하고자하는이 행동들은 무엇입니까? 그것은 일련의 사용 가능한 능력입니까? 가중치 목록에서 최고의 능력? 아니, 내가 생각한 것은 원하는 지능 , 성격 유형 및 현재 사용 가능한 능력과 무기에서 파생 된 역할 의 조합이었습니다 . 이 조합을 "멍청한 횃불 피해 딜러"또는 "스마트 방어 치료기"라고 설명 할 수 있습니다. 따라서 클래스 또는 직업과 같은 인공 지능 전문 분야, 예를 들어 활을 사용하여 Take Aim 또는 Arrow Shower와 같은 미리 정의 된 일반 궁수 능력 콤보 세트로 화살을 쏘는 Archer AI는 하드 코딩 대신 논리적으로 등장합니다.
기본적으로, 다음과 같은 역할을 감지하고 운영하는 것이 중요합니다 : 손상 딜러, 손상 흡수제, 디스 에이 블러, 스키 러 미셔, 힐러, 버퍼 / 디 버퍼, 이펙터 영역; 일반적으로 한 명의 캐릭터가이 역할 중 두 가지 이상을 수행합니다.
이것으로부터 전술적 재미를 만들기 위해 우리는 행동이 몇 가지 경우를 견고하게 처리하기를 원합니다.
가장 간단한 경우. 많은 약한 고블린이 우리 영웅들을 매복시킵니다. 인식 된 위협은 분명합니다. 고블린은 원시적 근접 능력을 가진 바보 같은 맹렬한 성격을 가진 각 고블린으로 플레이어를 압도하려고 시도합니다. 고블린을 단일 장갑 및 내화성 캐릭터에 미끼로 붙인 다음 일련의 불을 던지는 것과 같이 인식 된 약점도 분명합니다. 기반의 AoE 주문은 일반적인 방향입니다. 피해 흡수제 찾기, AoE'er 찾기, AoE'er 피해 유형에 대한 피해 흡수제 전문화, 피해 흡수제를 고블린 덩어리에 보내고, 고블린 그룹 주위에 피해를주는 AoE 주문을 시전합니다.
간단한 팀 상호 작용을 테스트하는 일반적인 경우입니다. 플레이어는 기사, 궁수, 마법사 및 성직자를 만납니다. 인식 된 위협은 이제 더 복잡해졌으며 다양한 상호 작용이 가능해졌습니다. 당신은 이미 가능한 역할과 그 조합을 볼 수 있습니다. 클레릭은 버프와 치유, 마법사는 복잡하지만 피해가 큰 마법 물건을 요리하고, 기사는 누군가를 충전하거나 마법사를 방어하고, 궁수는 도망치려 고하는 사람들을 저격하거나 방어 전략을 더욱 보완하여 기사를 도울 것입니다. 이것은 기사의 선택에 달려 있습니다. 적의 성격은 무작위로 동일한 조우를 독특한 경험으로 바꾸어 결정할 수 있습니다. 플레이어는 현재 보유하고있는 유닛으로 최고의 전략이 무엇인지 결정해야하며, AI가 화면의 다른 쪽에서도 같은 방법을 시도하면 흥미로울 것입니다.
팀 상호 작용 및 전략 계획을 테스트하기위한 복잡한 사례. 당신은 4 명의 암살자 갱단 (영리한 세심한 피해 딜러 + 전투원)과 대결하는 전투가 있습니다. 무시 무시한 외모를 가진 숫자는 거의 없으며, 그들의 지각 된 위협은 숙련되고 치명적인 공격에 있으며, 지각 된 약점은 단 한 번의 암살자만으로도 전체적인 힘을 쉽게 줄일 수 있다는 것입니다. 당연히 그들은 영리하고 서로 잘 작동하는 능력을 사용하며 소방관의 가장 위험한 캐릭터에 집중할 수 있습니다. 중상을 입은 사람들은 퇴각하고 치유하며 전투에 다시 참여합니다. 분명히, 플레이어는 먼저 그들 중 하나를 공격하려고 시도 할 것이고, 암살자들은이 쉬운 전략을 약하게 계산해야 할 것이므로 덜 지배적 일 것입니다.
많은 전략을위한 어려운 사례. 각 분대장과 함께 최고의 지역 전술 이동을 결정하는 몇 명의 분대가 있으며, 전 분대에 혜택을주기 위해 최고의 전 세계 전략 결정이 선택됩니다.
불가능한 경우. 전략을 결정하기 위해 장군을 추가하고 분대장에게 분대 능력을 최대한 발휘하도록 전략을 구현하십시오.
이미 많은 편지가 있었기 때문에 긴 이야기가 짧고 구현이 혼란 스러웠으며 결코 "하드 케이스"를 지나치지 않았지만 재미있는 전술에 대한이 접근법은 가능하다고 느꼈습니다. 나는 FSM으로 시작했지만 그 접근 방식을 빠르게 포기해야했고, 얽힌 상태가 엉망이되어 디버깅이 불가능했습니다. 잠시 후 나는 가능한 개별 행동에 대한 행동 트리를 가진 "감각 행동"패러다임에서와 같이 반 자율 능력 인식 기반 캐릭터로 정착했다. N-Gram 통계 예측과 같은
이것이 어떻게 해결 되었습니까? 놀랍게도 AI는 심지어 여러 번 내 마음을 읽었지만, 설득력있는 결함이 충분하기 때문에 피곤해져 버렸습니다.
나는 내 접근 방식이 기껏해야 평범한 것이 아니라면 평범한 것이 아니라 AI가 더 발전하기 위해 엉덩이에 버그가 있고 고통 스럽다고 생각하지만, 심지어 산만 한 아이를 가지고 노는 것처럼 나는 그것에 대해 놀고있는 재미있는 시간을 보냈습니다. 여전히 전술 오우거보다 낫습니다 :)
내가 많이 제안한 것은 AI가 플레이어의 "생각"을 어떤 식 으로든 전달하도록하는 것입니다. 이것은 종종 1 인칭 슈팅 게임에서 적들이 (비현실적으로) 플레이어에게 계획을 외치도록함으로써 (즉, "그를 옆으로!", "그는 저쪽에 있습니다!"등으로) 수행됩니다.
하루가 끝날 때 플레이어는 AI를 상대로 게임을하고 있다는 것을 알고 있으므로 AI에게 플레이어에게 알리지 않고 스마트하게 행동하는 것은 속임수로 기각 될 수 있습니다.
종종 우리는 "AI를 어떻게 창조 하는가"에 대해 생각합니다.
그것은 "AI 란 무엇인가?"라는 큰 질문을 건너 뛰는 것입니다.
몇 년 전에 내가 본 TED.com의이 이야기는 인공 지능의 정의에 대한 매우 고무적인 접근 방식을 공유했습니다.
만약 플레이어가 적들이 "지능적"이라고 느끼기를 원한다면, 이것은 AI에 대한 높은 수준의 대답과 본질적으로 완전히 새로운 사고 방식을 제공 할 것입니다.
http://www.ted.com/talks/jeff_hawkins_on_how_brain_science_will_change_computing.html
나에게 "살아있는 느낌"은 캐릭터가 실제 생활에서 생각하는 것처럼 행동한다는 것을 의미합니다.
실제 사람들은 필요, 동기 부여, 두려움, 결함이 있습니다. 그들은 이야기하고, 그룹이라면 서로 반응하고, 자신의 삶을 돌보고 있기 때문에 도망칩니다.
그들이 군대이거나 훈련을 받았다면 전술이 있습니다.
따라서 컴퓨터 과학이 아닌 인간 과학에서 인간 행동 분야를 확인해야 할 것입니다.