메인 콘텐츠로 이동
Massively Fun 기발하고 즐거운 게임을 만드는 소규모 인디 스튜디오입니다. 게임 제작의 모든 과정을 투명하게 공유합니다.

이 사이트의 일부 링크는 제휴 링크입니다. 해당 링크를 통해 구매하실 경우 추가 비용 없이 소정의 수수료를 받을 수 있으며, 이는 추천 내용에 영향을 주지 않습니다. 자세한 내용은 제휴 공개 정책을 확인하세요. 제휴 마케팅 공개.

카탄 월드의 (지속적인) 진화

카탄 월드의 (지속적인) 진화 | Massively Fun

카탄 월드의 (지속적인) 진화

카탄 월드의 (지속적인) 진화

2012 년 8 월 17 일

오늘은 매우 특별한 날이었습니다. 큰 꿈을 안고 출범한 핫한 신생 기업 Goko 가 오늘 Dominion 과 Ranier Knezia 의 Forbidden City 같은 게임들과 함께, 클래식 보드게임을 대규모 멀티플레이어 형태로 재해석한 Catan World 의 프리뷰를 포함하여 HTML5 게임 플랫폼을 론칭했습니다. Catan World 의 스크린샷은 VentureBeat 와 GeekWire 의 기사를 통해 확인해 보세요. 지금까지 반응은 매우 긍정적이며 사람들은 꽤 흥분한 분위기입니다. (기타 언급 매체: Gamespot , Games.com , Shacknews , TechCrunch , All Things Digital , GigaOM , redOrbit .)

Massively Fun (저희입니다!) 이 Goko 와 Catan 의 오리지널 크리에이터인 Catan GmbH 를 위해 Catan World 를 개발했습니다. 이제 프리뷰가 공개되었으니, 드디어 이 프로젝트에 대해 자유롭게 이야기할 수 있게 되었습니다.

진화의 과정

HTML5 게임 시장은 아직 매우 어린 단계에 있으며, 플랫폼 자체도 마찬가지입니다. 이 프로젝트의 주력 엔지니어인 Dean 과 저는 게임을 출시하기 위한 도구를 만드는 과정에서 엄청난 즐거움을 느꼈습니다. 저는 개발의 다양한 단계에서 게임 스크린샷을 기록해 왔습니다. 명확한 목적을 가지고 시작한 것은 아니었지만, 게임이 어떻게 발전해 왔는지 지켜보는 것이 정말 재미있었습니다.

첫 번째 타일

Canvas 는 훌륭합니다. 매우 단순한 드로잉 API 를 제공하죠. 여기에 하드웨어 가속 렌더링과 빠른 JavaScript 런타임을 결합하면, 플러그인 없이도 인터랙티브 게임을 만들 수 있는 기본 도구를 갖출 수 있습니다. 하지만 기본 도구는 말 그대로 ‘기본’일 뿐입니다. 기본이죠. 화면에 첫 이미지를 표시하는 것은 꽤 쉽습니다. 그 이미지를 애니메이션으로 만드는 것도 상대적으로 수월하죠. 하지만 단순함은 거기까지입니다.

HTML5 canvas 의 그래픽은 즉시 모드 (immediate-mode) 로 그려집니다. 즉, 모양이 한 번 그려지면 canvas 는 그것이 무엇이었는지에 대한 개념을 전혀 갖지 못한다는 뜻입니다. 이는 곧 엔티티 관리와 같은 작업을 직접 수행해야 함을 의미합니다. 단일 애니메이션 이미지보다 더 복잡한 작업을 하려면 게임 엔티티와 렌더링 프리미티브를 감싸는 추상화 계층을 반드시 만들어야 합니다.

관련 항목: — Unity 프로젝트에 바로 적용할 수 있는 기성 아트, 도구 및 템플릿.

