디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[번역] 스카이림의 모듈러 레벨 디자인 - 2

piNutz갤로그로 이동합니다. 2019.08.29 00:50:10
조회 166 추천 2 댓글 0
														

1편 : https://gall.dcinside.com/mgallery/board/view/?id=gamedesign&no=403&page=1




시작하기 전에 알아야 할 것들

기술적인 부분을 시작할 것이며 몇몇 항목을 설정하는 것이 좋다. 우리는 가끔 추상적인 단위에 대해 언급할 것이다. 

webDovahScale.png

알아야 할 것은 이 캐릭터가 128유닛 혹은 6피트 높이라는 것이다. 또한 우리는 Z를 up 방향으로 여기는 것에 익숙하다는 것이다. 키트로 시작하기 전에 게임 레벨에서 수립해야할 것들이 있다. 우리가 확인한 것중 굉장히 유용한 것은 door frame(문의 크기)의 균일한 치수를 결정하는 것이다. 이는 특정한 조각 없이 키트간 변환을 하게 해줄뿐더러 키트간 문들을 쉽게 재사용 할수 있게 해준다. 무엇보다 중요한 것은 이것이 AI와 애니메이션에 고정된 표준을 제공하여 전체 게임에서 강화할 수 있다는 것이다.

가로지를수 있는 가장 좁은 공간을 찾아두는것도 좋다. 우리는 주로 두 캐릭터 너비로 고정한다. 두 AI캐릭터가 서로 다른 공간으로 오갈 수 있게하는 최소한의 공간을 줌으로써 pathing 문제를 피할 수 있다. 또한 AI가 어느정도 경사면을 오를수 있는지 알아두는게 좋다. 우리의 경우 대게 60도로 설정하지만 어떤게 좋아보이는지 파악해야 한다. 수직(full incline)은 애니메이션에 좋지않다. 30-45도 경사를 당신의 키트에 넣길 원할수도 있다. 

마지막으로 만약 커버 슈터나 플랫포머처럼 환경적으로 연관된 게임을 만드는 경우 게임플레이 주요 측정요소들을 빨리 도출해라. (ex 플랫포머 : 얼마나 플레이어가 멀리 점프할 수 있는지, 죽거나 데미지를 입기전에 얼마나 떨어질 수 있는지 / 커버슈터 : 총을 쏠 수 있는 커버의 높이)

이를 유념하면 당신의 게임이 최고로 보이고 플레이할 수 있는 키트를 만들수 있을것이다.


키트는 어디에서 오는가 - 우리 프로세스

키트의 초기 설정에는 몇가지 단계가 있다.

1) 기획 단계The Concept Phase

관련이 있긴 하지만 문자그대로 "컨셉 아트concept art"를 의미하진 않는다. 그보단 이는 키트를 이끌어나갈 메인 아이디어를 처음으로 결정하는 단계이다.

이 단계의 주 목표는 키트의 큰 그림과 다른 게임과 얼마나 어울릴지를 파악하는 것이다. 실제 컨텐츠 제작과 관련이 없기에 상대적으로 짧은 시간이 걸린다. 대신에 질문들에 답해야 한다. 키트의 메인 테마는 무엇인가? 게임의 다른 영역과 어떻게 다른가? 이것으로 어떤 종류의 공간을 만들고 싶은가? 어떻게 사용될 것인가? 얼마나 자주 사용될 것인가? 몇몇 답변은 디자인이 이끌고 이외의 것들은 아트가 이끈다. 이 두 목소리가 매우 초기부터 발현되는 것은 중요하다.

이 단계의 많은 비주얼적 프로세스 들은 레퍼런스 모으기, 컨셉 아트 작업(가능하다면), 이 키트의 아트 디렉션을 모두 이해하고 있는지 확인하기 등으로 이루어진다. 그러나 이 단계에서도 우리가 요구하는 워크플로와 물류적인logistical 질문이 있다.

