World First

Programmable MMORPG

Donghyuk Kim

3/15/2017

Summary

ESA(구. 소프트맥스)사에서 기
개발한 RTS 게임인 판타랏사(Panthalassa)의 설정을 그대로 따름.

Story

  • 지구가 소행성 충돌 내지는 기타 이유로 인해, 지구 전체가 바다에 잠김.

 

  • 인류가 해저에서 살게 되면서, 다른 인류(아틀란티스 인) 및 미지의 생명체, 문명들과 조우하며 펼쳐지는 이야기.

Distingushiable Features

해저 환경에서 유저가 모함(Mother Ship) 및 다수의 유닛을  3인칭 시점에서 컨트롤하는 MMORPG.

  • 게임 내에 Programmable 요소를 도입.

  • Programmable 요소는 자신이 조종하는 유닛의 인공지능.

  • Programming에 의한 결과물이 전체 게임의 핵심 요소이되 Programming을 하지 못 하는 유저들도 게임에 쉽게 참여할 수
    있도록 그 결과물을 거래 가능한 script 형태로 구현.

  • script가 유닛의 인공지능을 담당하므로, 전투에 결정적인 영향을 줄 수 있으며 이로 하여금 전투시 조작 피로도를 낮춤과 동시에 기존의 게임에서 노가다성 요소를 최소화.


 

Why Programmable?

Programming 자체가 국가교육과정에 포함되는 국가가 늘어나는 추세.

향후에 대부분의 사람들은 기초적인 programming 지식을 갖출 수 있음.

 

미국) 주별로 차이가 있으나, 정규 과목으로 확대 및 지원 중

영국) 2014년 9월, 컴퓨팅(computing) 과목 만 5-16세 필수과목 지정

프랑스) 2014년 9월 SW과목 선택적 수업, 정규 과목으로 채택 예정

인도) 2012년 초등 1년부터 코딩 교육 의무화

핀란드) 2016년도 초등과정 프로그래밍 필수

대한민국) 2018년 SW교육 필수

 

게임 플랫폼이 Programming의 교육 및 흥미를 일으킬 수 있는 하나의 시뮬레이터로서의 기능을 포괄적으로 제공

 

해저 배경의 2D RTS,

소프트맥스에서 1997년 출시

홈월드와 유사한 형태, 오히려 원조격인 게임.

 

Features

  1. 여타의 RTS와 달리 건물을 짓고 자원을 채취하여 유닛을 생산하지 않음. 
  2. 자원은 파괴된 잔해로 부터 수집 혹은 무역, 퀘스트 해결을 통해 획득.
  3. 생산은 모함에서 수행.
  4. 생산할 유닛의 스펙을 커스터마이징할 수 있음.
  5. 배경이 '해저'로 인한 다양한 설정상의 장점을 가짐.
    (이후 슬라이드에서 설명)

Related Work : Panthalassa

Mother Ship

모함 내에 일종의 테크트리를 올려, 모함의 기능을 강화하거나 유닛의 생산 폭을 넓힘.

Customizable unit construction

생산할 유닛의 베이스 및 무기, 특수 무기, 방어도 등을 조합하여 다양한 형태의 전략이 가능.

 

 

Related Work : Panthalassa

우주 배경의 3D RTS,

Relic에서 1999년 출시

 

개별 유닛에 대한 간단한 전략 (aggresive/neutral/evasive)

및 대형 설정 가능

 

Features

  1. 전장 공간이 3D인 점에서 각광 받음. 다만 조작이 쉽지 않음.
  2. 모함에서 모든 생산 담당.
  3. 우주 공간 특성상 배경 렌더링에 리소스를 덜 할애하게 됨. FX 및 유닛 렌더링에
    집중 가능.

Related Work : Home World

우주 배경의 MMORPG,

CCP에서 2002년 출시

 

레벨업 노가다 전무. 시간의 흐름에 따라 스킬업.

