NVIDIA GTC Korea 2015 · Original work retrospective

Teaching game AI
instead of coding it.

In 2015, I presented a production-oriented deep reinforcement-learning system for multi-agent RPG combat—built around a small simulator, parallel experience generation, automated competition, measurement, and rapid deployment.

ORIGINAL RECORDSeptember 22, 2015Nine Tree Convention, Seoul30-minute talk44-slide deckNako Sung · NCSOFT
01 · The mission

A party that learns to cooperate without a commander

The target was not a toy Atari agent. It was combat AI that could eventually operate in multiplayer RPGs such as Diablo, AION, or League of Legends, where many characters, skills, effects, positions, and timing constraints interact in real time.

Build production-grade party combat AI that can coordinate by itself—without a central “shot caller.”
01

Irregular complexity

Characters, skills, effects, status changes, and continuous 2D/3D positions form a rule set with little clean regularity.

02

Multi-agent cooperation

Each agent must act locally while learning behavior that improves the whole team’s chance of winning.

03

Real-time constraints

Classical search exceeded practical compute budgets; handcrafted logic created an unsustainable maintenance burden.

02 · Start small, grow big

An automated arena for learning systems

We removed graphics and built MiniLOL, a compact text-based game that preserved the important problem properties. It became a pluggable testbed where different agents and scenarios could compete continuously.

01 · SIMPLIFY

MiniLOL

Two classes, a simple map, and a text-only simulator with damage, buffs, debuffs, stun, heal, dash, and other effects.

02 · PARALLELIZE

Many simulators

About 30 simultaneous simulators running 1v1, 3v3, and 5v5 matches across classes and maps.

03 · LEARN

Black-box RL

Agents learned without explicit access to game rules, progressing from DQN toward a deeper LSTM agent.

04 · COMPETE

Automated league

Behavior Tree, greedy, expectation-based greedy, reinforcement-learning, and deep-learning agents were compared by matches.

05 · ITERATE

Continuous delivery

A GitLab push triggered automated Docker build, deployment, and execution on the compute machines.

>90%Win rate with almost no handcrafted features
2 × 30GTX 980 GPUs: two per machine across 30 machines
~2 MMReported implementation effort for the in-house cluster
<10 secFrom code change to deployment and execution
03 · The experiment record

Agents improved by competing against different ideas

2014.11
Handcrafted agents traded the leadSimple greedy led first; Behavior Tree countered; an improved greedy agent then won decisively.
2014.12
Deep Q-learning counterattackedA four-layer network with dropout entered the automated competition.
2015.03
The CUDA cluster changed the paceA seven-layer LSTM agent using RMSProp and MaxOut took the lead.
04 · Learning and systems design

The model was only one component of the system

STATE

Global + self + friends + enemies

State design considered invariance across teammates and opponents, rather than treating an arbitrary list order as meaning.

ACTION

Movement + targeted skills

Movement and action commands were unrolled into targetable choices that the value network could evaluate.

REWARD

Team victory

A team reward allowed an individual agent to sacrifice itself when doing so improved the team outcome.

Stabilization and learning

simultaneous simulatorsfrozen networknetwork double bufferingfeature normalizationRMSPropDropoutMaxOutLSTMrandom hyperparameter searchearly drop of poor samples

In-house cluster stack

DockerCUDACaffeC++11Node.jsWebSocketAngularJSZeroMQRedis
2026 · Retrospective

In hindsight, this was an early AI Factory loop

That phrase was not used in the original talk. But the system already connected the layers that now define an AI Factory: environments that produce experience, accelerated training, automated evaluation, resource orchestration, and a deployment loop.

SIMULATION-FIRST

Turn reality into a learnable world

MiniLOL compressed a complicated production domain into a controllable environment while preserving the structure of the hard problem.

EVALUATION FLYWHEEL

Let agents expose each other’s limits

The automated arena converted competing methods into a continuously improving evaluation and selection process.

PLATFORMIZED LEARNING

Optimize the full loop, not only the model

The cluster automated compute allocation, builds, experiments, measurement, and redeployment—the systems pattern that later continued into ML platforms.

Historical note. All dates, architecture details, technologies, and reported metrics above come from the original 2015 slide deck. The “AI Factory” framing in this section is a present-day interpretation, not a term or claim made in the original presentation.
NVIDIA GTC Korea 2015 · 과거 작업 회고

게임 AI를 코딩하지 않고
학습시키다

2015년 GTC Korea에서 멀티에이전트 RPG 전투를 위한 실서비스 지향 심층강화학습 시스템을 발표했습니다. 작은 시뮬레이터, 병렬 경험 생성, 자동 경연과 측정, 빠른 배포를 하나의 루프로 연결한 작업이었습니다.

2015년 원본 기록2015년 9월 22일서울 나인트리 컨벤션30분 발표44페이지 자료성낙호 · NCSOFT
01 · 목표

사령관 없이 스스로 협력하는 파티

목표는 단순한 Atari 게임 에이전트가 아니었습니다. Diablo, AION, League of Legends처럼 여러 캐릭터와 스킬, 효과, 위치와 타이밍이 실시간으로 얽히는 멀티플레이 RPG에 실제로 적용할 수 있는 전투 AI였습니다.

