https://youtu.be/oEAC9zKnuhk?list=PLcaQc6eQjXCxFhrsFWWemTkxAWwAmbxzi (공부 영상)

part.1

기획서 작성 중 의사 전달을 위해서 배워볼까해서 튜토리얼을 참고하며 기록합니다.

A를 누를 시 뷰 포트안에 모든 오브젝트를 선택, A+Alt를 누를 시 해제 가능

투시가 없는 뷰 확인 용 (축마다 확인 가능), 휠 클릭 후 이동 시 중앙 기준으로 회전 가능 (빠르게 가능)

우측 손바닥을 누르고 마우스 이동 시 뷰포트 상하좌우 이동이 가능하다. (Shift+Alt 시 같은 기능)

우측 돋보기 누르고 위 아래로 마우스 이동 시 선택 오브젝트 기준 축소 확대 가능 (휠 업, 다운 시 같은 기능) 

뷰 포트를 투시 투영과 직교 투영으로 전환하는 기능 (넘버 패드 5까지 단축키 존재)

*투시 투영(Perspective projection)은 우리 눈으로 보는 것과 같은 방식으로, 멀리 있는 물체는 작게, 가까이 있는 물체는 크게 보이는 효과를 줍니다. 현실감 있는 3D 장면을 표현하기에 적합합니다.

*직교 투영(Orthographic projection)은 물체의 크기를 일정하게 유지하며, 평행선을 유지하는 방식으로 투영합니다. 즉, 거리에 관계없이 물체의 크기가 동일하게 보입니다. 건축 도면이나 기술 도면처럼 정확한 비율과 치수를 표현해야 할 때 유용합니다.

해당 아이콘 클릭 및 넘버 패드 0 누를 시 현재 설정해둔 카메라 렌즈 기준에서 오브젝트를 볼 수 있습니다. (넘버 패드 0)

*추가

넘버 패드 1,3,7,9 축에 따른 직교 뷰포트로 변경하는 단축키

넘버 패드 4,8,6,2 경우 카메라 회전 조정 단축키

기준이 될 물체를 선택 View - Frame Selected 할 시 카메라 회전 기준이 변경됨 (넘버 패드 .)

part.2

크기 전환 시 마우스 <-> 상태에서 우클릭 시 나오는 뷰 설정

수직 분할 (Vertical Split)

수평 분할 (Horizontal Split)

작업 중 실수로 해당 창을 지워버릴 시 이미지에 활성화된 버튼을 눌러서 같이 다시 생성 가능

Join 기능은 현재 방향을 설정하여 합쳐지는 기능으로 변경됨

Ctrl+Space 시 해당 선택한 뷰포트가 전체화면으로 변경됨 (다시 한번 누를 시 해제)

퀵 메뉴 (T 단축키) 

마우스 퀵 메뉴 (Shift+Space 단축키) - 더 유용할 듯

뷰포트 우측 < 를 누를 시 선택된 오브젝트의 속성 값이 표시됨 (N 단축키) 

Shift + 우클릭 시 오브젝트의 회전이 되는 기준점 이동 가능

Shift + S 누르고 시 3D 커서에 대한 메뉴가 나오며 N 속성 값에서 View 탭 메뉴에서도 변경 가능하다.

이미지에 선택되어 있는 Cursor to World Origin 값을 선택할 시 기존 값으로 되돌아 간다.

마우스에 대한 정보

최종 이미지 렌더링 설정

출력 - 파일 저장 위치등 출력 내보내기 시 설정하는 값

우측 위 렌더링 미리 보기 기능

렌더링 시 월드(배경) 값을 설정하는 곳

오브젝트 속성 값

값 체크 시 렌더링 뷰포트에서 투평하게 처리 됨 

수정자(Modifier) 오브젝트의 형태를 변경하는 데 사용되는 도구입니다. 오브젝트의 데이터를 직접 수정하지 않고도 다양한 효과를 적용할 수 있어 비파괴적인 작업 방식을 가능하게 합니다.

오브젝트 제약 조건(Object Constraint)
오브젝트 제약 조건은 오브젝트의 위치, 회전, 크기 등을 다른 오브젝트나 특정 조건에 따라 제한하는 기능입니다. 애니메이션 작업이나 복잡한 움직임을 구현할 때 유용하게 사용됩니다.

오브젝트 데이터 속성(Object Data Properties)
선택한 오브젝트의 유형에 따라 다양한 속성을 설정하고 편집

part.3

  이동 회전 크기