그래서 Dean 이 그런 작업을 해냈습니다. 걸린 시간이라고는 고작 하루 정도? 뭐 그쯤 되었을 겁니다. 이후 그는 우리 게임의 핵심이 될 맵 뷰의 초기 버전을 작성했습니다. 위의 비디오는 Dean 이 만든 첫 번째 애니메이션 타일을 보여줍니다. (궁금하신 분들을 위해 말씀드리면, Dean 은 Cascadia Ruby 에서 canvas API 와 엔티티 관리에 대해 더 깊이 다루는 강연을 진행한 바 있습니다.)

새로운 HUD

비디오 전반에 걸쳐 게임의 HUD 가 지속적으로 진화하는 것을 눈치채실 수 있을 것입니다. Massively Fun 에 소속된 대부분의 구성원은 소비자 제품 개발 배경을 가지고 있으며,那里에서 신속한 반복 (tight iteration) 이 가장 중요한 요소였습니다. 저희의 이러한 철학이 이곳에서도 잘 반영되었다고 생각합니다.

무한한 맵

Massively Fun 의 또 다른 게임인 WordSquared 는 광활하게 펼쳐진 보드 표면으로 유명합니다. 저희는 Catan World 에서도 그러한 경험을 재창조하고 싶었습니다. 이를 위해 맵 뷰는 세계 전체에서 자신의 현재 위치를 인지하고, 해당 구간에 대한 데이터를 요청한 후 그려낼 수 있어야 했습니다. 위의 비디오가 바로 그 과정을 보여줍니다.

우리의 선택: — Unity, Unreal, C++, C# 및 셰이더 프로그래밍을 다루는 주문형 과정.

네트워크화된 맵

Catan World 에서 모든 플레이어는 여러 개의 보드로 구성된 거대한 평면 위에서 플레이합니다. 특정 플레이어의 섬만을 위해 메모리 내에单独的인 “레벨”이나 “보드”를 유지하는 대신, 세계의 어떤 구간으로든 팬 (pan) 하여 다른 플레이어의 게임플레이를 즉시 볼 수 있어야 했습니다.

새로운 아트와 게임 메커니즘

반복 작업이 계속되었고, 아트 팀은 이전의 러프 스케치들을 아름다운 새로운 버전으로 다듬어 주었습니다. 모두 기뻐했죠. 이제 진짜 게임처럼 보이 시작했으니까요! 또한 ‘안개 전쟁 (Fog of War)’ 기능이 도입되었습니다. 이는 플레이어에게 세계의 어느 부분이 탐험되었는지에 대한 감각을 부여하기 위한 것입니다.

Catan 은 WordSquared 와 한 가지 주요 측면에서 근본적으로 다릅니다. WordSquared 에서 플레이어는 타일을 배치함으로써 세계를 창조하지만, Catan 에서는 세계가 이미 존재하며 플레이어는 그곳에서 플레이하고 탐험합니다. 사용자 생성 콘텐츠와 유사한 현존감을 전달하기 위해서는 플레이어 활동과 밀접하게 연결된 메커니즘이 필요했습니다. 구름 효과가 그 역할을 훌륭히 수행했습니다.

알파: 사용자별 자원 가시성 및 세계 발견

이것은 저희에게 큰 순간이었습니다. 처음으로 모두 각자의 컴퓨터 앞에 앉아 Catan 게임을 함께 할 수 있게 되었기 때문입니다. 이 마일스톤을 위해 몇 가지 흥미로운 메커니즘이 도입되었습니다.

배 (Ships) 가 안개를 걷어내고 섬 사이를 이동하는 수단으로 추가되었습니다. 이는 우리가 계속해서 탐색해 나갈 일부 메타게임의 문을 열어주었습니다. 배는 섬 주변의 안개를 밝혀주지만, 자원 숫자는 밝히지 않습니다. 덕분에 플레이어는 해당 지역에 진입하기 전에 섬의 지형 구조를 파악할 수 있으면서도 여전히 리스크 요소를 남길 수 있습니다. 저 나무와 벽돌 자원이 좋아 보일지라도, 만약 생산 숫자가 2 나 12 라면 정찰을 보내보고 싶겠지요.

