Dev Log #2 – 게임 시스템 설계와 초기 구현
Dev Log #2에서는 Wizsurvive의 핵심 시스템인 전투 시스템, 아이템 시스템, 캐릭터 성장 시스템에 대해 다루어 보려고 합니다. 첫 번째 Dev Log에서 게임의 초기 설정과 엔진에 대한 설명을 했다면, 이번에는 게임의 중추적인 기능을 실제로 구현하며 겪었던 과정과 도전들을 공유하고자 합니다.전투 시스템 설계와 구현게임의 핵심은 무엇보다도 전투 시스템입니다. 뱀파이어 서바이벌 장르의 특성상, 플레이어는 끊임없이 적과 싸워야 하므로 전투의 재미와 전략성이 중요한 요소입니다. 처음에는 단순히 캐릭터가 적을 처치하는 시스템을 구현하려 했습니다. 이를 위해 캐릭터와 적 간의 충돌과 데미지 계산을 설정해야 했습니다.우선, 블루프린트를 사용하여 플레이어의 기본 공격, 스킬, 적의 AI 공격을 설정했습니..
2025.04.28
no image
Dev Log #1 – 언리얼과 함께 시작하는 게임개발
Dev Log #1 – 언리얼과 함께 시작하는 게임개발게임 개발을 시작한 지 얼마 되지 않았지만, 이미 많은 배움과 도전의 순간들이 있었습니다. 예전에 유니티를 사용하며 게임을 개발했던 경험이 있었지만, 이번에는 언리얼 엔진으로 새로운 도전에 나서기로 결심했습니다. Wizsurvive라는 게임을 개발 중인데, 뱀파이어 서바이벌 스타일의 액션 RPG로, 나만의 독특한 게임 시스템을 추가하고자 했습니다. 이 Dev Log에서는 언리얼 엔진을 선택한 이유와 개발을 시작하면서 겪은 첫 번째 경험을 공유해보려 합니다.언리얼 엔진을 선택한 이유처음에는 유니티가 익숙했지만, 언리얼 엔진의 강력한 시네마틱 기능과 고급 그래픽 렌더링 기술을 활용하고 싶었습니다. 특히 언리얼 엔진 5의 Lumen과 Nanite 기술은 게..
2025.04.22
728x90
반응형

Dev Log #2에서는 Wizsurvive의 핵심 시스템인 전투 시스템, 아이템 시스템, 캐릭터 성장 시스템에 대해 다루어 보려고 합니다. 첫 번째 Dev Log에서 게임의 초기 설정과 엔진에 대한 설명을 했다면, 이번에는 게임의 중추적인 기능을 실제로 구현하며 겪었던 과정과 도전들을 공유하고자 합니다.

전투 시스템 설계와 구현

게임의 핵심은 무엇보다도 전투 시스템입니다. 뱀파이어 서바이벌 장르의 특성상, 플레이어는 끊임없이 적과 싸워야 하므로 전투의 재미와 전략성이 중요한 요소입니다. 처음에는 단순히 캐릭터가 적을 처치하는 시스템을 구현하려 했습니다. 이를 위해 캐릭터와 적 간의 충돌데미지 계산을 설정해야 했습니다.

우선, 블루프린트를 사용하여 플레이어의 기본 공격, 스킬, 적의 AI 공격을 설정했습니다. 공격이 적에게 제대로 들어가는지 확인하기 위해 콜리전 시스템을 조정하는 데 많은 시간을 들였으며, 적의 죽음 애니메이션을 추가하여 전투가 더욱 자연스럽게 흐르도록 했습니다.

이 과정에서 가장 중요한 점은 스킬 시스템이었습니다. 여러 가지 스킬을 각기 다른 속도와 데미지로 만들기 위해, 각 스킬의 쿨타임, 발동 조건을 어떻게 관리할지 고민했습니다. 처음에는 단순한 타격 스킬을 만들었지만, 점차 범위 공격, 디버프 스킬 등 다양한 스킬을 추가하며 시스템을 확장했습니다.


아이템 시스템 설계

다음으로 중요한 시스템은 아이템 시스템입니다. Wizsurvive에서는 무기토템 등 다양한 아이템을 통해 캐릭터의 능력치를 강화하고 플레이어의 전투 스타일에 맞게 커스터마이징할 수 있도록 했습니다.

