2019 우선 과제

안녕하세요,

2018 마지막 패치도 출시 되었고, 정기적으로 개발자 영상 업데이트를 하겠다는 제 임무에도 실패했으므로(블리즈컨 발표도 업로드로 쳐 주나요?), 이번 해 동안 몇몇 분들이 질문하셨던 향후 로드맵과 우선 과제에 관해 답해드리고자 합니다.

제가 전해 드리는 내용은 큰 범위의 업무 위주이며, 모든 작업이 포함되어 있는 것은 아닙니다. 그리고 데이터베이스에서 데이터를 내보내다가 제가 누락한 작업이 있을 수도 있습니다.

여러분이 생각하는 장점, 단점, 누락된 사항 등에 대해 자유롭게 의견을 주시기 바랍니다. 건설적인 의견은 모두 도움이 되니까요. SCR 팀은 소규모 팀이고, 무엇이 가능한지에 대해 최대한 현실적으로 접근할 수 밖에 없다는 점만 양해 부탁드립니다. 모든 것을 우선 과제로 둔다면 우선 과제는 없는 것과 마찬가지니까요. 그러니 가까운 시일 내에 달성할 수 있는 중요한 문제부터 집중하도록 합시다. 우선 순위가 떨어지는 과제들을 돌아볼 기회도 많이 있을 것입니다.

일반적으로 적용되는 ‘재량 사항’ 또한 여기서도 동일하게 적용됩니다. 우선 과제는 바뀔 수 있으며, 진행 일정도 없습니다. 목록에서 빠지는 과제도 생길 수 있으며, 어떤 것도 확실한 것은 없습니다… 모두들 잘 아시죠?

긴 말 필요 없이, 2019년 우선 과제들을 살펴보겠습니다.

[P1] 팀 대전 찾기
[P1] 64비트
[P1] 리그 디비전 확대(조사)
[P1] 리플레이 자동 저장 이름
[P1] 종족 선택(조사)
[P1] 서버 연결 끊김
[P1] 대전 찾기 시스템 알고리즘 개선
[P1] 부드러운 입력

[P2] 연결 끊김 전적 복원(조사)
[P2] 게임 전 대전 팝업에 상대의 등급 노출
[P2] 게임 후 UI 어딘가에 “리플레이 보기” 버튼 추가
[P2] 게임 로비에서 플레이어가 적극적으로 종족을 선택할 수 있게 강제함
[P2] 카운트다운 중 플레이어가 로비를 나갈 경우 게임 시작 취소(조사)
[P2] 게임 중 동맹 팝업에 각 플레이어의 종족 표시
[P2] 설정 메뉴 성능 개선(및 일반 웹 UI 안정성 개선)
[P2] 관전자 비동기화
[P2] 친구 요청 오류 메시지
[P2] 리플레이 중 일꾼 숫자 표시(조사)
[P2] 리플레이 중 유닛 숫자 표시(조사)
[P2] StarLog.gg가 의존하는 웹 통신을 API로 대체

[P3] 특정 맵의 특정 설정에서 미니맵 분리 선 허용
[P3] 일부 또는 모든 게이트웨이 통합
[P3] /stats 명령어로 리그 등급 표시(조사)

[P4] 클랜
[P4] BWAPI

팀 대전 찾기
블리즈컨에서 언급하였듯, 이 기능을 2018 년에 출시하려 했으나 아쉽게도 그러지 못했습니다. 저희 또한 팀 대전 작업을 마무리짓고 싶으므로 2019년 들어 최우선 과제로 진행할 예정입니다. 2대2, 3대3, BGH 등 어떤 모드를 먼저 출시할지는 아직 결정하지 못했습니다. 하지만 팀 대전 찾기의 기초가 완성되고 나면 다른 모드를 만드는 것은 크게 어렵지 않을 것입니다.

64비트
플레이어 대부분에게는 그다지 매력 없는 작업일 것입니다. 하지만 꼭 필요한 작업입니다. Apple 사가 내년에는 32비트 앱을 없앨 예정이기 때문에, 아마도 Microsoft 사도 비슷한 결정을 내릴 것으로 예상됩니다. 이 때문에 2019년에는 단계적으로 64비트 클라이언트를 출시하려고 합니다. 즉 이 일에 많은 시간을 쏟고 있으며, 2019년에도 그렇게 될 것입니다. 제가 블리즈컨에서 언급하였듯, 여러분들이 아직 32비트 Windows를 사용하고 계시다면 이제는 64비트로 바꾸는 것을 생각해 볼 때가 되었습니다(아직 시간이 꽤 남아있지만, 일찍 알고 계시는 편이 좋으실테니까요).

