사례 1 · 게임 속 소리의 위치
벽돌깨기 게임에서 왼쪽 벽돌을 맞히면 소리도 왼쪽에서 난다. REA 공식 DX-Ball 사례는 화면의 가로 좌표가 좌우 음향 값으로 바뀌는 작은 함수를 파고든다.
재미있는 건 첫 의사 코드로는 모자랐다는 점이다. 입력이 없는 함수처럼 보였는데, 명령어를 읽어 보니 입력을 꺼내는 동작이 있었다. 호출한 쪽을 따라가자 그 값이 벽돌의 화면 좌표라는 것도 드러났다. 이어서 실행 파일의 상수를 읽어 계산을 짜 맞췄다.
찾은 함수 → 호출한 곳 → 실제 상수 → 재구현 → 원본과 비교.
디컴파일 결과 한 번을 그대로 답으로 삼지 않는 과정, 이 사례에서 건질 건 그거다.
디컴파일 결과 한 번을 그대로 답으로 삼지 않는 과정, 이 사례에서 건질 건 그거다.
여기서 REA 는 조사 근거를 대 준다. C 코드로 재구현하고 원본 동작과 견주는 일은 재구현 프로젝트 몫이다. 이 강은 그 공개 사례를 풀어 쓴 것이고, ORI 가 같은 바이너리로 검증을 되풀이해 본 건 아니다.
창작에 써먹는다면 「게임 전체를 복제하기」보다 「화면 위치가 소리로 느껴지는 방식」처럼 규칙 하나를 연구하는 편이 남는 게 많다. 내 게임에서는 어느 범위를 좌우 끝으로 잡을지, 화면 밖은 어떻게 처리할지 새로 설계하면 된다. 이건 사례에서 끌어낸 학습 제안이다.