단축키 G R S
X,Y,Z 축 이동 시 G + 각 축에 해당하는 X,Y,Z 키 입력
숫자 입력 후 Enter 시
해당하는 값 변경 가능
X O O
변경 시 방법 변경 후 클릭할 시 변경, 오른쪽 or ESC 누를 시 변경 취소 가능
Ctrl + Z 시 되돌리기

단축키 I - 키프레임 추가
ㄴ다음 키프레임에서 변경 후 I 를 눌러서 설정을 한번 더 해야함

ㄴ하지만, 이런 번거러움을 위한 기능인 Auto Keying이 있습니다.


단축키 X - 누를 시 삭제 가능
단축키 Shift + A - 빠르게 뷰포트에 오브젝트를 추가하는 방법

로케이션 값들을 키 프레임으로 변경할려면 해당 값을 변경해야합니다.

part.4

뉴 씬 단축키 Ctrl + N

타임 라인, 도프 시트, 그래프 편집기

타임라인
키 프레임을 이동하려면 단축키 G

누를 시 시작와 끝을 설정 후 반복 재생 가능 (보통 자세한 프레임 수정이 필요할 시 사용) 
한번 더 누를 시 복구 휠 클릭 시 타임라인 이동 가능
Ctrl+Home 시 시작 프레임으로 이동 End 시에는 종료 프레임 설정
Shift+D 시 키프레임 복제
아래 마커 네임 F2로 설정 가능

part. 5 이후 기록은 하지 않겠습니다. 간단한거나 직접하며 숙달해야하는 부분 시 시간이 좀 더 걸려 기록을 생략할 예정입니다.

https://youtu.be/gsyZdKYAT_4?list=PLNwKK6OwH7eW1n49TW6-FmiZhqRn97cRy

영상을 따라하며  AI 제작을 진행하였습니다. 포스팅은 복습용이므로 설명이 불충분한 부분은 영상으로 확인 바랍니다.

  1. AI 플레이어 인지 종류 (AIPerception)
  2. AI 인지 및 AI 동작 처리
  3. 정찰 (Investigating)

AI 인지 컴포넌트 생성: AIPerception

AI 시야 구성(Sight config)
최대 수명은 AI가 플레이어를 기억하는 시간 (목표가 벗어날 시 벗어난 좌표를 기억하고 좌표를 기반으로 행동 후 입력한 시간이 지난 후 완전히 벗어난 상태가 된다.)

디버그 방법
플레이 후 ' 키를 누를 시 디버그가 가능
숫자패드 0 ~ 4를 누를 시 각 디버그 (4. AI 인지 관련 디버그) [설정한 디버그 컬러로 나타남]
해당 키는 변경 가능

AI 인지 테스트: 키에 할당하여 테스트

Player에게 키를 할당하여 테스트 (사운드 및 대미지)

AI 인지 함수: Can Sense Actor

Can Sense Actor: 타깃에 대한 정보가 올바르게 인지한게 맞는지 검증하는 함수

AI 인지 후 동작 처리: 
시야 범위에 들어왔을 시 ,청각 탐지 범위에서 소리가 났을 시 ,대미지를 입었을 시

플레이어를 어떤 방법으로 인지 시 플레이어 액터 정보를 시퀀스에 따라서 실행 "Can Sense Actor"에서 검증 후 True가 나오는 행동을 실행하는 블루프린트 구성
For Each Loop에 경우 여러 플레이어 처리를 위한 노드
사운드 경우 발생한 사운드 발생 위치에 대한 벡터 좌표가 필요

정찰(Investigating): AI를 정찰 상태로 변경 

AI가 정찰 상태로 변경 시 필요한 정보를 받음

무브 스피드를 세팅하고 정찰 상태로 들어갈 시 얻은 Vector 정보에 따라서 이동 후 설정된 시간 동안 적이 감지가 안될 시 다시 패트롤 상태가 된다.

이번 강의 영상까지는 기초적인 AI를 만들었습니다. 다음은 AI가 지형지물을 이용하는 등 조금 더 똑똑한 AI로 만들 예정입니다.

https://youtu.be/WFV5IewGks8

영상을 따라하며  AI 제작을 진행하였습니다. 포스팅은 복습용이므로 설명이 불충분한 부분은 영상으로 확인 바랍니다.

  1. AI 정찰 경로 생성
  2. 정찰  & 공격
  3. 상태 전환
  4. 상태에 따른 애니메이션

AI 정찰 경로 생성: Patrol Route

블루프린터 - 스플라인 컴포넌트 생성

스플라인 좌표 정보를 벡터로 반환

 

AI 인터페이스 생성 BPI_Enemy

AI Speed Enum (열거형) 생성 (AI 걷기, 달리기, 전력질주 속도 값)

AI PatrolRoute 스플라인 오브젝트 생성

