사이드 프로젝트에 떨어진 날벼락
프로젝트가 갑자기 두 배로 커졌다
저는 로스트아크라는 게임을 재미있게 하고 있고, 이걸로 겸사겸사 사이드 프로젝트도 하나 하고 있습니다. 바로 로스트아크 공격대 구성 도우미라는 프로젝트인데요, 6월 중순 정도에 만들어서 공개하려고 했는데… 6월 8일에 갑작스럽게 새 시즌이 발표됩니다.
4년만에 발표된 새 시즌에는 기존과 완전히 달라진 새 시스템이 도입되었는데요, 새 시스템의 이름은 아크 패시브, 도입 날짜는 7월 10일이었습니다. 문제는 “아크 패시브로 전환하는 시점이 개인마다 크게 다를 것”이라는 언급이 있었다는 것입니다. 새 시즌이 되었다고 해서 7월 10일에 모두가 다 같이 새 시스템을 쓰는 게 아니라는 뜻입니다.
로스트아크 공격대 구성 도우미

이쯤에서 제 프로젝트를 살펴보겠습니다. 제가 만든 프로젝트는 한 문장으로 요약할 수 있는데, 캐릭터를 검색해 카드 형태로 만들어서 레이드 공격대를 구성하기 쉽게 돕는 서비스입니다. 좌측 상단의 숫자는 프리셋으로, 공격대 구성을 저장해 놓고 한 번에 로드할 수 있습니다.
로스트아크의 공격대 구성 규칙은 다음과 같습니다.
공격대는 레이드에 따라 4인, 8인, 또는 16인입니다. (스페어를 위해 20인까지 슬롯을 만들어두었습니다)
한 파티는 4인으로만 구성할 수 있습니다. 위 사진에서 같은 번호로 구성된 한 행이 한 파티입니다.
인원이 부족하면 출발할 수 없습니다.
캐릭터 카드 (9월 현재)
캐릭터 카드를 확대해서 살펴보면 좌측 상단부터 아래와 같은 항목으로 구성되어 있습니다.
파티 번호 파티명(커스텀 가능)
파티원 번호 닉네임
레벨
클래스 (아크 패시브가 적용된 경우 주황색)
시너지 효과 및 중요한 캐릭터 특징 (공증 = 공격력 증가, 치적 = 적 치명타 저항 감소)
상세 스펙 카드
엘릭서 상태 / 장비 초월 수치 합
보석 장착 상태 (7멸, 7홍, 8겁, 7작, …)
부위별 장착 장비 및 등급
카드 세트 효과 (세상을 구하는 빛)
전투 레벨, 원정대 레벨
스킬포인트 사용 상태
아크 패시브 적용 상태 및 포인트 현황 (진화, 깨달음, 도약)
시너지: 공격대 구성의 가장 큰 변수

