무엇을 찾고 계신가요?
Case studies

시코포지가 빠른 아이디어 도출과 반복을 촉진하는 방법

May 17, 2022
피투성이 얼굴과 길게 땋은 수염을 가진 게임 캐릭터가 지팡이나 칼에 기대고 있는 게임 캐릭터
이 웹페이지는 이해를 돕기 위해 기계 번역으로 제공됩니다. 기계 번역으로 제공되는 콘텐츠에 대한 정확도나 신뢰도는 보장되지 않습니다. 번역된 콘텐츠의 정확도에 관해 의문이 있는 경우 웹페이지의 공식 영어 원문을 참고해 주시기 바랍니다.

Unity 버전 관리 도입으로 낭림의개발 속도가 빨라져 프로그래머와 아티스트가 한데 모여 커밋을 300% 이상 늘릴 수 있었습니다.

목표
광범위한 기여자 커뮤니티에서 협업 및 안정적인 개발 개선
플랫폼
MacOS, PC, PlayStation 4, PlayStation 5 Xbox One, Xbox Series X|S
프로젝트 인력
취리히 10명, 프리랜서 21명
위치
스위스 취리히, 스위스

Sycoforge: Unity 버전 관리 사례 연구

아트 중심의 인디 스튜디오는 어떻게 이질적이고 고도로 분산된 크리에이티브 기여자 커뮤니티에서 일관된 버전 관리를 보장할 수 있을까요? 시코포지는 다음과 같은 야심찬 트랜스미디어 프로젝트에 몰두하고 있었습니다. 낭림으로 돌아가다멀티미디어와 정교한 언어 구성 요소로 지원되는 어드벤처 RPG를 개발했습니다. 하지만 기존 버전 관리 시스템(VCS)은 프로그래머를 위한 도구였습니다. 게임 개발의 창의적인 측면을 지원하도록 설계되지 않았기 때문에 시코포지에는 변화가 필요했습니다.

발판이 없는 출렁다리

VCS로 전체 게임 개발 환경 통합

시코포지의독특한 개발 모델은 개발자, 아티스트, 플레이어로 구성된 글로벌 커뮤니티의 정기적인 피드백을 통합합니다. 대부분의 VCS는 복잡하고 엔지니어를 위해 만들어졌으며 대용량 파일과 바이너리를 위해 처음부터 설계되지 않았습니다. 커뮤니티 주도 개발이라는 비전을 달성하기 위해서는 빠른 반복이 필수적이었습니다. 시코포지에는 아티스트와 비기술직 팀원에게도 도움이 되는 강력한 솔루션이 필요했습니다. 비전을 달성하기 위해서는 빠르고 광범위한 도입이 필수적이었고, Unity DevOps (이전의 Plastic SCM)의 Unity 버전 관리 에서 우아한 솔루션을 찾았습니다.

결과

  • 커밋이 300% 증가하고 병합 충돌이 미미해졌습니다.
  • 프로젝트 도중에 일주일 이내에 Bitbucket에서 Unity 버전 관리로 마이그레이션한 사례
  • 개발자에게 부담을 주지 않고 아티스트가 직접 버전 관리를 제어할 수 있는 권한 부여
캐릭터 얼굴의 선 그리기 컨셉 아트

판타지 세계 구상하기

공학도인 미셸라 리멘스버거와 이스마엘 위트워는 대학에서 시뮬레이션 게임, 특히 배틀 포 미들 어스 판타지 세계를 플레이하는 데 많은 시간을 보냈습니다. 자신들만의 대체 현실을 만들겠다는 영감을 받은 두 사람은 야심찬 탐험을 시작했습니다.

그들은 완전히 새롭고 지속적으로 성장하며 독립적인 판타지인 아라핀 유니버스를 위해 독특한 언어, 문화, 지도, 클랜 및 기타 세부 사항을 갖춘 게임을 만들고자 했습니다. 이를 실현하기 위해 2017년, 현재 각각 CEO와 CTO를 맡고 있는 두 사람은 취리히에 Sycoforge를 설립했습니다.

낭림으로의 귀환은 아라핀 이야기의 첫 번째 장이 될 것입니다. 드워프 산악 도시를 배경으로 한 어두운 1인칭 판타지 어드벤처 게임으로, 톨킨의 중간계가 지닌 풍부한 미스터리를 담고 있습니다. 그러나 이것은 게임 그 이상입니다. 시코포지 언어학자들은 여러 아라핀어를 만들었고, 원래의 아이디어는 대화형 내레이션 동화책, 위성 뷰의 멀티미디어 세계 지도, 소설, 만화 등 풍부한 트랜스미디어 컬렉션으로 발전했습니다.