AI 스플라인 포인트 위치 계산 블루 프린트

 

신규 태스크 생성: BTT_MoveAlongPatrolRote

AI 루트를 따라서 이동

AI 상태 변경 시 정지 (애니메이션 재생을 위함)

 

신규 태스크: BTT_SetMoveSpeed

캐릭터 상태에 따른 무브 스피드 세팅

 

신규 데코레이터: BTD_IsWieldingSword

무기가 생성 되어있지 있지 않을 시 BTT_WieldSword 태스크 실행

BTT_WieldSword 태스크를 BT에 의해서 실행 (Wield Sword 함수 실행)
모듈화를
 위한
바인딩으로 Finish 처리

 

신규 데코레이터: BTD_HasPatrolRoute

맨 위 BT에서 캐릭터의 상태가 패트롤이 될 시 한번 더 검증하는 데코레이터로 PatrolRoute를 가지고 있는지 null 검사를 하는 단계
null 일 시 False을 반환하여 정찰이 실행되지 않는다.

상태 전환 값 생성: E_AIState

Enum AI State 상태 열거

BT에서 블랙보드 키 값 데코레이터로 검증

테스트용으로 Player BP '1' 키 입력 시 AI의 상태 전환을 부여

상태에 따른 애니메이션 추가: BTT_SheatSword

검집에 검을 집어넣는 몽타주 부여 (상태 전환 시)
Bool 값 변경 위치 개선 (순서에 맞게 배치)

2편 정리 완료 감사합니다.
새로운 형태와 개념이 나오다보니 정리가 좀 더 디테일해졌습니다.

https://youtu.be/-t3PbGRazKg?list=PLNwKK6OwH7eW1n49TW6-FmiZhqRn97cRy

영상을 따라하며  AI 제작을 진행하였습니다. 포스팅은 복습용이므로 설명이 불충분한 부분은 영상으로 확인 바랍니다.

학습 방법 [접은 글]

더보기

영상을 토대로 학습하는데 있어 자막 자동 번역에 기능은 좋지만 학습하기에는 조금 부족한 부분이 있기 때문에 영상에서 사용하는 기능에 대한 개념, 기본 지식은 어느정도 알고 있어야 개념 설명 시 이해하기 쉽습니다. 언어를 알아 들을 수 있다면 더할 나위 없습니다.

 

전 한국어로 제작된 학습 자료를 통해 두, 세번 정도 간단한 AI를 만들어보고 진행하였습니다. 외 설명 시 이해가지 않는 부분은 구글링을 하였습니다. 불편함을 감수하고 이 강의를 선택한 이유는 시리즈 형태로 AI에 대한 전체적인 튜토리얼을 체계적이고 세심하게 다루고 있어서 입니다.

  1. 여러 단축키
  2. 팔로우 및 공격 AI (블루프린터로 구현)
  3. 애니메이션 시 LegIK 일시정지 방법
  4. 팔로우 및 공격 AI (비헤이어트리로 구현)
  5. 휘두르는 검 생성

많이 사용한 단축키

Ctrl + 스페이스 콘텐츠 드로우 호출
Alt + P 플레이
ESC 플레이 종료
블루프린터
정리할 항목 드래그 후 Q 선택된 노드 직선으로 나열하여 정리
애니메이션 타임라인에서
커브 추적
F

2. 팔로우 및 공격 AI (블루프린터로 구현)

AI 언리얼 제공 기능 사용

BeginPlay 시작 시 호출되는 이벤트로 경우에 따라서 호출이 늦어지는 경우가 있으므로 사용하지 않는 이벤트
커스텀 이벤트 생성 하여 언리얼에서 제공하는 AI Move To를 이용하여 구현

입력된 범위 안에 타겟이 들어올 시 이동 성공

 

공격 이벤트 생성

공격 실행 커스텀 이벤트 생성 (연결 되어있는 우측 완료 시, 중단 시는 무시하고 진행)

사용 할 애니메이션 시퀀스로 몽타주 생성 후 플레이 될 몽타주를 연결해 줍니다.

Attack 이벤트를 적절한 위치에 생성하여 연결하여 테스트

IK가 꼬이는 문제

몽타주 타임라인에서 커브 DisableLegIK를 추가 키 추가하여 0 - 1.0으로 수정하여 시간적 변형이 없게 설정합니다.
이후 테스트 시 몽타주 실행 중에만 IK가 적용되지 않고 재생 완료 후 IK가 적용되는 모습을 볼 수 있습니다.\

 

비헤이비어를 사용하여 구현

비헤이어트리 기본 설명은 생략합니다.