답해야하는 가장 중요한 질문은 이것이다 : 얼마나 넓은 범위에서 키트가 사용될 것인가? 이것이 키트 생성과 관련한 거의 모든 결정을 주도한다. 예를 들어 스카이림의 200번 넘게 사용한 Cave키트, 2번만 사용한 Ratway키트, 두 키트의 범위는 매우 다르다.

webKitUsageBreakdown.png스카이림의 키트 사용율 그래프

이는 각각의 키트가 가진 "서브 키트Sub-Kits"수에 영향을 미친다. 서브키트는 다른 키트와 함께 작동하는 키트의 각 부분을 뜻한다. 일반적인 예로는 "작은 방", "큰 복도"등의 서브 키트가 있다. (Cave는 7, Ratway는 3개의 서브 키트가 있다) 서브 키트들의 각 조각들 수도 키트 간에 차이가 있다. "작은 복도" Cave 서브 키트는 50조각을 갖고 있다. Ratway 홀 서브 키트는 7조각만 갖고 있다. 키트의 범위를 알면 키트의 강도와 그것을 만드는데 얼마나 시간을 쏟아야 할지 알수 있다.

2) 증명 단계Proof Phase

키트를 이끄는 큰아이디어를 이해했다면 우리는 이 아이디어를 증명할 필요가 있다. 이를 "증명 단계"라고 부른다.

이 단계의 쟁점은 키트의 주요 컨셉을 테스트하기 시작하는것이다. 그리고 우리가 에디터에서 사용할 실제 애셋을 만들기 시작하는 첫번째 지점이다. 그러나 우리는 아직 모든 부분에서 꽤나 high-level을 유지하고 있으며 아트를 만드는데 너무 깊게는 관여하지 않는다. 증명 조각은 메시 디테일도 거의 없고 대개 텍스쳐도 없다. 대신 우리는 비율, 키트 로직, 이름짓는법, 그리고 기초적인 요구사항들을 다룬다. 그로 인해 프로세스 단계는 비교적 1-3주 정도로 비교적 빠르다. 그 기간은 키트의 범위, 증명 조각의 생성과 폐기를 얼마나 반복했느냐에 따라 다르다. 

키트를 만들기전 알아야 할 몇가지 중요한 디테일이 있다.

첫째 어떤 키트이든 가장 중요한 디테일은 풋프린트footprint이다. 풋프린트는 전체 키트의 토대이다. 가장 일반적인 풋프린트는 등변이다. 그러나 다른 비율 역시 고유의 감각을 가진 키트의 토대가 될 수 있다. 이런 기초적인 결정은 최종 킽트의 비주얼적 개성에 영향을 미치므로 매우 중요하다.

이 이미지에서 초록색 그리드는 스카이림의 완성된 Cave키트의 작은 방을 만드는데 사용한 여러 조각들의 풋프린트를 나타낸다.

GridChop.jpg

어떤 키트의 서브 키트가 꼭 같은 같은 풋프린트를 사용할 필요가 없지만 그 풋프린트들은 배수로 구성되어야 한다. 그렇지 않으면 만약 키트들이 원래는 함께 붙어 있었다 하더라도 되돌아가면 더이상 정렬되지 않는다. (512x512x512방과 256x256x256복도는 정렬되지만 384x384x384키트는 정렬되지 않는다.)

그리드 스냅 사이즈grid snap size를 가능한 크게 하는것도 매우 중요하다.  레벨 디자이너는 풋프린트 절반 크기의 그리드 스냅을 기반으로 하려는 경향이 있다. 만약 기본 스냅 사이즈가 크다면 키트를 다루기가 쉽다. 조각들은 빠르고 쉽게 정렬되며 큰 갭은 조각들이 정렬되지 않은 부분을 명확하게 해준다.

