탐방/인터뷰

[NDC] 알파고 초석된 게임AI, ‘듀랑고’는 어떻게 만드나


  • 서삼광
    • 기사
    • 프린트하기
    • 크게
    • 작게

    입력 : 2016-04-27 16:39:42

    최근에 게임이 품는 폭이 넓어지면서 고도화된 AI의 중요성도 부각되고 있다. 이용자 경험(UX)을 높이기 위해서는 NPC와 이용자의 교감이 중요하며, 이를 위해 실제 인물처럼 행동하는 NPC(캐릭터와 몬스터)가 필수적 요소가 됐다.

    특히 생존과 대결을 중시하는 작품들에서는 사실적으로 움직이는 동물, 생물, 자연환경의 묘사 수준이 작품의 완성도를 판가름하는 기준이 되곤 한다. 생존을 주요 콘텐츠로 잡은 ‘야생의 땅: 듀랑고(이하 듀랑고)’도 몰입도를 위해 살아 움직이는 AI 구현에 공을 들이고 있다.

    넥슨 왓스튜디오 박동일 개발자는 27일 판교 넥슨사옥과 경기창조경제혁신센터에서 진행된 ‘넥슨 개발자 컨퍼런스 2016(NDC)’ 연단에 올라 ‘듀랑고 거친 환경에서 살아가는 동물 AI’를 주제로 구현과정과 앞으로의 개발방향 등을 강연했다.

    ◆만만치 않은 야생, 왓스튜디오의 해법은?

    ▲넥슨 왓스튜디오 박동일 개발자

    ‘듀랑고’는 두 번의 테스트(이하 LBT)를 통해 사실적인 자연환경을 선보여 화재가 됐다. 이 바탕에는 초식동물과 육식동물의 AI로 시뮬레이션해 먹이를 찾아 동물이 이동하는 과정을 관찰하고, 변수를 추가해 목적과 유사한 환경을 완성했다.

    이 과정에서 실패도 경험했다. 육식동물의 개체를 적게 설정해 초식동물에 의한 사막화가 목격됐기 때문. 이는 ‘듀랑고’가 인위적인 조작이 아닌 게임 속 동식물(오브젝트)들이 자연환경에 미치는 영향이 상호작용하도록 AI를 개발했기에 발생한 현상이었다.

    ‘듀랑고’의 AI도 처음부터 완성된 모습을 보인 것은 아니다. ‘듀랑고’는 ‘콜로세움(전투행동)’ ‘동물원(동물객체 행동)’ ‘프론트엔드(이용자행동)’ 등 여러 서버가 독자적인 정보를 처리하고 이를 공유하는 분산서버 방식으로 구현돼 동기화 문제가 발생한 것이다.

    ‘듀랑고’ 속 동물 AI가 행동을 결정하기 위한 기반 정보를 수집하는 작업이 선행되야 한다. 이 정보는 시시각각 변화하기 때문에 동기화하는데 많은 자원(시간, 통신)이 필요하다는 문제가 발생한다. 또, 행동을 결정하는 연산에도 시간과 자원이 필요했다. 자연스러운 행동을 결정하기 위한 기초 단계부터 삐걱거렸다.

    ◆우두머리 AI, 문제해결의 단초

     

    왓스튜디오는 문제를 분석하면서 분산 서버와 동물 AI의 관계를 분석해 실시간으로 많은 행동을 연산해야 하는 동물 AI를 하나의 그룹(Group)으로 묶을 수 있다는 점을 발견했다. 무리 단위의 패드백을 엮어 자극에 반응하게 하고, 전투 과정에서 발생하는 상호작용은 별도의 처리과정을 걸치게 만들어 반응성을 높인 것이다.

    무리 단위로 묶인 동물 그룹을 제어하기 위해 단체AI도 만들었다. 무리의 행동을 결정하는 어미의 AI는 야생해서 발생할 수 있는 다양한 상황에 따라 특정 할 수 있도록 상호작용 트리(행동트리)를 구현했다. 이에 따라 동물 무리는 어미AI의 지시에 따라 야생에서 생존하면서, 이용자나 다른 동물 AI를 만나면 사실적인 반응을 할 수 있게 됐다.

    ▲예시된 동물 AI의 행동트리

    게임 최적화를 위해서는 AI LOD를 적용했다. 상황에 따라 연산의 주기를 달리해 부담을 낮춘 것이다. 적을 찾는 행동의 주기를 낮추고, 적이 범위내에 있을때는 신속히 반응하도록 주기를 높였다. 이 과정에서 각 개체에 대한 제어도 가능해 졌다. 어미AI가 적을 발견하면 위험 신호를 보내고, 각 개체가 이를 듣고 적절한 행동을 할 수 있도록 개발했다.

    ◆듀랑고의 야생은 진화 중

    하지만 무리AI와 동기화를 위해 개발한 많은 해법들도 완벽하진 않았다. AI의 반응이 단순해지는 문제가 여전히 남아있었기 때문이다. 어미AI의 반응에 대한 각 개체AI는 여전히 단순하게 핸동했따.

    이를 해결하기 위해 왓스튜디오는 개체 AI에 행동 트리를 적응하는 방안을 개발하고 있다고 밝혔다. 어미 AI처럼 보다 작은 사건(이벤트)들에 사실적으로 대응하도록 고도화하는 것이 당면 목표라고 한다.

    장 개발자는 “지난 LBT를 통해 게임의 문제점과 해결방법의 실마리를 찾을 수 있었다”며 “보다 나은 야생을 이용자들에게 선보이기 위해 앞으로도 AI개발에 박차를 가할 것”라며 강연을 마쳤다. 


    베타뉴스 서삼광 (seosk.beta@gmail.com)
    Copyrights ⓒ BetaNews.net





    http://m.betanews.net/631183?rebuild=on