비헤이어트리로 기본 AI 구성 시 BP, BB, BT, AIC가 필요합니다.
AIC에 Event On Possess 이벤트를 이용해 BT를 호출 기본 BeginPlay 사용보다 이걸 사용합니다. (위 설명)

Delay 경우 Enemy가 생성되기도 전에 호출되기 때문에 유예를 주기 위함입니다.
이러하면 AI 컨트롤러의 세팅이 완료됩니다.

새 태스크를 만들 시 중요한 사항으로 붉은 박스 안 이벤트와 함수를 양끝에 오도록 해야합니다.

이후에는 구현된 AI를 나열하겠습니다.

 

어택 단계입니다.

Attack 입니다. On Attack End 호출은 Attack 애니메이션이 다 재생 될 때까지 기다려주기 위함입니다.

Attack 이벤트를 실행 후 종료 On Attack End 호출을 기다린 후 이벤트를 끝냅니다.

 

휘두르는 검 생성 단계입니다.

 

WieldSword입니다. 미리 세팅된 스태틱 메쉬를 설정해둔 소켓에 생성하는 이벤트입니다. (검 생성)
Rule 세팅과 올바른 Socket Name을 입력해줘야합니다.

생성한 WieldSword 태스크입니다. 검을 생성하는 태스크입니다.

검을 한번 생성한 후 이후 생성하지 않기 위한 생성한 데코레이터입니다.

 

타겟 포커스 부분입니다.

타겟을 포커스하는 이벤트입니다.

캐릭터 BP 무브먼트에서 이미지와 같이 세팅하여야 포커스가 올바르게 작동합니다.

좀 더 AI 처럼 만들기 위한 포커스를 초기화하는 이벤트입니다.

완성된 비헤이어트리입니다.

셀렉터로 검 생성 후 데코레이터가 생성된 검 검증 후 ChasePlayer 시퀀스가 실행됩니다. 

감사합니다.

https://youtu.be/4RekrhhuQGg

참고 자료

 

스킬 네트워크를 강의를 듣고 많은 점을 배웠습니다. 예를 들어 게임 분야가 아닌 다른 쪽에서 아이디어를 얻은 점과 그걸 활용할 수 있을까라는 관점이 신선하였고 이런 점을 참고하여 마인드가 열리는 것 같습니다.

 

또한, 검증된 방법이기 때문이고 이 같은 분석이 게임의 영향이 간다는 걸 알았기 때문에 구축을 해서 기존 게임에 테스트 해봐도 재미있을 것 같습니다.

 

구축 시 고려

어떤걸 툴을 이용해서 구축할 것인가.

어떤걸 기준으로 구축할 것인가.

중심을 기준으로 연결되는 요소는 서로 끌어 당기며 없을 시 서로 밀어내는 것 (Layout 알고리즘)

 

 

필요한 요소

- 각 캐릭터의 스킬 효과

- 각 캐릭터의 직군 (색깔로 구별)

- 레이아웃 알고리즘을 시각화

https://youtu.be/tBbeug1OrnU

참고영상

마인드셋하기 좋은 영상인거 같습니다.

예를 들어 게임 기획자가 하는 일이 무엇인가라고 물어볼 때 아무래도 범용적이고 큰 질문이라서 잠깐 뇌정지가 오지만

간단한게 게임 기획자를 설명 한다면 게임을 설계 하는 일이라고 말할 것 같습니다. 이것도 면접에서 들은거지만 공감이 되더라구요. 이런식의 사고 방식으로 한번 더 용어를 재정의하는건 중요한것 같습니다.

이전에는 시스템 기획자를 내부적인걸 설계, 구성한다, 콘텐츠 기획자는 외부적인걸 설계, 구성한다라고 정의하고 있었지만 현재는 시스템 기획자는 마더보드 같은 역할이며 콘텐츠 기획자는 마더보드 위에 다는 부품이다라는 비유도 괜찮은거 같습니다.

다르게는 수도관은 시스템 기획자고 거기에 흐르는 물은 콘텐츠 기획자라고도 할 수 있다고 생각합니다. 이건 면접 중 들은 말로 괜찮은 비유인거 같아 까먹지 않기 위해 서술 하였습니다.

이러한 마인드셋으로 한번 더 용어를 재정의하고 다시 한번 생각해볼 수 있었습니다.

 

https://youtu.be/ge73hxNXE-U

이전에 용어 정리를 하면서도 기획자에 대한 설명을 설계한다고 말했었는데 마침 좋은 영상이 있었습니다.

4:28초 게임 디자인 사이클

필요한 내용을 설계하고 그 내용을 토대로 잘 구현이 되는지 진행 관리하고 잘 동작하는지 확인하고 고치거나 추가될 내용이 없는지 피드백하는 과정을 갖게 됩니다. 