모든 축에 깔아야하는 키트를 만들지 마라. 방들이 두 축으로 깔릴지라도 Hallways 키트는 한 축으로만 깔려야 한다. 모든 축으로 깔리는 타일키트는 수직, 수평으로도 만들어 나갈 수 있다. 이런 종류의 키트는 만드는데 있어 굉장한 자유를 제공하지만 굉장히 만들거나 사용하기에는 어렵다. 수직적 타일링이 필요하다면 별도의 고정 수평 평면크기로 서브 키트를 만드는 것이 현명하다. (예시로 스카이림의 cave, Nordic "shaft" 서브 키트를 보라.)

풋프린트는 조각의 꽉찬 경계이며, 조각들의 이동가능한 공간이 아님을 아는 것은 매우 굉장히 중요하다. 풋프린트는 요소들을 정렬하는 가상의 그리드이다. 조각들은 항상 풋프린트 내에 존재한다. 조각이 풋프린트의 가장자리에 있는 것은 다른 키트 조각들과 함께 붙을때 뿐이다. 풋프린트의 가장자리에 무언가를 만들지 마라. 더 최악은 그 바깥에 만드는 것이다.

이것은 hallway 키트 같은 것에서 가장 명확하다. 복도의 벽이 풋프린트의 가장자리에 붙어있다면 벽 자체가 존재할 공간이 없어지게 된다. 그것들은 같은 평면상에 위치하게 된다. 여기 예시 조각들을 보면 복도는 풋프린트를 꽉 채운 규모로 만들어 졌다. 벽감(우묵하게 들어간 공간)은 풋프린트의 영역을 벗어나며, 복도 각각이 붙어있지 못하게 만드는 겹침을 만든다.

GDC2013footprintoverlap.png

하기 그림은 같은 벽감을 지닌 조각들의 수정된 버전을 보여준다. 이제 그것들은 풋프린트내에 존재하며 무리없이 복도가 붙어있을수 있게 한다. 레벨 디자이너들은 수정 전 버전으로도 작업할 수는 있겠지만 그렇게 하면 임의적이고 때때로 이상한 제약을 레이아웃에 넣게될 수도 있다.

증명 단계는 이런 문제들을 빠르게 식별하고 해결할 수 있게 도와준다. 만약 우리가 비주얼적으로 완벽한 조각을 만드는 것을 성급하게 진행한다면 추후에 아트와 디자인에 막대한 양의 작업 시간, 버그, 좌절을 경험하게 된다.

사이드바 : 레벨디자이너의 역할

키트 개발의 다음 단계로 가기전에 이러한 단계들 속에서 레벨 디자이너들이 어떤 역할을 하는지 알아보자.

키트 개발은은 아티스트 혼자 다 한 뒤에 디자인팀에게 넘겨주면 되는 것이 아님을 명심하자. 이 프로세스는 키트 아티스트와 레벨 디자이너가 매일 마주하는 것이 좋다. 각각은 다른 요구와 관심을 나타내는 일종의 대사이다. 공통 목표는 우선적으로 이런 차이를 식별하고 그에 관해 대화하게 하는 것이다. 그렇지 않으면 논쟁과 혼란 속에 빠지게 된다.

 레벨 디자이너는 이러한 단계에서 테스트하는 것을 지속적으로 강조해야 한다. 아티스트는 기능적으로 미완성일지라도  가능한 빨리 조각들을 전달해야 한다. 그리고 레벨 디자이너들은 이상적인 상황이 아니라도 그것들을 사용해야 한다. 키트를 그것들이 의도된대로만 테스트하는 것은 우리에게 유용한 것을 아무것도 알려주지 않는다. 레벨 디자이너들은 그렇게 될거같은(혹은 안될거같은) 유스 케이스와 예상하고 시도해야 한다. 그리고 그 결과에 대해 이것들이 키트 기능과 어떤 차이를 나타내는지 키트 아티스트와 의논해야 한다.