리그 디비전 확대
아직은 등급 카테고리를 더 만들지 말지 조사를 진행하고 있습니다(예: A+, A-, B+ 등). 이를 활용하기로 결정하면 개발 작업으로 변경해 우선 순위도 다시 지정할 것입니다.

리플레이 자동 저장 이름
예전에 한 번 이에 대해 글을 올린 적이 있습니다. 이 기능은 커뮤니티 의견에 따라 적용한 적이 있으나, QA 및 자체 플레이 테스트를 통해 기능을 개선할 수 있을 것 같다는 결론을 도달했습니다. 이에 따라 전체적으로 새롭게 디자인하여 개선된 버전이 현재 QA 확인을 거치고 있습니다. 아쉽게도 시간 관계상 이번 패치에 적용하지는 못했으나, 다음 패치에는 적용할 수 있을 것으로 보입니다.

종족 선택
상대를 보고 등급전 접속을 끊는 행위를 막기로 결정한 지금, 종족 선택이 뜨거운 감자로 떠오르고 있습니다. 이에 관해서는 의견이 나뉘기 때문에 양쪽의 의견을 모두 듣고 결정해야 할 것 같습니다. 민감한 주제인 만큼 커뮤니티 의견을 조사한 뒤 접근 방향을 결정할 예정입니다.

서버 연결 끊김
확실하지 않은 이유로 인해 서버 연결이 끊기는 사례가 있다는 것을 인지하고 있으며, 2018 년부터 조사를 진행하고 있습니다. 좋은 소식은 최근 연결 끊김을 90% 정도 줄였다는 것입니다. 하지만 아직도 끊김 사례가 많이 발생하기에 계속 관련 작업을 진행할 예정입니다.

대전 찾기 시스템 알고리즘 개선
SCR 대전 찾기 시스템 밸런스를 맞추는 것은 응답 시간에 지장을 주지 않는 범위 내에서 최대한 많은 사람들이 한국 플레이어들과 최대한 빨리 대전을 할 수 있도록 하는 것입니다. 개선 가능한 부분이 있다면 한국 쪽과 비교적 양호한 응답 시간을 보이는 플레이어들이 지역을 기반으로 하는 추측 응답 시간이 아닌, 실제 응답 시간을 쓰는 것입니다. 이를 위해 많은 작업을 해야 했습니다만, 조만간 변경사항을 적용할 수 있을 것으로 보입니다. 실제 응답 시간을 사용하게 되면 연결 상태가 좋지 않은 플레이어들이 VPN으로 대전 찾기 시스템을 속여 한국 플레이어들과 끔찍한 환경 속에서 대전을 치루는 것을 막을 수 있습니다. 따라서 전반저긍로 응답 시간이 훨씬 좋아질 것입니다.

부드러운 입력
1.18 버전 출시 이후 SCR에서 입력을 부드럽게 하는 것에 관한 논의가 있었습니다. 많은 분들이 마우스 버튼을 누르는 동안 키보드 입력이 먹히지 않는 것이 시스템의 결함 때문이라고 생각하고 있습니다. 적어도 이전 런처 중 하나는 이렇게 동작하지 않았다고 생각하고 있습니다. 엄밀하게 말하면, 이는 원작 SC 코드가 의도한 바였습니다. 하지만 한국 프로게이머를 포함한 많은 분들께 자문을 구한 결과, 절대 다수가 이 기능이 개선되어야 한다는 의견을 주셨습니다. 사실 이미 코드 변경 작업은 이미 끝났습니다. 남은 건 PTR 환경에 이 코드를 적용해 이를 시험하고 의견을 내줄 사람들에게 제공하는 것 뿐입니다.

연결 끊김 전적 복원
1.18 버전에서 완전히 바뀐 서버 인프라로 인해 연결 끊김 기록을 정확하게 파악하는 기능이 유실되었습니다. 결국 저희는 정확하다고 장담할 수 없는 이 전적을 숨기는 쪽이 낫다는 결정을 내렸고, 몇달 전 연결 끊김 전적이 나타나지 않게 조치했습니다. 하지만 사용자 지정 게임을 할 때에는 이 전적이 좋은 자료가 된다는 것을 파악하고 있습니다(등급전에서는 플레이어의 연결이 끊길 경우 패배한 것으로 간주되기 때문에 크게 문제가 되지는 않음). 따라서 연결 끊김 전적을 정확하게 잡을 수 있는지 여부를 파악한 뒤 사용자 전적 표시 여부를 판단할 예정입니다.

