攻略

桌球遊戲原始碼:Sunset Rally 的檔案、物理與賽事

一款瀏覽器 3D 桌球遊戲,逐一打開檔案來看:物理、計分、巡迴賽和場地放在哪裡,該先改什麼。

Sunset Rally 主視覺:夕陽下的花園露台,紅色球拍與桌球懸在綠色球桌上方,周圍是櫻花和燈籠。

如果你需要一套能自行架設、自由修改的桌球遊戲原始碼,Sunset Rally 是一款已完成的瀏覽器 3D 桌球(乒乓球)遊戲:九場比賽的巡迴賽、三位電腦對手、一間工坊,以及完整的 TypeScript 專案,定價 39 美元。game 資料夾已經建置完成,也沒有壓縮混淆,可以先上傳上線,之後再慢慢讀程式碼。

運動遊戲比外表看起來更難改,因為樂趣藏在物理和操控手感裡,而不是選單裡。這篇指南說明這些部分在 Sunset Rally 專案中的位置、哪些地方可以放心修改,以及這個版本沒有包含什麼。

這款桌球遊戲怎麼玩

每場比賽與一位電腦對手打到七分。玩家移動滑鼠游標或用手指拖曳來控制球拍,擊球是自動的。往上推會加力,左右移動決定落點,往下拉可以打出放小球,彈得高的球就是殺球的時機。

另有一個輔助功能,玩家可在比賽中隨時開關,它會幫球拍對準來球的高度。這對公開網站很重要:第一次用手機玩的人也能把球回過去。

三位電腦對手各有打法:沉穩的 Capi、愛玩的 Nori 和精準的 Miso,每位都有 Easy、Normal、Hard 三種難度。Training 模式提供一位每球必回的陪練。比賽結束後,重播會再播一次決定勝負的那一分。

試玩 Sunset Rally 示範版

桌球遊戲原始碼套件內容

  • 可直接架設的 game/ 資料夾,已建置、未壓縮。
  • source/ 內的 TypeScript 開發原始碼,附 Vite 設定與遊戲素材。
  • 英文與葡萄牙文的圖解手冊,附實際截圖。
  • 遊戲隨附的字型與音效檔。
  • 第三方授權聲明與更新紀錄。

技術架構為 TypeScript、Three.js r184、Vite 與 WebGL2。檔案類型包括 HTML、CSS、JavaScript、TypeScript 與 JSON。介面提供 14 種語言:英文、葡萄牙文、西班牙文、法文、德文、義大利文、荷蘭文、波蘭文、土耳其文、俄文、印尼文、日文、韓文與簡體中文。手冊只有英文和葡萄牙文。

比賽以外的內容也都在套件裡:分三個階段、共九場比賽的 Sunset Circuit;三個場地(Sunset 花園、Sakura 花園與海邊咖啡館),可選早上、下午、夜晚或雨天;以及一間工坊,用贏來的金幣購買球拍顏色、膠皮、拍型、握柄、底板、護邊、貼紙,還有球與球桌的款式。

程式碼的各個部分在哪裡

手冊把遊戲的每個部分對應到一個檔案。動手修改時,建議把這份清單放在旁邊:

  • Campaign.ts:巡迴賽的九場比賽與星星目標。
  • Places.ts:每個場地的外觀。
  • physics.ts:球和球拍的物理。
  • match.ts:計分與比賽規則。
  • i18n.ts:英文與葡萄牙文的介面文字;其他語言在 locales 資料夾。
  • styles.css:選單與各畫面的樣式。

每場巡迴賽比賽最多三顆星:獲勝、打中三個角落、打出十拍的來回。總共 27 顆星,每完成一個場地還能拿到一項工坊獎勵。星星條件都集中在同一個巡迴賽檔案,想調整難易度時,不必在程式碼裡到處找。

桌球遊戲範本該先改什麼

我們建議依照以下順序,從低風險到高風險。

  1. 介面文字和遊戲名稱,在 i18n.ts 與 locales 資料夾。
  2. 顏色與畫面,在 styles.css。
  3. 工坊裡球拍、球和球桌的款式,讓裝備帶上你的品牌。
  4. 場地畫面,在 Places.ts。
  5. 巡迴賽比賽與星星目標,在 Campaign.ts。
  6. 物理與計分,在 physics.ts 和 match.ts,只有需要不同手感時才動。

手冊另外提了三條值得遵守的原則。解鎖 ID、物品 ID 和存檔鍵名要維持不變,否則玩家會失去已經拿到的東西。開始前先備份。一次只改一項功能,才知道是哪個修改造成了什麼結果。