전 세계 단일 서버.

 

 

 

Features

  1. 기본적으로 1명의 유저는 1대의 함선을 조종, 최대 5대의 작은 드론을 운용 가능.
  2. 여유로운 전투 조작으로 인해,
    1명의 유저가 여러개의 alt(보조 계정)를 생성하여 동시에 조작하는 경우가 빈번.
  3. 지역이 행성계 단위로 완벽히 분리되어 있어 time dilation등을 통해 특정 지역에 시간을 느리게 하여 부하를 해소함.

Related Work

Related Work

Related Work

Related Work : EVE Online

World First MMO Strategy sandbox game

"for programmers"

Screeps에서 2016년 출시

 

Java script 프로그래밍을
통해 자신의 유닛들을 실시간으로 제어

 

 

 

Features

  1. 개발사에 따르면, 세계 최초의 Programmable MMO game
  2. 자신이 작성한 script에 의해 24시간 돌아가는 세계에서 플레이
  3. "For Programmers"

Related Work

Related Work

Related Work

Related Work : Screeps

Overview

전체 게임 구성은 EVE Online과 유사하되 여러명의 함선을 제어할 수

있는 UI가 필요. 유저는 주로 모함을 조종하며 자신이 거느린 함선에게

커맨드를 내리는 것으로 게임을 플레이. 모함은 비전투 시에는 각종 활동을 하는 주체이자, 전투시에는 특수 공격 및 함대 관리, 지원만을 제어.

Overview : Environment

우주 : 3D 열린 공간, 자유도는 높지만 실제 EVE Online의 경우 플레이 방식은 1D (distance)만 고려하는 수준으로 전락. 우주를 탐험하는 기분보다는 워프를 통해 구역구역을 이동하니 공간의 연속성을 느낄 수 없음.

 

해저 공간 : 3D 공간의 6축 중 1축(해저면 방향)이 닫힌 공간, bound가 존재함에 따라 안정감 및 조작의 자유도를 낮추는 장점을 가질 수 있음.

 

주된 게임 플레이는 해저면 가까운 곳에서
(건물들이 주로 해저면에 구축되므로)

탐험이나 미션을 위해

- 수면 가까이(우주와 유사한 환경)

- 해구(제한된 공간)

등의 다양한 환경 구성 및 설정 가능

Credit : Anno2070(2011년 출시)

Overview : Environments

배경이 여전히 "지구"라는 부분은 큰 장점을 가짐.

 

전세계 단일 서버를 구축시, 실제 서버의 위치와 게임내 지역 위치를
일치시켜 연고지 개념을 등장시킬 수 있음.
e.g., 한국인이 asia 서버에 접속, 실제 게임 상의 asia 지역에서 플레이시 latency가 가장 낮게 됨. 북미 근방으로 이동하면 latency가 자연스레 증가. 전세계 단일이되, 유저의 지리적 분포에 따라 주 활동 무대가 편중 되어 지역 애착, 지역 문화가 동일한 유저끼리 뭉쳐 게임에 흡수가 쉬움.

 

지구라는 설정으로부터 기존의 많은 설정들의

재활용이 가능함. 고대 건축물들을 등장시키거나

지역별 특징적 요소를 도입.

Overview : Environment

우주 혹은 지상에 비해 훨씬 다양한 시각적 장치를 제공 가능

 

- 여러 해저 생명체의 등장 및 바다를 유영하며 다각도의 시점 제공

- 우주를 떠도는 느낌보다 배경효과를 풍부하게 도입할 수 있는 동시에, 지상에 비하면 높은 자유도와 특별한 경험을 제공할 장치를 그려낼
수 있는 환경을 제공

Overview : Clan/Corp.

유저들은 뭉쳐서 클랜, Corporation등을 설립하고 지역을 점령할 수 있을 뿐더러, 해저면에 자치 도시를 생성할 수 있음.

 

