버그 넘쳐났던 에이펙스 레전드 16시즌, 원인은 ‘코드 한 줄’
2023.05.08 16:57 게임메카 김형종 기자
지난 5일 리스폰 엔터테인먼트는 16 시즌 이후 발생한 수많은 시각 효과와 효과음 버그의 원인이 된 코드를 수정했다고 밝혔다. 리스폰 엔터테인먼트는 에이펙스 레전드 공식 포럼을 통해 해당 버그가 단 한 줄의 코드에 의해 발생했음을 밝혔으며, 해당 문제를 찾는 과정도 서술했다.
지난 2월, 16 시즌이 시작된 이제껏 없던 다양한 버그가 생겨났다. 대표적으로 수류탄이 대미지는 입히지만 소리나 시각적 효과가 출력되지 않는 현상이다. 처음 개발진은 수류탄이 사라지는 버그라 생각했으나 이후 총기의 소리와 시각 효과에도 문제가 있었고, 그래서 수류탄이 증발하는 것이 아니라 시각효과와 효과음 출력 문제라 파악했다.
에이펙스 레전드 서버는 한번에 128개까지 각종 효과(FX) 데이터를 처리할 수 있으며, 이 수치를 넘어간 효과는 출력되지 않는다. 개발자 도구를 활용해 50명의 캐릭터가 계속해서 총을 쏘는 상황을 만들자 각종 시청각 효과가 제대로 출력되지 않았다
개발진은 이것에 착안해 시스템적 문제가 있거나, 엔진 한계를 넘어설 정도로 FX 데이터를 보내는 특정 코드가 있는지를 확인 했다. 이 과정은 ‘짚단에서 바늘 찾기’라 표현됐는데, 지금까지 업데이트를 통해 쌓여온 수천 개가 넘는 코드를 일일이 확인해야 했다. 그렇게 조사를 계속하던 중 이 문제가 높은 등급 게이머들 사이에서 유독 두드러진다는 결과도 얻었다.
조사 결과 문제가 되는 한 줄의 코드를 찾았는데, 바로 신 무기 ‘네메시스 버스트 AR(이하 네메시스)’의 입자 표시 중지 코드였다. 네메시스는 쏘면 쏠수록 에너지 미터가 채워지고 사격 딜레이가 줄어드는 총기로, 만약 에너지 미터가 완전히 충전되면 총기 내부에 밝게 빛나는 광선 효과가 보인다. 개발진은 총기를 만들 때 해당 효과가 평소에는 ‘중지’ 명령에 의해 작동하지 않다가, 완충되면 이 중지 명령이 해제되어 효과가 작동하는 방식으로 코딩 했다.
문제는 이 중지 명령이 매 프레임마다, 총을 사용하지 않고 들고만 있어도 내려지도록 설정돼 있었다는 점이다. 일정 숫자의 플레이어가 네메시스를 착용하기만 해도 게임 엔진 연산 범위를 넘어갔고, 이 때문에 각종 시각효과나 효과음이 제대로 출력되지 않았다.
개발진은 지난 2일 업데이트를 통해 문제가 되는 코드를 수정했다고 밝혔다. 제작진은 공지에서 ‘이것이 현재 에이펙스 레전드의 모든 효과 관련 버그를 제거하지는 못하더라도, 최소한 네메시스와 연관된 문제는 없을 것’이라고 했다.