아이템 시스템을 구현할 때 가장 먼저 고려한 점은 아이템의 등급입니다. 일반, 고급, 희귀, 레어 등의 등급을 설정하고, 각 아이템의 특성을 다르게 주는 방식으로 디자인했습니다. 예를 들어, 레어 아이템은 특별한 스킬을 부여하거나 캐릭터의 패시브 능력을 강화하는 식으로, 플레이어가 더욱 전략적으로 아이템을 선택하도록 유도했습니다.

아이템 드랍 시스템랜덤화확률을 기반으로 구현했으며, 이를 통해 플레이어는 각 레벨을 클리어할 때마다 다양한 아이템을 얻을 수 있습니다. 처음에는 간단한 드랍 시스템을 설정했으나, 점차 아이템 퀘스트보상 시스템을 추가하여 더 다양한 형태의 보상을 제공하려고 합니다.


캐릭터 성장 시스템

캐릭터 성장 시스템은 Wizsurvive에서 중요한 부분을 차지하는 요소입니다. 플레이어는 게임을 진행하면서 경험치를 얻고, 레벨업을 통해 스킬 포인트능력치를 강화할 수 있습니다. 초기에는 간단히 경험치 시스템만 구현했지만, 점차적으로 능력치 강화, 스킬 업그레이드와 같은 요소를 추가하면서 시스템을 확장했습니다.

능력치 강화는 플레이어가 레벨업할 때마다 특정 능력치를 강화할 수 있는 방식으로 구성했으며, 이를 통해 HP, 공격력, 스피드 등을 자유롭게 조정할 수 있습니다. 또한, 스킬 업그레이드 시스템은 각 스킬이 레벨업할 때마다 더 강력해지는 방식으로 설계했습니다. 예를 들어, 화염구 스킬은 기본적으로 일정 범위 내 적에게 데미지를 주지만, 레벨업을 통해 넓은 범위, 강화된 데미지를 제공할 수 있도록 했습니다.


게임 시스템 구현의 도전과 해결 과정

이 시스템들을 구현하면서 가장 큰 도전은 시스템 간의 상호작용이었습니다. 각 시스템이 제대로 상호작용할 수 있도록 스킬과 아이템 시스템을 잘 연결하는 것이 중요했습니다. 예를 들어, 특정 아이템특정 스킬의 쿨타임을 줄여주거나, 스킬이 특정 아이템의 능력치를 배가시키는 방식으로 시스템을 유기적으로 연결하려고 했습니다. 처음에는 여러 시스템 간의 충돌이 있었지만, 디버깅과 여러 테스트를 거쳐 안정화시켰습니다.

또한, UI와의 연동도 중요한 부분이었습니다. 아이템을 인벤토리에 추가하고, 이를 UI에서 확인하며 사용하도록 만드는 과정에서 많은 시행착오가 있었고, 아이템 드래그아이템 설명 창이 제대로 작동하지 않는 문제도 있었습니다. 하지만 여러 번의 테스트와 조정을 통해 해결할 수 있었습니다.


앞으로의 계획

게임 시스템의 구현이 어느 정도 마무리되었지만, 아직 많은 작업이 남아 있습니다. AI적 난이도 조정, 그리고 게임 밸런싱을 더욱 세밀하게 다듬어야 합니다. 또한, 멀티플레이어 요소를 고려한 시스템 확장도 계획하고 있으며, 게임의 전반적인 난이도보상 시스템을 최적화하려고 합니다.

다음 Dev Log에서는 AI 시스템멀티플레이어 계획, 그리고 최적화 과정에 대해 다룰 예정입니다. 게임의 기능적 완성도를 높이고, 다양한 시스템을 유기적으로 결합해 나가는 과정이 기대됩니다.

728x90
반응형
728x90
반응형

 

Dev Log #1 – 언리얼과 함께 시작하는 게임개발

게임 개발을 시작한 지 얼마 되지 않았지만, 이미 많은 배움과 도전의 순간들이 있었습니다. 예전에 유니티를 사용하며 게임을 개발했던 경험이 있었지만, 이번에는 언리얼 엔진으로 새로운 도전에 나서기로 결심했습니다. Wizsurvive라는 게임을 개발 중인데, 뱀파이어 서바이벌 스타일의 액션 RPG로, 나만의 독특한 게임 시스템을 추가하고자 했습니다. 이 Dev Log에서는 언리얼 엔진을 선택한 이유와 개발을 시작하면서 겪은 첫 번째 경험을 공유해보려 합니다.