생성된 도시내에 자원 추출 등을 통해 리소스를 획득, 지역 점거의 중요성을 부여하고 유저들이 뭉칠 수 있는 계기를 부여.

 

EVE ONLINE의 경우, 일종의 우주 경찰(CONCORD) NPC 들이 치안 행위를 담당. 이와 유사하게, 유저들에 의해 생성된 도시에 대해서는 스스로 이러한 병력들을 배치하고 이를 24시간 가동하게끔 "게임사에서 호스팅 서비스를 제공(방어 병력 수가 많을 수록, 많은 비용 부담)"

 

중심 지역은 NPC들에 의해 도시의 치안 유지, 그 외의 지역은 유저들에 의해 자유롭게 탐사, 구축되고 영역을 차지할 수 있도록 자유권 부여.

Overview : Battle

게임내 핵심 요소. 대략적인 전투는 EVE Online의 그것과 유사.

 

1명의 유저는 기본적으로 1대의 모함을 조종하며, 자원 획득, 유닛 생산을 포함한 대부분을 수행. 유닛의 생산이 플레이어에 커스터마이즈 가능함에 따라, 단순한 All-round script 한개로 커버할 수 없음.

 

전략 및 플레이 스타일의 다양성을 위해 유저는 취향에 따라

- 전투력이 그 자체로 강한 모함 + 거느리는 함선 수를 큰폭으로 제약

- 전투력이 거의 전무 + 상당한 수를 컨트롤

- 필요에 따라 모함이 아닌 특정 1개 유닛을 직접 컨트롤(e.g., 정찰)

- 무역이나 자원 채취 등의 비전투적 활동을 하며 전투를 회피할 수단을 위주로 무장

Overview : Battle

PVE

전장은 대부분 인스턴스 던젼에서 진행. 해저면의 지각 틈을 통해 이동한 내부 바다 공간에서 독립적인 전투를 진행하는 방식의 설정.

특정 지역에서는 일반 필드에서도 적과의 조우가 가능한 형태로 구성.

 

PVP

PVE와 큰 차이 없이 진행. 전투 잔해를 통해 리소스나 명예 등을 획득,
PVP는 게임내 어느 공간에서든지 가능하며, 경찰력에 의해 제재 당하거나 명예치 하락을 통해 활동의 제약을 부여

 

Overview : script 

Programming에 대한 지식이 전무한 유저라도 문제 없이 게임 플레이를 할 수 있어야 함.

 

Script는 블랙박스 형태로 유저간에 trade 될 수 있음.

- 누구든지 자유롭게 script를 작성할 수 있음.

- 작성된 script는 in-game 마켓에서 유저간에 거래.

- script의 사용 유효 기간을 정하거나, script의 구매자로 하여금 주기적으로 원작자에게 사용료를 내야하는 형태 혹은 script가 탑재된 유닛이 파괴될 경우 script가 소멸되어 script의 원작자가 지속적인 수입을 얻을 수 있도록 시스템을 구축.

- script는 특정하게 설계된 유닛의 스펙에 의존적이며 대응하는 적의 패턴에 따라 다양한 script의 생산을 도모하고 시도할 수 있게 독려함.

- programming tutorial을 제공하고, 각종 competition을 통해 단순한 게임이 아닌, programmer들의 놀이터와 같은 contents를 도입.

Overview : script 

플레이어는 게임사에서 제공하는 compiler를 통해 script를 작성하고 이를 자신의 모함에서 생성하는 유닛에 적용, 이를 통해 전투, 무역, 탐사 등에 활용.

 

script가 돌아가는 time/memory/byte budget에 제약을 두어, 더 복잡한 script를 심기 위해 무장 측면에서의 희생을 감수해야하는 시스템.

- 판타랏사에서 이에 대한 유사 시스템을 구현하려 하였으나, 정작 정식 발매에서 미구현 상태로 출시

