캐릭터나 몬스터의 Attribute 값들을 데이터 테이블을 이용하여 입력하는데, 이전에 유니티에서는 JSON으로 데이터를 로드했었습니다. config.json으로 데이터 테이블과 같이 변수를 입력하고 플머분들이 LoadJson 메소드를 통해서 가져가서 사용하셨죠. 언리얼도 물론 JSON을 사용할 수 있었지만, 현재 진행 중인 플젝에서는 DT(데이터 테이블)을 사용했기에 그 사용법에 대해서 간단하게 정리하고자 합니다. 엑셀로 파라미터를 행으로 만들어서 입력해줍니다 언리얼에서 프로젝트 폴더 안에 DataTable이라는 폴더를 만들어주고, 해당 폴더 안에 행으로 사용할 엑셀들을 넣어줍니다. 제가 진행 중인 프로젝트는 소울라이크이니 캐릭터와 몬스터에 사용할 AttirbuteInitValues를 넣어줍니다 여기서..
[5일차] 왜 'P의 거짓'에서 캐릭터 점프를 넣었을까? Reference ① P의 거짓 P의 거짓을 처음 플레이하면, 플레이어가 점프하는 법을 배우게 됩니다. 컨트롤러로는 왼쪽 조이스틱 클릭, 키보드로는 스페이스바 인데, 주목해야 하는 점이 있습니다. 바로 "달리면서" 눌러야만 점프를 한다는 점이죠. 즉, 가만히 서있을 때는 점프를 못합니다! 이번 글에서는 P의 거짓에서 점프 시스템을 왜 디자인했는 지 분석해보려고 합니다. 우선 점프 시스템의 디자인 의도를 여러 관점에서 확인해보고자 합니다. 공격 회피 일반적인 전투 게임에서, 점프가 있으면 적의 하단 공격을 회피할 수 있습니다. 그러면 P의 거짓에서도 점프로 적의 하단 공격을 피할 수 있는가? 그렇지 않습니다! 일단 점프는 구르기와 같은 시전 중 무적..
디아블로4의 데미지 공식은 수많은 곱연산으로 이루어"졌었"습니다. Damage Buckets이라고 하죠 스탯, 취약, 제압 등 여러 요소들을 복잡한 방식으로 계산하여 데미지로 환산하는 방식이요! 본 글을 작성할 당시는 시즌2가 열리면서 데미지 공식이 리워크되었고, 기존 Damage Bucket이 삭제되었다는데요. 이전까지 적용되어있던 데미지 버킷과 현재 리워크된 데미지 공식에 대해 다루고자 합니다! 리워크 이전: 데미지 버킷 디아블로4에서는 데미지 버킷을 내세우며 데미지 공식을 설명했습니다. 우선 왜 버킷인가?를 생각해보면 해당 버킷들을 구성할 때는 합연산을 이용합니다. 예를 들어, 취약 버킷을 계산할 때 취약 보너스들의 합산으로 취약 버킷을 구성하고, 이렇게 구성된 여러 버킷들을 곱하여 최종 데미지를 ..
[4일차] 왜 레벨 스케일링 시스템이 필요할까? Reference ① 디아블로4 ② 엘든링 ③ P의 거짓 레벨 스케일링의 장단점 우선 레벨 스케일링 시스템의 장/단점부터 생각해보자면, - 장점 : 플레이어에게 요구되는 학습량을 낮추고 게임의 난이도 곡선을 일정하게 유지할 수 있다는 장점이 있습니다. 만약 이 시스템이 어떤 필드의 몬스터가 얼마나 강한 지 알아야하고, 자신의 레벨이 해당 필드의 몬스터를 잡기에 적합한 지를 직접 부딪히면서 배워야하죠. 디아블로2나 메이플스토리같은 케이스가 있습니다. 반면에 레벨 스케일링 시스템이 있으면 현재의 성장치만 가지고서 게임을 플레이해도 이런 요소들을 학습할 필요가 없죠. - 단점 : 단점은 RPG 게임인데 성장에 대한 재미가 확 떨어집니다. 본인이 성장하기까지의 과..
[3일차] 왜 자동 전투 시스템이 도입됐을까? Reference ① 리니지2M ② 오토체스 RPG게임들이 PC/콘솔 시장에서 모바일 시장으로 변하면서 세밀한 전투가 점점 어려워지기 시작했습니다. 손가락으로 터치하면 화면이 가려지기도 하고, 키보드를 사용할 때보다 피로도도 크거든요 그리고 모바일 유저들 대다수는 직장인들로 게임에 많은 시간 투자를 못하지만 사냥을 통해서 성장을 계속 하고 싶어했죠 전투의 재미를 느끼는 것보다 본인의 캐릭터가 강해지기를 원하다보니 개발자들도 이를 알아채고 "자동 전투" 시스템이라는 어마어마한 파장을 일으킬 시스템을 만들어냅니다. 자동 전투는 몬스터를 한 마리 한 마리 정성껏 잡아대던 전투와는 다르게, 버튼 하나만 누르면 자동으로 공격하고 스킬을 사용하며 몬스터를 사냥하죠. 그..
[2일차] 왜 캐릭터의 전투/비전투 상태 체크가 필요한걸까? Reference ① 메이플스토리 전투 시스템이 있는 게임을 플레이하다보면, 전투 상태를 체크하는 경우를 자주 볼 수 있습니다. 오늘 레퍼인 메이플스토리의 경우 마지막 전투 이후 5초 정도 전투 상태 유지를 하고, 숨을 헐떡이는 듯한 애니메이션을 실행하죠. 그리고 비전투 상태 즉, 평화 상태로 복구되어 기본 Idle 애니메이션을 실행합니다. 다른 전투 기획서들을 볼 때, 캐릭터 상태를 전투/비전투 상태로 구분하는 것을 종종 볼 수도 있죠. 그럼 왜?? 캐릭터 상태를, 그것도 전투 중인 지를 주기적으로 체킹하는걸까요? 여러 의도를 생각해봤습니다! 전투의 집중 (유저 편의성) 2000년대 초반 게임을 생각해봤을 때, 전투 상태를 체킹하는 것은 유저..
정말 재밌게 플레이했던 위쳐3가 에디터를 개발 중이라고 하네요! 스타, 워크 유즈맵처럼 UGC가 엄청 등장할거고, 저도 개발자인 만큼 위쳐3의 리소스로 여러 UGC를 하루빨리 만들어보고 싶네요 :D 위쳐3 에디터는 2024년 출시 예정이라고 합니다.
[1일차] 왜 프롬식 소울라이크에서는 HP 수치를 실시간으로 보여주지 않을까? Reference ① Elden Ring ② P의 거짓 ③ 메이플스토리 ④ 로스트아크 프롬소프트의 소울 게임들과 프롬식 소울라이크 게임을 플레이하다보면, HP를 보여주는 방식이 다른 게임들과는 다르게 조금 특별하다는 것을 알 수 있습니다. 바로, 전투 중에 MaxHP와 CurrentHP를 수치적으로 보여주지 않고 그래픽으로만 보여준다는 점입니다. 또한 캐릭터를 성장시켜 HP 관련 파라미터를 올리면, HP Bar의 길이를 늘리는 것으로 표시하죠. 물론 캐릭터 스탯창에서 구체적인 수치를 확인할 수 있지만, 스탯 창은 화면을 전부 가리는 팝업이기에 전투하면서 확인하는 것은 사실상 불가능합니다. 캐릭터가 몬스터를 공격할 때는 데미지가..
Joy-Stick 일반적으로 캐릭터/카메라의 이동/회전을 위한 인풋 시스템으로 사용된다. Left Joy-Stick : 일반적으로 캐릭터 무브먼트에 사용 / 키보드의 WASD Right Joy-Stick : 일반적으로 카메라 회전에 사용 / 마우스의 인풋 Vertical/Horizontal를 사용하여 축(Axis)의 수직/수평으로 구분한다. 또한, 스틱을 버튼처럼 누를 수도 있으며, 누를 경우에는 StickL/StickR로 인풋을 구분한다. D-pad 상, 하, 좌, 우 4개의 버튼으로 구성 키보드의 화살표키(↑, ↓, ←, →)와 같은 역할 TopButton A : 확인(Check) 버튼으로 자주 사용 B : 취소(Cancel) 버튼으로 자주 사용 X : 아이템 사용(Use) 버튼으로 자주 사용 Y :..
P의 거짓에는 P기관이라는 패시브 스킬 시스템이 있습니다. 게임을 진행하며 "쿼츠"라는 아이템을 수집하고 쿼츠를 사용하며 스킬을 찍는 방식이죠. 1단계부터 7단계까지 있으며, 각 단계별로 4개의 스킬이 있습니다. 각 스킬 별로 하위에 2~4개 보조 스킬이 있으며, 보조 스킬을 모두 쿼츠를 사용하여 찍어야만 패시브 스킬이 활성화됩니다. 보조 스킬에는 공격/생존/능력/아이템 계열이 있어서 이 보조 스킬들도 패시브 스킬 단계에 맞춰서 해금이 되며, 플레이어가 선택할 수 있습니다. 즉, 단계가 올라갈수록 보조 스킬의 선택 영역이 넓어지는 거죠! 인게임에 다양한 전투 방식이 있고, 플레이어가 원하는 전투 방식 혹은 무기에 맞춰서 스킬을 찍으면 되며, 행여라도 잘못 찍었거나 전투 스타일을 변경하고 싶다면 챕터 7에..