자신이 설계한 시스템이라던지 콘텐츠라던지 자신이 제일 잘알고 설계 단계에 기획서에 아무리 잘 적어놨다고 하더라도 의도가 100% 전달이란 어렵다고 생각하기에 이러한 과정이 진행되고 피드백까지 하는거 같습니다. 당연히 순서가 어느정도 바낄 수 있다고 생각합니다. 진행 도중 피드백/보완이 이루어질 수 있다고 생각도 됩니다.

정리 : 크게는 위 같은 사이클로 돌아가며 과정에서 협업이 이루어지고 라이브 같은 경우 끊임없이 위와 같은 개발을 합니다.

 

저 같은 경우 생각 - 설계 - 설득 이란 키워드가 제일 와닿았습니다.

생각 : 아이디어를 생각

설계 : 아이디어를 토대로 체계적으로 설계도를 그리는 행위

설득 : 이 설계도의 가능성을 설득 혹은 다른 좋은 길에 대한 설득을 당하는 과정

간단하게 저 키워드를 보고 저의 생각을 정리하여 적어봤습니다. 하지만 영상에서 좀 더 심도있게 본게 이 부분이였습니다. 당연히 생각하고 있던 것이였지만 체계를 세워준 느낌이여서 좋았습니다.

 

생각

Why?, What?, How?

왜?, 무엇을?, 어떻게?

스킬 네트워크에서도 적어놨듯이 고민했던 것이였지만 조건 퀘스트처럼 정리해놓으니 좋았던거 같습니다.

스킬 시스템을 만들 때를 예를 들면

게임의 스킬 시스템이 왜 필요하지? (효율)

우리는 투사체 스킬이 많아 -> 투사체 스킬 시스템이 필요하겠구나

투사체 스킬 시스템을 만들려면 무엇이 필요하지? (인지요소 정리)

인지요소

투사체 모델링

이펙트

다발?, 단발?, 두개 다 지원?? -> 앞으로를 생각해 가지수를 늘릴 수 있는 방법을 채택

투사체 스킬 시스템을 어떻게 만들지? (규칙 정리)

규칙

날아가고 사라지는 시간

속도

크기

속성 유/무

타격점

팀원을 공격 할 수 있는가? -> 장르를 고려 -> 인던형식의 MORPG이며 스킬 범위가 대체로 넓으니 팀원은 공격 못 하도록 결정

정리

기획 의도 : 투사체가 많이 존재하므로 시스템을 구축하여 추후 개발 비용 절감

필드 직렬화

투사체 모델링, 이펙트를 입력

캐릭터 기준으로 투사체의 수를 부채꼴 모양으로 일정한 거리를 두고 퍼트리게 조절 (180도 6개 360도 10개)

소멸하는 시간 기본 3sec (임의 값)

속도

크기

속성 유/무

디자인 문서의 예

설득

위 단계를 모두 거친 후 디자인 리뷰가 시작된다고 합니다.

설득 과정인데, 좋은 아이디어는 누구나 말할 수 있으므로 자신의 기획의도 내에서 좋은 아이디어를 수용하고 자기 주장을 어필 할 수 있어야하는거 같습니다. 이 부분에서 하나하나 why? 왜 필요한가가 중요한거 같습니다.

1. 디자인 의도를 날카롭게 벼르자

회의가 시작되면 자신의 디자인 의도를 지키며 벗어나지 않는 의견은 적극 수용하여 좋은 방향성으로 나아가야합니다.

2. 디자인 개요를 요약하자

디자인 의도를 적는 건 기본이지만 요기서 좀 더 나가 디자인 개요 (세줄 요약)를 작성하는 것입니다.

디자인 개요 - 의도 - 세부 디자인의 순서로 작성됩니다. 문서를 이해하는데 좀 더 효율적이고 자신의 문서를 돌아볼 수 있는 거 같아 좋은거 같습니다.

3. 문서 작성 시 문장 하나하나 추상적인 부분을 없애고 세심하게 디자인

 

감사합니다.

DB로 MySQL을 잠깐 사용해봤지만 간단한 명령어를 사용해보는 정도에 그쳐서 기획서에 바로 적용하긴 힘들어서 이해하고 가기 위해 작성했습니다.

필드, 레코드 개념을 모여 테이블이 됩니다. 이곳에 정보는 일관성 있어야하며 뜬금없이 들어가면 좋지 않은 테이블의 형태입니다.

위와 같이 테이블이 모이면 DB가 됩니다. 테이터의 양에 따라 DB 또한 나눠 질 수도 있습니다.

 DB에서 데이터를 획득하거나 집어넣는 일을 쿼리한다고 표현합니다. 그리고 RDB에서 쿼리하기 위한 언어를 SQL이라고 합니다. 

