開發筆記2026年 03月 05日閱讀時間 5 分鐘

如何用 AI 改造開源遊戲:實作在地化的專屬台灣麻將牌桌

 如何用 AI 改造開源遊戲:實作在地化的專屬台灣麻將牌桌

過年打牌總是在繳學費?市面上的麻將 App 有免費次數限制但根本不夠用。這篇文章介紹我如何透過 AI Vibe Coding,基於開源專案改造出一款完全免費、無限練習的台灣十六張麻將單機遊戲。

infoInfo

這篇文章將介紹我如何透過 AI Vibe Coding,基於開源專案改造出majiang-taiwan,一款完全免費、無限暢玩的台灣十六張麻將單機練習遊戲。

過年限定的麻將新手 與 被綁架的練習#

身為一個平常不打麻將的人,我只有在過年過節才會跟家人朋友上牌桌。

但因為實在太少打,每次上桌基本上都是在「繳學費」。看牌慢、打牌慢、不知道可以聽哪些牌,甚至連最後胡牌了,台數怎麼算都搞不清楚,只能任人宰割 (((o (゚▽゚) o)))。

平常要湊牌搭很麻煩。於是,我轉向了手機上的麻將應用程式。

然而,市面上的麻將 App 都有兩個致命的痛點:

  1. 每日次數限制 :每天只有少量的免費破產補助金,輸光了就只能明天請早,無法達到「高頻率密集練習」的效果。
  2. 強烈的課金導向 :系統透過各種機制誘導你儲值課金或看滿滿的廣告。

我想要的只是一個純粹的「單機練習庫」:沒有每日限制、沒有儲值壓力、沒有廣告。

既然找不到,我就自己搞一個出來。


Vibe Coding:站在開源的肩膀上魔改#

為了避免從零開始造輪子的痛苦,我在 GitHub 上尋找合適的基底。

最終鎖定了 Pomax/mahjong,這是一個以純前端(HTML/CSS/JS)打造的開源麻將專案,優點是架構極簡、沒有臃腫的框架。

但他有一個根本性的問題:它是基於十三張麻將(日本/國標)的邏輯寫的。這與台灣麻將完全是兩個世界(我也有玩過雀魂日麻,0 台不能胡牌超麻煩的)。

為此,我透過 AI 進行了深度的核心改造,這也是這款遊戲與原版最大的不同:

1. 從 13 張到「台灣 16 張」的底層重構#

這是最大的技術痛點。原專案是 4 面子 + 1 雀頭(14 張胡牌),但在台灣,我們打的是 16 張牌(5 面子 + 1 雀頭,17 張胡牌)

這不只是 UI 多出一組牌的問題,整個 AI 對手理牌、聽牌判定、以及胡牌演算法的遞迴檢查,都需要為了額外的一個「面子」全面重寫。

2. 實作台灣專屬的「底 + 台」計分系統#

十三張的計分方式也跟我們熟悉的台灣規則不一樣。透過 Vibe Coding,我讓專案學會了完整的台灣台數表:

  • 基本盤 :門清、自摸、平胡、碰碰胡、混一色、清一色等。
  • 台灣特色 :莊家連莊與拉莊(連一拉一)、一炮多響(放炮者全賠)。
  • 大牌與特殊牌型 :大小三元、大小四喜、天胡、地胡、字一色,甚至補花、正花、槓上開花、海底撈月等規則也一併實作。

3. 全在地化的沉浸體驗#

為了讓練習更有感,我把介面全面繁體中文化,並加入了在地化的 中文字音提示 (使用了 ElevenLabs,還蠻好玩的)。 也加入了 「結算台數拆解明細」 的功能:新手最怕不知道台數哪來的,現在胡牌後,畫面會一條一條列出你贏了哪些台數,它是新手最完美的教學畫布。


majiang-taiwan:你的萬能單機牌桌#

經過改造,majiang-taiwan 正式誕生。它的核心理念,與我之前寫的 記憶卡歸檔程式AI 語音家教 一樣: 簡單、純粹、Local-first

  • 零安裝、零依賴 :純 HTML / CSS / JS 打造,不需要 npm build,完全無框架。只要點開 index.html 或者直接開啟 GitHub Pages 連結,瀏覽器就是你的牌桌。
  • 無限練習 :這是一款徹底的單機遊戲。內建 3 個 AI 對手陪你練牌,你可以一天打 100 圈,永遠不用擔心金幣耗盡。
  • 自訂彈性 :你可以自由調整底注、每台金額,甚至是選擇打東風戰還是全場。

拿回「純粹娛樂」的權利#

就像我在 VoiceVault 專案中強調「資料主權」,在打麻將這件事上, 我們該拿回的是「純粹娛樂與練習」的權利

科技的進步與開源社群的力量,讓我們不再需要被博弈遊戲的商業模式(買幣、看廣告)綁架。只要善用 AI Vibe Coding,完全可以根據自己的痛點,在短短幾天內重塑一個適合自己的工具或遊戲。

練習的時間是你自己的。別讓它們變成商業軟體用來榨取你錢包的籌碼。


如何開始?#

這款台灣麻將完全開源且免費,你可以直接在瀏覽器上遊玩,或是把它 Clone 到你的電腦裡。

Mike Chen

專注於科技與人文的交匯點。

mail訂閱電子報

不定期發送最新思考與發現。

無廣告,隨時取消