게임 전 대전 팝업에 상대의 등급 노출
게임에 들어가기 전에 상대방의 등급을 테두리 색상으로 나타낼 예정입니다(MMR 표시도 고려 중입니다).

게임 후 UI 어딘가에 “리플레이 보기” 버튼 추가
적용될 경우 방금 진행한 게임의 리플레이를 빠르게 볼 수 있게 될 것입니다.

게임 로비에서 플레이어가 적극적으로 종족을 선택할 수 있게 강제함
적용될 경우 플레이어가 종족 선택을 잊는 일을 방지할 수 있습니다.

카운트다운 중 플레이어가 로비를 나갈 경우 게임 시작 취소
이 기능 도입의 실현 가능성에 대한 조사가 필요합니다.

게임 중 동맹 팝업에 각 플레이어의 종족 표시
상대방의 종족이 뭔지 보지 못했거나 잊어버린 경우를 대비한 기능입니다.

설정 메뉴 성능 개선
설정을 포함한 모든 새로운 메뉴에 CEF(크로미엄 임베디드 프레임워크)가 적용되었기 때문에, 일부 PC에서는 웹 브라우저의 작동 속도가 저하될 수 있습니다. 아직 많은 문제를 일으키고 있는 구 버전의 CEF를 사용하고 있기 때문에 CEF를 업그레이드 할 계획입니다. 이 업그레이드와 다른 여러 노력을 통해 설정 메뉴 성능을 향상할 수 있을 것으로 봅니다. 1.22.2 버전에서 이 최적화 중 일부를 내려 했으나, 빠진 UI에 다른 문제가 있어 출시하지 못했습니다.

관전자 비동기화
간혹 관전자가 다른 플레이어로부터 비동기화 되어 다른 사람들과 다른 화면을 보게 되는 상황이 발생하고는 합니다. 해결하기 쉽지 않은 문제이기에 더 많은 제보를 받을 수 있으면 좋겠습니다. 영상과 리플레이를 제공해 주신다면 큰 도움이 될 것입니다.

친구 요청 오류 메시지
이것은 꽤 간단하지만 중요한 문제입니다. 친구 초대 실패에 대한 오류 메시지가 다소 모호하고 사용자로 하여금 친구 시스템 전반에 문제가 있다고 느낄 수 있기 때문입니다. 따라서 이 부분을 개선하려고 합니다.

리플레이 중 일꾼 숫자 표시
이 기능은 아직 전체적으로 지원 가능한 변경 사항인지,
리플레이 UI에 이 정보를 어떻게 나타낼 것인지
알아내기 위한 조사 단계에 있습니다.

리플레이 중 유닛 숫자 표시
이 기능은 아직 전체적으로 지원 가능한 변경 사항인지,
리플레이 UI에 이 정보를 어떻게 나타낼 것인지
알아내기 위한 조사 단계에 있습니다.

StarLog.gg가 의존하는 웹 통신을 API로 대체
커뮤니티 의견을 존중해 StarLog.gg가 대신 사용할 수 있는 API를 제공하려고 합니다.

일부 또는 모든 게이트웨이 통합
오랫동안 시도해 보고 싶었던 기능 중 하나입니다만, 서버 인프라의 게이트웨이 부분이 전체적으로 1998년식 서버 코드로 되어 있을 뿐만 아니라 SCR, 워크래프트 3, 디아블로 2 모두에 사용되고 있는 상황입니다. 이 때문에 다른 게임에 영향을 주지 않고는 서버를 변경할 수 없었습니다. 이제 워크래프트 3을 다시 개발하기 위한 팀도 꾸려졌고, 디아블로 2 코드베이스 및 업데이트 시스템에 대한 통제 범위도 넓어지면서 현실적으로 이 부분을 개선할 수 있을 것으로 보입니다.

클랜
아직 기능을 도입하기엔 이른 감이 있지만, 구 클랜 시스템을 대체할 수 있는 새로운 클랜 시스템을 만드는 것을 검토하고 있습니다.

BWAPI
이 기능은 항상 작업하고 싶었던 기능으로 20-*!에 꽤 진척이 되기도 하였습니다. 2019년에도 BWAPI에 대한 작업을 계속 이어 나갈 예정입니다.

감사합니다.

Senior Software Engineer
Grant Davies