각 레코드는 PK(기본키)를 가져야합니다. PK는 각 레코드를 구별할 수 있는 유니크한 값이며 절대 중독되어서는 안되는 값입니다.

관계 설명 

관계는 위 영상에 예시를 보면 이해가 쉽습니다. 테이블 간에 관계를 만들땐 필요한 기능을 확실히 정하고 만들어야 할것 같습니다.

지식의 저주

실제로 레벨 디자이너가 처음 맵을 만들면 난이도가 밸런스가 맞지 않는데 이유는 계속된 맵 테스트를 통해서 게임에 익숙해지게 되고 이미 경험자인 상태에서 게임을 플레이하고 밸런스를 맞추다 보니 결국 처음하는 플레이어를 이해하지 못한채로 만들어지게 됩니다.

그렇게 플레이를 실제로 시켜보고 설문 조사를해서 해결하게 됩니다.

플레이 테스트

하지만 설문 조사로는 모든 정보를 얻기도 힘들고 참조하기 힘든 부분도 있습니다. 질문을 인식하고 대답을 하게되면 자연스럽게 나오기 힘들어서 그런것 같습니다

그래서 플레이 테스트를 아무런 정보를 주지 않고 진행합니다.

그렇게 테스트를 관찰하게 됩니다. 테스트 관찰하는 방법은 아무런 조언 개입없이 진행하며 모니터링 혹은 뒤에서 보는 형식으로 진행한다고합니다. 손을 어떻게 잡고 어떻게 사용중이며 , 상황에 따른 표정과 감정이 어떤가에 대해서 조용히 관찰하게됩니다.

그리고 관찰한 내용을 정리합니다.

굉장히 상세하고 구체적으로 정리하는것이 중요합니다. 어떤 곳에 지형이 너무 높다, 어떤 구역의 숨는 구역이 좋지 않다. 블루 팀일 시 스나이퍼 무기가 너무 유리하다라는 맵에 관련된 밸런스를 하나도 빠짐 없이 정리합니다.

그리고 정리한 자료를 토대로 전체 피드백 회의를 합니다. 각자 플레이해본 피드백을 받게 됩니다. 그걸 직접 맵에다가 마킹을 하면서 맵에 대해서 메모를 하는것이 글로 쓰는것보다 휠씬 도움이 됩니다.

아까 정리한 내용 같은 경우 러프하게 썻다고 본다면 이것은 실제 맵을 보면서 더욱 상세한 피드백을 진행하게 됩니다. 데이터베이스를 쌓는 과정같습니다.

그래서 이렇게 모은 피드백들을 전문가 그룹이 어떤걸 적용할 것인지 피드백을 검토합니다.

보통 수많은 피드백이 나오고 보통 한맵에 1 : 10 정도의 정보량이 쌓인다고 합니다.

이렇게 최종적으로 모인 정리한 내용으로 맵을 수정하게 됩니다.

주의할 점은 첫 테스트때는 절대 플레이의 개입을 해선 안됩니다.

반복 수정

먼저 만들었던 기획서를 봅니다. 여기에 따라서 맵을 실제로 만듭니다. 테스트 준비를하고 플레이 테스트를 하고 테스트 평가를 검토합니다. 검토하고 수정할 수 있으니 평가가 좋지 않더라도 주눅 들지말고 기획서의 기획 의도를 다시 확인합니다. 

만약 테스트 후 난이도가 기획서의 설계한것보다 테스트 시 더욱 어렵게 나왔습니다. 그럼 다시 난이도를 조정을 하기 위해 이런 결과가 나온 이유를 분석을 해봅니다. 

예를 들어서 원거리 몬스터의 난이도가 이 게임 시스템 상 더욱 어려웠거나 낭떠러지의 간격이 너무 넓어 뛰기 힘들어 생각 했던것 보다 난이도가 높았다던지 라는걸 피드백을 받거나 분석하면서 알게 되었고 수정 방법을 나열하게 됩니다.

낭떠러지 부분을 두가지로 나눠 넓은 점프, 좁은 점프 구간으로 나누거나, 원거리 유닛의 공격속도를 낮춰 난이도를 조절 혹은 전체 패턴 조합을 다시 맞춘다. 패턴 조합을 다시 짤 시 전체적인 난이도를 손봐야합니다. 또는 기획 의도를 변경하는 방법도 있습니다. 외에도 많은 대안이 나올 수 있고 예를 들었습니다.

위 검토 중 제일 효율적인 방법을 적용 시키고 끊임없는 반복 수정을 합니다.