可以白牌使用:用你或客戶的名稱和標誌取代我們的。

重新建置、架設與嵌入

只是要玩的話,完全不需要建置。把 game/ 的內容上傳到任何能提供靜態檔案的 HTTP(S) 主機,保留相對路徑,打開網址即可。不需要 PHP、資料庫或帳號。

要修改原始碼,需要 Node.js(建議 24 LTS)和 npm。修改 TypeScript,用 Vite 重新建置,再用新的輸出取代主機上的 game/ 資料夾。

瀏覽器需支援 JavaScript、ES 模組與 WebGL2。觸控和滑鼠都能操作,控制方式會依螢幕尺寸調整。效能取決於瀏覽器和裝置,請在玩家常用的手機上測試。

  1. 把 game/ 上傳到主機上的測試資料夾。
  2. 用電腦瀏覽器打一場,再用手機打一場。
  3. 在 source/ 修改文字與樣式,然後重新建置。
  4. 整個取代測試資料夾,再玩一次。
  5. 移到正式網址。

這個版本沒有包含什麼

這個版本是跟電腦對打:巡迴賽、自由比賽和練習。套件不含線上多人、線上房間、線上排行榜和雲端帳號,也沒有雙人模式。沒有任何廣告 SDK 或廣告帳號,也不包含原生 App 和主機代管。

進度存在玩家的瀏覽器裡:巡迴賽星星、成績、統計、重播和工坊物品。不使用伺服器或帳號,所以上線後沒有後台要維護。

如果你需要線上模式、遊戲平台 SDK、應用程式商店版本,或安裝到你的伺服器上,這些屬於另外的服務,依專案報價。

客製開發請洽報價

授權、支援與價格一次看懂

購買一次即取得一份永久、非專屬的授權,可用於一個最終產品(你自己的或一位客戶的),玩家可免費遊玩,也可透過廣告營利。你可以在該產品內修改程式碼、美術和音效,但不能單獨轉售或分享範本、原始碼或素材。技術支援為 6 個月,結帳時加購延長可達 12 個月,內容包括檔案的安裝與使用,以及修正可重現的錯誤;客製化、主機代管和 SDK 或遊戲平台串接另行報價。定價 39 美元;2026 年 11 月 30 日前,黑色星期五活動全部範本 85 折,Sunset Rally 只要 33.15 美元,12 月 1 日起恢復原價。

閱讀完整條款

常見問題

使用這款桌球遊戲需要先建置嗎?

不需要。game/ 資料夾已經建置好。把內容上傳到靜態網站主機,打開網址即可。只有修改 TypeScript 並重新建置時才需要 Node.js 和 npm。

有雙人或線上模式嗎?

沒有。這個版本在巡迴賽、自由比賽和練習中與電腦對打。

可以修改巡迴賽和星星目標嗎?

可以。比賽和星星條件都在 Campaign.ts。改完後用 Node.js 重新建置。

可以改變球的行為嗎?

可以。物理在 physics.ts,計分規則在 match.ts。一次只改一個地方,並跟每位對手測試。

手機上可以玩嗎?

可以,觸控操作會依螢幕調整。需要 WebGL2,效能取決於裝置,請在目標手機上測試。

進度存在哪裡?

存在玩家的瀏覽器裡。不使用伺服器或帳號。

可以一起比較的其他運動範本

如果你要替網站打造運動遊戲專區,還有兩款範本很適合跟 Sunset Rally 擺在一起。Velvet Pool 是八號球撞球遊戲,有電腦對手和本機雙人模式,以原生 JavaScript 和 WebGL2 撰寫,定價 39 美元。Puttide 是有 30 洞的 3D 迷你高爾夫遊戲,以 Three.js 和 Rapier 打造,定價 39 美元。兩款都有 14 種介面語言。

Sunset Rally 適合想要短局運動遊戲的遊戲入口網站和一般網站、替單一客戶交付品牌遊戲的工作室,以及想找一個易讀的 TypeScript 與 Three.js 專案來學習或擴充的開發者。如果你需要同一台裝置上的雙人對戰,Velvet Pool 有這個模式,Sunset Rally 沒有。

看看八號球撞球遊戲 Velvet Pool

看看 3D 迷你高爾夫遊戲 Puttide

同一筆訂單購買兩款以上範本,每份授權都會更便宜:兩款折 5%,三款折 10%,四款折 15%,五款以上折 20%。

購買 Sunset Rally 桌球遊戲原始碼