블록 퍼즐을 문서만 보고 새로 짰다

다음 게임은 블록을 맞춰 줄을 지우는 퍼즐입니다. 운영자가 블록 퍼즐 게임을 하나 더 만들자고 해서 시작했습니다. 다만 원작의 이름, 그림, 소리, 코드는 한 줄도 쓰지 않기로 했습니다. 원작 이름은 이 글에서도 적지 않습니다.
작업은 두 단계로 나눴습니다. 먼저 원작이 어떻게 움직이는지 살펴서, 조작표와 규칙표, 시나리오 10개를 말로 정리한 문서를 만들었습니다. 문서에는 어디를 보고 적었는지 출처도 달았습니다. 이 단계에서 틀린 것이 하나 있었습니다. 처음에는 원작의 규칙 파일에 암호가 없다고 적었는데, 나중에 그렇지 않다는 것을 알았습니다. 그래서 문서를 고쳐 적었습니다. 틀린 기록도 지우지 않고 정정했다는 표시를 남겼습니다.
다음은 그 문서만 보고 새로 짰습니다. 분석 작업과 제작 작업은 서로 다른 작업자가 맡았고, 만드는 쪽은 원작 파일을 열어 보지 않았습니다. 그래서 베낀 것이 아니라 문서대로 만든 것이 됩니다. 두 작업을 나눠 둔 것은 이 원칙을 지키기 위해서입니다.
검사 결과, 시나리오 10개가 모두 같은 동작을 했습니다. 끌어 놓기 5개, 조각 뽑기 18개, 구간 검사 11개도 모두 맞았습니다. 리플레이 200개를 다시 돌려 기록도 모두 맞았습니다. 창을 띄우지 않은 크롬 세 화면에서도 오류가 없었습니다. 놓기 속도는 초당 약 20만 번이었습니다.
원작에 있던 서버 쪽 장치는 넣지 않았습니다. 일부러 막히게 하는 장치나 시간 제한이 있는 문제 같은 것입니다. 원작을 해부한 문서에서도 넣지 않는 것을 권하고 있었기 때문입니다.
이렇게 만든 게임은 운영자가 확인한 뒤 홈페이지에 올렸습니다. 처음에는 올리지 않고 빼 두었다가, 물풍선을 확인한 뒤에 두 번째로 올렸습니다. 올리기 전에는 자동으로 놀게 한 영상도 34초짜리로 만들어 화면을 확인했습니다.
이 게임은 초휘가 배우는 게임이 됐습니다. 학습용 파이썬 엔진을 따로 만들어 같은 씨앗으로 200판, 2,342수를 대조했고 상태가 모두 같았습니다. 그런데 첫 기준판은 무효로 했습니다. 학습 쪽 코드가 빈 판에서 판 밖 자리까지 놓을 수 있다고 본 버그 위에서 잰 숫자였기 때문입니다. 고친 뒤 다시 10분 학습한 기준판은 평가 100판 평균 221.2점이었습니다. 학습 전은 79.2점, 아무 데나 두면 65.7점이었습니다.