一個把「身體就是搖桿」做到底的網頁原型。開啟網頁、允許鏡頭、退後兩公尺站好,接下來的所有操作都靠身體:手臂快速打直就是出拳,雙臂在臉前交叉是防禦,蹲下閃避,光能滿了雙手高舉放必殺技。整個遊戲是單一個 HTML 檔案,沒有安裝、沒有下載,手機和電腦都能開。
動作判定是這個作品真正花時間的地方。每一個鏡頭畫面都會算出雙手的三個數值:手臂伸直比例(肩到腕的距離除以上臂加前臂長,彎曲時約 0.5、打直接近 1.0)、手腕往鏡頭推進的距離、以及手腕在畫面上離開肩膀的加速度。三者任一在短時間內變化夠劇烈就算一拳——第三項是專門為了抓勾拳這種橫向的拳而加的,只看伸直比例會漏掉。 難的不是抓到動作,是不要抓錯。手慢慢伸直不算、一直伸著不動不算、同一隻手兩拳之間至少隔 200 毫秒、時間窗只看上一拳之後的資料。站姿高度還會隨著人走動慢慢自動校正,否則往前走兩步就會被誤判成蹲下。
十個關卡、五種怪獸輪替,每一隻有自己的招式偏好與必殺技:岩鎧獸攻擊高但動作慢、鉗甲獸防禦硬、翼龍獸浮空且速度最快、機甲獸怒氣累積最快、晶核獸什麼都會。數值成長是用公式算出來的,保證每一關的每一項都不比前一關弱。 對策也一層層加上去:重砸要交叉防禦,橫掃只能蹲下躲,怪獸蓄力時猛攻可以打斷牠,第三關起血量低於三成會暴怒——出招更快、傷害提高兩成。英雄體力只有 100,而怪獸必殺技傷害上限壓在 75,所以就算完全沒防到也不會被一招帶走。
打倒怪獸後有一段約 4.7 秒的過關演出:怪獸倒下、英雄舉拳跳起、結算擊倒與剩餘時間獎勵並回復體力,接著鏡頭切到背後跟拍,英雄沿街衝刺,路燈和車道線從旁邊掠過,最後用黃黑斑馬條紋轉場帶到下一關。轉場蓋住畫面的那一瞬間換場景——五種戰場各有自己的天空、霧色、火光與路燈顏色:燃燒的市中心、夜晚的港口、會打雷的高樓區、工業區、極光下的廢墟。
效能上做了幾件事讓它在手機上跑得動:姿態模型用 lite 版並優先走 GPU,失敗自動退回 CPU;渲染解析度上限 1.75 倍,連續兩秒低於 40fps 就自動往下調,最低到 1 倍;靜態建築合併成三個 draw call。鏡頭模式左下角有一塊即時面板,顯示偵測 fps、每幀推論毫秒數、雙手的伸直比例和蹲下幅度——調手感的時候看著它調。 不方便用鏡頭的場合也能玩:觸控和鍵盤操作是完整的替代方案,兩種輸入隨時可以混用。遊戲同時開了一組外部介面,讓原生 App 用自己的動作辨識把事件送進來,網頁端只負責演出。