공격대 구성의 가장 큰 변수는 단언컨대 캐릭터간의 시너지라고 할 수 있습니다. 로스트아크의 캐릭터들은 시너지 효과를 가지고 있는데요, 위 캐릭터 카드의 세 번째 줄에 쓰여 있는 것들입니다. 중요하진 않지만 다음과 같은 의미입니다.
치적: 적 치명타 저항 10% 감소 (아군 치명타 적중률 10% 증가)
공이속: 공격속도, 이동속도 12% 증가
끝마: 끝없는 마나 (후술)
치명피증: 공격이 치명타로 적중했을 때 피해량 증가 8%
방깎: 적 방어력 감소 12%
공증: 공격력 증가 6%
정화: 아군에게 걸려 있는 해로운 효과 제거
자신 및 같은 파티원에게(공격대 전체가 아닙니다) 해당 효과가 적용됩니다. 이 효과가 클래스마다 효율이 다르고, 같은 클래스여도 플레이 스타일과 장비 세팅에 따라, 유저마다 원하는 효과가 다를 수 있어 공격대를 구성하면서 고민을 하게 되는 경우가 있습니다. 모든 정보를 알고 있어도 고민이 필요한데, 다른 캐릭터에 대해 알지 못하는 상태에서 공격대원을 모집할 때는 공격대를 어떻게 구성해야 하지 몰라 혼란스러웠던 경험이 있습니다. 공격대 구성 때문에 공격대원이 이탈하는 경우가 있을 정도로 공격대 조합은 생각보다 많이 중요합니다.
어떤 캐릭터가 다른 캐릭터와 같은 파티로 구성되었을 때 비효율적인 시너지 정도가 아닌 역효과가 발생할 수도 있는데, 로스트아크의 시스템이 생각보다 복잡하고 어렵기 때문에 왜 그런지 원리를 이해하기도 어려운 경우가 있습니다. 지금부터 이 서비스를 왜 만들었는지와 어떤 예시가 있는지 자세한 예시를 들어 설명하려고 합니다. (게임을 몰라도 이해하실 수 있게 설명했습니다)
목표: 시너지 자동 최적화
Case 1. 시너지 효율이 떨어지는 경우
(가장 효율이 낮다고 알려진 공격력 증가 6%, 피해 증가 6%와 비교해서)

위 카드에서
브레이커는 피증(피해 증가)
기상술사는 치적(치명타), 공이속(공격속도 및 이동속도)
라는 시너지 효과를 가지고 있습니다. 그런데 치명타 시너지에는 문제가 하나 있는데요, 적의 ‘치명타 저항’을 10%p 깎는 형식으로 작동한다는 것입니다. 수라의 길 브레이커의 입장에서는 주력 스킬 대미지의 치명타 적중 확률이 올라가니 나쁘지 않을 것 같은데요, 수라의 길 브레이커의 캐릭터 설계를 살펴봅시다.
… 수라 상태 진입 시 … 기본 공격이 수라결 기본공격으로 변경된다. 수라결 기본공격은 치명타 적중률의 200% 만큼 피해량이 증가한다. …
수라결 기본공격의 대미지 증가량이 캐릭터의 치명타 적중률에 영향을 받는 설계 때문에 두 가지 측면에서 효율이 떨어지게 됩니다.
치명타 시너지는 수라결 대미지에 영향이 없음
단, 수라결의 치명타 적중률 자체는 올라감
이 설계 때문에 브레이커는 자체 치명타 적중률을 높게 가져가는 세팅이 강제되므로, 이미 자체 치명타 적중률이 90%에 가까움
때문에 수라결이 전체 대미지 비중의 약 50%를 차지하는 수라의 길 브레이커에게 치명타 시너지는 다른 시너지에 비해 효율이 떨어집니다. 이런 경우에 대한 다른 예시로는 상한값을 초과해 적용되지 않는 속도에 관련된 시너지, ‘백/헤드어택 피해 5% 증가 + 피해 증가 4%’ 가 있습니다. 후자의 경우 공격 타입이 백/헤드어택인 일부 스킬에만 적용되어 클래스마다 효율이 달라지게 됩니다.
Case 2. 다른 캐릭터와 역상성인 경우

