Pokémon GO




뭐 이젠 너무 유명한 게임입니다. Pokemon Go.


스마트폰을 쓰면서 밖으로 나가 게임을 하라는 바로 그 게임입니다.

누군가의 제보가 들리면 우르르 달려가 스마트폰을 붙잡고 덜덜 떨리는 손으로 화면을 지켜볼 때의 그 짜릿함. 이게 바로 이 게임의 재미의 일부입니다.


사실 저는 약간의 역마살? 비슷한 기질이 있어서 이 게임에 최적화된 인간(?)이라고 할 수 있는데요. 가까운 거리도 택시를 타는 일부 귀차니스트에게는 그냥 힘든 게임이라는 소리를 많이 들었습니다.


하지만 이 게임... 큰 문제가 생겼습니다. 바로 움직이지 않고도 게임을 한다는 지극히 귀차니즘스러운 문제 때문이었습니다.




GPS조작?


GPS조작이라는 것은 사실 이전에도 많이 연구 되어 왔습니다. 실제로 군사적인 목적이 강했습니다. GPS가 본래 군사용이었다는 것을 아는 사람이라면 그것을 방어하기위해 그러한 연구가 있었다는 것은 잘 알 수 있습니다.

다만 일반인들에게는 그것이 별로 와 닿지는 않았을 겁니다. 아니 알려고도 안 했을 겁니다. 하지만 GPS가 일반에 공개되고 그걸 활용하는 기기가 많아 지면서 이제는 현대사회의 필수품이 되었습니다. 이는 인터넷하고도 비슷하지요. (인터넷도 처음에는 군사용 네트워크인 AlphaNet이 원조입니다. 이후 CERN에 의해 WWW가 나오면서 전세계에서 사용하는 것이 되었습니다.)


무엇보다 군사적인 조작이라면...대규모 GPS교란이 있겠습니다. 만약 어떤 적성 국가가 특정 국가에 GPS교란이 일으키는 전파를 쐈다고 합시다. 그러면 그 나라의 GPS들은??? 일단 현재 내 위치와 네비게이션의 위치가 달라 엉뚱한 길을 안내할 것입니다. 그리고 스마트폰들은 위치기반 서비스들이 바보가 될 것이고 군사적으로는 정밀 유도 미사일이 이상한 방향으로 날아갈 겁니다.


Pokemon GO의 GPS조작은 이런 군사적 조작과는 거리가 멉니다. 단순히 수신된 GPS좌표를 임의의 좌표로 바꿔주는 지극히 기초적인 것이니까요. 안드로이드에서는 이를 개발자용 기능으로 임의 좌표로 넣을 수 있었기에 해킹 수준도 아닙니다. 사실 개발 중 테스트를 위해 만든 기능을 악용한 셈입니다. 


이런 것을 보다보면 답답해서 먼저 돌아가실 것 같다.



이런걸 왜 만들었냐부터해서 신고한다까지 참 말도 안 되는 헛소리하는 놈들이 있는데 이게 없으면 위치 기반 개발을 어떻게 하라고요. 직접 개발자가 차비들여서 가야합니까? 원래 플레이스토어 리뷰는 보는게 아니라고는 하지만 공부가 필요한 사람들이 너무 많습니다. 이런걸 해킹툴이라고 생각하는 사람은 대체 뭡니까?


뭐 요즘은 공대생도 헛소리를 하는 시대가 되어버려서 답답한 노릇이기는 하지만 일단 해킹의 영역까지는 되지 않습니다. 따라서 법적으로는 문제가 되지 않습니다. 다만 나이앤틱과의 약관 위반일 뿐이지요.


그런데 약관 위반도 계약 위반이니 잘못된 것은 잘못된 것입니다. 하지만 FlyGPS등의 앱들을 통해 위치를 조작하는 것이 잘 걸리지 않는 이유는 뭘까요? 일단 기술적인 이유가 있습니다. 사실 여러분들이 스마트폰을 통해 사용하는 GPS기능은 완전한 GPS가 아닙니다. 진짜 GPS는 지금 지구상에 떠있는 수많은 위성의 위치와 이를 기반으로 한 삼각함수를 통해 계산을 합니다. 위치추적을 위한 위성의 수는 어마어마해서 이들의 위치와 전파가 돌아오는 속도를 통해서 계산을 하면 꽤 정확한 위치가 나온다고 합니다. 그런데 이렇게 모든 위성을 이용했다가는 계산 속도 문제로 실시간 위치 파악이 불가능합니다.

지금 떠있는 GPS용 위성 갯수가 30개라면




즉, 경도와 위도라는 두 개의 출력이 나오는 함수에 입력 변수가 자그마치 60개인 미친 삼각함수를 풀어야 하는 겁니다. 그런데 이것이 고정된 것이면 문제가 안 될텐데 실시간으로 변한다는 것이 더 큰 문제입니다. 현재 스마트폰 기준으로 이런 식으로 계산하면 10분 정도 걸린다고 합니다. 이러면 실시간 서비스 자체가 불가능하겠지요. (말이 좋아 삼각함수지 지구는 둥글기 때문에 더 복잡합니다.)


그래서 현재 사용하는 위치서비스는 A-GPS(Assistanced GPS)라 해서 통신망기반 GPS서비스입니다. 피쳐폰 시절의 위치 추적을 기억하시나요? 경찰에서 주로 사용했는데 정확한 위치는 알 수 없지만 적당한 위치는 알 수 있는 수준이었습니다. 여기의 정확도를 위해 진짜 GPS를 동원하는 건데 모든 위성을 쓰는 것이 아닌 통신망을 통해 특정 위치를 찾고 여기에 제일 가까운 몇몇 위성의 정보 만을 사용해서 위치 추적 속도를 개선한 것이 A-GPS입니다.