- 예를 들면, Level 1, 2, 3의 차등된 인공지능 모듈을 유닛 생산시 집어넣을 수 있지만, 더 좋은 인공지능 모듈은 더 많은 코스트를 요구

 

모든 script는 유저 client에서 돌아가게 하여 java script(Screeps)와 같이 계산 overhead는 유저에게 전가

 

Overview : script 

작성된 Script의 성능을 정량적으로 보여줄 수 있어야 구매자도 쉽게
구매를 결정하고 그 우수성을 판별할 수 있음.

 

따라서 유저는 "몬스터" 혹은 대조군 유닛을 지정하고 가상의 실험실에서 반복적인 실험을 통해 얻어낸 결과치를 제공하여 정량적 성능 제시.

e.g.,

유저는 전투를 통해 몬스터를 잡고 리소스를 얻을 수도 있고, 이를
포획할 수 있음. 포획된 몬스터는 script 작성자가 구매하여 자신이 작성한 script의 성능을 검증하는데 쓰임. 얼마간 사용 후 소모됨.

 

script 성능 측정의 결과는 아래의 요소들을 고려하여 정할 수 있다.
- 특정 몬스터를 무력화 시키는데 걸린 시간,
- 아군 유닛 잔여 수
- 아군 유닛들 잔여 체력의 합

Overview : script 

비전투적 측면에서의 programming 활용.

 

EVE ONLINE의 경우, region별로 market이 분리되어 있음. region별로 특정 물품의 시세가 다를 경우(volume이 커서 다른 region으로 운반이 어렵다거나) 물류 및 트레이드를 위한 programming의 적용이 가능.

 

1. 유저가 일종의 인벤토리를 각 도시에 보유. 생산용 유닛을 창고에 배치하고 마켓을 검색하여 조건에 맞는 물품 발견시, 해당 region으로 생산 유닛을 이동, 구매 후 귀환. 24시간 돌리기 위해 호스팅 리소스 구매.

2. 위의 생산 유닛들을 해적질 하는 유저 발생.

3. 이를 잘 회피하는 script로 보강.

4. 반복...

Overview : script 

바다 전체가 매크로 천국이 될 경우의 부정적 영향에 대해

 

전투 측면

- 역할이 제한된 보조 역할을 굳이 유저가 담당하여 재미를 깎을 필요가 없음. 모함과 휘화의 함대를 조종하여 전투를 진행하는 진정한 재미를
부여하는게 옳은 방향.

- 유저는 큰 방향의 전쟁을 지시, 소규모 전투는 인공지능으로 커버.

- 대규모 함대를 스스로 제어하는, 여타 게임에 없던 컨텐츠의 시도.

 

비전투 측면

- 시장의 안정화 및 분배. 물품 운송을 위해 모니터를 멍하니 보며 시간을 낭비할 필요가 없음. 유저가 직접 하기에 재미가 없고 script에 위임할 수 있다면, 오히려 그렇게 해야하지 않을 이유가 없음.

e.g., 실제 우리가 사는 세상이 그러함.

Overview : script 

여러 우수한 programmer들에 의해 쉽게 최적에 가까운 성능에 도달,
오픈 소스화 되어 배포될 가능성도 배제할 수 없음.

 

- PVP에 있어서 최적의 성능 검증 자체가 매우 어려움.

- 코드를 접한 사용자는 자신이 원하는 형태로 변경하고자 하는 욕구가 생길 수 있고, 결정적으로는 게임 컨텐츠와 별개로 프로그래밍 입문의
계기로 발전될 수 있음.

 

- 따라서 본 게임내의 script는 단순히 게임 내의 컨텐츠로서 기능하는 것 뿐만이 아닌, programming을 요구하는 게임 외 요소들과 연계되어 발전시킬 여지가 있음(Topcoder, codeforces와 같은 programming 능력 검증 사이트 및 programmer 채용을 원하는 기업과의 연계)

 

 

Panthalassa

By Dong-hyuk Kim

Panthalassa

  • 815