이터널리턴 밸런스 게임

이터널리턴 밸런스게임은 게임 “이터널리턴”에서 일어나는 다양한 상황에 대해 극과 극의 선택지를 두어, 둘 중 하나를 선택하는 게임이다.
나는 여기서 “어? 나는 A라는 선택지를 골랐는데, 넌 B를 골랐네?”와 같이 서로의 선택에 대해 이야기를 나누는 커뮤니티적인 요소를 좀 더 추가하고 싶다.
그리고 아마 이터널리턴 유튜버들이 방송을 해준다면 더 좋지 않을까..?

이터널리턴?

이터널리턴은 배틀로얄, MOBA, 서바이벌이 융합된 새로운 형태의 게임이다. 3명이 한 팀으로, 최대 8팀이 경쟁하게 된다.
그 과정에서 여러 갈등상황이 생기게 되는데, 그 상황을 가지고 선택지를 만들어 밸런스게임을 만들고자 한다. (ex. 1일차 시작 스폰 위치를 학교로 할까 소방서로 할까?)

기획 고민

스팀 로그인했을 때, 그 사용자의 이터널리턴 게임 계정을 연동하고 싶다

그렇게 함으로써 구현하고 싶었던 것

난 여기에 커뮤니티적 요소를 추가해서 사람들이 선택지를 고른 후, 본인들의 선택지에 대해 댓글로 이야기를 나누고(싸우고?) 랭킹(티어)에 따라 상위 n% 유저들은 이런 선택을 했다더라 하는 통계를 내보고도 싶었다.

그를 위해선 이터널리턴이 스팀 로그인과 카카오 로그인만을 지원하기 때문에 스팀 로그인을 했을 때, 로그인한 스팀 계정을 가지고 이터널리턴의 게임 계정에 접근해야 했다.
예를 들자면, 내 스팀 로그인 계정의 닉네임은 github지만, 이터널리턴의 게임 계정은 스팀과는 별개인 youtube인 것이다.

어려운 점: 스팀 로그인과 userNum

이터널리턴에서 스팀 로그인을 했을 때 어떤 과정을 거쳐 로그인되는지 크롬에서 네트워크를 조금 뜯어봤다. 그랬는데 과정은 집현전에서 42API를 통해 로그인하는 과정과 똑같았다(OAUTH2).
거기까진 좋은데, 문제는 스팀 로그인으로 얻은 정보를 가지고 이터널리턴 내부에 있는 유저 DB와 정보를 매칭해서 로그인한 사람의 데이터를 가져와야하는데 어떻게 이터널리턴의 DB에 접근하는지였다.

이와 같은 고민을 하신 분이 이터널리턴 개발자 디스코드 채널에 “스팀 로그인을 했을 때, 이터널리턴 계정과 연동하는 방법”을 질문했는데, 답은 “님블뉴런(개발사)에 문의해야한다.” 였다.

거기에 이터널리턴의 공개 API 목록을 뒤져봐도, 이미 이터널리턴 유저의 고유 ID인 userNum을 닉네임을 통해 조회하여 얻어내야 했기 때문에 내가 과연 youtube일지, chzzk일지는 보장할 수 없었다.

고민한 것1: 닉네임 인증

이에 고민했던 것이 닉네임 인증이었다. 닉네임이 실제로 존재하는지는 위의 닉네임 검색 API를 통해 확인 가능하니 이건 문제될 게 없었다.
그런데 내가 존재하는 닉네임 중 랭킹 1등의 닉네임을 도용할지, 아니면 양심적으로 내 닉네임을 적을지는 아무도 보장할 수 없었다.
그러면 분명 사칭하는 사람이 나타날 게 뻔했기 때문에 이 방법은 적절하지 않다고 생각했다.

고민한 것2: UID 사용

이터널리턴에 로그인을 하여 인게임으로 들어가면 각자의 UID를 볼 수 있다. 이거라면 내가 일부러 내 UID를 공개하지 않는 이상, UID를 알고 있다는 것은 내가 곧 그 사람이다라는 증명이 될 수 있기 때문에 이거라면 사칭의 우려 없이 사용할 수 있을거라 생각했다.

그런데 API 문서 그 어떤 곳에서도 UID를 사용하는 곳이 없어서, UID를 userNum처럼 쓸 수 있는지를 디스코드 채널에 물어봤는데 둘이 다르다며 안 된다는 답이 돌아왔다…

결론

결론은 “아쉽게도 해당 기능을 구현하지 말자” 였다. 이 고민을 나눴던 멘토님께서도 게임의 본래 기능에 집중하자 하셨으니, 일단 커뮤니티 기능은 나중에 두더라도 본질인 밸런스게임 그 자체에만 신경쓰려 한다.

혹시 알까? 사이트 유명해지면 님블뉴런에 살짝 물어볼 수 있을지

댓글남기기