TUNL 소개
TUNL은 iOS, Android, 웹을 위한 원버튼 동굴 비행 게임으로, 한 사람이 만들었습니다. 어떤 날에 플레이하든 모두가 정확히 같은 동굴을 납니다.
TUNL이란
탭하면 살짝 뛰어오르고, 누르고 있으면 상승하고, 떼면 떨어져요. 터널은 흘러가며 좁아지고 빨라지고, 당신은 어제보다 더 멀리 가려고 해요. 조작은 이게 전부이고, 게임은 이 하나의 입력을 최대한 깊게 만들도록 설계되었어요. 통로를 바꾸는 코인, 서로 다른 질문을 던지는 위험, 그리고 매일 다르지만 그날은 모든 플레이어에게 똑같은 동굴이요.
이 공유되는 동굴이 핵심입니다. 레벨은 어디에도 저장되어 있지 않고 서버가 보내 주는 것도 아닙니다. 달력 날짜로부터 계산되기 때문에 리스본의 플레이어와 도쿄의 플레이어가 같은 위치에서 같은 종유석을 만나고, 점수는 어떤 휴대전화에서도 같은 의미를 갖습니다. 데일리 동굴 개발 일지에서 작동 방식과, 그 과정에서 조용히 이를 망가뜨렸던 두 버그를 설명합니다.
누가 만드나
TUNL은 Theodoracatos라는 1인 인디 개발자가 만듭니다. 스튜디오도 퍼블리셔도 없이, 디자인, 코드, 사운드 작업, 그리고 이 웹사이트까지 모두 한 사람에게서 나오며, 스토어 등록 정보, 리더보드 백엔드, 지원 이메일까지 모두 같은 책상에서 운영됩니다. 그래서 개발 일지는 1인칭으로 쓰여 있고, [email protected]로 보낸 버그 신고는 그것을 고칠 수 있는 바로 그 사람이 직접 읽습니다.
어떻게 만들어졌나
게임은 HTML5 캔버스 위의 순수 자바스크립트입니다. 게임 자체에는 라이브러리도, 모듈도, 빌드 단계도 없습니다. 한 페이지가 일련의 스크립트를 순서대로 불러오고, 이들은 하나의 전역 스코프를 공유합니다. 같은 파일들이 세 곳에서 실행됩니다. iOS 앱은 WKWebView에서, Android 앱은 WebView에서 실행하고, 이 웹사이트는 flytunl.ch/play에서 제공합니다. 즉 웹 버전은 이식판도 데모도 아닙니다. 브라우저 전용의 몇 가지 손질만 더해진 같은 게임입니다.
공유되는 데일리 동굴은 하나의 약속이기 때문에, 엔지니어링의 상당 부분은 그 약속을 지키는 데 쓰입니다. 자동화된 테스트가 6가지 화면 크기에서 동굴 생성기를 재현하고 결과를 바이트 단위로 비교하며, 서로 다른 화면 재생 빈도에 맞서 물리 연산을 지키고, 세계의 한 구간이 어떤 기기에서든 똑같이 어렵게 비행되는지 확인합니다. 이런 결정들은 개발 일지에 정리되어 있습니다.
디자인을 이끄는 원칙
- 하나의 조작, 감각으로 익히기. 튜토리얼 문구는 없어요. "탭하면 점프, 누르고 있으면 상승" 같은 힌트는 지금 하고 있는 행동 옆에서는 군더더기이기 때문이에요. 새 파일럿에게는 문장 대신 탭할 때를 보여 주는 원이 나타나고, 모든 런의 시작은 무엇에도 다치기 전에 조작의 두 절반을 몸으로 느낄 수 있게 만들어졌어요.
- 모든 사물은 자신이 하는 일을 보여 줍니다. 코인은 자신이 하는 일을 그린 모양으로 그려집니다. 모래시계는 시간을 늦추고, 실드는 한 번의 피격을 막고, 마그넷은 끌어당기고, 폭탄에는 타는 도화선이 있습니다. 색맹이라 해도 한눈에 구분할 수 있습니다.
- 시작하기는 쉽고, 마스터하기는 어렵다. 신규 플레이어에게는 안전한 시작과 두 번의 선체 흠집이 주어집니다. 실력 좋은 플레이어는 결코 빨라지기를 멈추지 않는 동굴과 마주합니다. 난이도는 추측이 아니라 측정됩니다. 변경 사항을 내놓기 전에 네 가지 실력 단계의 봇으로 수천 번의 런을 시뮬레이션하고 각각이 어디서 죽는지를 살펴봅니다.
- 공정하다는 것은 모두에게 똑같다는 뜻입니다. 어떤 사물이 어디에 놓일지를 결정하는 모든 것은 날짜와 동굴 안에서의 위치에만 의존해야 합니다. 당신의 화면, 점수, 파워업에는 결코 의존하지 않습니다.
- 플레이어의 말에 귀 기울인다. 기체의 추진력은 Reddit의 플레이어들이 게임이 너무 빠르게 느껴진다고 말한 뒤 두 차례 재조정되었고, 첫 1분 전체는 초보자들이 너무 어렵다고 말한 뒤 다시 만들어졌습니다. 전자의 이야기는 추진력 개발 일지에 있습니다.
TUNL의 수익 구조
TUNL은 무료로 플레이할 수 있습니다. 앱에서는 일부 사망 후 전면 광고가 표시되지만, 몇 분에 한 번 이상은 뜨지 않고, 어느 정도 진행한 런 뒤에만 나타납니다. 혜택을 위해 선택적으로 볼 수 있는 두 가지 영상이 있습니다. 하나는 런을 이어서 하기 위한 것이고, 하나는 데일리 샤드 보너스를 위한 것입니다. 1회성 광고 제거 구매로 강제 광고를 끌 수 있고, 1회성 모든 기체 잠금 해제 구매로 기다리고 싶지 않은 플레이어를 위해 전체 로스터를 해금할 수 있습니다. 기체는 순전히 플레이만으로도 얻을 수 있으며, 외형용 도색은 항상 게임 내 샤드로 구매하고 실제 돈으로는 절대 구매하지 않습니다. 관련 데이터에 대한 자세한 내용은 개인정보 처리방침에 있습니다.
크레딧 및 고지
- 게임 내 음악은 the_mountain의 곡으로, Pixabay 라이선스 하에 사용됩니다.
- 트레일러는 출시된 게임의 실제 한 판을 자체 음악과 사운드 그대로 담은 것으로, 내레이션은 없습니다. 스크린샷과 영상은 실제 캡처입니다.
- TUNL은 16개 언어로 제공됩니다. 당신의 언어로 된 문구가 어색하게 읽힌다면 알려 주세요.
연락처
질문, 버그 신고, 아이디어는 [email protected]로 보내 주세요. 구매와 진행 상황에 대한 도움은 지원을, 로고와 스크린샷은 보도자료 킷을 참고하세요.