중앙에서 ‘오더’를 내리지 않아도 스스로 협력하는 실서비스급 파티 전투 AI를 만든다.
01

규칙의 불규칙한 복잡성

캐릭터, 스킬, 효과, 상태 변화, 연속적인 2D·3D 위치가 규칙성 없는 거대한 규칙 집합을 만듭니다.

02

다자간 협력

각 에이전트는 지역적으로 행동하면서도 팀 전체의 승률을 높이는 행동을 배워야 합니다.

03

실시간 제약

전통적 탐색은 계산량의 한계를 넘고, 수작업 로직은 유지보수 비용을 감당하기 어려웠습니다.

02 · 작게 시작해 크게 키우기

학습 시스템을 위한 자동화된 경연장

그래픽을 없애고 핵심 문제 속성만 보존한 텍스트 기반 게임 MiniLOL을 만들었습니다. 서로 다른 에이전트와 시나리오가 끊임없이 겨룰 수 있는 플러거블 실험장이었습니다.

01 · 단순화

MiniLOL

두 개의 클래스, 간단한 맵, 피해·버프·디버프·스턴·회복·대시 등을 가진 텍스트 시뮬레이터

02 · 병렬화

다수의 시뮬레이터

약 30개의 시뮬레이터에서 클래스와 맵을 바꾸며 1:1·3:3·5:5 경기를 동시 실행

03 · 학습

Black-box RL

게임 규칙을 직접 알려주지 않고 DQN에서 더 깊은 LSTM 에이전트까지 학습

04 · 경쟁

자동 경연

Behavior Tree, Greedy, 기대값 기반 Greedy, 강화학습과 딥러닝 에이전트를 경기로 비교

05 · 반복

지속 배포

GitLab에 push하면 각 계산 장비에서 Docker build, 배포, 실행을 자동 진행

>90%거의 수작업 feature 없이 보고한 승률
2 × 3030대 장비에 GTX 980 GPU를 2장씩 구성
~2 MM사내 클러스터 구현에 투입된 것으로 보고한 공수
<10초코드 변경에서 배포·실행까지
03 · 경연의 기록

서로 다른 아이디어와 경쟁하며 발전한 에이전트

2014.11
수작업 에이전트들이 선두를 주고받음Simple Greedy가 앞서고 Behavior Tree가 역습한 뒤, 개선된 Greedy가 다시 완승했습니다.
2014.12
Deep Q-learning의 반격Dropout을 적용한 4층 네트워크가 자동 경연에 진입했습니다.
2015.03
CUDA 클러스터가 실험 속도를 바꿈RMSProp과 MaxOut을 적용한 7층 LSTM 에이전트가 우위에 섰습니다.
04 · 학습 및 시스템 설계

모델은 전체 시스템을 구성하는 한 요소였다

STATE

Global + Self + Friends + Enemies

팀원과 상대의 임의적인 나열 순서가 의미가 되지 않도록 상태 표현의 불변성을 고려했습니다.

ACTION

이동 + 대상 지정 스킬

이동과 행동 명령을 가치 네트워크가 평가할 수 있는 대상 지정 선택지로 펼쳤습니다.

REWARD

팀의 승리

개별 에이전트가 자신을 희생하더라도 팀 결과가 좋아진다면 그 행동을 학습할 수 있도록 팀 보상을 사용했습니다.

학습 안정화

동시 시뮬레이터Frozen networkNetwork double bufferingFeature normalizationRMSPropDropoutMaxOutLSTMRandom hyperparameter search나쁜 sample 조기 중단

사내 클러스터 스택

DockerCUDACaffeC++11Node.jsWebSocketAngularJSZeroMQRedis
2026년의 회고

돌이켜보면, 초기 형태의 AI Factory였다

당시 발표에서는 AI Factory라는 말을 사용하지 않았습니다. 그러나 경험을 생산하는 환경, 가속 학습, 자동 평가, 자원 오케스트레이션과 배포 루프라는 지금의 AI Factory 핵심 계층이 이미 하나로 연결되어 있었습니다.

SIMULATION-FIRST

현실을 학습 가능한 세계로 바꾸기

MiniLOL은 복잡한 실서비스 영역을 제어할 수 있는 작은 환경으로 압축하면서 어려운 문제의 구조는 보존했습니다.

EVALUATION FLYWHEEL

에이전트가 서로의 한계를 드러내게 하기

자동 경연장은 서로 다른 방법론의 경쟁을 지속적인 평가와 선택, 개선 과정으로 바꿨습니다.

PLATFORMIZED LEARNING

모델이 아니라 전체 루프 최적화하기

클러스터는 연산 자원, 빌드, 실험, 측정과 재배포를 자동화했습니다. 이후 ML 플랫폼으로 이어진 시스템 패턴입니다.

역사적 기록에 대한 주석. 위의 날짜, 아키텍처, 기술과 수치는 2015년 원본 발표 자료에 근거합니다. 이 섹션의 ‘AI Factory’라는 표현은 현재 시점의 해석이며, 원래 발표에서 사용하거나 주장한 용어가 아닙니다.