정찰병 (Scouts) 은 자원 숫자 (및 추가 안개) 를 밝히기 위해 도입되었습니다. 재미있는 점은 자원 숫자가 사용자별로 revealed 된다는 것입니다. 게임 중에 다른 플레이어들이 특정 자원 주변에 정착지를 건설하는 것을 볼 수는 있지만, 그 자원의 숫자가 무엇인지는 알 수 없습니다. 그 방향으로 건설을 하거나 직접 정찰병을 투입함으로써 비로소 확인할 수 있습니다.

관련 항목: — 게임 프로그래밍 서적, 기계식 키보드, 모니터 및 개발 데스크 하드웨어.

오디오 및 발전 카드

사운드 없는 게임이 어디 있겠습니까? 이것이 사운드에 대한 저희의 첫 시도였습니다. 음악은 없었지만 몇 가지 핵심 효과음이 추가되었죠. 또한 진행 카드 (Progress Card) 메커니즘이 게임에 추가되어 게임플레이에 큰 변화를 가져왔습니다. 또한 이 시기에 기본적인 강도 (robber) 기능이 구현되었는데, 이에 대해 자세히 설명하진 않겠습니다. 다만 이것이 게임에 훨씬 더 큰 긴장감을 불어넣었다고는 말씀드릴 수 있습니다.

새로운 HUD 반복, 정착민 메커니즘, 행동 포인트 (AP)

이 시점에서 행동 포인트 (AP) 가 게임에 추가되었습니다. 안개를 뚫고 지나가는 데에는 AP 가 소모됩니다. 정착민 (Settler) 을 이동시키는 데에도 가변적인 수량의 AP 가 소요되며, 이는 도로 위를 이동하는지 여부와 해당 도로의 소유권에 따라 달라집니다. 정찰병은 폐지되고 정착민으로 대체되었습니다.

게임의 비동기적 특성을 수용하기 위해 초기 플레이 조건을 재검토할 필요가 있었습니다. 각 배 (다수가 존재함) 는 일정 수의 정착민을 보유하며, 각 정착민은 정착지 (settlement) 와 도로로 전환될 수 있습니다. 초기 정착지 배치를 정착민의 위치로만 제한함으로써 게임 초반부에 발생하는 땅 선점 경쟁 동안 더 큰 압박감을 조성했습니다. 정착민은 보드 위를 자유롭게 이동할 수 있지만, 그렇게 하면 주사위를 굴리는 데 필요한 행동 포인트가 감소합니다. 따라서 지도 반대편에 더 좋은 타일이 있을지라도, 더 많은 주사위 굴림 기회를 확보하기 위해 일찍 정착하는 전략을 선택할 수 있습니다.

쇼핑하는 경우: — 웹, 모바일 및 데스크탑으로 내보내는 브라우저 기반의 코드 없는 HTML5 엔진.

게임에 AP 를 도입함으로써 게임 메커니즘 자체를 수정하지 않고도 행동 경제 (action economy) 만을 조정하여 게임플레이를 미세 조정할 수 있는 넓은 공간을 확보하게 되었습니다. 이는 매우 유용한 접근법입니다.

iPad 에 상륙한 카탄 월드

저희 Massively Fun 은 HTML5 와 JavaScript 의 열렬한 옹호자이며, 심지어 이 주제를 다루는 자체 밋업 (Meetup) 까지 운영하고 있습니다. 오픈 기술로 게임을 제작함으로써 얻는 가장 큰 이점 중 하나는 바로 보편성 (ubiquity) 의 가능성입니다. 이러한 기술을 채택하는 모든 플랫폼이 게임의 잠재적 타겟 플랫폼이 될 수 있다는 뜻입니다. 이는 Catan 이 이미 Windows 와 Mac OS X 에서 여러 브라우저로 실행된다는 것을 의미합니다. 저희의 두려움 없는 리더인 Grant 는 우리 게임을 가져와 iPad 에서도 실행되도록 만들었습니다.


브라우저에서 HTML5 게임 빌드

웹, 모바일 및 데스크탑으로 내보내는 브라우저 기반의 코드 없는 HTML5 엔진