긴 수염을 기르고 헬멧을 쓴 게임 캐릭터

데이터 손실, 병합 충돌 및 느린 로드 시간 블록 극복하기

플레이어 길드는 시코포지의 애자일 개발 워크플로에서 매우 중요한 요소로, 실험적인 콘텐츠와 게임플레이에 대한 피드백을 거의 즉각적으로 제공합니다. 이 네트워크에서 버전 관리를 관리하기 위해 Sycoforge는 주로 프로그래머를 위해 설계된 Git 기반 소스 코드 리포지토리를 사용하고 있었습니다.

하지만 아라핀의 예술은 한마디로 거대합니다. 이는 VCS가 텍스트 기반 코드 변경 외에도 최대 수 기가바이트에 달하는 그래픽 파일의 새로 고침을 지속적으로 처리해야 한다는 것을 의미했습니다. 이 과정은 느리고 까다로웠으며, 사용 편의성(또는 부족함)이 가장 큰 걸림돌이었습니다.

"클라우드에 저장한 모든 파일을 다른 사람이 작업 중인 파일과 동일한 파일로 작업하면 문제가 발생할 수 있습니다."라고 리멘스버거는 말합니다. "개발 및 유지 관리에 많은 시간이 소요되는 코드의 경우 데이터 손실을 감당할 수 없습니다."

"개발 및 유지 관리에 시간이 많이 소요되는 코드의 경우 데이터 손실을 감당할 수 없습니다. Unity 버전 관리 덕분에 다른 방법으로는 시도할 수 없었던 실험과 위험한 시도를 자유롭게 할 수 있습니다."
MICHELA RIMENSBERGER / SYCOFORGECEO
렌더링 중인 캐릭터

문제 해결과 생성 시간의 재조정

기술팀은 Git을 사용하면서 게임 개발보다는 도구의 문제를 해결하고 병합 충돌을 해결하느라 시간을 낭비했고, 팀 내 불안감을 조성했습니다. 사람들은 무언가를 망칠까 봐 커밋하는 것을 두려워했고, 대규모 저장소 변경이 로드되기를 기다리면서 좌절했습니다.

리멘스버거는 "비디오 게임의 특성, 데이터의 크기 등을 고려할 때 Git으로는 불가능합니다."라고 말합니다. "파일 크기가 커서 작업하기가 너무 힘들고 로컬 변경 사항을 기다리는 데 시간이 너무 많이 걸립니다."

프로젝트가 시작된 지 약 1년이 지난 시점에 시코포지는 상황을 바꿔야 한다고 판단했습니다. 게임의 비전을 완벽하게 실현하려면 새로운 아이디어를 실험하고 더 창의적인 위험을 감수해야 했습니다. 커밋할 때 데이터 손실에 대한 우려가 너무 컸기 때문에 VCS는 커뮤니티 중심 개발을 완벽하게 지원하는 데 필요한 빠른 반복을 허용하지 않았습니다. 프로젝트 도중에 새로운 VCS로 마이그레이션하는 것은 어려울 수 있지만 스튜디오의 고유한 요구 사항을 충족하는 시스템을 사용함으로써 얻을 수 있는 이점은 그만한 가치가 있습니다.

"Unity 버전 관리가 매우 간편해서 즐겨 사용하고 있습니다. 시각적인 인터페이스와 사용성 덕분에 다른 사람들이 이해하지 못할까 봐 걱정할 필요가 없습니다. 너무 명확합니다."
ANDI ARCARO / SYCOFORGEProgrammer
광활한 대지를 가로질러 거대한 화산을 바라보는 캐릭터

Unity 버전 관리에 전념하기

"여러 VCS를 살펴봤지만 Unity 버전 관리는 확실히 달랐습니다."라고 Sycoforge의 프로그래머인 앤디 아카로는 말합니다. 버전 제어는 전체 게임 개발 환경에서 협업할 수 있도록 구축되었습니다. 시코포지에서는 기존 VCS에 익숙한 프로그래머를 위한 모든 기능을 갖춘 개발자 워크플로와 기술 수준이 낮은 기여자를 위한 간소화된 고도의 그래픽 모드인 Gluon이라는 두 가지 워크플로를 중요하게 여겼습니다.

Sycoforge는 거의 문제 없이 일주일 이내에 프로젝트 중간에 Git에서 버전 관리로 마이그레이션했으며, 이는 팀의 결과물에 즉각적인 영향을 미쳤습니다. 프로그래머는 협업이 향상되고 아티스트는 대용량 이미지 파일을 처리하는 데 큰 도움이 된다는 것을 알게 되었습니다. 그 결과 Sycoforge의 커밋률은 300% 이상 증가했습니다.