맵을 만들 시 기획의도에 대한 확신이 없을 시 맵에 대한 검토가 어려워집니다. 

예를 들어 원거리 개방된 맵을 의도했지만 피드백에서 어디서 죽는지 모르겠다 라는 피드백을 받았고 그 어디서 쏜 곳을 찾지 못한다면 결국 개방된 곳을 막게 되고 결국 의도한 바와 다른 맵이 완성이 되어 드랍이 될 수 있다고 합니다.

 

정리

1. 레벨 디자이너는 시스템과 환경을 아울러 게임플레이를 만든다.

2. 게임플레이는 규격을 통한 플레이 흐름과 의미있는 선택이다.

3. 레벨 디자인 프로세스는 플레이 테스트와 반복수정을 통해 지식의 저주를 극복한다.

 

(레벨 디자이너는 기획이나 그래픽 중 어느 곳에 속해있는 것이 아니라 이를 아울러 게임플레이를 만들어낸다.)

참고 자료

레벨 디자인 튜토리얼 강연

 

레벨 디자인의 체계화가 잡힌건 하프라이프 2라고 합니다.

더미맵을 제작하고 아트 완성이 되어 이 과정이 하프라이프 2때 확립이 됩니다.

 

레벨디자이너란

레벨(맵)을 만드는 사람입니다. 게임 기획자의 세부 직군이며 아트팀에 속해 있을 수도 있고 기획팀에 속해 있을수도 있습니다.

모든 기획자는 테스트 -> 피드백 -> 피드백 적용 -> 테스트 과정을 반복한다.

시스템환경을 아울러 게임플레이를 만든다.

시스템 - 캐릭터, 몬스터, 아이템 같은 요소

환경은 - 맵의 환경 요소

이 두가지를 아울러 게임플레이를 만드는 일이라고 생각합니다.

 

게임플레이란

규격을 통한 플레이 흐름과 의미있는 선택이다.

규격이 먼저 섭립이 되고 플레이의 흐름이 나오고 의미있는 선택 요소가 있어야합니다.

 

규격이 없을 경우

각각 레벨 디자이너가 생각하는 밸런스가 다르게 되고 결국 밸런스를 잡을 수 없게됩니다.

그리고 만들어진 맵을 수정하는것이 어려워집니다.

그래서 더미맵 제작에서 규격을 정해놓고 제작을 해야된다고 합니다.

 

규격은 기본 재료로 모든 레벨 디자이너끼리 공유하는 것이며 예를 들어 FPS의 경우 큰 엄폐물, 중간 엄폐물, 낮은 엄폐물 같은게 있고 덧붙이면 총알이 관통하는 벽, 관통하지 못하는 벽이 있습니다.

하지만 이 규격에도 크기만 지정해놓기 보단 하나하나 무슨 역할을 하지는 지 정해놓는것 같습니다.

낮은 엄폐물 경우 앉을 경우 사격이 가능하지만 상반신이 노출되며 하반신만 엄페 가능

중간 엄폐물 경우 앉을 경우 완전 엄폐가 가능하고 일어설 경우 사격이 가능함

높은 엄폐물 시야를 완전히 가립니다.

이런 식으로 몇가지의 타입을 정하고 이렇게 의미있는 구조물에 대한걸 생각하며 요기에 대해서 밸런스를 적절히 생각한다음에 각 타입에 따라 난이도를 설정합니다.

각 엄폐물에 따라 선택할 수 있는 행동이 있으므로 이렇게 됩니다.

하지만 이 점수에서 위 내용을 제외하고 다른게 추가된다면 각 난이도의 점수가 변동이 됩니다.

예를 들어 중간 엄폐물이 관통이 된다면 위치를 들키고선 숨기가 힘들기때문에 잘고려해서 난이도를 조정해야합니다.

이렇게 밸런스에 많은 영향을 끼치기 떄문에 올바른 규격을 가장 먼저 정의하는게 좋습니다.

 

의미 있는 선택

시드마이어가 '게임은 흥미로운 선택의 연속이다' 그걸 리그오브레전드에 발전해나갔습니다. 한번 생각해보면 좋을것 같습니다.

롤에선 메타변화가 빨리 찾아옵니다. 크게 바끼는것도 있지만 아주 조금씩 바끼는게 많습니다. 이 이유는 리그오브레전드의 기획 철학의 영향이라고 합니다.

"게임에 '서로 다른' 선택지가 아니라 '더 나은' 선택지만이 존재한다면, 플레이어는 새로운 지평을 열어가기 보단 다른 사람이 만들어놓은 길을 따라가기만 해야할 것입니다."