궁극적으로 키트는 모든 유스 케이스와 만약의 사태를 지원하지 못할 것이다. 레벨 디자이너는 키트 아티스트와 제휴하여 키트가 무엇을 지원하고 지원하지 않을지를 선택해야 한다. 이는 다른 디자이너가 이런 제약을 직접 경험한다면 원래의 디자이너와 아티스트가 가능할 때 항상 답해줄 수 있어야 하기 때문이다.

아래에 레벨 디자이너가 키트를 스트레스 테스트하는 동안 찾을만한 몇가지 사례가 있다.

가장 큰 것 중 하나는 키트를 여러 하위 키트를 통해 자신에게 루프하게끔 할때 나타난다.

webLoopbackStressTest.jpg

위의 예시에서 룸과 복도 서브 키트를 테스트한다. 방의 서쪽에서 시작해서 복도 서브 키트를 이용해 방의 남쪽으로 이어지게 만들었다. 2번째 그림에서는 방의 남쪽 문이 정렬되지 않는걸 확인할 수 있다. 있어야 할 곳에어 풋프린트 반개 정도 벗어난 것 같다. 일반적인 반응은 풋프린트 반개 크기의 복도를 요구하는 것이다. 그것은 이런 특정 사례를 고칠 수 있을지 모르나 심각한 문제를 덮어둔 "패치 업patch-up"조각에 불과하다. 

우리는 이 특수 상황을 고치는 데에 신경쓰는 것이 아니다. 이 문제가 정상적인 워크플로에서 드러나지 않도록 개선하는 것이다. 자세히 들여다보면 "2방향2-way" 혹은 복도 코너에서 풋프린트 문제가 있음을 알 수 있다. 한쪽에 다른 쪽에 비해 길어보인다. 이것이 문제를 만든다. 올바른 방법은 이 문제를 고쳐 해당 조각이 의도된 풋프린트안에 맞게 수정하는 것이다. 이것은 키트를 비대하게 하고 임의적이고 불명확한 사용 법칙을 더하는 문제 증상인 패치업 조각을 더하는 것을 방지한다.

다른 시도방안은 키트들을 서로 쌓아 올려보는 것이다.이 예시에서 우리는 복도 바로 위에  배치했다. 우리는 풋프린트 경계에 대한 문제를 언급했다. 이는 수평뿐만 아니라 수직적으로도 드러난다.

webVerticalFootprint.jpg

이 키트는 동일평면 천장/바닥을 만드는데 수직 풋프린트 전체를 쓴다. 여기엔 몇몇 이유로 우려스럽다. 만약 계단이 있거나 홀이 있어 두께가 없음을 볼 수 있다면 시각적 문제가 될 수 있다. 또한 z-fighting fliker를 야기하고 최적화와 트리거 배치를 매우 어렵게 만든다. 그리고 일반적으로 에디터에서 혼란스럽게 보일 수 있다.

대신 바닥이 얼마나 두꺼워야하는지를 미리 결정해라. 이는 고도로 설계된 키트에서 특히나 유용하다. 특히 폴아웃3에서 인정받은  파괴된 환경을 만드는 데에 유용했다.

또다른 일반적인 테스트는 홀 조각에 기둥이 있는 방을 만드는 것이다. 만약 키트를 사용한 경험이 있는 레벨 디자이너라면 어떻게 될지 알 것이다. 

webHallRoomPillars.png

이 예시에서 몇개의 복도 코너를 따라 여러 3방향 교차를 배치했다. 이를 하면서 초록색으로 강조된 3개의 기둥을 만들었다. 이것은 키트를 이용해 그것이 의도되지 않은 대로 디자인하는 고전적인 예시이다. 이 의도되지 않은 기둥은 종종 나쁘게 보인다. 그렇지만 그것이 아무도 그렇게 하지 않을 것임을 뜻하진 않는다. 누군가는 항상 저지른다. 이는 키트 개발 프로세스에서 레벨 디자이너의 역할을 강조한다. -레벨 디자이너는 이런 대화를 일찍 재기하고 아티스트와 키트가 지원하는 것과 지원하지 않는 것에 대해 결정하는 작업을 해야 한다.

