브라우저에서 퍼즐을 시작하는 과정은 간단합니다. 게임을 고르고 한 수를 두면 결과가 보입니다. 하지만 그 사이에는 서로 다른 작업이 이루어집니다. 브라우저가 게임 파일을 불러오고, 규칙을 실행하고, 화면을 그리며, 소리를 내고 지원되는 기록을 저장합니다. 각각을 구분하면 소리가 나지 않거나 점수가 보이지 않을 때, 또는 인터넷 없이 플레이하려 할 때 무엇을 확인해야 하는지 알기 쉽습니다.
Flash 이후 달라진 실행 방식
Adobe는 2020년 12월 31일 Flash Player 지원을 끝냈고, 2021년 1월 12일부터 Flash 콘텐츠 실행을 차단했습니다. 날짜는 Adobe의 지원 종료 안내에서 확인할 수 있습니다. 현재 PuzzleVault 게임은 Flash 플러그인 대신 HTML, CSS, JavaScript와 Canvas를 사용합니다. 호환되는 게임 페이지를 열 때 PuzzleVault 계정을 만들거나 별도 게임 앱을 설치할 필요는 없습니다.
이것은 게임을 제공하는 방식에 대한 설명이며 특정 프레임 속도나 모든 브라우저에서 동일한 동작을 보장하는 말은 아닙니다. 예를 들어 MergeChain에서는 화면을 그리는 동안 움직이는 공과 충돌도 계산해야 합니다. 한 수씩 진행하는 숫자 추론 화면과는 작업량이 다릅니다. 모든 웹 퍼즐의 속도가 같을 것이라고 생각하기보다 실제로 사용하는 기기에서 반응을 확인하는 편이 좋습니다.
화면이 준비되어도 소리는 아직일 수 있습니다
PuzzleVault의 짧은 효과음은 코드로 생성됩니다. 공통 입력 처리는 첫 포인터 조작에서 오디오를 초기화하며, 소리 버튼은 켜기·끄기 설정을 저장합니다. 화면은 보이는데 처음에 조용하다면 일반적인 게임 조작을 한 번 해본 뒤 게임의 소리 버튼과 기기 음량을 확인하세요. 소리가 없다는 사실만으로 보드가 잘못 로드됐다고 판단할 수는 없습니다.
조작이 안 될 때는 게임판과 그 주변 페이지 중 어디를 조작하고 있는지 먼저 확인합니다. MergeChain의 방향키 조준은 게임판에 포커스가 있어야 작동합니다. 브라우저의 뒤로 가기와 게임의 다시 시작도 서로 다른 동작입니다. 낯선 기기라면 기록에 도전하거나 제한 시간이 있는 모드를 시작하기 전에 연습 조작을 먼저 해보세요.
게임 파일, 저장 기록, 현재 판은 서로 다릅니다
브라우저의 로컬 저장소는 세션 사이에도 데이터를 유지할 수 있으며, 비공개 탐색에서는 다르게 처리됩니다. MDN의 localStorage 설명을 참고할 수 있습니다. PuzzleVault는 지원되는 통계, 최고 점수, 설정과 진행 기록을 이 저장소에 보관합니다. 현재 구현에는 기기 간 동기화를 위해 계정으로 기록을 올리는 기능이 없습니다.
| 보이는 현상 | 보관되는 것 | 그것만으로 알 수 없는 것 |
|---|---|---|
| 오프라인에서 게임이 열림 | 전에 저장된 페이지와 게임 파일 | 새로 방문할 다른 페이지도 열리는지 |
| 최고 점수가 다시 보임 | 이 브라우저의 로컬 기록 | 다른 휴대폰에도 같은 기록이 있는지 |
| 현재 게임판이 열려 있음 | 그 페이지에서 진행 중인 게임 상태 | 창을 닫아도 모든 미완료 게임이 이어지는지 |
예를 들어 노트북에서 한 판을 끝낸 뒤 휴대폰에서 같은 주소를 열었다고 해봅시다. 두 기기에서 같은 게임은 열리지만, 휴대폰에는 별도의 새 통계가 보일 수 있습니다. 그렇다고 노트북의 점수가 삭제됐다는 증거는 아닙니다. 반대로 사이트 데이터를 지운 뒤 게임 파일이 캐시에서 열리더라도 옛 기록까지 남아 있다는 뜻은 아닙니다. 기록을 비교할 때는 같은 브라우저 프로필과 같은 사이트 주소를 보고 있는지부터 확인하세요.
오프라인 플레이에는 필요한 파일이 있어야 합니다
서비스 워커는 요청을 처리하면서 캐시된 리소스를 사용할 수 있습니다. 개념은 MDN의 Service Worker API 설명에서 확인할 수 있습니다. PuzzleVault의 워커는 핵심 게임 페이지, 스크립트, 스타일, 언어 파일을 저장하려고 시도합니다. 페이지를 열 때는 인터넷 응답을 먼저 시도하고 실패하면 캐시로 돌아가며, 게임 스크립트와 스타일은 캐시를 먼저 확인합니다.
이 기능이 한 번 잠깐 접속하면 모든 페이지를 영구적으로 오프라인에서 열 수 있다는 보장은 아닙니다. 설치 과정이 완료되고 필요한 파일이 저장되어 있어야 하며, 그 파일들이 계속 남아 있어야 합니다. 사용할 캐시가 없는 페이지를 최고 점수 기록만으로 다시 만들 수는 없습니다. 여행 중 사용할 계획이라면 온라인 상태에서 원하는 게임을 완전히 불러온 뒤 잠깐 연결을 끊고 같은 게임을 다시 열어보세요. 중요한 진행을 방해하지 않도록 연습용 게임에서 확인하는 것이 좋습니다.
업데이트 알림이 뜨면 진행 중인 판부터 확인하세요
새 워커를 사용할 수 있게 되면 PuzzleVault가 새로고침 안내를 표시할 수 있습니다. 새로고침은 페이지를 다시 불러오는 동작이므로, 진행 중인 타임 어택 기록을 유지하고 싶다면 먼저 해당 판을 마치는 편이 좋습니다. 콘텐츠 업데이트와 개인 점수는 별개의 데이터입니다. 업데이트 알림이나 달라진 그래픽이 기기 간 기록 동기화를 의미하지는 않습니다.
브라우저 퍼즐을 편하게 이용하려면 어떤 조작을 하고 있는지, 기록이 어디에 있는지, 필요한 페이지가 실제로 열리는지를 구분하면 됩니다. 처음에는 시간 제한 없는 논리 퍼즐을 열어 조작부터 확인해 보세요. NumVault 해보기