게임 속 상호작용 분석 (Minecraft)

Sungchan Ahn(안성찬)·2024년 8월 16일

내일배움캠프

목록 보기
7/104

게임을 하나 선정하여 게임 내 특정 상호작용의 동작이나 구조에 대해 생각해보고자 한다.
스스로 조사하여 생각해보고 팀원과 공유하는 방식으로 진행하였다.

1. 게임 선정 - Minecraft

팀원과 모여서 각자 해봤던 게임을 적고 최종적으로 마인크래프트를 선정하였다.

2. 장르

샌드박스(Sandbox), 서바이벌(Survival)

3. 분석하고자 하는 시스템

  • 마법 부여대를 이용한 마법부여(Enchanting)
    마인크래프트에서는 도구나 무기, 갑옷 등의 아이템에 특별한 효과를 적용하는 마법부여(Enchanting)(이하 인챈트)가 존재한다. 나는 마법부여대를 이용하여 아이템에 인챈트가 되는 과정을 주목하여 분석해보고자 한다.

4. 분석

4-1) 인챈트에 필요한 요소

마법 부여대(Enchanting Table) : 인챈트를 위한 가구

책장 : 마법 부여대 주변에 설치하여 개수에 따라 부여 가능한 인챈트 레벨을 높이는 역할

인챈트 하고자 하는 아이템 : 무기나 도구, 장비, 책 등

청금석 : 인챈트 시 소모되는 아이템

플레이어 레벨, 경험치 : 인챈트 비용

4-2) 마법 부여대(Enchanting Table)를 이용한 인챈트 과정

마법 부여대를 이용한 인챈트 과정을 먼저 간단히 살펴보면 다음과 같다.

  1. 마법 부여대를 중앙에 두고 x5 - y2 - z5 공간에 책장을 설치한다. 이때 마법 부여대와 책장 사이는 비어있어야 한다.
  2. 마법 부여대에 아이템과 청금석을 넣는다.
  3. 인챈트 옵션을 확인한다. 옵션은 3단계로 나뉘고 아래로 갈수록 좋은 옵션이 나올 확률이 증가한다. 인챈트 옵션은 가능한 옵션 중 한 가지만 보여준다.
  4. 마음에 드는 옵션을 선택하면 해당 옵션에 필요한만큼 청금석과 경험치가 소모되고 인챈트된 아이템은 플레이어 인벤토리에 들어온다.

4-3) 인챈트 과정 분석

실제 동작과는 다르겠지만 어떤 동작들이 들어가는지 조사하고 생각해보았다.

Image1. Enchanting Interface
https://minecraft.wiki/w/Enchanting_Table

1. 상호작용 및 UI
플레이어가 마법부여대를 우클릭하면 Image1과 같은 인챈트 UI창이 나타난다.
① 인챈트하고자 하는 아이템을 넣는 슬롯(왼쪽)
② 청금석을 넣는 슬롯(오른쪽)
③ 인챈트 옵션이 표시되는 GUI
④ 플레이어 인벤토리

2. 인챈트 요소 배치 및 요구 사항

  • 아이템 슬롯①에 인챈트 가능한 아이템(검, 곡괭이, 신발, 책 등)을 넣는다.
  • 청금석을 슬롯②에 배치한다. 이때 필요한 청금석의 수는 적용되는 인챈트 단계에 따라 다르게 요구된다. 위에서부터 아래로 각각 1, 2, 3개의 청금석이 소모된다.

3. 인챈트 옵션 생성

3.1 인챈트 레벨 계산
인챈트 옵션이 표시되는 GUI는 3단계로 구분된 슬롯이 있고 각 슬롯은 서로 다른 레벨을 나타낸다. 인챈트 레벨이 높을수록 높은 수준의 인챈트 옵션이 나올 확률이 증가한다. 이때 마법 부여대 주변의 책장 개수에 따라 인챈트 가능 레벨이 달라지는데 최대 15개의 책장이 영향을 준다. 책장이 많을수록 인챈트의 잠재 레벨에 보너스를 부여한다. 책장이 15개일 때 30레벨에 선택 가능한 옵션이 표시된다.