마나를 회복시키는 두 클래스와, 끝없는 마나(끝마) 클래스가 붙었습니다. ‘끝마’를 이용하는 클래스는 마나를 지속적으로 소모해야(스킬을 끊임없이 사용해야) 하는데요, 아래의 효과가 붙은 장비를 착용합니다.
스킬의 마나 소모 50% 감소, 마나를 소모하는 스킬의 피해 17% 증가
마나가 100%에 도달하면 “마나 중독” 활성화
피해 증가량이 57%로 적용됨
마나 사용 시 최대 마나의 7% 추가 소모
마나가 30%에 도달하면 효과 제거
마나가 30%에 도달하면 “끝없는 마나” 활성화
스킬 재사용 대기시간 43% 감소
공격 및 이동속도 15% 증가
매 초마다 마나 3% 회복
마나가 100%에 도달하면 효과 제거
다소 복잡한 효과인데, 쉽게 말해 마나가 많을(마나 중독) 때는 고정된 양의 마나 소모와 함께 큰 피해를 주게 되고, 적을 때는(끝없는 마나) 마나를 빠르게 회복시키면서 스킬을 마구 난사할 수 있게 됩니다. 이 장비를 장착하고 전투를 진행하면 마나 중독과 끝없는 마나 상태가 계속해서 전환되게 되는데요, 그 어떤 클래스도 마나 회복 때문에 끝없는 마나 상태를 구조적으로 계속 유지할 수 없도록 설계되었기 때문입니다.
다만 이 장비를 사용하더라도 마나 중독 상태에 있다가 끝없는 마나에 진입했을 때 비효율이 발생하는 클래스들은 스킬 사용을 하지 않음으로써 마나 중독 상태를 유지합니다. 반면 “끝마” 클래스는 끝없는 마나의 재사용 대기시간을 활용했을 때 대미지 기댓값이 올라갑니다. 재사용 재기시간의 효율이 특이하게 높은 경우(아르카나)나, 특정 시간에만 압도적인 화력을 뿜어내 이득을(점화 소서리스, 만월 소울이터)보는 경우입니다. 점화 소서리스는 재사용 대기시간이 줄어든 상태에서 스킬을 많이 적중시켜 신비한 마력 게이지를 채우고, 마나 중독 상태에서 신비한 마력 게이지를 사용해 짧은 제한 시간 동안 강력한 대미지를 주면서 다시 끝없는 마나 상태로 진입합니다. 이 상황에서 다른 캐릭터가 순간적으로 마나를 회복시키거나 마나 회복 속도가 크게 오른 상태라면, 끝없는 마나에 진입하기 어려워지고 지속시간이 짧아져 사이클 컨트롤이 어려워져 전체적인 대미지 기댓값이 떨어지게 됩니다.
문제가 없는 경우에 대한 보정
다른 시너지들은 효과나 취향이 거의 비슷하기 때문에 사실상 치명타에 대한 보정이 관건인데, 보정 방법이 문제입니다. 이 최적화를 위해 필요한 데이터가 모든 곳에 흩뿌려져 있기 때문입니다. 스킬 기본 효과는 물론이고, 장착하고 있는 장비, 현재 선택한 스킬의 부가 효과, 캐릭터의 현재 플레이 스타일(각인) 등 계산하기 위한 데이터가 다소 복잡한 편입니다.
예를 들어 한 클래스의 총 치명타 적중률을 파악하려면 스탯, 장착 장비, 시너지 정보, 실질적으로 사용하는 스킬셋 구성 등 모든 정보를 파악해 아래와 같이 합산해야 합니다. 아래는 해당 정보를 많이 간추려 표현한 것입니다. 또 스킬마다 치명타 적중률이 다를 수 있고, 조건부로도 작동할 수 있습니다.
치명 스탯 54 약
2%p
장착 장비 총 치명타 적중률 합
33%p
각인 효과 ‘아드레날린’
15%p
각인 효과 ‘상급 소환사’
16%p
전기 폭풍 스킬 효과 ‘급소 공격’
40%p
위에서 파란 글씨로 표현한 부분이 문제가 되는 부분인데, API상으로 알 수 없는 부분이기 때문입니다. 공통적으로 ‘현재’라는 말이 들어간 걸 보실 수 있는데, API상으로 제공하는 데이터가 마지막 접속 종료 기준의 데이터이기 때문에 현재 장착한 장비의 데이터를 볼 수가 없습니다. 로스트아크의 유저들은 용도별로 여러 장비 세팅을 사용하는 경우가 많은데, 캐릭터를 검색했을 때의 장비가 레이드용이 아닌 경우가 꽤 많기 때문에 해당 데이터로 시너지 최적화를 할 수는 없습니다.
선호도를 조사해 최적화를 하는 방안을 생각 중인데, 시즌 3 출시되고 안정화된 이후에 해야 할 것 같아서 계산하는 일 자체를 후순위로 미뤄 뒀습니다. (아마 유저 풀을 나눠야 할 것 같긴 합니다)
새 시스템, 그리고…
시즌 3의 이 시스템은 실질적으로 1660레벨 이후에 사용할 수 있을 것으로 예상됩니다. 1660레벨 이상의 캐릭터(1520레벨 이상의 캐릭터 중 1660레벨 이상의 비중)는 글을 쓰고 있는 현재 상위 7% 정도로 통계가 잡히는데요, 꽤 높은 레벨이어서 사실상 기존과 새 시스템이 모두 공존해야 합니다.
아무튼 스마일게이트에서도 새 API를 제공해줬습니다….만, 새 시스템 전체에 대한 정보는 미제공인 상태여서 7월 19일 현재 새 시스템을 발빠르게 적용중인 유저들은 아래와 같은 결과만 띄워 주는 정도로 만족해야 하는 상태입니다.

