선생님: 안녕하세요, 오늘은 게임 개발에 대해 이야기할 거예요. 과거에는 게임 개발이 어떻게 이루어졌는지 알고 있나요?
학생: 잘 모르겠어요.
선생님: 게임 개발 초창기에는 사용 가능한 도구가 원시적이었기 때문에 프로그래머가 직접 게임을 하드코딩해야 했어요. 게임도 그다지 복잡하지 않았고 그래픽과 사운드도 기본적인 수준이었죠. 하지만 이제 게임은 훨씬 더 복잡해졌고 품질 기준도 훨씬 높아졌습니다. 게임 팀의 규모는 훨씬 커졌지만 여전히 그 어느 때보다 더 많은 콘텐츠를 제작해야 합니다.
게임 콘텐츠 제작이 어려운 이유
학생: 콘텐츠 제작이 왜 그렇게 어려운가요?
선생님: 한 가지 걸림돌은 엔지니어링 인력인데, 고급 엔지니어링 인력은 제한적이고 비용이 많이 들며 프로그래밍은 복잡합니다. 그래서 게임 팀은 이제 콘텐츠 제작의 일부 권한을 아티스트와 디자이너에게 맡기고 있습니다. 이러한 접근 방식을 데이터 기반 디자인이라고 합니다.
데이터 기반 디자인의 등장
학생: 데이터 기반 디자인이란 무엇인가요?
선생님: 프로그래머가 제작한 소프트웨어가 아닌 아티스트와 디자이너가 제공한 데이터에 의해 게임 동작의 전체 또는 일부가 제어되는 것을 데이터 기반 디자인이라고 합니다. 이는 팀 효율성을 향상시키고 작업 시간을 단축하기 위한 목적으로 고안되었습니다.
학생: 데이터 기반 디자인은 어떤 도움이 되나요?
선생님: 개발자가 게임 콘텐츠를 변경하고자 할 때 데이터 기반 설계를 사용하면 엔지니어의 도움을 거의 또는 전혀 받지 않고도 변경 결과를 빠르게 확인할 수 있습니다. 이렇게 하면 시간을 절약할 수 있고 개발팀은 게임을 매우 높은 수준으로 다듬을 수 있습니다.
데이터 기반 디자인의 단점과 해결 방안
학생: 데이터 기반 디자인의 단점도 있나요?
선생님: 네, 게임 디자이너와 아티스트가 데이터 기반 방식으로 게임 콘텐츠를 구현할 수 있는 도구가 제공되어야 합니다. 또한 다양한 입력을 안정적으로 처리할 수 있도록 런타임 코드도 변경되어야 합니다. 또한 아티스트와 디자이너가 작업을 미리 보고 문제를 해결할 수 있도록 게임 내 도구도 제공해야 합니다. 이 모든 소프트웨어는 개발, 테스트, 유지 관리에 상당한 시간과 노력이 필요합니다.
학생: 팀이 데이터 기반 디자인을 구현할 때 발생하는 문제를 피하려면 어떻게 해야 하나요?
선생님: 많은 팀이 게임 디자인에 미치는 영향과 팀원의 요구 사항을 고려하지 않고 데이터 기반 디자인을 서둘러 도입합니다. 그 결과 사용하기 어렵고 버그가 많으며 프로젝트의 변화하는 요구 사항에 유연하게 대응할 수 없는 지나치게 복잡한 툴과 엔진 시스템을 만들게 됩니다. 따라서 게임 팀은 엔진의 어떤 측면을 데이터화할지 신중하게 결정해야 하며, 예상되는 비용과 절약할 수 있는 시간을 비교하고 ” 최대한 단순하고 간결하게”라는 말을 염두에 두어야 합니다.
더 공부할 자료 - 개발 능력 다양화를 위한 학습의 필요성
유니티 엔진의 대안으로서, 인디 개발자들에게 선풍적인 인기를 끌고 있는 엔진이 바로 고도 엔진입니다. 혹시 고도 엔진을 배워 보려고 하신다면, 다음의 온라인 강의를 체크해 보시기 바랍니다.