UE5/Devlog 14

[UE5] Last Bot Standing Devlog - 14

반갑습니다.이번 시간에는 저번시간에 언급한 1인칭 애니메이션을 위한 대대적인 개편에 대한 개발 일지를 작성하려고 합니다.'대대적인'이라는 수식어가 들어간 만큼 많은걸 뜯어 고쳤습니다.기존에 하드코딩되어 있는 부분이나, 작동은 잘되지만 지저분한 부분들을 수정하는 것에 집중한 작업이었습니다.특히, 앞전에 소개한 1인칭 전용 애니메이션 에셋을 제 프로젝트에 이식하는 작업이 대부분이었는데이게 정말 힘들었네요.2주동안 블루프린트들이랑 씨름을 하며 기반을 다지면서 이렇게 글을 쓸 수 있게 되었습니다.1. 애니메이션 작동 파이프라인 설계 언리얼에서 애니메이션 블루프린트(ABP)는 하나의 공장이라고 생각하면 된다.ABP는 인풋 포즈와 아웃풋 포즈 사이 노드들을 연산해 출력하는 단순한 구조이고,ABP에 ABP를 삽입 할..

UE5/Devlog 2026.02.01

[UE5] Last Bot Standing Devlog - 13

반갑습니다.정말 오랜만의 개발일기로 돌아왔습니다.지금껏 개발일기를 쓰지 않고 다른 글을 쓴 이유가 개발에 회의를 느끼거나 그런게 아니라실력적인 부분에서 벽을 느끼고 한계돌파를 위한 시도였다고 볼 수 있겠네요.새해인 만큼 이제는 개발을 더이상 손놓고 있을 수 없어 최근 종강하고 주구장창 프로젝트만 붙들고 있는 나날입니다. 오늘 주제는 개발 방향성과 자잘한 구현 내용을 설명해볼까 합니다.게임의 방향성 프로젝트를 진행하는 어느순간 눈을 감고 달리는 기분이 들었던 적이 있어, 꼭 짚고 넘어가야할 주제라고 다짐한게임의 방향성입니다.제목을 보셨다시피 게임 제목이 바뀌었습니다. 이유는 여러가지인데, 기존 가제가 유치하기도 했고 방향성을 잡을 정식 제목을 채택할 필요성을 느껴, 바꾼 제목이 Last Bot Standi..

UE5/Devlog 2026.01.18

[UE5] Ragdoll Fight Devlog 12 - GameMode, GameState

이번 글은 또다시 GameMode와 GameState를 주제로 쓰게되었다. 저번과 같은 주제로 글을 쓰는 이유는 구현한 내용이 너무 별로였기 때문이다.코드의 유지보수는 커녕, 동작조차 잘 되지 않는 부분이 발견되어서 사실상 다시 갈아 엎고 써야했다.어떤 것보다 구조적 설계가 중요한 게임의 규칙 부분을 주먹구구식으로 구현해버린 것이 문제였다. GameMode와 GameState는 각각 심판과 전광판이라고 생각하면 쉬운데,심판의 판결이 그대로 전광판에 반영되어, 선수들 뿐만아니라 관중들도 게임의 상황을 이해할 수 있듯이,GameMode가 게임의 상황을 판단하고, GameState로 전파하여 플레이어들에게 정보를 제공한다. 이전에 내가 구현한 GameMode의 내용은 겉보기에는 멀쩡하지만, 호출 순서나 코..

UE5/Devlog 2025.09.03

[UE5] Ragdoll Fight Devlog 11 - Gameplay Framework

이번 주는 게임플레이 프레임워크에 관한 내용이다.언리얼 엔진의 게임 플레이 프레임워크에서는 GameMode, GameState , Controller, Pawn 이렇게 4가지가 가장 중요하다. 게임의 전반적인 규칙을 담는 GameMode 클래스,그 규칙을 기반으로 게임의 현재 상태를 관리하는 GameState(PlayerState),플레이어가 직접 제어 할 수있는 액터의 베이스인 Pawn 클래스,그 액터에 빙의해서 플레이어가 직접 제어가 가능하게끔 만드는 Controller 클래스 오버워치의 화물 밀기 경쟁전을 예로 들어보자 5명이 한팀을 이루고, 공격팀은 화물을 목표 지점까지 밀어내야하고, 방어팀은 공격팀이 화물을 미는 것을 저지 해야하는 룰이다.이런 내용은 GameMode 클래스에 담는 것이 적절..

UE5/Devlog 2025.08.24

[UE5] Ragdoll Fight Devlog 10 - First person perspective

이번 주는 제작기라기보다는 1인칭 시점 애니메이션에 대한 공부 기록에 더 가까울 것이다. 3인칭 시점의 기본적인 발사 로직과 애니메이션을 완성하고 나니, 1인칭 시점에서의 구현에 대한 갈망이 생겨났다.나의 게임 제작에 가장 큰 영감을 준 '배틀그라운드' 역시 3인칭과 1인칭 시점을 모두 지원한다.심지어 공식 대회에서는 3인칭 시점의 불합리함을 배제하기 위해 1인칭 시점만으로 경기를 진행한다. 이처럼 시점의 다양성은 일반 유저들에게는 진입 장벽을 낮춰주는 역할을 하고, 형평성이 중요한 대회에서는 시점을 제한하는 등 여러 상황에 유연하게 대처할 수 있는 기반이 된다.또한, 배틀그라운드를 해본 사람들은 알수 있을 텐데 시점 변경을 통한 배틀그라운드만의 전술이 존재하고, 이를 잘해야 게임이 훨씬 유리해진다. 내..

UE5/Devlog 2025.08.17