즉, 스마트폰의 GPS정보란 정확한 것이 아닙니다. 실제로 Pokemon GO를 켜놓고 가만히 냅두더라도 혼자서 이리저리 왔다 갔다 하는 모습을 볼 수 있는데 사용되는 위성이 바뀌고 이에 따른 오차가 생기기 때문에 실제로는 움직이지 않았음에도 스마트폰의 좌표가 계속 변하는 거지요. 게다가 통신망이 불안정할 경우 기준이 되는 위치마저 변해버립니다. 그러니 몇 100M에서 심한 경우 몇 KM의 오차가 생기기도 하는데요. 그 상태에서 지하라도 내려가게 되면? 혼자서 발광하는 제 캐릭터의 모습을 볼 수 있을 겁니다.


사실 나이앤틱에서 대량으로 밴을 먹였을 때 사용한 것 중 하나가 전세계를 순간이동하거나 절대로 불가능한 위치 변화를 보인 사람을 통계적으로 확인해서 밴을 먹인 겁니다. 그런데 정상적인 플레이어도 몇 100M오차는 흔히 일어나고 저는 수원에서 평택으로 위치가 잡히는 오류도 겪은 적이 있습니다. 그런데 이런 사람들도 밴을 먹였다가는 선의의 피해자가 발생하고 말 겁니다.


아직은 GPS서비스란 녀석이 불안정한 탓에 네트워크 위치(통신망 위치)와 최종 GPS위치가 크게 차이가 나지 않으면 이게 Fake인지 True인지 알 수가 없는 것입니다. 물론 순간 이동을 숨쉬듯이 하면 이건 100% Fake라 걸고 넘어 갈 수 있지만 살짝 살짝 원래 위치에서 조정하는 수준이면 점점 더 알아낼 길이 없습니다.


실제로 이런 사람이 있다면 밴을 먹이는 것은 거의 불가능에 가까울 것이다.



Bot문제


GPS조작은 그렇다 치는데 이젠 더 큰 문제가 생겨버렸습니다. 그냥 켜놓고 자면 알아서 포켓몬을 잡고 알아서 체육관을 깨는 Bot들이 활개를 치기 시작했습니다. 사실 Bot문제는 Pokemon GO의 문제만은 아닙니다. 사실 대다수 MMORPG게임이라면 다들 한 번씩은 보셨을 오토들이 바로 그들이지요. 사실 저는 이런 Bot들을 볼때마다 한마디씩 합니다.


"그러면 게임이 재미있냐..?"


솔직히 GPS조작을 통해 게임을 하는 것도 재미가 없더군요. 저도 잠깐 해봤는데 집에서 하느니 나가는 것이 더 재미있습니다. 공원을 빙빙 돌면서 잡는 맛도 있고 저랑 똑같은 사람들이랑 같이 하는 맛도 있거든요. (사실 게임이란 것은 같이하는 것이 혼자하는 것보다 훨씬 더 재미있습니다. 이건 친구들끼리 PC방 가는 것과 비슷한 이유입니다.) 그런데 이건 제가 하는 게 아무것도 없습니다. 게임이 재미라는 것이 전혀 없는 것을 떠나 저는 게임을 하는 것이 아닙니다. 그런데 의외로 성황중이더군요. 이걸 돈받고 파는 놈들도 있습니다. 뭐하러..??


근데 이게 그냥 혼자 잡고 놀면 되는데 그게 문제가 아닙니다. Pokemon GO는 체육관이라는 대결 요소가 있습니다. 그런데 체육관을 기껏 먹어도 이런 Bot이 와서 깨고 나면 허탈합니다. 실제 아무도 없는데 누가 와서 내 체육관을 깨고 있더라는 것은 자주 보이는 이야기입니다. 이는 Pokemon GO뿐만 아니라 모든 MMO게임의 문제입니다. 보통 Bot은 게임을 업데이트함으로서 이를 막아버리는 방식을 쓰는데 문제는 창과 방패의 대결에서 방패가 이기는 것 봤습니까? 계속 문제가 생길 수밖에 없다는 겁니다. 그리고 그 피해는 정상적인 플레이를 하는 사람들이 당하고 있는 중입니다.


실제로 Bot에 대해서 나이앤틱이 사용 내역을 수집하고 있는 중입니다. 게임을 업데이트 하고 Bot사용이 걸리면 이를 DB에 넣었다가 특정 기간에 Ban Wave를 한다고 합니다. 그런데 게임을 업데이트하는 기간이 너무 길다는 것이 문제입니다. 즉 Bot을 잡는 기간 = 업데이트 후 잠깐 동안인 셈인데(어느정도 기간이 지나면 그걸 우회하는 Bot이 나오니까요) Pokemon GO의 업데이트 주기는 상당히 긴 편입니다. 그동안 Bot들에 의한 피해를 받을 수밖에 없는 셈입니다. 난감하지요. 일단 기술적인 문제로 잡으려면 잡을 수는 있는데 기간이 너무 긴 겁니다. 이쪽은 운영상의 문제가 있는 셈이지요.



그렇다고 이 글만 믿고 "야 밴 못 먹인다! 신난다!" 하지는 마세요. 기술은 계속 발전하고 있으니 어떻게 될지는 알 수 없거든요. 실제로 Ingress는 대량으로 잡아들인 전적이 있는 놈들이니 A-GPS의 문제나 Bot의 문제는 기상천외한 방법으로 잡을지도 모르거든요.


하지만 지금처럼 방치를 했다가는 Pokemon GO란 게임은 추억속의 게임으로 전락할지도 모릅니다. 그건 나이앤틱이 풀어야할 숙제이겠지요.

,