분명 AOS게임엔 필요하지만 RPG 게임을 예로 들어서 선택지가 여러개라면 게임에 대해 배울게 너무 많고 육성에 여러움을 겪는 사람들이 많을 것이며 밸런스 조절을 조금이라도 치우치게 되면 유저에게 큰 피해가 갑니다.

어느정도 타협을 하며 2가지 내지 3가지 정도의 선택지를 주는건 괜찮은거 같습니다. 예를 들어 로스트아크의 각인으로 똑같은 직업이라고 해도 한번 분기를 나누며 유물 세트로 인해 운영법이 달라지는 현상을 보며 정말 잘 만든 게임이라고 생각하게 되었습니다. 세부적으론 스킬의 트라이포트(스킬특성) 같은 걸로 한번 더 나눠서 다양성을 추구했습니다. 하지만 이게 완벽히 나눠져 있는게 아니고 우세한 전략이 있는건 맞습니다. 하지만 몇몇 직업은 장단점이 있으며 정해진 정답이 있는 루트가 없습니다. 이런식으로 여러 분기에 선택지를 주고 다른것도 해볼수 있는 기회를 주고 플레이어들이 개척해나가는 형식이 너무 재밌고 흥미로웠습니다. 글을 쓰다보니 이런 걸 간단하면서도 잘 구현한게 POE 인것 같습니다.

아무튼 이런 의미있는 선택이 중요합니다. 플레이어가 선택함에 따라서 게임 플레이가 달라지는 것입니다.

너무 육성에만 초점을 둬서 이렇것 같습니다. 던전이나 레이드에도 적용되는 이론같습니다. 던전을 공략할때 항상 이렇게 하면 저렇게 된다. 라는게 결국 의미있는 선택지이것 같습니다. 요기서 맞으면서 딜을 넣는다면 딜을 더 넣을 수 있지만 데미지를 받아야하는 단순한것부터 시작해서 던전 클리어 시간까지 영향이 갑니다. 이건 생각할수록 좀 더 좋은 이론 같습니다.

하지만 영상에 있듯이 의미없는 선택지와 혼동해선 안됩니다.

이걸 구별하는건 플레이어가 인지해야합니다. 이 길로가면 어렵고 보상이 있겠구나, 저길로 가면 보상은 없지만 쉽겠구나 라는 인지를 하고 진행을 해야합니다.

다음은 게임 플레이의 결과 입니다. 아래 위의 선택지가 있는데 아무런 결과가 없으면 선택지를 만들어둘 필요가 없는것입니다.

그리고 상기입니다. 

전에 했던 의미있는 선택을 레벨디자이너는 계속 사용하게 됩니다. 요기서 플레이어는 위 선택지, 아래 선택지에 대해서 경험을 해봤고 어떤게 플레이어에게 좋은지 판단을 하게됩니다.

다음은 영속성입니다.

마리오같은 게임에서 아래로가서 몬스터를 죽이고 보상을 먹었습니다. 하지만 계속 몬스터가 스폰이 되어 보상을 먹지 못하거나 먹어도 다시 작아진다면 의미없는 선택지가 되어버립니다. 위로가는걸 강제해버리기 떄문입니다. 그래서 스폰이 되지 않도록 설계한것입니다. 이런 점을 고려하고 만들면 선택지에 대해 영속적인 재미를 줍니다.

플레이 흐름

몰입 이론이란

게임에 대입할 시 난이도가 올라갈수록 플레이어의 실력이 올라가게 됩니다. 밸런스를 잡으면서 난이도를 어느정도 계속 조절하며 밸런스를 짤 시 플레이어가 몰입을 한게됩니다. 보통의 싱글 플레이 게임에 적용 됩니다.

이걸 이용하여 레벨 디자인을 하며 없이 게임을 만들 시 위와 같은 형태의 스테이지 구성이 힘들어져 난이도가 늘쑥 날쑥해지고 플레이어의 이탈이 발생하게됩니다.

플랫포머 게임을 예를 들면 다양한 패턴을 만듭니다.

예를 들어 근접공격, 원거리 공격, 낭떠러지가 있습니다. 각 패턴 마다 앞 전 처럼 점수(기준)를 정하고 그리고 이 패턴들을 정해논 점수를 토대로 몰입 이론을 참고하여 조합을 합니다. 

 

A(2) B(3) C(2) 순으로 근거리, 원거리 , 낭떠러지 으로 대입시키고  A B AB 휴식 C AC BC 휴식 ABC 휴식 이런식으로 상승 하락을 반복하는 난이도를 만들 수 있습니다.

하지만 이게 끝이 아닌 테스트 후 계속 수정해 나갑니다.

 

+ Recent posts