2015년 인공지능(AI) 바둑 프로그램 ‘알파고’가 등장한 이후 ‘인공지능’이라는 용어는 ‘인공신경망을 모방한 딥러닝 기반 기계학습 기술’로 통용된다. 게임에서는 인공지능이라는 표현이 이보다 훨씬 전인 1990년대부터 쓰였다. 유저끼리 대결하는 온라인 게임이 나오기 전에는 유저가 컴퓨터와 대결해야만 했고, 이때 컴퓨터의 플레이를 ‘인공지능’이라고 불렀다. 컴퓨터가 미리 프로그래밍 된 대로 알아서 플레이한다는 의미였다.
게임 속 인공지능은 미리 저장된 결과값
게임에서 말하는 인공지능은 ‘개발자가 미리 지정해놓은 약속’이다. 이런 인공지능은 대개 입력값을 넣었을 때 논리적으로 결과값이 나오는 ‘유한 상태 기계(FSM·Finite State Machine)’나 의사결정을 할 때 규칙이 정해져 있는 ‘결정 트리(Decision Tree)’, 문제를 해결할 때 전제를 설정하고 이를 바탕으로 결론을 내 는 ‘규칙 기반 시스템(Rule Based System)’ 같은 기술을 이용한다. 그래서 게임 속 캐릭터는 몇 가지 명령으로 설정돼 있는 것에 대해서만 동작할 수 있다.
넥슨 인텔리전스랩스 솔루션실을 이끌고 있는 김호연 실장은 “요즘 온라인 게임에서는 이런 기술들에 다양한 기법이 더해진 인공지능 기술이 적용돼 있다”고 말했다.
‘스타크래프트’에서 유닛들이 떼를 지어 이동하는 경우, ‘마비노기영웅전’에서 몬스터의 움직임, ‘크레이지 아케이드’에서 인공지능 캐릭터의 물 풍선 공격, ‘피파 온라인’에서 크리스티아누 호날두(포르투갈)의 세리머니 등이 바로 미리 정해놓은 규칙에 따라 게임 속 캐릭터와 사물이 다양한 동작을 하는 예다.
김 실장은 “추후 딥러닝 기반 기계학습이 게임분야에서 활용되면 지금보다 훨씬 더 실제처럼 자연스러운 게임이 탄생하게 될 것”이라고 말했다.
게임 패턴 분석해 불법 유저 ‘청소’
현재 딥러닝 기반의 인공지능 기술은 게임 자체보다는 게임 바깥에서 더욱 왕성하게 활용되고 있다.
넥슨은 지난해 4월 ‘인텔리전스랩스’를 신설하고 2004년부터 수집해온 빅데이터를 이용한 딥러닝 기반 인공지능을 개발하고 있다. 여기서 빅데이터는 게임을 운영할 때 필요한 데이터(유저가 로그인 했을 때 레벨 등의 정보), 운영을 위해 남기는 데이터(어떻게 작업했는지 기록했다가 오류가 생기면 복구할 수 있는 정보), 로그 데이터(유저가 던전에 들어가거나, 공격을 하거나, 몬스터를 잡는 등 플레이에 대한 정보) 등을 말한다.
김 실장은 “과거에는 개발자가 어떤 현상에 대한 이유를 파악하기 위해 가설을 세우고 직접 데이터를 확인하면서 검증했다”며 “이 방식이 직관적인 판단보다는 훨씬 정확하지만, 유저가 이 지점에서 왜 점프했는지, 특정 던전에서 왜 이탈률이 높은지 등 유저의 세세한 행동에 대한 원인은 분석하기 어렵다는 한계가 있었다”고 밝혔다.
가령 ‘메이플스토리’의 경우 특정 퀘스트에서 한 직업의 캐릭터만 계속해서 이탈하는 현상이 나타났다. 개발자들은 5년 동안 게임 데이터를 분석한 끝에 원인을 발견했다. 여러 퀘스트를 거치면서 레벨을 올린 뒤 이 퀘스트를 찾아오는 다른 직업과 달리, 이 직업의 경우 게임 초반에 높은 레벨에 도달하게 돼 결국 유저들이 어렵다고 느낀 것이다.
인텔리전스랩스는 5월 말 게임을 지속적으로 하는 유저와 이탈한 유저를 딥러닝 기반으로 비교 분석해 원인을 찾는 인공지능을 개발했다. 김 실장은 “인공지능을 적용한 지 얼마 안 됐지만 벌써 이탈 원인을 몇 가지 찾았다”며 “인공지능을 이용해 이탈률을 줄이는 해법을 찾을 예정”이라고 말했다.
인텔리전스랩스는 딥러닝 기반 인공지능을 청정한 게임 환경 유지에도 활용하고 있다. ‘작업장(게임을 즐기는 대신 매크로 프로그램을 돌려서 불법적으로 재화를 계속 만들어내는 행위)’이나 ‘월핵(FPS 등에서 벽을 투시해 건너편을 무단으로 훔쳐 볼 수 있는 기능)’ 유저, ‘트롤(같은 팀에 속한 유저를 죽이거나 게임을 하지 않는 행위)’ 등 특정 유저들의 행동을 감지해 일반 유저들이 게임하는 데 방해하지 않도록 ‘청소’하는 것이다.
김 실장은 “게임에서 ‘작업장’이나 ‘월핵’을 쓰고 ‘트롤’을 일삼는 유저는 일반 유저와는 게임을 진행하는 패턴이 다르다”며 “인공지능은 이 패턴의 특징값을 추출해 일반 유저인지 아닌지 판단한다”고 말했다.
예를 들어 작업장의 경우 게임 승패에는 관심이 없고, 재화를 캐기 위한 특정 행동만 무한 반복하거나 획득한 재화를 한 유저에게 몰아주는 특징이 있다. 최근 작업장 탐지 인공지능은 ‘메이플스토리 M’에서 매크로 프로그램을 탐지해 원활하고 쾌적한 게임 환경을 만들었다. 지금까지 인공지능의 적중률은 약 99%에 이른다.
‘서든어택’ 등 FPS에서는 여러 유저들이 한 유저를 월핵 사용자로 의심된다고 신고하면, 이미지를 구분하는 딥러닝(CNN·Convolutional Neural Networks) 기반 인공지능이 해당 유저의 데이터를 이용해 스크린샷을 확인하고 월핵을 사용하는지 판단한다.
‘피파 온라인’ 같은 축구 게임에서 자살골을 넣거나, 팀플레이가 중요한 던전 게임에서 게임을 하지 않고 가만히 있는 트롤 행위도 다른 유저에게 피해를 줄 수 있다. 딥러닝 기반 인공지능은 게임이 진행되는 동안 저장되는 로그 데이터를 보고 트롤을 가려낸다.
욕설 구분 정확도는 거의 100%
최근 인텔리전스랩스는 유저들이 공개 채팅을 하는 동안 욕설을 감지할 수 있는 인공지능의 프로토타입을 개발해 ‘서든어택’에서 테스트 중이다. 이전에는 관리자들이 신고가 들어온 공개 채팅을 하나하나 읽어보면서 욕설인지 아닌지 판단해야 해 피로도가 높았다.
욕설 감지 인공지능은 글자를 이미지로 판단하는 ‘CNN 기술’과, 그림의 일부분이 사라졌어도 어떤 그림인지 판단하는 ‘라임(lime) 알고리즘’을 적용했다. 문장 전체를 분석하는 대신 욕으로 의심되는 부분만 추출해 판단할 수도 있다.
유저들이 새로운 욕을 할 때마다 스스로 학습해 금칙어 데이터를 늘려나간다. ‘18’이라는 숫자를 ‘18채널’처럼 일반 단어로 사용했는지 욕설로 사용했는지 정확히 구분할 수 있고, ‘ㅅ1발’이나 ‘게임 참 ㅈ같이 하네’ 등 자음과 모음, 숫자 등을 변형해 욕을 쓴 경우에도 각각 정확도 100%와 98%로 욕설을 분간한다.
4월 24일 넥슨 개발자컨퍼런스(NDC)에서 인텔리전스랩스 관계자는 “‘제가 ○○이었네요’ 같은 자조적인 말을 욕설로 판단하거나, ‘배를 확따서 회를 쳐 먹는다’ 같은 문장을 일상적인 대화로 생각하는 등 아직까지는 욕설 감지 인공지능에 기술적인 한계가 있다”면서 “앞으로는 남을 비하하는 뉘앙스까지도 알아챌 수 있도록 고도화해 게임 환경을 더욱 청정하게 만들 계획”이라고 밝혔다.
[Interview]
넥슨 인텔리전스랩스 솔루션실 실장_김호연
넥슨에서 어떤 일을 하고 있나
넥슨에서 출시하는 게임이 많은 만큼, 게임을 담당하는 팀도 많다. 그래서 각 팀마다 게임을 개발하거나 오류를 고치는 노하우들이 산재돼 있다. 인텔리전스랩스는 이런 노하우들을 한 데 모아 완성도 높은 게임을 만들기 위해 만들어졌다. 주된 일은 게임 개발 노하우를 데이터 기반 시스템으로 녹이는 일이다.
전공은 뭔가
인텔리전스랩스에서 일하는 개발자들은 대부분 컴퓨터공학을 전공했다. 나도 마찬가지다. 하지만 데이터 분석 전문가 중에는 통계학 전공자가 많고, 사용자경험(UX)을 분석하는 전문가 중에는 심리학과 인지심리학을 전공한 사람도 있다. 분야에 따라 요구되는 지식이 다르기 때문에 전체적으로는 전공이 다양하다.
어떻게 게임 개발자가 됐나
컴퓨터공학을 전공했기 때문에 처음에는 IT 관련 기업에서 일을 할 계획이었다. 그런데 게임 회사 특유의 자유로운 분위기에 매료돼 결국 게임 개발자가 됐다. 이런 분위기에서 창의적이고 환상적인 게임이 탄생할 수 있는 것 같다.
게임 개발자가 되려면 어떤 소양이 필요한가
가장 중요한 것은 게임을 사랑해야 한다는 것이다. 간단한 게임이라도 스스로 많이 만들어보는 것도 중요하다. 진심으로 게임을 좋아하는 사람이 만든 게임과, 별 관심이 없는 사람이 만든 게임에는 결국 차이가 있다. 게임을 진짜 좋아해서 만드는 사람은 어떤 게임을 어떻게 만들겠다는 의도가 뚜렷하고, 실제로 그런 게임을 만들기 위해 최선을 다하기 때문이다.
▼관련기사를 계속 보시려면?