[UE5] Ragdoll Fight Devlog 9 - Input bug fix & Procedural recoil

이번 주 제작기는 자잘한 버그 픽스와 절차적 반동(procedural recoil) 업데이트에 관한 내용이다.1인칭 시점 추가 여부에 관해서 여러 방법들과 방식에 대해 생각이 많아져 실제 게임 제작에 쓴 시간이 줄었다.시점 추가는 상당히 복잡해서 현재 관련 내용을 공부하는 중이기에 시간이 좀 걸릴 것 같다.1. 인풋 관련 버그 픽스먼저 잔탄수가 없는 상태에서 총을 쏠 때 Fire 입력처리가 되고 있는 사실을 발견했다.구체적으로 말하자면 동시에 두번씩 입력을 처리하고 있었다.먼저 내가 사용하고 있는 Enhenced Input 시스템은 다음 일련의 과정을 거친다.1. IA_Fire 이름의 인풋 데이터 에셋에 트리거 방식을 설정한다.(IA_Fire는 Pulse라는 트리거 방식이고, 이는 해당 키를 누른 채로 ..

UE5/Devlog 2025.08.09

[UE5] Ragdoll Fight Devlog 8 - Level environment

오늘은 기능 구현이 아닌 게임 환경 및 비주얼에 초점을 둔 제작기이다.지난 HUD 구현과 같이 주변 환경과 총기 관련 디자인 변경을 통해 비주얼 업데이트를 진행했다.게임의 완성을 위해서는 목표를 세분화가 필요했고,그 결과 "기본적인 게임 플레이"가 가능해지는 것이 지금 가장 가까운 목표가 되었다.여기서 기본적인 것이라는 것은, 상대를 제거해서 목표점수까지 점수를 얻어내 승리함으로써 게임 종료까지를 말한다.구체적으로 계획한 내용은"1대1 대결 구도, 총 16라운드, 8라운드가 지나면 진영을 변경, 먼저 9라운드를 딴 플레이어가 승리" 이다. 1. 레벨 변경 단기 목표가 생기고 내 게임을 바라보니 일단 맵을 바꿔야 한다고 생각했다.내 게임은 지금까지 기능 구현에만 매몰되어 외적인 것에 소홀히 한 티가 많이 ..

UE5/Devlog 2025.08.02

[UE5] Ragdoll Fight Devlog 7 - HUD

오늘 글의 주제는 HUD, Head Up Display에 관한 내용이다. 영상에서 말한 것처럼, 나는 예전부터 게임에서 HUD가 매우 중요하다고 생각해왔고 지금도 그 생각은 변함이 없다.HUD는 플레이어가 게임 속 보이지 않는 정보를 확인할 수 있는 유일한 창구다.게임 내부에서는 수많은 연산이 이루어지지만, 그중 플레이어가 반드시 알아야 할 정보가 존재하기 때문에 HUD가 필요하다.HUD를 통해 메모리 속에만 있던 숫자와 데이터를 시각화함으로써,플레이어는 캐릭터의 체력, 위치 같은 필수 정보를 직관적으로 이해할 수 있다.결국 HUD는 플레이어가 게임과 소통하는 통로라고 할 수 있으며,자연스럽게 플레이어의 시선이 가장 많이 머무는 요소 중 하나가 된다. 일반적으로 플레이어가 접하는 정보는 인게임 화면과 ..

UE5/Devlog 2025.07.26

[UE5] Ragdoll Fight Devlog 6 - Health Component

오늘 글의 주제는 캐릭터의 부위 별 체력 컴포넌트인, HPComponent 구현에 대한 내용이다. 게임에서 말하는 부위별 체력은 말 그대로 캐릭터의 각 신체 부위가 가지는 고유한 체력을 의미한다. 이는 캐릭터 전체의 체력과는 별개로 관리되며, 캐릭터의 체력이 0이 되었을 때 사망 처리가 되는 것과 달리, 특정 부위의 체력이 0이 되면 해당 부위에 따른 디버프나 부정적인 효과가 발생하는 경우가 많다. 이러한 부위별 체력 시스템을 통해 피격 부위와 데미지를 더욱 세밀하게 구분할 수 있으며, 기존의 단순한 체력 시스템에서 벗어나 다양한 게임 플레이를 제공할 수 있게 된다. 개발에 앞서 기능에 대한 대략적인 구성을 생각나는 대로 적어보았다. 적은 내용을 전부 구현한다기 보다, 해당 기능이 게임에 어떤 작용..

UE5/Devlog 2025.07.19

[UE5] Ragdoll Fight Devlog 5 - Weapon trace

오늘 이후부터 작성 되는 글들은 과거에 작업했던 내용이 아닌, 그 주 혹은 실시간으로 작업한 내용들에 대해 작성한다. 처음부터 그랬어야 됐지만 프로젝트 진행과 기록이 다른 시기에 진행되서 불가피한 부분이었다. (사실 기록만 잘 해놨으면 됐다...) 각설하고 이번 글은 WeaponTrace에 관한 내용이다. 내가 제작하는 게임은 3인칭 슈팅 게임이다. 여기서 ‘3인칭’이란, 플레이어 시점이 아닌 제삼자의 관점에서 캐릭터를 비추는 카메라를 의미한다. 조종하는 캐릭터의 시야가 아니면 모두 3인칭이라 칭하며, 카메라의 위치에 따라 다시 구분된다. 정수리를 비추면 탑뷰, 옆모습을 비추면 사이드뷰, 뒤통수를 비추면 백뷰라고 부른다. 이전 글들을 보면 알 수 있듯이, 내 게임은 백뷰 시점의 3인칭 슈팅 게임이다. ..

UE5/Devlog 2025.07.08