3.2 인챈트하고자 하는 아이템의 종류 확인
각각의 아이템마다 부여할 수 있는 인챈트 옵션과 인챈트 옵션이 부여되는 정도가 다르다.
ex) 투구 아이템에 부여할 수 있는 옵션이 신발 아이템에는 부여할 수 없는 경우
ex) 금 아이템이 다이아몬드 아이템보다 더 쉽게 높은 수준의 옵션이 나오는 경우
때문에 플레이어가 마법 부여대에 넣은 아이템이 어떤 종류인지 확인한다.

3.3 동시에 부여될 수 없는 인챈트 옵션 확인
하나의 아이템에 동시에 부여될 수 없는 옵션이 존재하기 때문에 이를 고려해야한다. ex) 행운 - 섬세한 손길

3.4 인챈트 희귀도
인챈트 옵션마다 단계(레벨)이 존재하는데, 높을수록 더 희귀하다.
ex) 효율 I ~ V, 내구성 I ~ III
각각의 인챈트 옵션마다 가중치를 부여하여 희귀도의 차이를 준다. 어떤 옵션은 보다 자주 나타나게 된다. ex) 행운 옵션보다 효율이나 내구성 등의 옵션이 더 자주 나온다.

3.5 시드 생성 및 옵션 표시
시드는 플레이어의 경험치 레벨, 아이템 종류, 월드 시드에만 영향을 받는다. 플레이어의 레벨에 따라 인챈트 옵션이 확장되고, 아이템 종류별로 인챈트 옵션이 결정되고, 월드 시드는 월드(세계)마다 다른 결과가 나오도록 한다.
위의 여러 요소를 고려해 시드를 적용, 인챈트 목록을 필터링하고 가중치 계산과 함께 유사난수생성기(pseudorandom number generator, PRNG)를 이용해 무작위 옵션을 결정한다. 이때 시드는 PRNG를 초기화하는 역할을 한다.
인챈트 레벨 수준에 따른 인챈트 목록이 생성되면 각 단계별로 필요 레벨과 청금석 소모량, 부여되는 인챈트 옵션 중 1개(나머지는 가려짐)를 GUI(③)로 보여준다.
// 시드는 각 아이템 종류별로 생성되는데, 플레이어가 인챈트를 선택하여 적용하면 시드가 초기화되고 인챈트 옵션을 새로 생성한다.
시드 예시
아래의 <표 1>처럼 세 아이템의 옵션을 확인만 하고 인챈트를 하지 않았을 때, 처음의 다이아몬드 검과 다른 다이아몬드 검을 넣었을 때도 다이아몬드 검의 인챈트 목록이 표시된다. 각 아이템 별로 시드가 생성되어 있는데 인챈트를 하지 않으면 시드가 유지가 되고, 인챈트를 했을때는 플레이어 레벨 등이 변하기 때문에 시드가 바뀌게 되어 새로운 옵션을 생성하게 된다.

아이템 종류생성된 인챈트 목록
다이아몬드 검1단계 옵션a, 2단계 옵션b, 3단계 옵션c
철 검1단계 옵션d, 2단계 옵션e, 3단계 옵션f
다이아몬드 신발1단계 옵션g, 2단계 옵션h, 3단계 옵션I

<표 1>. 인챈트 목록 예시

4. 플레이어 인챈트 선택 상호작용
플레이어가 표시된 3가지 목록 중 하나를 선택하면 필요한 양의 플레이어 경험치와 청금석을 소모한다.
선택된 옵션을 아이템에 적용, 인챈트된 아이템은 보라빛을 띄는 애니메이션이 적용되어 플레이어 인벤토리로 들어간다.

5. 직접 분석해본 내용 중 가장 핵심이 되는 구성 요소는 무엇이라 생각하나요?

인챈트 옵션 생성 부분이 내가 생각한 인챈트 과정의 핵심이라고 생각한다. 인챈트 옵션을 결정하기까지 고려해야 할 부분이 많기 때문에 인챈트 결과에 대해 예측할 수 없다는 점이 플레이어에게 더 도전하게 만들게끔 자극을 줄 수 있다고 생각한다.

profile
게임 개발 기록

0개의 댓글