스타크래프트와 워크래프트, 그리고 최근에는 길드 워 개발에 참여한 Patrick Wyatt이 2012년에 스타크래프트 개발에 대한 글을 썼습니다. 원래 개발자를 대상으로 하는 내용이라서 전문 용어가 많으나, 전체적으로 꽤 흥미로운 내용이 많더군요.
내용이 너무 길어서 통 번역은 자신이 없고, 주요 사항만 요약해 봅니다. 아마 관심 있으셨던 분들은 이미 알고 계셨을 내용도 많을 것 같네요.
----
http://www.codeofhonor.com/blog/tough-times-on-the-road-to-starcraft
- 스타크래프트 개발에 2년 반이 소요되었고, 그 중 마지막 1년은 집중 개발 기간이었다. 그럼에도 스타크래프트에는 버그가 엄청나게 많았다. 반면에 전작이었던 워크래프트 1과 2는 경쟁작들보다 훨씬 안정적이었다. 스타크래프트가 자꾸 다운됐기 때문에 출시 바로 직전까지도 플레이 테스트가 어려웠다. 그래서 출시 후에도 끊임없는 패치가 필요했다.
- 스타크래프트는 원래 1년 정도면 개발이 가능하도록, 그다지 높지 않은 목표를 잡고 구상되었다. 1996년 크리스마스가 출시 목표였다. 이는 블리자드가 게임 출시 간격을 짧게 잡고 싶었기 때문이다.
94년 4분기 - 워크래프트
95년 4분기 - 워크래프트 2
96년 4분기 - 스타크래프트의 원래 출시 목표
98년 2분기 - 스타크래프트의 실제 출시일
저렇게 촉박한 일정은 지금 보면 터무니없지만, 당시 사장이었던 Allen Adham은 수입 증대 압박에 시달리고 있었다. 블리자드의 초창기 게임들이 예상보다 훨씬 성공적이긴 했지만, 그건 그냥 성장에 대한 기대치를 높여놨을 뿐이었다.
- 스타크래프트 개발은 'Shattered Nations'라는 게임을 만들던 사람들이 주도하였다. (동영상:
http://www.youtube.com/watch?v=QGZwGyKkIkw ) 이 게임은 X-COM의 계보를 잇는 턴제 전략 시뮬레이션이었고, 블리자드가 95년 5월에 발표했으나 몇 개월 후에 취소했다.
- 짧은 일정과 부족한 인원을 감안하여, 스타크래프트 팀의 목표치는 높지 않았다. 그것은
["우주의 오크들"]로 요약할 만한 것이었다. 96년 2분기에 E3 게임 쇼에서 공개된 사진을 보면 명확하다:
- 한편, 당시 'Condor Studios'라는 회사가 120만 달러로
['디아블로']를 만들고 있었는데 이건 당시 기준으로도 우스꽝스러울 정도로 작은 금액이었다. 도저히 이 돈으로 게임을 만들 자신이 없었던 그들은 혁신적인 시제품을 만들어 시연했고 블리자드가 그들을 인수했다. Condor는
['블리자드 노스']로 이름이 바뀌었고, 블리자드 본사가 돈과 사람을 퍼붓기 시작했다. 블리자드 본사에서 직접 코딩한 내용도 있는데, 배틀넷 시스템과 랜 게임, 캐릭터 생성 화면, 게임 참여 화면 같은 게임 외적인 부분이었다.
- 디아블로를 지원하느라 본사에 있던 미술가, 프로그래머, 디자이너, 사운드 엔지니어, 테스터가 모두 차출되었기 때문에 스타크래프트에 일할 사람이 남아 있지 않았다. 심지어
[스타크래프트 프로젝트 리더조차 디아블로 설치 프로그램을 만드는 데 동원되었다.]
- 96년 말 디아블로 출시를 마치고 드디어 스타크래프트 개발이 재개되었다. 이때 게임의 상태를 점검해 보니 낡아빠진 데다가 조금도 인상적이지 않았고, 특히
[6개월 앞서 E3에 전시되었던 Dominion Storm과 비교하면 더욱 그랬다.] 디아블로의 엄청난 성공은 블리자드의 목표를 다시 수정하는 계기가 되었고,
[스타크래프트는 '준비가 끝날 때까지 출시하지 않는다'는 블리자드의 전략을 정의한 게임이 되었다.] 하지만 이 전략을 증명하는 것은 고통스러웠다.
- 스타크래프트의 재개발을 생각했을 당시
[80개가 넘는 전락 시뮬레이션 게임이 개발되고 있었다.] 그 중에는 현대 RTS 장르를 정립한 '듄 2'를 만든 Westwood Studios의 게임도 있었다. 블리자드는 굉장한 걸 만들어야 했다. 또한 워크래프트와 디아블로의 성공으로 블리자드는 더 이상 언더독이 아니었다. 게임 산업에서는 오직 마지막으로 개발한 게임만이 그 회사의 평판을 결정한다.
- 워크래프트 2는 핵심 개발자 6명과 보조 개발자 2명이 만들었었다. 스타크래프트의 새로운 개발 범위에 이러한 숫자는 너무 적었기 때문에 아직 검증 받지 못한 개발자도 핵심 부분 개발에 참여시켜야 했다. 당시에는
[이러한 어린 개발자를 숙련시킬 만한 지도 과정이 없었다.] 프로그래머 각자는 마감에 맞추기 위해 미친듯이 코딩했고, 코드 리뷰나 훈련 같은 건 없었다. 또한 숙련 개발자들조차도 워크래프트 2보다 큰 규모에서 게임 엔진을 만들어 본 경험이 없었다.
- 워크래프트 2 엔진을 만들었던 경험을 살려 스타크래프트 엔진은 바닥부터 다시 짰다. 이 결정 때문에
[워크래프트 2 엔진을 만들면서 했던 실수를 그대로 다시 하게 되었다.]
- 워크래프트 2에 쓰인 C 언어 대신, 당시로서는 아는 사람이 적었던 C++를 선택한 것도 개발을 힘들게 했다. C++는 C보다 실수할 위험을 줄여주지만,
[진짜로 실수했을 때는 더 심각한 결과를 일으킨다.] 클래스 정의들은 #include 로 점철되었고 아무리 좋게 표현해도 '우습다'라고밖에 말할 수 없었다.
- 리부트 이후로 다음과 같은 기능들을 추가하는 데 오직 2개월만 주어졌다:
새로운 유닛 다수 추가
위에서 보는 시점에서 옆에서 비스듬히 보는 시점으로
완전히 새로 만들어진 맵 에디터
인터넷 플레이 추가 (배틀넷)
미술 팀, 디자이너, 사운드 기술자, 게임 밸런서, 테스터가 최선을 다해도 제 시간에 끝마치는 것은 상상도 못 할 정도였다. 실제로 14개월이 걸렸다. 하지만 프로그래밍 팀은 그 기간 동안에도 2개월 내에 출시하는 것을 목표로 계속 일했다. 최후에는 팀원 모두가 그로기 상태가 되었다.
- 2년 동안 길드 워의 4개 캠페인을 만들 때는 저렇게 하지 않아도 되었던 것은 내 자랑거리 중 하나이다.
- 나는 전쟁의 안개, 유닛 시야, 공중 유닛 반발력, AI 증원 타이밍 등과 더불어
[보이스 채팅을 구현했다.] 98년에 보이스 채팅이라니 놀라워하실 분도 있을 것이다. 네트워크를 통해 8명 플레이어가 서로 음성을 주고 받게 하는 데까지 성공하였으나, 그걸 실제로 돌리려면 당시 사무실에 있던 사운드 카드 모두가 드라이버 업그레이드를 필요로 했다. 또한 사운드 카드가 풀 듀플렉스를 지원하는 모델이어야 했다. 이걸 그대로 내놓으면 게임 팔아서 버는 돈보다 기술 지원 부서에 나가는 돈이 많을 것 같아서, 유감스럽지만 결국 제거하였다.
- 위에서 보는 시점은 32x32 픽셀짜리 타일로 구성하지만, 옆에서 비스듬히 보는 시점으로 바뀌면서 8x8 픽셀짜리 타일이 되었고, 때문에 길 찾기 계산량이 16배로 늘었다. 또한
[거대 유닛은 길을 잘 찾지 못하게 되었다.] 이 문제를 해결하는 건 무척 어려웠기에 프로젝트 종료 직전에서야 해결할 수 있었다.
----
어휴, 요약한다고 했는데 전혀 요약이 안 된 것 같네요. 저의 요약 실력 부족을 탓하며... 재밌으셨기를 바랍니다.