2주 반 동안의 개발 기록
이번 기록은 지금까지 공개한 개발 로그 가운데 가장 큰 규모 중 하나로, 8월 1일부터 17일까지 진행된 작업을 다룹니다. 이 기간의 상당 부분은 게임 경험의 가장 기본적인 요소 중 하나인 자신의 캐릭터와 주변 플레이어의 움직임을 개선하는 데 사용되었습니다.
전투, 특성, 인터페이스, 성능, 런처를 비롯해 플레이어가 일상적으로 사용하는 여러 시스템도 폭넓게 개선했습니다. 내부적으로는 앞으로 콘텐츠를 더 효율적으로 제작하고 문제를 빠르게 해결할 수 있도록 새로운 세대의 자체 개발 도구를 만들기 시작했습니다.
다른 플레이어의 움직임을 완전히 개편했습니다
이번 기간에 가장 많은 노력을 기울인 작업은 다른 플레이어의 움직임이 자신의 화면에 어떻게 표시되는지 조사하고 개편하는 것이었습니다.
두 개의 클라이언트를 동시에 분석하여 양쪽에서 전송하고 수신하며 화면에 표시하는 정확한 위치와 시간 정보를 기록했습니다. 이를 통해 회피 후 다른 플레이어가 미끄러지거나 갑자기 위치를 변경하는 문제, 점프가 목적지에 도달하기 전에 끝난 뒤 마지막 순간에 위치가 보정되는 문제, 이동 스킬이 제자리에서 재생된 후 캐릭터가 순간이동하는 것처럼 보이는 문제, 뒤로 걸을 때 이동 경로가 어긋나는 문제를 조사할 수 있었습니다.
이러한 현상은 여러 문제가 동시에 작용하면서 발생하고 있었습니다. 각각의 증상을 따로 수정하는 대신, 네트워크로 전달된 정보를 사용해 클라이언트가 다른 플레이어의 움직임을 재구성하는 방식을 전면 개편했습니다.
이제 회피는 올바른 목적지에 훨씬 가까운 위치에서 종료됩니다. 다른 플레이어의 점프는 정확한 위치에서 시작되고 전체 궤적에서 속도를 유지하며 착지 애니메이션으로 자연스럽게 전환됩니다. 캐릭터가 착지 자세로 멈춘 상태에서 계속 미끄러지는 현상이 사라졌으며, 뒤로 이동할 때 눈에 띄게 경로가 어긋나던 문제도 수정되었습니다.
Scamper처럼 캐릭터를 이동시키는 스킬도 주변 플레이어에게 정상적으로 표시됩니다. 더 이상 제자리에서 스킬을 사용한 뒤 최종 위치로 갑자기 이동하는 것처럼 보이지 않습니다.
전투 시간과 상태 효과
움직임을 조사하는 과정에서 전투 시간과 상태 효과에 관련된 여러 문제도 발견했습니다.
넉다운, 공중 띄우기와 기타 군중 제어 효과가 서버에서 의도한 것보다 약 10% 일찍 종료되고 있었습니다. 이로 인해 효과가 끝나기 전에 플레이어가 행동할 수 있는 짧은 시간이 발생했습니다. 이제 모든 지속시간이 일관되게 적용됩니다.
피격 반응은 의도된 행동 제한을 정상적으로 적용하며 더 이상 일찍 취소할 수 없습니다. 사용을 막아야 하는 상태 효과가 적용된 동안 일부 스킬을 사용할 수 있었던 상황도 수정했습니다.
특정 이동 스킬을 사용한 직후 다른 플레이어가 사용하는 다음 스킬이 더 낮은 애니메이션 트랙으로 전환되던 문제도 수정했습니다.
스킬이 거부되거나 취소되더라도 특성의 재사용 대기시간이 정확하게 동기화됩니다. 이전에는 표시되는 시간이 실제 상태와 달라질 수 있었으며, 인터페이스에서 사용할 수 있다고 표시되는 순간 스킬 사용에 실패하는 경우가 있었습니다.
가드, 회피와 연계 공격
가드에도 여러 중요한 수정 사항을 적용했습니다. 스태미나가 부족하거나 캐릭터가 행동할 수 없어 서버에서 가드를 거부하면 클라이언트가 즉시 해당 정보를 받습니다. 이전에는 서버가 가드를 이미 취소했는데도 캐릭터가 화면에서 계속 가드 자세를 유지할 수 있었습니다. 보스에게 여러 차례 공격받은 후 가드가 갑자기 작동하지 않는 것처럼 보였던 원인이 바로 이 문제였습니다.
걸으면서 가드를 올리거나 내릴 때 애니메이션이 갑자기 바뀌지 않고 자연스럽게 전환됩니다. 가드를 올리는 즉시 스태미나 소모량도 게이지에 반영됩니다.
회피는 애니메이션이 끝나는 순간 정상적으로 종료됩니다. 캐릭터가 이미 일어났는데도 잠시 행동할 수 없었던 추가 지연이 제거되었습니다. 회피를 이용해 피격 반응을 잘못 취소할 수 있었던 문제도 수정했습니다.
PvP에서 한 스킬을 다음 스킬로 연결할 수 있는 시간이 의도한 것보다 짧게 적용되고 있었습니다. 기대한 전투 흐름을 복원하기 위해 이 시간을 2초로 늘렸습니다.
기본 공격 연계 중 입력한 스킬이 무시되지 않고 더욱 안정적으로 대기열에 등록됩니다. 이 문제는 super 또는 upper 공격 이후 스킬을 연결할 때 특히 눈에 띄었습니다.
이제 모든 무기 유형이 회피 후 정상적으로 다음 공격을 이어갈 수 있습니다. 이전에는 검, 둔기와 활에서만 올바르게 작동했습니다. 창, 양손검, 양손도끼, staff와 쌍수 무기는 회피가 완전히 끝날 때까지 캐릭터가 행동하지 못하는 경우가 있었습니다.
물약이나 음식을 사용하거나 붕대를 감는 동작이 관련 없는 자세 변경으로 인해 갑자기 중단되지 않습니다.
다른 플레이어의 방패가 전투 중 보이지 않거나 무기가 손과 등에 동시에 표시되던 장비 관련 시각적 문제도 수정했습니다.
특성, 재사용 대기시간과 버프
5월 중순부터 47개의 서로 다른 버프 피해량을 조용히 0으로 만들고 있던 문제를 찾아 수정했습니다.
여기에는 플레이어들이 원소 다이아몬드라고 부르는 원소 보석 중첩 효과의 마지막 폭발도 포함되어 있었습니다. 중첩은 정상적으로 쌓이지만 마지막 타격에서 피해가 발생하지 않았다면 이 문제가 원인이었습니다. 이제 마지막 효과가 정상적으로 피해를 줍니다.
Flame Pillar와 Flame Tornado의 재사용 대기시간을 줄여야 하는 Sorcerer의 패시브 효과가 반대로 적용되어 오히려 시간을 늘리고 있었습니다. 이제 효과가 올바르게 작동합니다.
실제 지속시간보다 항상 1초 길게 표시되던 재사용 대기시간도 수정했습니다.
다른 스타일의 스킬에 필요한 Style Mastery 조건이 이미 요구 사항을 충족한 캐릭터에게도 항상 빨간색으로 표시되고 있었습니다. 이제 조건 충족 여부가 정확하게 표시됩니다.
커플 댄스와 새해 인사처럼 구매해야 하는 제스처 아이템은 캐릭터가 실제로 보유한 경우에만 행동 단축바에 등록할 수 있는 항목으로 표시됩니다. 이전에는 보유하지 않은 제스처가 등록 가능한 것처럼 표시된 뒤 혼란스러운 메시지와 함께 거부되었습니다.
특정 유형의 버프에서 두 번째 효과가 적용되지 않고 사라지던 문제도 수정했습니다.
Elemental Solvent
무기에 적용된 원소 인챈트를 다른 원소로 교체하지 않고 제거하고 싶은 플레이어는 이제 Elemental Solvent를 사용할 수 있습니다.
이 돌을 사용하면 현재 원소 인챈트가 제거되고 무기가 인챈트되지 않은 상태로 돌아갑니다. 성공 확률 판정은 없으며, 돌 자체 외에 추가 gold 비용도 필요하지 않습니다.
행동 단축바와 인터페이스 개선
행동 단축바에 영향을 주던 두 가지 문제를 수정했습니다. 두 번째나 세 번째 페이지에 스킬 또는 아이템을 배치했을 때 첫 번째 페이지에 등록되던 문제와 스킬 등급을 올린 뒤에도 이전의 낮은 등급이 교체되지 않고 남아 있던 문제가 해결되었습니다.
아포스트로피가 포함된 채팅 메시지가 아무런 안내 없이 사라지던 문제를 수정했습니다.
로딩 화면에 이동할 지역의 이름이 표시됩니다.
Find a Party 기능을 복구했습니다. 이전에는 이용 가능한 파티가 표시되지 않았으며 파티 검색 기능 전체가 작동하지 않았습니다. 파티 목록, 가입 요청, 플레이어 수락과 파티 탈퇴 과정이 이제 처음부터 끝까지 정상적으로 작동합니다.
친구가 접속했을 때 캐릭터 이름만 표시되던 알림이 이제 완전한 문장으로 표시됩니다.
어떤 텍스트 입력란에서든 글을 작성하는 동안 캐릭터가 움직이지 않습니다. 이 수정은 채팅, Trade Market 검색, 우편, 길드 공지와 게임 내 다른 텍스트 입력란에 모두 적용됩니다.
지면 지정 스킬 조준
Meteor와 Cleric의 지정 치유처럼 지면을 대상으로 사용하는 스킬을 이제 모든 방향으로 정확하게 조준할 수 있습니다.
이전에는 화면 모서리 근처까지 조준 표시를 이동할 수 없었으며, 커서가 멀어질수록 조작이 점점 무거워졌습니다. 스킬 사용을 시작하면 카메라가 고정된 각도로 강제로 이동하는 문제도 있었습니다.
이러한 제한을 모두 제거했습니다. 조준 표시는 사용 가능한 영역 전체에서 일정하게 움직이며, 카메라는 플레이어가 선택한 각도를 그대로 유지합니다.
Arena와 예정된 이벤트
Arena 대기열 인원이 해당 버튼보다 한 줄씩 어긋나 표시되어 각 버튼에 다른 활동의 인원수가 나타나고 있었습니다. 이제 올바른 활동과 일치하도록 수정되었습니다.
예정된 Capture the Flag 이벤트가 아무런 응답 없이 모든 참가 신청을 거부하던 문제도 수정했습니다.
Cash Shop 미리보기와 가격
Cash Shop의 미리보기 버튼이 현재 판매 중인 588개 상품에서 모두 정상적으로 작동합니다.
방어구, 무기, 패키지와 lucky box의 내용물을 미리 확인할 수 있습니다. 하나의 상자에서 여러 의상이 나올 수 있는 경우 가능한 모든 외형을 차례로 살펴볼 수 있습니다.
패키지 할인도 표시 가격에 정상적으로 반영됩니다. 구매 시에는 이미 올바른 할인 금액이 청구되고 있었지만 상품 페이지에는 원래 가격이 계속 표시되고 있었습니다.
Bank와 Trade Market
Bank의 프리미엄 탭 2와 3을 정상적으로 잠금 해제할 수 있습니다.
Bank에 보관된 인챈트 장비가 기본 능력치만 표시하지 않고 실제 능력치를 올바르게 표시합니다.
이전에는 아무런 동작도 하지 않던 Reset Interface 옵션도 다시 작동합니다.
Trade Market 검색 결과에 등록할 수 없는 아이템이 더 이상 표시되지 않습니다. 수정된 클라이언트를 사용해 거래 불가 아이템을 시장에 등록하지 못하도록 서버 검증도 추가했습니다.
지역 이동 성능
지역을 이동할 때 주변 NPC가 범위에서 벗어나면서 클라이언트에서 완전히 제거되어 400밀리초 이상의 멈춤 현상이 발생할 수 있었습니다.
이제 범위를 벗어난 NPC는 재사용 가능한 상태로 보관됩니다. 플레이어가 돌아오면 처음부터 다시 생성하지 않고 즉시 복원할 수 있습니다. 이를 통해 지역 이동 중 발생하던 멈춤 시간을 이전의 일부 수준으로 줄였습니다.
혼잡한 전투의 성능 개선
파티클 효과와 애니메이션 업데이트가 순차적으로 실행되지 않고 여러 CPU 코어에서 처리됩니다. 많은 효과가 활성화되는 혼잡한 전투와 장면에서 프레임 속도가 눈에 띄게 개선됩니다.
다수의 NPC가 참여하는 장시간 전투에서 성능을 지속적으로 저하시키던 메모리 누수도 수정했습니다. 심각한 경우 약 30분 동안 전투한 뒤 게임이 초당 약 1프레임까지 떨어질 수 있었습니다.
NPC 근처에 클라이언트를 장시간 방치했을 때 발생하던 별도의 메모리 누수도 수정했습니다. 얼굴 애니메이션 정보가 해제되지 않고 계속 쌓이면서 밤사이에 성능이 초당 250프레임에서 약 30프레임까지 감소할 수 있었습니다. 이제 해당 정보가 정상적으로 정리됩니다.
전투 중에만 발생하던 지연 현상은 조준 표시 검사와 텍스처 로딩이 같은 자원을 두고 경쟁하면서 발생하고 있었습니다. 이 문제를 수정했습니다.
혼잡한 전투에서 전투 효과음이 배경 음악을 중단시키던 문제도 해결되었습니다.
시각적 개선
빛나는 보석과 유사한 효과가 적용된 자체 발광 장비가 카메라 각도에 따라 깜빡이거나 어두워지지 않습니다.
환경 반사를 개선하여 지나치게 평면적이거나 흐리게 보이지 않고 원작의 렌더링에 더욱 가까워졌습니다.
멀리 있는 나무 울타리의 빛을 받는 가장자리가 안정적으로 표시되지 않고 깜빡이던 문제를 수정했습니다.
높은 그래픽 설정에서 오브젝트가 카메라와 너무 가까운 거리에서 낮은 세부 단계로 변경되던 문제를 수정했습니다. 이제 의도한 거리에서 세부 단계가 전환됩니다.
나무와 식물의 조명, 표시 거리와 세부 표현을 개선하여 원래 엔진의 모습에 더 가까워졌습니다. 기존 나무 렌더링 라이브러리를 완전히 교체하는 작업과 함께 이러한 개선을 계속 진행할 예정입니다.
런처 개선
다운로드가 중단되면 즉시 멈추고 다시 실패할 수 있는 수동 재시도를 요구하는 대신, 점차 긴 간격을 두고 자동으로 다시 시도합니다.
대규모 설치 파일은 수백 개의 작은 부분이 아닌 더 적은 수의 큰 부분으로 나누어 다운로드됩니다. 이를 통해 진행 표시줄과 남은 시간 예상도 더욱 안정적으로 표시됩니다.
런처가 이미 실행 중일 때 두 번째 빈 창이 열리던 문제와 한 번의 실행 과정에서 관리자 권한을 두 차례 요청할 수 있었던 문제를 수정했습니다.
게임 실행에 더 이상 관리자 권한이 필요하지 않습니다. Play 버튼도 이에 맞게 수정되어 불필요한 권한 상승 없이 게임을 정상적으로 실행합니다.
Linux에서 Wine 또는 Proton을 통해 게임을 실행할 때 발생할 수 있었던 런처 충돌도 수정했습니다.
새로운 개발 도구
내부적으로 첫 번째 세대의 전용 자체 편집 도구를 개발하기 시작했습니다.
독립 실행형 효과 편집기를 통해 결과를 즉시 확인하면서 시각 효과를 제작하고 조정할 수 있습니다. 기존 외부 나무 렌더링 라이브러리를 교체하기 위한 새로운 나무 편집기 개발도 시작했습니다. 벽이나 바닥의 충돌이 누락된 지역을 찾아 수정하기 위한 충돌 편집기의 첫 번째 버전도 제작하고 있습니다.
이러한 도구는 플레이어에게 직접 보이지 않지만 프로젝트의 미래를 위한 중요한 투자입니다. 앞으로 새로운 콘텐츠를 제작하고 문제를 조사하며 수정 사항을 적용하는 과정을 더욱 효율적으로 만들어 줄 것입니다.
다음 단계
Dev Log #10을 통해 Client Alpha의 현재 개발 상황을 모두 정리했습니다. 이번 기간에 완료된 작업은 움직임, 전투 반응성, 안정성, 성능과 플레이어가 매일 사용하는 다양한 시스템을 개선합니다.
앞으로도 모든 플레이어가 개별적인 기술 변경 사항을 직접 찾아보지 않고 RaiderZ Global의 발전 과정을 확인할 수 있도록 이번과 같은 형태로 개발 소식을 계속 공유하겠습니다.