스트레스 테스트stress-testing 단계는 호전적으로 보일 수도 있다. 양측 모두 멋지게 보이고 플레이할 수 있는 대단한 키트를 만드는 것이 최종 목표임을 기억하는 것이 중요하다.

추천 비추천

2

고정닉 0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 연인과 헤어지고 뒤끝 작렬할 것 같은 스타는? 운영자 24/04/22 - -
AD [원신] 신규 5성 아를레키노 등장 운영자 24/04/26 - -
공지 게임 기획 관련 사이트 모음 (2021.5) [7] Dunkirka갤로그로 이동합니다. 18.10.30 1515 1
공지 게임기획 잘하는 방법 Dunkirka갤로그로 이동합니다. 19.08.29 967 3
공지 게임 기획서(GDD) 총정리 (2018.11) [3] Dunkirka갤로그로 이동합니다. 18.10.30 3022 3
공지 게임 디자인 관련 추천 도서 (2018.11) [6] Dunkirka갤로그로 이동합니다. 18.11.12 5704 1
555 게임하면서 컴터 켜놓기만해도 쌀먹 쌉가능?? 필독 ㅇㅇ(146.70) 04.12 18 0
552 제19회 경기게임 오디션 안내 스펙토리갤로그로 이동합니다. 03.26 22 0
551 아우디 로고 디자인 수정 건의. TXT 미노루갤로그로 이동합니다. 03.13 32 0
550 아우디 로고 일케 바꾸면 훨 좋을 듯. TXT 텐구아레스갤로그로 이동합니다. 02.25 31 0
548 김실장 채널 꽤 괜찮네 게갤러(112.156) 23.11.29 148 1
547 게임 기획/개발/디자인 경험을 살려 창업을 할 수 있다면? 함께가자(14.4) 23.11.17 105 0
545 게임 개발 (진지한 글 주의) 부트캠프 후기 아이폰어플개발(125.131) 23.09.25 192 0
544 [취업을 도와줄 PM 템플릿/자료] 개발자갤로그로 이동합니다. 23.09.22 110 0
542 게임 만들기 ㅇㅇ(203.228) 23.08.03 100 0
541 비대면진료,맞춤주치의 닥터루시드를 만들고자 합니다_크로스앱개발자2(RN) 맞춤주치의(39.123) 23.08.01 53 0
540 [정보] 게임 개발에 관심이 있으신 경우 ㅇㅇ(210.103) 23.06.30 357 1
534 게임 기획 갤을 찾아온 뉴비들아 현업 질문 간절하면 연락해라 겜갤러(221.150) 23.02.20 443 2
533 갤에 유용한글 만네 ㅇㅇ(210.95) 22.12.26 217 0
532 해커같은 애미 뒤진 련 빼고 암살자나 쳐 내지 ㅇㅇ(220.122) 22.12.18 153 0
531 야 늬들은 게임잡에 포폴 올리고 스카웃 신청 받은 적 있냐? [1] ㅇㅇ(1.241) 22.11.23 335 0
530 요즘 펄어비스 내부어떠냐 아직도 개씨발이냐? [2] ㅇㅇ(118.235) 22.11.18 435 0
529 uv맵 좀 징그럽지 않음 ? ㅇㅇ(58.141) 22.10.13 162 0
526 기획 관련 질문입니다 [1] ㄱㄱ(128.134) 22.08.20 343 0
525 언리얼엔진5 루멘 라이팅의 퍼포먼스를 보여주는 해외 작품. 슬기로운스캔생활갤로그로 이동합니다. 22.08.13 189 0
522 갤 사람이 거의 없나? [1] 도기갤로그로 이동합니다. 22.06.04 354 0
518 이런 갤이 있었네 [1] ㅇㅇ(49.142) 22.03.18 299 0
517 혹시 만든 겜 홍보해도돼? [6] 엠제이마크갤로그로 이동합니다. 22.03.10 871 7
515 메타버스플랫폼 기획서때문에 예시를 만들어야하는데 사용할만한 툴 있을까요? [1] ㅇㅇ(122.34) 22.02.27 412 0
514 주딱 머함? ㅇㅇ(124.197) 22.01.16 210 0
513 창세기전 > 파판 > 원신 철학이 없는 차이나치 게임 ㅇㅇ(121.160) 22.01.02 238 0
512 보이스 게임 만들어보신 분 ㅠㅠ [1] ㅇㅇ(110.9) 22.01.02 142 0
511 여기 유익한 자료 엄청 많구나 ㅇㅇ(182.213) 21.12.22 306 0
510 이거 뭘까요?? ㅇㅇㅋㅋ(220.70) 21.12.06 307 0
509 여기 게임 디자인 관련 갤러리인가요? 아니면 게임 개발에 관련된 것? [1] 팡팡갤로그로 이동합니다. 21.11.19 614 0
508 혹시 이거 서로 같은 거야? ㅇㅇ(14.33) 21.11.06 200 0
507 이렇게 양질의 정보가 가득한 갤이 있다니 ㅇㅇ(106.102) 21.10.23 295 1
505 번역) 벤 브로드 - 게임 디자이너가 되는 방법 [2] 취업전선갤로그로 이동합니다. 21.08.03 943 7
504 번역) 벤 브로드 - 게임 업계에서 직업을 갖는 방법 취업전선갤로그로 이동합니다. 21.08.03 400 2
503 번역) The Door Problem: 직군별 문에 대한 문제 접근법 취업전선갤로그로 이동합니다. 21.08.02 332 4
502 안녕하세요 간만에 와서 인사글 써봅니다 ㅇㅇ(121.170) 21.07.22 203 2
501 언제 코드를 다시 써야 하는가. Dunkirka갤로그로 이동합니다. 21.07.02 272 0
500 온라인 게임 개발자가 Aim Lab에 관심을 가지는 이유 Dunkirka갤로그로 이동합니다. 21.07.02 417 0
499 생각한 것보다 까다로운 게임 현지화 Dunkirka갤로그로 이동합니다. 21.06.28 398 0
497 게임 디자인 과학이 중요한 이유 Dunkirka갤로그로 이동합니다. 21.06.14 743 3
496 개발사와 기획서 Dunkirka갤로그로 이동합니다. 21.06.14 365 0
495 게임 순위 차트 살펴보기 Dunkirka갤로그로 이동합니다. 21.06.07 432 0
494 게임 스토어 페이지의 '정보' 섹션을 개선하는 방법 Dunkirka갤로그로 이동합니다. 21.06.04 204 0
493 플레이어 보상하기 Dunkirka갤로그로 이동합니다. 21.05.30 480 0
492 다잉 라이트의 자연적인 이동 시스템 Dunkirka갤로그로 이동합니다. 21.05.30 276 1
491 튜토리얼 이후 플레이어 잡아두기 Dunkirka갤로그로 이동합니다. 21.05.27 263 0
490 마야 vs 블렌더 [1] Dunkirka갤로그로 이동합니다. 21.05.26 6116 1
489 생산성을 높이는 점진적 프로그래밍 Dunkirka갤로그로 이동합니다. 21.05.26 446 0
487 야근 안 하고 라이브 개발하기 Dunkirka갤로그로 이동합니다. 21.05.25 272 0
486 인터페이스와 스토리텔링 Dunkirka갤로그로 이동합니다. 21.05.25 363 0
485 게임 경제 디자인의 기초 Dunkirka갤로그로 이동합니다. 21.05.25 335 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2