![]() ![]() ![]() |
제목 | 디즈니의 온라인 만화마을(Disney Online's Toontown) Ⅱ | ||||||
---|---|---|---|---|---|---|---|
분류 | 게임 | 등록일 | 04.02.20 | ||||
출처 | 한국콘텐츠진흥원 | 조회수 | 0
|
||||
'툰타운 온라인(Toontown Online)' 개발 상의 어려움
1. MMORPG 개발은 어렵다. 이러한 장르의 게임을 개발하는 사람이라면 누구나 위와 같이 말할 것이다. 우리는 데이터가 삭제되는 것을 방지하기 위해 몇몇 핵심적인 성능을 개발하고 개발 소프트웨어를 새로 만들기 위해 여러 해 동안 작업을 해야 했고, 지금도 여전히 게임을 개선하고 있는 중이다. 많은 기술들이 우리가 이전에 경험했던 모든 문제들을 해결하며 MMORPG를 개발, 운영하는 데 필요로 한다.
대규모 멀티플레이 게임 프로그래밍 상의 어려움을 잘 나타내는 사례로 툰타운의 전투 시스템을 꼽을 수 잇다. 우리는 플레이어가 자신들의 액션을 선택할 수 있고 캐릭터들이 공격을 하기도 하고 코그들이 그에 대항하기도 하는 짧은 시퀀스로 작동할 수 있도록 전투장면들을 디자인했다. 이러한 전투들은 툰타운의 공공장소인 거리에서 펼쳐지게 되어있다. 전투가 벌어지는 장소를 지나가는 행인들이 이러한 전투를 관찰하고 무엇이 벌어졌는지를 토론할 수도 있게 하여 초보 플레이어가 어떻게 전투를 해야하는 지를 배우게 하는 것은 우리에게 중요했다. 이것은 우리에게 플레이어가 코너에 가서 전투를 관찰할 수 있도록 전투 시스템을 디자인하게 했다. 다시 말해서 이러한 시퀀스는 각각의 전투들이 벌어지는 곳에 있는 다른 플레이어들도 그 전투를 동시에 경험할 수 있도록 전투 시스템을 만들었다. 게다가 이 시퀀스들은 늦게 도착한 다른 플레이어가 임의로 전투에 참여할 수 있도록 할 필요가 있었다. 우리의 솔루션은 모든 에니메이션, 사운드, 교통수단 그리고 ‘트랙’에 따른 위계적인 세트, 즉 각각의 주어진 시퀀스에 맞는 효과를 표현하는 것이다. 트랙은 움직임의 끊김 없이 진행되도록 설계되었다. 개발 당시에 우리는 이러한 트랙들의 세트와 각각의 전투에 놓여있는 플레이어들 모두가 이러한 솔루션을 제공할 수 있었지만 결국에 구석에서 전투를 관찰하는 플레이어가 공중에 떠 있는 파이들을 보게 된다는 것을 알았다.(솔루션 상의 문제점)
2. 우리는 스크립트 언어를 바꿔야만 했다. 스크립트 언어는 우리가 이 프로젝트에 착수한 6개월이 훨씬 지나서야 착수하게 된 작업이다. 하지만 우리는 우리의 스크립트 언어가 그리 잘 돌아가지 않는다는 것을 깨닫게 되었다. 우리가 처음에 채택하였던 스크립트 언어는 빠른 원형을 만들어내기에 훌륭했고 우리는 많은 개발 과정을 수행할 수가 있었다. 그러나 기본 코드들이 늘어남에 따라 우리는 퍼포먼스 문제들과 코드 처리의 문제들을 접하기 시작했다. 우리는 마침내 곤란을 겪게 되었고 Python으로 게임을 전환시키기로 결정을 내렸다. 그리하여 문제들은 하나씩 풀려나갔다.
우리의 개발 환경이 번역이 가능한 스크립트 언어를 담고 있는 C++로 구성되었다는 것은 괄목할 만한 것이다. 이것은 중요한 곳에서 변환되는 코드들이 잘 돌아가도록 해주었고 또한 재변환 없이도 게임을 수정하는 것을 유연하게 만들어 주었다. 우리는 재빠르게 반복할 수 있다는 것과 게임이 진행되는 동안에도 정기적으로 수정을 할 수가 있다.
Python은 상대적으로 효율적이며 가벼우며 계산을 잘 해내기 때문에 우리에게 적합하다. 이것은 학습과 디버그가 용이한 통계적 배열(신택스 Syntax)을 가지고 있고 문서화 또한 훌륭하다.
3. 플레이어가 자신의 이름을 만들도록 해줄 때는 신중해라. 플레이어가 자신의 이름에 공격적인 단어나 문구를 사용하지 못하도록 필터장치를 고안한 것은 올바른 생각이었다. 그러나 우리는 우리의 필터링을 깨트리고자 하는 일부 플레이어들의 능력을 과소평가했었다. 우리의 필터링을 강화하고 나쁜 단어들과 완곡한 표현들 그리고 외래어들의 상당히 긴 리스트를 작성한 후에 우리는 마침내 캐릭터 이름짓기의 특권 혹은 이용자들의 모든 제안을 체크해야 하는 필요성을 고려하여 게임을 디자인하게 되었다. 최근에 우리는 툰타운에서 자신의 이름을 만들기 위해서는 ‘툰 카운실’로부터의 허가가 필요하도록 이 게임을 만들었다.
이용자들이 생각하는 모든 이름들을 살펴보는 것은 상당히 고단한 작업이기 때문에 우리는 이름을 선별할 수 있는 시스템을 개발했다. 우리의 이름 생성기는 ‘Skimpy Googlemuddle 교수’ 혹은 ‘Dippy Funnycorn'과 같이 상당히 광범위한 만화적 이름을 만들 수가 있다. 이와 같은 만화적인 이름을 이용해 롤 플레잉을 시작하는 것이 초보 플레이어에게는 게임을 더욱 쉽도록 했는데, 이는 그들이 툰타운의 유머 감각을 배울 수 있기 때문에 가능하다. 또한 초보 플레이어에게, 특히 나이 어린 플레이어에게는 이러한 장치가 적절한 이름을 만들 수 있도록 도와준다.
4. 인터넷은 도전적인 플랫폼이 될 수 있다. 인터넷은 웹 컨텐츠를 전달하는 매우 유용한 수단이다. 웹 브라우저들은 패킷들이 빠르게 전달되지 못하거나 혹은 전혀 전송되지 않는 것에 별로 신경을 쓰지 않는다. 불행히도 MMORPG는 안정적이며 한번에 여러 시간동안 유지될 수 있는 상대적으로 낮은 레이턴시 커넥션을 요구한다. 이것은 오늘날의 인터넷을 통해서는 거의 불가능하다. 우리는 패킷 손실 혹은 우리의 서버와 고객의 장치들 사이에서 발생하는 왜곡을 겪었다. 이러한 종류의 문제들은 수정하거나 격리시키기가 무척이나 어렵다. 심지어 그러한 문제들을 알아차린다고 할지라도 코드 상의 문제가 아니기 때문에 고치기 불가능하다. 우리는 결국에 게임 데이터를 전송하기 위해 SSL을 사용하기로 결정했고 이는 보안상의 이점과 더불어 우리 서버와 온라인 상에 있는 고객들 사이에 있는 다양한 네트워크 하드웨어로 인한 데이터 변질을 방지하게 해주었다.
레이턴시는 우리가 툰타운을 디자인함에 있어 또 하나의 중요한 장애물이다. 레이턴시는 지리상의 거리와 인터넷 서비스 공급자 그리고 특정 시점의 데이터 정체에 따라 놀라우리만큼 다양하기 때문에 어떤 것을 선택하기가 쉽지 않다. 우리는 예를 들어 레이턴시 효과를 최소화하기 위해서 리얼 타임 컴뱃이 아니라 턴 베이스 컴뱃을 선택했고 2초 이내의 지연 정도로 부드럽게 게임 시스템이 작동하도록 전반적인 디자인을 했다. 게임 테스트 과정의 한 부분으로써 우리는 대부분의 게임 시스템이 12초에 이르는 가상 레이턴시에서도 어떠한 왜곡도 없다는 것을 확인했다.
5. 온라인 유통 온라인 유통은 축복이자 재앙이기도 하다는 것이 밝혀졌다. 개발 상의 난점들의 하나로써 온라인 유통이 우리에게 ‘툰타운’을 시장에 출시하는 데 어떤 문제점을 발생시켰다고 언급하고 싶다. 불행히도 바이러스적인 어떤 것보다 온라인에서만 이용되는 게임을 시장에 내어놓는 것은 어려운 일이다. 밝혀졌다시피 오늘날 많은 사람들은 일반적으로 그들이 가지고 있는 게임을 박스에서 꺼내지 않고 온라인에서 구매하는 데에 불편을 느끼고 있다. 그들은 또한 온라인에서 구매한 게임이 자신의 하드 드라이버와 어떠한 충돌을 일으키지는 않을지 걱정하고 있다. 다른 사람들은 온라인에서 신용카드를 사용하는 것이 상당히 껄끄럽기도 하다. 온라인에서만 구매 가능한 게임을 누군가에게 선물로 주는 것은 결국에는 상당히 거북한 것이 되고 만다.
이러한 이유로 우리는 소매점에서도 구매가 가능하도록 ‘툰타운’ CD를 공급하기로 결정했다. 이것은 우리에게 마케팅 전략을 펼치도록 하는 전통적인 게임 제품을 의미하는데 느린 인터넷망을 이용하는 고객의 컴퓨터에도 이 게임을 빠르게 설치할 수 있도록 한 것이다.
맺으며 MMORPG를 개발하고 유지하는 것은 어려운 일이다. 아마도 이것은 대규모의 이용자들이 게임에 몰리게 됨에 따라 더욱 어려워지게 될 것이다. 대규모 멀티플레이어들을 수용하기 위해서는 더욱 복잡해지는 디자인 상의 문제들에 직면하게 될 것이고 이와 동시에 많은 것들을 계속해서 공부해야만 한다. 게이머 커뮤니티를 숨막히게 하거나 즐거움과 자유를 빼앗지 않으면서도 안전 장치들을 유지해야 한다. 플레이어들을 이해하고 그들에게 새로운 경험과 이러한 장르의 게임에 대한 이해를 까다롭고 불안정한 그들의 게임기에 제공하는 새로운 방법들을 찾아야 한다.
셀 수도 없이 많고 종종 고통스럽기도 한 과정이었음에도 불구하고 우리는 MMORPG, 즉 디즈니의 ‘툰타운 온라인’을 개발하고 운영하기 위해 공부를 해야만 했다. 그리고 마침내 우리는 2003년 6월에 이 게임을 시장에 내어놓았다. 힘겨운 작업이었기에 우리가 단념할 수 있지도 않았겠냐고 궁금해한다면 우리가 최근에 또다른 MMORPG 게임 프로젝트에 착수했다는 것이 그에 대한 대답이 될 수 있을 것이다.
* 출 처 : http://www.gamasutra.com, 2004년 1월 28일
* 작 성 : 이 성 우/게임산업저널 미국통신원
툰타운 공식 홈페이지
게임 정보 Publisher: Disney Online Developer: VR Studio Number of full-time developers: n/a Number of part-time developers: n/a Contractors: Level editor, artists. Length of development: 2 1/2 years Release Date: Online launch June 2003, retail launch September 2003 Target Platform: Windows PC. Development Hardware: Typical development platform was a high-end Windows or Linux PC with 1.5GHz CPU, 500MB RAM, and 32MB graphics card. Development Software: Microsoft Visual C++ v.6-7, Python, Panda3D (internal rendering engine), DIRECT (internal level design and interface tool), Softimage, Maya, Multigen, Photoshop, DeepPaint, Miles, CVS. Notable Technologies: Staged online distribution system, safe but effective communication (SpeedChat and Secret Friends), scalable servers. Key Staff: Mike Goslin, Director Daniel Aasheim, Production Felipe Lara-Garcia, Art Mike Goslin, Director Roger Hughston, Servers Mark Mine, R&D Joe Shochet, Game Design Bruce Woodside, Animation
|
|||||||
첨부파일 |
|