AI로 구현하기

마인크래프트 BE 도구 품질 시스템을 다른 장비까지 확장하려면 무엇을 정해야 할까?

도안 2026. 9. 28. 22:00

 

앞선 글에서는 무작위로 결정되는 품질과 특성을 더 편하게 테스트하기 위해 직접 수치를 조절할 수 있는 디버그 설정 기능을 만들었습니다.

 

 

마인크래프트 BE 도구 품질 시스템은 어떻게 원하는 조건으로 바로 테스트할 수 있을까?

앞선 글에서는 두 번의 실패와 세 번째 수정 끝에 공격력, 공격력 비율, 치명타 같은 도구 특성이 실제 전투에 정상적으로 적용되도록 만드는 과정을 정리했습니다. 전투 계산 자체는 이제 원하

buildtheidea.tistory.com

 

 

 

 

원하는 특성이 나올 때까지 계속 도구를 제작하지 않아도 됐고, 공격력이나 치명타 같은 값을 직접 지정한 뒤 바로 실제 결과를 확인할 수 있게 됐습니다.

 

여기까지 오면서 처음 기획했던 도구 품질 시스템의 기본 구조도 어느 정도 안정됐습니다.

검의 공격력과 공격력 비율, 치명타가 실제 전투에 반영됐고, 기존 작업 도구의 품질과 이동 속도, 작업 속도 역시 유지되고 있었습니다.

 

그러자 이번에는 다른 생각이 들었습니다.

지금까지 만든 구조를 도구에만 사용하는 것이 아니라 다른 장비까지 확장해볼 수 있지 않을까?

 

그래서 바로 구현부터 시작하기보다는 현재까지 완성된 시스템을 다시 기획 단계로 가져가, 어디까지 확장할 것인지부터 정리하기 시작했습니다.

 

 

 

 

잘 작동하기 시작하자 더 확장해보고 싶어졌다

처음에는 검과 작업 도구의 품질 시스템을 제대로 작동시키는 것만으로도 해결해야 할 문제가 많았습니다.

  • 품질이 제대로 생성되는지
  • 특성이 Lore에 표시되는지
  • 공격력이 실제 전투에 적용되는지
  • 치명타가 의도한 조건에서만 발생하는지

하나씩 직접 확인해야 했습니다.

여러 번 수정한 끝에 이 기본 구조가 실제 게임에서도 원하는 방향으로 작동하기 시작했고, 테스트를 위한 디버그 기능까지 준비했습니다.

 

이 단계가 되자 새로운 기능을 추가해볼 여유가 생겼습니다.

 

하지만 이미 작동하고 있는 시스템이 많아진 만큼 무작정 코드를 추가하는 것도 위험해졌습니다.

새로운 장비를 지원하려다가 기존 검의 전투 계산을 망가뜨리거나, 기존 품질 아이템이 다시 무작위로 바뀌는 문제가 생길 수도 있기 때문입니다.

 

그래서 이번에는 구현 담당에게 바로 기능을 추가해달라고 하지 않았습니다.

현재 정상 작동 중인 버전을 기준으로 잡고, 기존 기능은 최대한 그대로 유지하면서 무엇을 새로 추가할 것인지 다시 기획했습니다.

 

 

 

 

 

가장 먼저 활과 석궁을 품질 시스템에 넣기로 했다

확장 대상으로 먼저 생각한 것은 활과 석궁이었습니다.

 

검에는 이미


고정 공격력,
공격력 비율,
치명타 확률,
치명타 피해,
이동 속도

 

같은 전투 특성이 존재했습니다.

 

활과 석궁에서도 이 구조를 활용할 수 있다고 봤습니다.

예를 들어 같은 활이라도 품질에 따라 공격력이 달라지거나, 치명타 확률과 피해가 붙는다면 기존 도구 품질 시스템과 비슷한 방식으로 장비마다 차이를 만들 수 있습니다.

 

다만 근접 공격과 발사체 공격은 처리 방식이 같지 않습니다.

특히 화살은 발사한 뒤 적에게 도달하기까지 시간이 있습니다.

공격력이 높은 활로 화살을 쏜 직후 검으로 교체했다고 해서, 날아가고 있는 화살이 새로 든 검의 특성을 사용하면 안 됩니다.

 

 

 

그래서 기획 단계에서부터

화살을 발사한 순간의 활이나 석궁 특성을 저장하고, 화살이 명중할 때 그 값을 사용한다

는 원칙을 정했습니다.

 

멀티샷 역시 여러 화살이 나간다면 각각 명중할 때 치명타를 따로 판정하도록 했습니다.

 

