게임에서 레벨업이 갈수록 오래 걸리는 이유
게임을 하시는 분들이라면 시작하고 처음 몇 판은 레벨이 눈에 띄게 오르는데 레벨이 높아질수록 같은 시간을 써도 숫자가 거의 움직이지 않는다는 것을 아실 겁니다. 이 속도 차이가 우연히 생기는 건지, 설계가 만든 결과인지 궁금하실 거에요. 그래서 경험치 곡선 세 가지를 같은 조건에 놓고 가상 플레이어 12만 명에게 레벨 60까지 달리게 직접 실험해봤습니다. 마지막 구간에 몰린 시간 … 더 읽기
게임을 하시는 분들이라면 시작하고 처음 몇 판은 레벨이 눈에 띄게 오르는데 레벨이 높아질수록 같은 시간을 써도 숫자가 거의 움직이지 않는다는 것을 아실 겁니다. 이 속도 차이가 우연히 생기는 건지, 설계가 만든 결과인지 궁금하실 거에요. 그래서 경험치 곡선 세 가지를 같은 조건에 놓고 가상 플레이어 12만 명에게 레벨 60까지 달리게 직접 실험해봤습니다. 마지막 구간에 몰린 시간 … 더 읽기
연승 중인데 이겨도 +12점, 한 판 지면 −28점이 찍힌 화면을 보신적이 있을텐데요. 시스템이 일부러 점수를 짜게 주는 건지, 계산상 자연스러운 일인지 궁금하더라고요. 그래서 숨은 점수와 표시 점수가 따로 움직이는 랭크게임을 가정하고 가상 플레이어 7만 2천 명에게 1,000판씩 돌려봤습니다. 결론부터 적으면, +12점은 내가 정한 가정에서 점수 격차가 100점쯤 벌어졌을 때만 나오는 숫자였고 평소에는 거의 나오지 않았습니다. … 더 읽기
새 계정으로 랭크게임을 시작하면 첫 판은 대부분 다 이깁니다. 시작 점수가 1000점인데 진짜 실력은 1600점이라면, 나와 비슷한 점수의 상대를 만나도 실력 차이가 600점이라 이길 확률이 약 97%라고 할 수 있습니다. 그러면 이 쉬운 승리가 몇 판이나 이어져야 내 실력에 맞는 티어에 도착하는지가 궁금하실 겁니다. 가상 플레이어를 K값 네 가지(16, 24, 32, 48)마다 4만 5천 명씩 … 더 읽기
“내 실력은 상위권인데 팀운이 나빠서 티어가 안 오른다.”는 말은 랭크게임 커뮤니티에서 가장 오래된 단골 주제인데요. 이 글은 그 말이 어느 정도까지 맞는지를 가상 플레이어 3만 명에게 랭크게임을 1,000판씩 돌려서 따져본 기록입니다. 팀운이 한 판에 얼마나 큰 변수인지, 판수가 쌓이면 그 영향이 어디로 사라는지, 실력 상위 5%도 승률이 왜 50%에 머무는지 그리고 “내가 더 잘하는데 쟤가 … 더 읽기
승률이 딱 50%인 플레이어가 100판을 플레이했을 때 가장 길게 이어진 연패는 중앙값이 6판이었습니다. 7연패 이상을 한 번이라도 겪은 플레이어는 열 명 중 세 명이 넘었죠. 이 포스팅은 “승률이 반반인데 왜 이렇게 길게 지냐”는 랭크게임의 단골 불만을 승패를 무작위로 20만 번 돌린 숫자로 따져본 기록입니다. 몇 판을 뛰면 몇 연패가 정상 범위인지 연패 뒤에는 정말 이길 … 더 읽기
액션 게임이나 슈팅 게임을 하다 보면 가장자리에 작은 화살표가 뜨면서 “적이 저쪽에 있다”고 알려주는 장면을 자주 접하는데요. 이 글은 그 화살표가 화면 테두리 위 어디에 찍혀야 실제 방향과 어긋나지 않는지를 다룹니다. 가장 쉽게 떠올리는 방식인 x좌표와 y좌표를 따로 잘라내는 방법이 어디서 틀리는지, 그리고 화면 중심에서 광선을 쏘는 방식이 왜 틀리지 않는지를 코드로 돌려 나온 숫자와 … 더 읽기
명절에 먼 곳에서 터지는 불꽃놀이를 본 적이 있으신가요? 불빛이 터지고 나서 한 박자 늦게 “펑” 소리가 도착하는 순간을 기억하실 겁니다. 소리는 빛과 달리 초당 약 343m라는 유한한 속도로 이동하기에 멀리서 일어난 사건일수록 눈에 보이는 시점과 귀에 들리는 시점 사이에 간격이 생기기 마련입니다. 게임 속에서도 마찬가지인데요. 이번 글에서 이의 원인에 대해서 자세히 알아봅시다. 게임에서는 다를까? 현실에서는 … 더 읽기
사다리 오르내리기 기능을 처음 게임에 넣었을 때 캐릭터가 사다리를 잡는 순간 몸이 이상한 방향으로 틀어져 있는 장면을 자주 목격했는데요. 플레이어가 사다리 정면이 아닌 살짝 비스듬한 각도로 다가가서 상호작용 버튼을 클릭했을 뿐인데 그 상태 그대로 등반 모드로 들어가버린 탓이었습니다. 손은 허공에 떠 있고 몸은 사다리를 반쯤 등지고 있는 누가 보더라도 이상한 자세였습니다. 아래에서 이것의 원인과 해결 … 더 읽기
게임 속에서 수십 명이 같은 시간에 뛰어다니더라도 소리가 뭉개지지 않는 까닭은 오디오 엔진이 우선순위가 낮은 소리를 걸러내기 때문인데요. 유니티와 FMOD의 실제 보이스 컬링 규칙을 그대로 코드로 옮겨 발소리 715번 중 23.8%가 스피커까지 가지 못한다는 것을 실험으로 확인해보겠습니다. 다 들리면 오히려 이상해진다 50명분의 발소리가 전부 동시에 재생된다고 상상해보면 그건 자연스러운 전장의 소음이 아니라 그냥 뭉개진 잡음 … 더 읽기
여러가지 종류의 게임을 하다 보면 분명히 발판 끝에서 늦게 점프 버튼을 눌렀는데도 불구하고 캐릭터가 떨어지지 않고 점프에 성공하는 순간이 있는데요. 늦게 눌렀다고 생각하기 쉽지만 사실 이건 버그가 아닌 코요테 타임이라는 의도된 설계입니다. 이번 포스팅에서는 왜 코요테 타임이 필요한지, 어떤 차이를 만드는지 코딩으로 확인해보겠습니다. 1. 코요테 타임이란? 코요테 타임이란 캐릭터가 발판 끝을 떠난 후에도 아주 짧은 … 더 읽기