원래는 우측 카드처럼 클래스 앞에 플레이 스타일을 붙여 줘야 하는데, 아크 패시브가 적용된 경우에는 플레이 스타일 또한 새로운 시스템인 아크 패시브로 병합된지라 이 정보를 알 수 없어 플레이 스타일과 플레이 스타일에 따른 시너지, 캐릭터 특성 정보를 모두 제공할 수 없게 됐습니다. 7월 24일에 새로운 레이드가 출시되면서 아크 패시브로 넘어가는 인원이 많아질 예정인 만큼, API가 구현되는 대로 발빠르게 대응 작업을 해야 할 것 같습니다.
++ 8월 28일, 아크 패시브 시스템 ‘도약’ 업데이트가 진행되면서 API가 제공되어 9월이 된 지금은 이렇게 대응한 상태입니다. (진화/깨달음/도약의 각 포인트로 캐릭터의 강함을 어림할 수 있습니다)
아크 패시브를 도입한 캐릭터는 기존과는 다른 특성이 생기거나 기존의 특성을 잃는 경우가 있고, 이는 아크 패시브 트리를 성장시키는 도중에도 지속적으로 변화합니다. 세팅 자체가 매우 다원화되었기도 하고, 공개된 모든 트리를 성장시키기 위해서는 이후의 컨텐츠가 확장되어야 하기 때문입니다.

처음에는 제 기준으로 만들어져 있었지만 유저들의 의견을 받아 어떻게 해야 직관적으로 캐릭터의 스펙을 한 눈에 파악할 수 있을지 지속적으로 개선하고 있습니다. 장착 장비의 세트 효과(악몽)는 전혀 고려하지 않으며, 장비의 티어 구간 시인성이 더 중요하다는 의견에 따라 장착 장비 표기를 아래와 같이 개선한 것이 그 예시입니다. 특히 유물과 고대 장비를 섞어서 장착하는 경우에 고대 장비의 수가 강함을 판별하기에 매우 중요하다는 의견이 많았는데, 고대 장비의 수가 아크 패시브의 개방 여부를 직관적으로 결정하기 때문입니다.

마무리(?)
갑작스럽게 시즌3이 발표되면서 최적화 기능 추가를 못 하고 있는데, 그만큼 다른 쪽 개선을 열심히 해 보도록 하겠습니다. 사실 저도 이 게임을 하드하게 하고 있지는 않고, 새 시스템 쓸 수 있기까지 조금 오래 걸릴 것 같습니다만 제가 쓰려고 만든 만큼 열심히 연구해 보려고 합니다. 여담으로 개발을 하면 할수록 이용하는 서비스들을 설계하고 개발하시는 분들이 저걸 대체 어떻게 만든 거지 생각할 때가 많은데, 그걸 특히 게임 분야에서 느낄 때가 많은 것 같습니다.