반면 석궁의 폭죽 피해나 활을 당기는 속도, 석궁 장전 속도 같은 요소는 이번 확장 범위에서 제외했습니다.

처음부터 모든 기능을 한꺼번에 넣기보다는 현재 전투 특성 구조와 직접 연결할 수 있는 부분부터 확장하기로 한 것입니다.

 

 

 

 

다음 확장 대상은 갑옷이었다

도구와 활 다음에는 갑옷에도 품질을 적용해보기로 했습니다.

갑옷은 검처럼 공격력을 높이는 장비가 아니기 때문에 새로운 특성 구조가 필요했습니다.

 

기획한 갑옷의 핵심 특성은 두 가지였습니다.

 

방어력과 이동 속도입니다.

투구, 흉갑, 각반, 부츠 각각에 품질과 특성이 생성되고, 착용하고 있는 네 부위의 값을 모두 합산하는 방식으로 잡았습니다.

 

예를 들어 각 부위에 붙은 방어력 특성이

 

투구 +2%
흉갑 +5%
각반 -3%
부츠 +1%

 

이라면 최종값은 각각 따로 계산하는 것이 아니라 모두 합쳐 +5%로 보는 방식입니다.

 

이동 속도 역시 같은 원칙을 사용했습니다.

 

여기에 기존 도구가 가지고 있는 이동 속도까지 더해

현재 손에 든 아이템 + 착용 중인 갑옷 4부위의 이동 속도를 하나의 값으로 계산하도록 기획했습니다.

 

 

 

 

 

방어력은 단순한 숫자 표시로 끝내지 않기로 했다

갑옷에 방어력 +10%라고 수치를 표시하는 것만으로는 충분하지 않았습니다. 이 값을 실제 게임에서 어떤 효과로 연결할지도 정해야했습니다.

 

그래서 합산된 방어력에 따라 실제 효과가 달라지도록 구간을 나눴습니다.

양수 방어력은 일정 수치 이상이 되면 마인크래프트의 저항 효과가 적용되도록 했습니다.

방어력이 더 높아지면 저항 단계 역시 올라가는 방식입니다.

 

반대로 방어력이 음수가 됐을 때는 별도의 패널티가 필요했습니다.

마인크래프트에는 저항의 반대 역할을 하는 음수 저항 효과가 따로 존재하지 않기 때문에, 일정 구간 이하에서는 실제로 받는 피해량을 증가시키는 방식으로 기획했습니다.

 

방어력 특성의 최종 합산값이 높으면 더 높은 저항 효과를 받을 수 있고, 반대로 음수값이 크게 누적되면 받는 피해가 증가하도록 했습니다.

 

이동 속도 역시 최종 합산값에 따라 신속 또는 구속 단계가 결정되도록 했습니다.

갑옷 한 부위만 보는 것이 아니라 현재 착용하고 있는 장비 전체가 하나의 결과를 만든다는 구조를 만들고 싶었습니다.

 

 

 

 

다이아몬드 장비를 네더라이트로 바꿀 때 품질은 어떻게 해야 할까?

확장 기획에서 생각보다 중요했던 부분이 하나 더 있었습니다.

 

바로 다이아몬드 장비를 네더라이트로 업그레이드할 때 기존 품질을 어떻게 처리할 것인가였습니다.

만약 정교 품질의 다이아몬드 검을 네더라이트 검으로 바꿨는데 품질과 특성이 전부 다시 무작위로 정해진다면 기존 장비를 성장시켰다는 느낌이 사라집니다.

 

그래서 정상적인 대장장이 작업대 업그레이드에서는 기존 품질 데이터를 그대로 계승하도록 정했습니다.

 

 

 

 

유지해야 하는 것은 단순히 품질 등급 하나만이 아닙니다.

  • 기존 특성의 종류와 순서
  • 각 특성의 단계
  • 실제로 적용되는 수치
  • 아이템 이름에 사용되는 대표 수식어

까지 그대로 이어져야 했습니다.

 

 

 

예를 들어 날카로운 다이아몬드 검에 정교 품질과 공격력, 치명타 특성이 붙어 있었다면 네더라이트로 승급한 뒤에도 같은 품질과 특성을 유지하면서 날카로운 네더라이트 검이 되어야 합니다.

 

네더라이트가 더 좋은 재료라고 해서 이 과정에서 특성 단계가 자동으로 올라가거나 다시 추첨되도록 하지는 않았습니다.

이번 단계에서의 목적은 강화가 아니라 계승이었기 때문입니다.

 

 

 

 

 

확장을 위해 아이템 내부 데이터도 더 많이 저장할 필요가 생겼다

기존 시스템에서는 실제 게임에 필요한 최종 수치를 중심으로 아이템에 정보를 저장하고 있었습니다.

