它必須解決什麼
SineRider 始於 2013 年,是一名青少年用 Unity 製作的網頁遊戲,主題是沿著函數圖形滑雪;它於 2015 年登上 GDC 實驗性遊戲玩法工作坊,後來瀏覽器淘汰 NPAPI、終結 Unity Web Player,它便消失了。創作者在 2018 年加入 Hack Club 後把專案束之高閣,直到社群成員在 2022 年把它重新拿出來。
構想
以開源純 JavaScript 重建一款已停止運作的遊戲,讓遊玩本身承載學習:無盡的繪圖謎題、無窮多種解法,先為樂趣而造,課程其次。
運作方式
一支來自 8 個以上國家、20 多名青少年的全球團隊,以 100% 純 HTML、CSS 與 JavaScript 重建 SineRider——可在任何 HTTP 伺服器上執行的靜態檔案——作為 Hack Club 的開源專案。玩家編輯如 y=sin(x) 的函數,角色便沿著產生的曲線滑雪;每一道謎題都是有效解法的無盡泉源,透過故事關卡、每日謎題與供教師使用的免費教案呈現,全部廣告預算為 0 美元。
成果
2023 年 5 月 8 日的 Show HN 獲得 181 分;留言者表示自己的孩子玩遍了每一關,並讚賞方程式介面是有意為之,而非施加壓力。2015 年的原作已獲 Rock Paper Shotgun 報導,並由 Extra Credits 的 James Portnow 推薦;儲存庫快照顯示 623 顆星、51 次分支與 1,375 次提交。
背景
SineRider 始於 2013 年,一名拿著繪圖計算機的無聊青少年想到一個小遊戲的點子:沿著函數圖形滑雪,玩家編輯函數,角色便沿著曲線穿越目標。Chris Walker 以 Unity 網頁遊戲的形式打造它,2015 年它登上 GDC 實驗性遊戲玩法工作坊、獲 Rock Paper Shotgun 報導,並由 Extra Credits 的 James Portnow 推薦。
然後遊戲消失了:瀏覽器淘汰 NPAPI 外掛架構,Unity Web Player 隨之終結,SineRider 也一同消失。Walker 在 2018 年開始為 Hack Club 工作時把專案束之高閣——直到 2022 年 5 月,社群成員把它重新拿出來,化為一支來自 8 個以上國家、20 多名青少年的全球團隊長達一年的夜晚與週末。他們以 100% 純 HTML、CSS 與 JavaScript 重建遊戲,使其能以靜態檔案在任何 HTTP 伺服器上執行,並於 2023 年 5 月 8 日進入公開測試。
本專案的論點是:教育遊戲之所以失敗,是因為機構要求依統一課程強制遊玩,而遊戲本質上是自願的。SineRider 改為為樂趣而造:每道謎題都提供有效解法的無盡泉源,遊戲免費、廣告預算為 0 美元,教師教案只是額外選項。Show HN 獲得 181 分,有家長表示孩子玩遍了所有關卡,儲存庫顯示 623 顆星與 1,375 次提交。
為何奏效
SineRider 顛覆了教育科技的公式:它不把遊戲機制硬接到課程上,而是先造一款好遊戲,讓繪圖概念從遊玩中自然浮現。
選擇 100% 純靜態 JavaScript、無建置步驟,使遊戲極易執行與改造,讓任何筆電上的青少年貢獻者都能進入這個程式碼庫。
復活一款深受喜愛卻已停止運作的遊戲,為專案帶來現成的故事與受眾:2015 年 GDC 的資歷與 Rock Paper Shotgun 的報導,在 2023 年測試版中回歸為可信度。
在 Hack Club 旗下開源,把一個人的執念化為分散式勞動:藝術家、音樂家、程式設計師與謎題設計師都能依自己的時間表貢獻。
你可以帶走什麼
當遊玩被強制時,教育遊戲就會失敗;當首要目標是樂趣時,學習便隨之而來——先造遊戲,讓理解成為獎賞。
後續發展
Hack Club 持續以免費開源軟體維護 SineRider。Show HN 討論串浮現了無法跳過的過場動畫,以及誤貼一則 Reddit 指令等錯誤,團隊在 GitHub 議題中追蹤這些問題,並以承諾加入跳過按鈕作為回應;路線圖列出行動裝置支援、自訂關卡編輯器、可調圖形、多語言、每日謎題預覽與極座標。遊戲在 sinerider.com 持續可玩,截至快照時該站已包含供社群討論串使用的每日謎題分享指令。
追溯依據
參考來源
- Show HN: SineRider, a math puzzle game Hacker News · news.ycombinator.com ·
- SineRider Wants You To Love Maths, And Scares Me Rock Paper Shotgun · rockpapershotgun.com
- hackclub/sinerider: A game about love and graphing, built by teenagers GitHub · github.com