놀이기구는 나가고, 손님은 탑니다
북적북적 놀이공원은 놀이공원을 배경으로 한 3D 대기줄 퍼즐입니다. 화면 아래 보관소에는 트레일러에 실린 놀이기구가 빽빽이 서 있고, 놀이기구마다 화살표가 있습니다. 놀이기구를 누르면 화살표 방향으로 똑바로 빠져나가는데, 앞쪽 끝에서 보관소 가장자리까지 칸이 모두 비어 있어야 합니다. 무언가 막고 있으면 앞으로 덜컹 나갔다가 제자리로 돌아오고, 잃는 것은 잠깐의 시간뿐입니다.
놀이기구는 다섯 가지이고, 차지하는 칸이 곧 얼마나 길을 막는지입니다. 찻잔은 1×2칸에 5명, 바이킹은 1×3칸에 7명, 롤러코스터는 1×4칸에 12명, 회전목마는 2×2칸에 10명, 관람차는 2×3칸에 14명이 탑니다. 보관소를 나간 놀이기구는 건널목을 지나 보관소 위쪽의 둥근 탑승 광장으로 들어가, 광장 둘레의 탑승장 네 곳 가운데 빈 곳에 바깥을 보고 섭니다.
손님은 광장 입구 밖 줄에서 풍선을 하나씩 들고 기다립니다. 입구 위 표지에 적힌 수만큼만 광장에 들어올 수 있고(첫 레벨은 10명, 야간 구역은 4명), 들어온 손님은 탑승장을 둘러싼 통로를 한 방향으로 빙글빙글 돕니다. 도는 손님은 풍선과 같은 색이면서 자리가 남은 놀이기구에 탑니다. 같은 색 놀이기구가 둘이면 남은 자리가 적은 쪽에 타서, 반쯤 찬 놀이기구가 줄줄이 서 있지 않고 하나씩 채워 떠나게 했습니다. 누군가 탈 때마다 줄의 다음 손님이 들어옵니다. 풍선은 색마다 모양도 다르고(하트·동그라미·별·클로버·다이아몬드·달·꽃·물방울) 같은 기호가 놀이기구와 탑승장 앞 '남은 자리' 표에도 붙어 있어, 색만으로 구분하지 않아도 됩니다.
탑승장 네 칸이 이 게임의 전부입니다
놀이기구가 가득 차면 한 바퀴 운행하고 떠나며 탑승장이 다시 빕니다. 공원이 멈추는 경우는 두 가지뿐입니다. 탑승장이 모두 찼는데 광장을 도는 손님 가운데 세워 둔 놀이기구에 탈 사람이 없을 때, 또는 보관소에서 움직일 수 있는 놀이기구가 하나도 없을 때입니다. 그래서 탑승장 네 칸이 진짜 자원입니다. 아직 광장에 그 색 손님이 없는 놀이기구를 먼저 보내면, 그 색 손님이 충분히 들어올 때까지 탑승장 한 칸을 계속 차지합니다.
별이 바로 이것을 잽니다. 손님을 모두 태우면 별 하나, 부스터 없이 태우면 둘, 부스터 없이 그리고 동시에 세운 놀이기구 수가 레벨 목표를 한 번도 넘지 않으면 셋입니다. 목표는 풀이기에서 나옵니다. 풀이기가 탑승장 1칸, 2칸… 차례로 풀어 보고 풀리는 가장 작은 수가 최소입니다. 사람처럼 두는 봇이 그만큼 낮추기 어려우면 목표를 한 칸 더 너그럽게 잡지만, 그보다 더 늘리거나 최소보다 줄이지는 않아 늘 달성할 수 있습니다. 탑승장을 모두 쓰는 것은 목표가 되지 않습니다(최소가 이미 전부일 때만 예외). 화면 위 탑승장 칸 표시는 목표를 넘는 순간 주황색으로 바뀌어, 이번 판은 별 2개를 노려야 한다는 것을 바로 알 수 있습니다.
레일 위의 러시아워
6레벨부터는 보관소를 가로지르는 레일 위에 선 놀이기구가 나옵니다. 레일 놀이기구는 러시아워 퍼즐의 자동차처럼, 자기 길이 방향으로 빈칸까지 앞뒤로 끌어서 밀 수 있습니다. 밀기는 탑승장을 전혀 쓰지 않습니다. 막는 놀이기구를 탑승장으로 보내 한 칸을 쓰는 대신, 한두 칸 옆으로 밀어 길만 여는 값싼 방법입니다.
레일은 장식이 아닙니다. 레벨 표를 만든 풀이기 결과로 보면, 레일 놀이기구가 있는 캠페인 55레벨 가운데 22레벨은 밀기를 한 번도 쓰지 않으면 탑승장이 더 필요하고, 그중 3레벨은 탑승장을 모두 써도 풀리지 않습니다. 나머지 33레벨은 밀지 않아도 같은 최소 칸 수로 풀리지만, 밀면 부스터를 아끼고 순서를 찾기가 쉬워집니다. 키보드는 Shift 를 누른 채 방향키, 게임패드는 X 를 누른 채 방향으로 고른 놀이기구를 밉니다.
레벨을 늘 풀리게 만드는 방법
레벨은 씨앗 값으로 만들고 반드시 검사합니다. 생성기는 놀이기구를 빠져나가는 순서의 거꾸로 놓습니다. 새 놀이기구는 이미 놓인 것과 겹치지 않고, 이미 놓인 것들이 자기 길을 막지 않는 곳에만 놓을 수 있습니다. 이미 놓인 놀이기구는 그것이 나갈 때 아직 보관소에 남아 있을 것들이기 때문입니다. 나중에 놓는 놀이기구는 그 길을 막아도 됩니다. 그때쯤이면 이미 떠났을 테니까요. 이렇게 하면 모든 놀이기구가 나갈 수 있는 순서가 적어도 하나는 생깁니다.
손님 줄은 그 순서대로 탑승장 몇 칸을 돌리면서, 다음 손님(또는 단체)이 기다리는 놀이기구 가운데 무엇을 원할지 고르는 식으로 만듭니다. 이때 실제 탑승 규칙을 그대로 씁니다. '연속' 값은 다음 손님이 방금 손님과 같은 놀이기구를 원할 확률인데, 앞 구역은 길게, 뒤 구역은 짧게 두어 색이 뒤섞입니다. 광장 정원도 구역마다 줄어듭니다. 도는 손님이 적을수록 그 순간 고를 수 있는 색이 적어집니다. 그다음 레일 놀이기구를 다른 놀이기구의 길을 막는 자리로 레일을 따라 밀어 둡니다. 밀기는 언제나 되돌릴 수 있으니, 처음의 풀리는 배치로 돌아갈 길은 그대로 남습니다.
마지막으로 풀이기가 확인합니다. 이미 막다른 길로 판명된 보관소·광장·줄·탑승장 상태를 모두 기억하는 깊이 우선 탐색으로, 그 레벨이 정해진 탑승장 수로 풀리는지 보고 최소 칸 수를 찾습니다. 탐색 한도 안에 확인되지 않은 후보는 버립니다. 자동 시험은 60레벨 모두 풀이기의 수를 브라우저와 같은 규칙으로 다시 돌려 별 3개로 끝나는지 확인합니다.
사람처럼 두는 봇으로 잰 난이도
레벨을 난이도 순으로 놓으려고 단순한 봇이 직접 둡니다. 봇은 광장을 도는 손님 색과 입구 앞 몇 묶음을 보고 그 색 놀이기구를 보낼 수 있으면 보내고, 없으면 그런 놀이기구의 길을 여는 밀기 한 번을 찾고, 그것도 없으면 움직일 수 있는 아무 놀이기구나 보냅니다. 레벨마다 후보 40개를 만들어 봇이 각각 80번씩 두게 하고, 실패율이 계획한 곡선에 가장 가까운 것을 고릅니다. 구역마다 5번째 레벨은 일부러 쉬어 가는 판이고, 10번째가 가장 어렵습니다.
완성된 레벨마다 300번씩 다시 재서 구역 평균을 내면 봇은 1구역에서 93% 손님을 모두 태우고, 이어 79%, 64%, 48%, 39%, 마지막 야간 구역에서는 26%를 태웁니다. 별 3개는 1구역 51%에서 관람차 언덕 이후 12~16%까지 떨어집니다. 처음 만든 판이 너무 쉽다는 의견이 있어, 탑승장을 다섯 칸에서 네 칸으로 줄이고 광장 정원을 두 명씩 줄이고 놀이기구 자리를 약 1.2배로 늘리고, 레벨을 고를 때 노리는 난이도도 조금 올린 뒤 다시 잰 숫자입니다(바꾸기 전에는 100%·96%·88%·76%·60%·44%). 이것은 봇의 숫자이지 플레이어 통계가 아닙니다. 앞을 내다보는 사람은 훨씬 잘하지만, 어디서 벽이 나오는지는 이 순서로 알 수 있습니다.
구역마다 새로 나오는 것
60레벨은 10레벨씩 여섯 구역으로 나뉘고, 구역마다 새 장치를 하나씩 소개해 몇 분마다 배울 것이 생깁니다.
- 정문 광장(1~10): 5×5~6×7 보관소의 찻잔·바이킹·롤러코스터, 광장 정원 8~10명, 6레벨부터 레일 놀이기구.
- 회전목마 정원(11~20): 2×2 회전목마, 빠질 길이 열려야 색이 드러나는 흰 놀이기구, 광장 정원 7명.
- 바이킹 호수(21~30): 움직이지 않는 화단·분수, 정해진 수만큼 놀이기구가 떠나야 열리는 점검 중 놀이기구, 광장 정원 6명.
- 관람차 언덕(31~40): 14인승 관람차, 한 놀이기구에 같이 타야 하는 2~3명 단체 손님(단체가 다 앉을 자리가 남아야 탑니다).
- 롤러코스터 계곡(41~50): 7×9 보관소에 놀이기구 11~17대, 손님 최대 127명, 광장 정원 5명.
- 야간 퍼레이드(51~60): 여섯 색, 꼬마전구 조명, 광장 정원 4명.
부스터, 그리고 붓이 줄 뒤쪽을 바꾸는 이유
캠페인에서는 부스터 셋을 쓸 수 있습니다. 크레인은 보관소의 놀이기구 하나를 막혀 있어도 곧장 탑승장으로 옮깁니다(점검 중인 것은 안 됩니다). 임시 탑승장은 그 판 동안 탑승장을 한 칸 더 엽니다(비어 있던 다섯째 자리, 판마다 한 번). 페인트 붓은 탑승장의 놀이기구를 광장에서 가장 오래 기다린 손님 색으로 다시 칠합니다. 색마다 자리 수와 손님 수가 늘 같아야 하므로, 붓을 쓰면 그 놀이기구의 남은 자리 수만큼 입구 밖 줄 맨 뒤쪽부터 옛 색 손님 풍선이 새 색으로 바뀝니다. 몇 명이 바뀌었는지는 화면에 알려 줍니다.
부스터는 처음에 종류마다 두 개씩 있고, 레벨을 처음 별 3개로 깨면 하나씩 더 받습니다. 줄이 멈추면 남은 부스터로 이어 갈지, 처음부터 다시 할지 고를 수 있습니다. 부스터를 쓰면 그 판은 별 2·3개 목표를 잃고, 오늘의 놀이공원과 친구 도전장에서는 결과를 서로 견줄 수 있게 부스터를 쓸 수 없습니다.
오늘의 놀이공원과 도전장 링크
오늘의 놀이공원은 날짜로 만들어지고 한국 시간 자정에 바뀌어, 세계 어디서든 같은 날에는 같은 판을 합니다. 7×9 보관소에 다섯 색, 레일 놀이기구 셋, 탑승장 네 칸, 광장 정원 5명이 나오고, 대개 흰 놀이기구 몇 대·점검 중 하나·단체 손님이 섞이며 분수와 화단이 하나씩 있습니다. 생성기는 봇 실패율이 42~85%인 첫 후보를 고릅니다. 로그인하면 이동 목록이 서버로 가고, 서버가 같은 규칙으로 다시 돌려 확인한 뒤에야 순위에 올립니다. 순위는 별 → 최고 사용 탑승장 → 시간 순입니다.
줄을 비운 뒤에는 친구에게 도전장 링크를 보낼 수 있습니다. 링크에는 레벨(또는 날짜), 걸린 초, 최고 사용 칸, 별만 들어가고 이름은 넣지 않습니다. 친구는 메뉴를 거치지 않고 같은 판으로 바로 들어가 내 기록부터 보고, 끝나면 나란히 비교한 결과와 자기 기록으로 다시 보내는 단추를 받습니다. 메신저 미리보기는 서버가 링크를 읽어 만들기 때문에, 미리보기 카드에 이미 어느 레벨을 몇 초 안에 깨야 하는지가 나옵니다.
도움이 되는 습관
- 광장을 도는 손님을 보세요. 이미 광장에 있는 색이 지금 세워도 되는 놀이기구를 정하고, 입구 위 표지는 몇 명이 더 들어올 수 있는지 알려 줍니다.
- 할 수 있으면 탑승장 한 칸은 비워 두세요. 놀이기구가 아직 움직일 수 있는데도 막히는 경우는 탑승장 다섯 칸에 광장 손님과 맞는 색이 하나도 없을 때뿐입니다.
- 보내기 전에 밀어 보세요. 레일 놀이기구가 길만 막고 있다면 밀기로 공짜로 길이 열립니다.
- 흰 놀이기구는 길을 여는 값이 쌀 때 일찍 열어 두세요. 색을 알면 계획이 달라집니다.
- 단체 손님 인원을 보세요. 3명 묶음은 2자리씩 남은 놀이기구 둘에 나눠 타지 않습니다.
- 점검 숫자를 세어 두세요. 세 대가 떠나야 열리는 놀이기구는 그 전에는 도움이 되지 않습니다.