언리얼 엔진을 선택한 이유


처음에는 유니티가 익숙했지만, 언리얼 엔진의 강력한 시네마틱 기능과 고급 그래픽 렌더링 기술을 활용하고 싶었습니다. 특히 언리얼 엔진 5LumenNanite 기술은 게임의 비주얼 퀄리티를 한 단계 끌어올릴 수 있는 잠재력을 가지고 있었기 때문에 큰 매력으로 다가왔습니다. 또한, 블루프린트를 활용한 시각적 스크립팅 시스템이 매우 직관적이어서, 프로그래밍에 대한 부담감을 덜어주고 게임 시스템을 빠르게 프로토타입할 수 있다는 점에서 언리얼을 선택하게 되었습니다.


개발 초기 설정


게임의 기획과 전반적인 시스템 설계를 마친 후, 언리얼 엔진 프로젝트를 생성하고 기본적인 레벨을 구성하는 데 집중했습니다. 처음에는 단순한 플레이어 캐릭터적 AI를 설정하는 것부터 시작했습니다. 플레이어 캐릭터는 블루프린트로 움직임과 공격 기능을 구현했고, 적 AI는 AI 컨트롤러를 이용해 간단한 추적 및 공격 동작을 추가했습니다.

게임의 전투 시스템은 유니티에서 사용했던 방식과 비슷하지만, 언리얼의 컴포넌트 기반 시스템 덕분에 각 기능을 좀 더 세부적으로 관리할 수 있었습니다. 예를 들어, 캐릭터의 스킬 시스템을 설계하면서, 스킬의 종류나 쿨타임 관리 등을 블루프린트로 시각적으로
구현하는 작업이 매우 직관적이었습니다.


UI 시스템 설계


UI는 **UMG (Unreal Motion Graphics)**를 사용해 구현했습니다. 게임의 로비 UI메인 메뉴, 인벤토리 UI 등을 설계하는 과정에서 애니메이션을 추가하여, 버튼 클릭 시 부드럽게 나타나는 효과와 화면 전환 시 매끄러운 애니메이션을 구현했습니다. 언리얼 엔진의 애니메이션 블루프린트Timeline 기능을 활용하여, 버튼이나 텍스트의 애니메이션을 자연스럽게 만들 수 있었습니다. 처음에는 UI 요소들이 불안정하게 움직였지만, 여러 번 테스트 후 안정된 UI 구조를 완성할 수 있었습니다.


배운 점과 첫 번째 도전


개발을 하면서 언리얼 엔진의 콜리전 시스템이나 애니메이션 블루프린트와 같은 부분에서 처음에는 많은 어려움을 겪었습니다. 특히, 플레이어와 적의 충돌 처리나 애니메이션 전환에서 예상치 못한 버그가 발생하곤 했습니다. 예를 들어, 캐릭터의 공격 애니메이션이 끝나지 않으면 공격이 중복으로 발생하는 문제가 있었고, 이 문제를 해결하기 위해 애니메이션 노티피케이션을 사용하여 애니메이션 상태를 정확하게 관리하는 방법을 익혔습니다.


앞으로의 계획


현재는 게임의 AI전투 시스템을 마무리하고, 무기 시스템확률형 아이템 시스템을 구현하는 중입니다. Wizsurvive는 아이템 수집과 캐릭터 성장 요소가 중요한 게임이기 때문에, 무기 업그레이드 시스템토템 시스템을 차례대로 구현해 나가려고 합니다. 또한, 게임의 그래픽 품질을 더욱 향상시키기 위해 언리얼 엔진의 레이 트레이싱을 활용할 계획입니다.

이번 Dev Log에서는 게임 개발의 첫 단추를 꿰어본 과정과 언리얼 엔진의 강력한 기능을 활용한 첫 번째 개발 경험을 다뤄봤습니다. 앞으로의 여정에서는 더 많은 기술적인 도전이 기다리고 있을 것 같지만, 이를 해결하면서 성장하는 과정이 정말 기대됩니다. 다음 Dev Log에서는 게임 시스템 설계UI/UX에 대해 더 구체적으로 다뤄볼 예정입니다.

728x90
반응형