리멘스버거는 "버전 관리를 사용하면 이미 저장된 데이터로 쉽게 돌아갈 수 있기 때문에 다른 방법으로는 시도할 수 없는 더 위험한 일을 시도할 수 있습니다."라고 말합니다. "Git으로 작업할 때는 무언가 고장 나면 어쩌나 하는 생각에 커밋하기가 두렵습니다. 버전 관리에는 그런 기능이 없습니다. 사람들이 더 자주 커밋을 하려고 하기 때문에 병합 충돌을 해결하는 데 소요되는 시간도 줄일 수 있습니다(지금은 거의 미미한 수준입니다). 사용이 매우 간편하기 때문에 아티스트도 대부분의 병합 충돌을 글루온 UI로 직접 해결할 수 있습니다. 방탄이며 안전합니다."

산과 나무 위로 날아오르는 독수리

소스 제어 스트레스에 대한 간단한 솔루션 찾기

스튜디오마다 고유한 요구 사항과 워크플로가 있을 것이며, 버전 관리의 가장 큰 장점은 각 팀의 필요에 맞게 도구를 조정할 수 있는 유연성입니다. 시코포지의 접근 방식은 이제 막 시작하는 사람들을 위해 프로그래머를 포함한 모든 사람이 Gluon UI를 사용하도록 시작하고 시니어 및 리드 개발자에게만 Plastic의 프로 도구에 대한 액세스 권한을 부여하는 것이었습니다.

리멘스버거는 글루온을 말 그대로 '평범한'이라는 뜻이지만 깔끔한 우아함을 의미하는 독일어 단어인 슈리히트라고 설명합니다. "모든 기능이 다 있지만 기본적인 수준에서 실제로 필요한 기능만 노출됩니다."라고 그녀는 말합니다. "모든 사람에게 글루온을 쉽게 소개할 수 있으며, 모든 기능을 필요로 하는 사람들은 이를 사용할 수 있습니다."

많은 프리랜서와 함께 일하는 소규모 팀의 경우 이 접근 방식이 가장 적합합니다. 대부분의 팀원에게 글루온 인터페이스만 제공함으로써, 비전문가인 팀원에게 모든 기능과 가능성을 제공했다면 가장 필요한 기능만 제공했을 때 해야 할 많은 지원을 줄일 수 있습니다. 따라서 경험이 많은 소수의 개발자가 버전 관리의 브랜치 탐색기와 같은 기능 및 보다 강력한 도구를 사용하여 프로젝트를 조율할 수 있습니다.

사무실의 워크스테이션에 있는 5명의 팀원

팀을 더욱 긴밀하게 연결

Sycoforge는 버전 관리를 통해 민첩한 개발 프로세스를 강화하고 워크플로를 표준화하며 커뮤니티 피드백에 더 빠르게 대응할 수 있었습니다. 리멘스버거는 "버전 관리를 사용하면 이제 받은 편지함에 커밋 알림이 정기적으로 표시되어 아침에 가장 먼저 확인합니다."라고 말합니다. 하지만 시코포지에게 간소화된 개발은 매우 보람 있는 목적을 위한 수단일 뿐입니다.

리멘스버거는 "우리 커뮤니티가 실제로 드워프 언어로 서로 말하고 인사하기 시작했고, 새로운 단어를 만들고, 단서와 이스터에그를 찾고 있다는 사실이 우리 팀에게 보람을 줍니다."라고 말합니다. "전 세계의 낯선 사람들이 디스코드 선술집에 모여 가상의 드워프 맥주를 마시며 즐거운 시간을 보냅니다. 이런 종류의 커뮤니티를 구축하는 것이 게임의 목적이 아닐까요?"

"Bitbucket에서 버전 관리로 마이그레이션하는 것은 정말 정말 순조로웠습니다. 즉시 작동했습니다."
MICHELA RIMENSBERGER / SYCOFORGECEO
피투성이 얼굴과 길게 땋은 수염을 가진 게임 캐릭터가 지팡이나 칼에 기대고 있는 게임 캐릭터

Unity DevOps를 사용하여 제약 없이 제작

Unity 게임 서비스의 Unity DevOps는 게임 개발의 과제에 맞게 특별히 맞춤화된 클라우드 기반 VCS 및 CI/CD 기능을 제공합니다. 아티스트 및 개발자별 워크플로를 모두 제공하는 동시에 대용량 파일 및 바이너리를 간편하게 처리할 수 있도록 제작되었습니다.


다음 단계를 수행할 준비가 되셨나요? 무료로 사용해 보세요.