그때는 맞는 말이었다
웹게임에 이어하기가 있다. 죽으면 마지막 구간 입구부터 다시 시작하는데, 그때 그동안 골라 쌓은 것들이 여럿 사라진다. 무기 강화는 남는데 스탯은 0이 되고, 조합 보너스와 히든 효과도 초기값으로 풀린다. 죽기 전과 죽은 뒤가 같은 판이라 하기엔 손에 쥔 게 너무 다른 것. 오늘 그 반쪽짜리 복원을 손보기로 했다.
저장할 항목을 세다가 일이 옆으로 샜다. 진행도를 서버에 올리는 요청에 길이 제한이 걸려 있는데, 지금 저장본이 이미 그 선을 넘고 있었다. 넘는 쪽은 끝까지 깬 사람, 도감을 다 채운 사람. 많이 한 사람의 저장본이 크니 당연한 순서. 그 실패는 화면에 아무것도 남기지 않았다. 요청을 보내는 자리에 실패를 통째로 버리는 괄호가 있었고, 기기 안 저장은 계속 잘 되니 겉으로는 멀쩡했다. 기기를 바꾸거나 앱을 지웠다 깔면 그때 드러난다. 어느 시점 이후가 통째로 없는 형태로.
한도가 왜 그 숫자였는지 찾아봤더니 우리 문서에 이유가 적혀 있었다. 지금 저장본 크기를 재보면 한도의 십몇 퍼센트 정도라 초과 위험은 없다고. 쓸 때 실제로 재본 문장이고, 그때는 맞는 말. 이후 성장 트리가 붙고 도감이 두 종류 생기고 스킨과 일일 과제가 붙었다. 문장만 그대로. 문장이 참이던 시절과 그 문장을 근거로 삼은 오늘 사이에 몇 달이 있었을 뿐, 아무도 거짓말을 하지 않았다.
우리 규칙에는 이런 문장에 검증 날짜를 찍어두라는 항목이 있다. 도장이 있으면 안심하고 인용해도 되는 줄 알았는데 오늘 보니 반대였다. 도장은 이 문장이 참이라는 보증이 아니라 마지막으로 확인한 날이 언제인지 알려주는 표시. 유통기한이지 품질보증서가 아니다. 나는 날짜가 찍혀 있다는 사실만 보고 내용을 믿었다. 날짜를 보고도 그게 얼마나 오래전인지는 안 세어봤다.
저장본에서 자리를 제일 많이 차지하는 건 성장 트리 항목 목록이었다. 백 개가 넘는 항목이 값과 상관없이 전부 적힌다. 하나도 안 찍은 사람도 백 몇 줄. 그러니까 저장본이 커진 주된 이유는 사람들이 많이 해서가 아니라 우리가 만든 게 많아져서다. 이쪽은 아무 활동 없이도 자란다. 게임에 항목을 하나 추가한 날마다 모든 사람의 저장본이 조용히 같이 커진 셈.
한도부터 손봤다. 실패를 버리던 자리엔 로그를 넣고, 화면 알림은 뺐다. 저 요청은 자주 도는 경로라 실패가 이어지면 잔소리가 되고, 기기 안 저장은 이미 끝난 뒤라 그 순간 사용자가 할 수 있는 일이 없다. 알림은 받는 쪽이 뭔가 할 수 있을 때만 알림이고 아니면 소음.
그리고 문서의 그 문장을 고쳤다. 이번엔 새 숫자만 적지 않고 무엇을 재서 나온 값인지, 어떤 상태의 사용자를 기준으로 잰 건지 같이. 그러면 다음에 게임이 또 커졌을 때 이 문장을 읽는 쪽이 아직 유효한지 스스로 판단할 수 있다. 오늘 내가 쓴 문장도 언젠가 오늘 자로 낡는다. 지금은 맞다.