科技教育創新專區 › 部落格

🎮 #101 3D 迷宮冒險遊戲:第一人稱光球收集 × 紅怪閃避 × 全班排行榜,瀏覽器跑 3D 的下課十分鐘

黃凱揚(阿凱老師) · 桃園市龍潭區石門國民小學 · 2026-05-28

#101 3D 迷宮冒險遊戲是阿凱寫給孩子玩的第一人稱探索遊戲:React + Three.js 純瀏覽器跑 3D,收集藍色光球、躲避紅色巡守者、與時間賽跑,4 段難度 7×7 到 17×17 噩夢級,桌機 + iPad 觸控全支援,內建全班 / 全校排行榜。

下課十分鐘,孩子滑手機 vs 跑 3D 迷宮

每節下課這 10 分鐘,國小教室的場景大概兩種:

兩種都不算理想。我想要一個中間值 — 孩子願意玩、不會吵到別班、又跟「資訊課在學什麼」有關聯的東西。

於是 #101 出現了:用瀏覽器打開就能玩的第一人稱 3D 迷宮。

#101 怎麼解?4 個欄位 + WASD + 滑鼠視角

打開 cagoooo.github.io/maze-3d-game 那一刻看到的不是 Loading,是一個叫 MAZE.OS 的開始畫面 — sci-fi 深色配色、左上「REC · CORRIDOR_07」、右上「FPS 60」、中央霓虹藍標題「3D 迷宮冒險」。

核心玩法極簡:

WASD · MOVE     ← 走路
MOUSE · LOOK    ← 視角
◆ COLLECT       ← 撿藍光球
▲ AVOID         ← 躲紅怪
ESC · PAUSE     ← 暫停

開始前先選 4 個東西:

① 難度(4 段)

② 暱稱(最多 4 字)+ 班級(如「601」) 這兩個欄位決定你在「歷史光榮榜 Hall of Explorers」上的署名。

③ 按下「進入迷宮 ENTER」 畫面切換成第一人稱視角 — 你就在走廊裡了。

為什麼選 React + Three.js?三個非常實際的理由

第一次看到「瀏覽器跑 3D」會覺得卡卡的,其實 Three.js + react-three-fiber 的組合在 2025 年已經比 Unity WebGL 快:

① 學校電腦也能跑 30 FPS — 學校那台 Celeron / i3 Chromebook 開 Unity WebGL 會直接卡死,但 Three.js 用 WebGL 硬體加速 + R3F 的 declarative 寫法,老舊設備也能流暢。

② 純前端、零後端伺服器 — 排行榜資料用 Firestore,但遊戲邏輯全在瀏覽器跑,沒有掉線問題、沒有伺服器爆掉。學校 Wi-Fi 不穩也能單機玩。

③ PWA 可安裝 — 有 manifest.webmanifest + Service Worker,iPad / Chrome / Edge 可加入桌面,孩子下次直接點 icon 就開,不用記網址。

代價:第一次載入要下載 Three.js + R3F bundle(約 600 KB),但有了 SW 快取後第二次起就是 0 ms。

第一人稱 3D 跟「教學」有什麼關係?

說真的,3D 迷宮不直接教任何學科。但它對國小資訊課與班級經營有 3 個非常具體的價值:

① 「React + Three.js 真的能跑 3D」的活範例

高年級資訊課講到「網頁可以做什麼」時,示範 #101 比講半小時還有效 — 孩子看到瀏覽器裡跑第一人稱 3D,當場驚呼「這是用網頁做的?」對技術的想像力被打開。

② 3D 空間認知訓練

孩子玩第一人稱遊戲時,大腦在做空間建模 — 我現在在哪、剛剛從哪來、光球可能在哪。這是平面遊戲完全給不了的訓練(特別對特教 / 資源班學生的視覺空間感)。

③ 全班排行榜的「健康競爭」

光球數 × 時間雙因子排序,不能單純比手速 — 想拿高分要同時:(1) 找到所有光球、(2) 避開紅怪、(3) 路線最短。策略多元 = 不同特質的孩子都有機會上榜。

「歷史光榮榜 Hall of Explorers」會記錄 RANK / PLAYER / DATE / TIME / SCORE,每節下課孩子湊過來看自己排第幾,比口頭表揚更有動力。

真實技術棧

桌機 vs iPad,操作有什麼不同?

阿凱班上一半學生用 Chromebook、一半用 iPad,兩端體驗都顧到:

桌機 / Chromebook

iPad / 手機

iPad 觸控的搖桿手感意外好 — R3F 把 touch event 接得很乾淨,沒有「我明明按了但角色沒動」的卡頓感。

老師回饋

「以前下課我要顧不能滑手機 + 不能在教室跑,學生會抱怨『那能幹嘛』。現在我說「去玩迷宮」,他們自己排隊用我那台 Chromebook,連我都驚訝可以這樣解決。」

— 桃園某國小高年級導師

「資訊課最後 10 分鐘我會放 #101 給孩子玩,順便講 Three.js 是什麼。學生回家還問家長能不能在家電腦也裝,整個技術話題被打開。」

— 同校資訊老師

「我們班有個 ADHD 孩子,下課 10 分鐘很難靜下來。他玩 NORMAL 9×9 那 150 秒會超級專注,玩完反而能順利進入下節課。」

— 輔導老師

跟其他工具的關係:學生體驗類三劍客

阿凱工具集裡「給孩子直接體驗」的工具不多,#101 算進來剛好補齊一塊:

[#50 童樂學園] 全學科互動學習入口
    ↓
[#97 MBTI 校園奇遇記] 16 型人格情境探索
    ↓
[#101 3D 迷宮冒險遊戲] 第一人稱 3D 空間挑戰

三個都是「孩子打開就玩、不用老師全程在旁邊」的自驅型體驗工具,差別在維度:

配對工具推薦

適用對象

想試試?

→ 前往 #101 3D 迷宮冒險遊戲

第一次玩:選 EASY 7×7、暱稱填一下、按 ENTER。WASD 走、滑鼠看,把所有藍光球撿完按 ESC 結束。第一輪通常 60-90 秒。

第二次玩:升級到 NORMAL 9×9 挑戰 150 秒內通關。

進階玩:HARD 13×13 / NIGHTMARE 17×17,留給下班後紓壓用。

每次通關都會自動上「歷史光榮榜 Hall of Explorers」 — 看自己班 / 全校排第幾,是國小孩子最愛的環節。

下次資訊課最後 10 分鐘,試試把這個丟給孩子當作下課放電。

開源原始碼:參考這個工具做出你的版本

阿凱老師大部分的教育工具都在 GitHub 公開原始碼,歡迎老師、學生與開發者參考改造成適合自己情境的版本。文章頁左下角的「複製 AI 開發提示詞」可把工具資料與原始碼連結一次交給 ChatGPT、Claude、Gemini 等 AI 助手。