공격력이나 이동 속도, 치명타 같은 실제 적용값만 있어도 당장 전투를 처리하는 데에는 문제가 없었습니다.

 

하지만 네더라이트 계승까지 생각하자 이것만으로는 부족했습니다.

 

앞으로는

 

  • 품질이 무엇이었는지
  • 어떤 특성이 선택됐는지
  • 어떤 순서로 선택됐는지
  • 각 특성이 몇 단계였는지
  • 대표 수식어가 무엇인지

까지 알아야 했습니다.

 

그래야 장비가 다른 형태로 바뀌더라도 기존 상태를 정확하게 다시 만들 수 있습니다.

 

그래서 이번 확장에서는 단순한 최종 수치뿐 아니라 품질의 원본 정보를 아이템 안에 구조적으로 저장하는 방식도 함께 고려하게 됐습니다.

당장 화면에는 보이지 않는 정보지만, 시스템을 더 확장하려면 필요한 부분이었습니다.

 

 

 

 

 

제작하지 않고 얻는 장비도 고려해야 했다

검이나 곡괭이처럼 제작하는 장비만 생각해서도 안 됐습니다.

활이나 갑옷은 몹에게서 얻거나 전리품 상자에서 발견할 수도 있고, 거래 등 다른 방식으로 들어올 수도 있습니다.

 

특히 사슬 갑옷처럼 바닐라에서 일반적인 제작식이 없는 장비도 있습니다.

그래서 새로운 품질 대상 아이템이 플레이어에게 처음 들어왔을 때 품질 데이터가 없다면 최초 한 번만 품질을 생성하도록 하는 안전장치도 확장 기획에 포함했습니다.

 

한 번 품질이 만들어진 아이템은 버렸다 다시 줍거나, 상자에 넣었다 꺼내거나, 다른 플레이어에게 넘기거나, 인벤토리 위치를 바꾼다고 해서 다시 추첨되어서는 안 됩니다.

 

품질은 아이템이 이동할 때마다 바뀌는 정보가 아니라 그 장비가 처음 가지게 된 상태로 유지되어야 하기 때문입니다.

 

 

 

 

욕심을 내되 이번에 하지 않을 것도 정했다

확장 범위를 정하면서 오히려 중요하게 생각한 것은 이번에 하지 않을 기능을 구분하는 것이었습니다.

기능을 계속 떠올리다 보면 성장, 재련, 강화 같은 시스템도 자연스럽게 생각할 수 있습니다.

 

네더라이트가 더 좋은 재료라면 승급할 때 특성 단계까지 높여볼 수도 있습니다.

활을 추가한다면 당기는 속도를 특성으로 넣을 수도 있고, 석궁 장전 속도도 바꿔볼 수 있습니다.

 

하지만 이번에는 이런 기능을 전부 제외했습니다.

 

현재 목표는 이미 완성된 품질 시스템을 다시 뜯어고치는 것이 아니라

기존 구조를 유지하면서 지원하는 장비 종류와 계승 규칙을 확장하는 것이었기 때문입니다.

범위를 명확히 하지 않으면 새로운 아이디어 하나가 또 다른 기능으로 이어지고, 어느 순간 처음 계획했던 작업보다 훨씬 커질 수 있습니다.

 

그래서 이번 기획에서는 추가할 기능뿐 아니라 추가하지 않을 기능까지 함께 정리했습니다.

 

 

 

 

다시 기획한 내용을 구현 담당에게 넘겼다

이렇게 확장 범위를 정리한 뒤에는 지금까지 사용하던 작업 방식대로 구현 단계로 넘겼습니다.

 

현재 정상 작동하는 기능은 유지하고, 활,석궁,갑옷 품질 시스템과 네더라이트 계승, 신규 데이터 저장 구조를 추가하는 방향으로 인수인계 문서를 정리했습니다.

 

이번에는 단순히 기능 하나를 추가하는 수준이 아니었습니다.

기존 도구 품질 시스템을 기반으로 활, 석궁, 갑옷과 장비 계승까지 포함하는 확장 버전을 만드는 작업이 됐습니다.

 

처음에는 같은 검에도 서로 다른 품질을 만들어보고 싶다는 생각에서 시작했지만, 시스템이 실제로 작동하기 시작하자 적용할 수 있는 범위도 점점 넓어졌습니다.

 

이제 남은 것은 이 기획을 실제 애드온에 옮기는 일이었습니다.

확장 범위가 커진 만큼 기존 시스템을 그대로 유지하면서 새로운 기능까지 제대로 추가할 수 있는지가 다음 확인 대상이 됐습니다.