關於 TUNL
TUNL 是一款適用於 iOS、Android 與網頁的單鍵洞穴飛行遊戲,由一個人製作。在同一天遊玩的每個人,飛的都是完全相同的洞穴。
TUNL 是什麼
點一下輕跳,按住上升,放開下墜。隧道不斷捲過、變窄、加速,而你努力飛得比昨天更遠。這就是全部的操作,而整個遊戲都圍繞著讓這一個輸入盡可能有深度:會改變通道的金幣、提出不同問題的危險,以及每天都不同、但同一天對每位玩家都相同的洞穴。
這個共享的洞穴是核心所在。關卡不存放在任何地方,也沒有伺服器傳送它,而是從日曆日期計算出來的,所以在里斯本和東京的玩家會在相同的位置遇到相同的鐘乳石,而分數在任何手機上都意味著同一件事。每日洞穴開發日誌解釋了它如何運作,以及途中悄悄破壞過它的兩個錯誤。
誰在做這個
TUNL 由獨立開發者 Theodoracatos 一人製作。沒有工作室,也沒有發行商:設計、程式碼、聲音工作與這個網站全都出自一人之手,商店資訊、排行榜後端與支援信箱也都由同一張桌子管理。這就是為什麼開發日誌以第一人稱寫成,也是為什麼寄到 [email protected] 的錯誤回報,會由能夠修復它的那個人親自閱讀。
怎麼做出來的
這款遊戲是建立在 HTML5 canvas 上的純 JavaScript。遊戲本身沒有函式庫、沒有模組,也沒有建置步驟:一個頁面依序載入一系列腳本,它們共用同一個全域作用域。同樣的檔案在三個地方運作:iOS App 在 WKWebView 中執行它們,Android App 在 WebView 中執行,而這個網站則在 flytunl.ch/play 提供它們,所以網頁版不是移植版也不是試玩版。它就是同一款遊戲,只加了少數僅限瀏覽器的調整。
因為共享的每日洞穴是一項承諾,大部分工程工作都在維護這項承諾。自動化測試會在六種不同螢幕尺寸下重播洞穴產生器,逐位元組比對結果,保護物理運算不受不同螢幕更新率影響,並確認世界的某一段在每種裝置上飛行難度都相同。這些決策都寫在開發日誌裡。
設計的指導原則
- 一個操作,靠感覺學會。沒有教學文字,因為「點一下輕跳,按住上升」這種提示,放在你正在做的事情旁邊是多餘的。新飛行員看到的不是一句話,而是一個標示何時點擊的圓圈;每一局的開頭也都設計成讓你在任何東西能傷到你之前,先感受到操作的兩個半邊。
- 每個物件都畫出自己在做的事。金幣被畫成它所做的事:沙漏會減慢時間,護盾能擋下一次攻擊,磁鐵會吸引,炸彈則有燃燒的引信。即使是色盲,也能一眼分辨它們。
- 易於上手,難以精通。新玩家會有一個安全的開場和兩次船體刮痕。實力堅強的玩家則要面對一個永不停止加速的洞穴。難度是量測出來的,而不是憑猜測:在發布任何變更之前,我會用四種技能等級的機器人模擬數千局遊戲,並觀察每一種在哪裡陣亡。
- 公平代表對每個人都一樣。任何決定物件位置的因素,只能取決於日期和在洞穴中的位置,絕不取決於你的螢幕、分數或強化道具。
- 傾聽玩家的聲音。在 Reddit 上的玩家表示遊戲感覺太快之後,飛船的推力經過了兩次重新調整;在新手表示太難之後,整個開局的第一分鐘也被重建。第一件事的來龍去脈記錄在推力調整開發日誌裡。
TUNL 如何獲得收益
TUNL 是免費遊玩的。在 App 中,某些死亡之後會顯示全螢幕廣告,最多每幾分鐘一次,而且只在一局有實質進展之後才會出現。有兩支可選的影片,你可以選擇觀看以換取好處:一支用於續玩一局,一支用於每日碎片獎勵。一次性購買移除廣告可以關閉強制廣告,一次性購買解鎖所有飛船則能為不想等待的玩家解鎖整個陣容。飛船也完全可以透過遊玩取得,而純外觀的塗裝一律用遊戲內的碎片購買,絕不涉及真實金錢。相關資料的細節列在隱私權政策中。
製作名單與揭露事項
- 遊戲內音樂由 the_mountain 創作,依 Pixabay 授權使用。
- 預告片是正式版遊戲的一局真實遊玩紀錄,配上遊戲本身的音樂與音效,沒有旁白。螢幕截圖與畫面都是真實擷取的。
- TUNL 支援 16 種語言。如果某句話在你的語言中讀起來怪怪的,請告訴我。
聯絡方式
問題、錯誤回報與想法,請寄至 [email protected]。關於購買與進度的協助請見支援,標誌與螢幕截圖請見媒體資料包。