Skip to content

Repository files navigation

Chubby

一款節奏明快的瀏覽器物理合成遊戲。讓胖嘟嘟的動物落下、碰撞、合體,再用 Combo、關卡、道具與即時對戰把簡單規則延伸成不同玩法。

JavaScript Physics Cloudflare Pages

🎮 直接試玩: https://chubby-animal-merge.pages.dev/

我為什麼做 Chubby

我喜歡「規則很快就懂,但每次堆疊結果都不同」的物理小遊戲。Chubby 從相同動物碰撞合體的核心開始,慢慢加入關卡成長、Combo、危機道具、AI 自動玩家與 P2P 對戰。

我也希望它打開網址就能玩:不需要安裝、不需要帳號,手機可以觸控,電腦可以用鍵盤。原始碼保持在容易閱讀與修改的 HTML、CSS、JavaScript 結構,方便想研究瀏覽器遊戲的人一起交流。

主要功能

  • 物理合體:相同動物碰撞後進化成下一階,尺寸、反彈、摩擦與堆疊都由 Matter.js 處理。
  • 24 階進化資料:前段動物可直接落下,後段角色需要持續合成解鎖。
  • Combo 與關卡系統:連續合成會累積 Combo;分數提升後進入新關卡並改變遊戲節奏。
  • 四種難度:簡單、中等、困難、超難會調整接觸容差、自動投放時間、反彈與粒子推力。
  • 危機道具:炸彈需要快速集能;鐵砧可以在堆疊失控時提供不同解法。
  • AI 自動遊玩:AI 會掃描可投放位置、估算合體價值與堆疊高度,並在危急時判斷是否使用道具。
  • P2P 即時對戰:使用 Trystero 建立房間,不需要自建遊戲伺服器;雙方可同步分數、關卡與干擾狀態。
  • 開發者面板:重力、摩擦、彈性、Combo 時間、動物尺寸與各階權重可即時調整並保存於瀏覽器。
  • 手機與 PC 共用:滑鼠、觸控、A/D、方向鍵、空白鍵與 B 鍵都有對應操作。
  • 靜態網站交付:不需要前端框架或建置步驟,可直接部署到 Cloudflare Pages。

操作方式

電腦鍵盤

  • A / D / :移動投放位置
  • Space:投放動物
  • B:啟動炸彈;啟動後連按 Space 集能
  • 遊戲結束後按 Space:重新開始

滑鼠與手機

  • 移動滑鼠或手指:選擇投放位置
  • 點擊或觸控:投放動物
  • 介面按鈕:切換 AI、道具、難度、P2P 與其他功能

核心設計

問題 Chubby 的處理方式
合體遊戲容易只剩隨機落下 依目前盤面取樣多個 X 位置,估算碰撞、合體價值與落點高度,讓 AI 與玩家都有策略空間
自動玩家過早浪費炸彈或鐵砧 將危險線、持續時間、預估上緣與 Combo 機會一起納入判斷
P2P 需要後端會增加部署負擔 使用 Trystero over Nostr 建立房間,遊戲狀態透過瀏覽器點對點同步
一個按鍵在不同畫面容易衝突 空白鍵依狀態分流為投放、炸彈集能或重新開始;炸彈啟動後重複按 B 不會誤觸
網站更新後可能混用新舊腳本 所有執行資源使用同一版本識別,HTML 與腳本要求瀏覽器重新驗證

技術組成

  • Vanilla JavaScript / HTML / CSS
  • Matter.js 2D physics
  • Canvas 2D rendering
  • Trystero P2P(Nostr strategy)
  • LocalStorage 設定與最高分保存
  • Playwright CLI 自動玩家測試
  • Cloudflare Pages

本機執行

需要 Node.js:

npm install
node serve.js

開啟 http://127.0.0.1:8080/

專案本身是靜態網站,不需要打包即可執行;npm install 主要提供 CLI 自動玩家使用的 Playwright。

主要檔案

index.html       畫面、樣式與 P2P 模組入口
constants.js     動物資料、難度參數與 Canvas 繪圖
game.js          物理世界、輸入、合體、關卡與對戰狀態
ai.js            瀏覽器內 AI 自動玩家
devboard.js      即時參數調整面板
audio.js         遊戲音效
serve.js         本機靜態伺服器
cli-play.js      Playwright CLI 自動遊玩入口

作者:Ivan Wang

我喜歡把簡單的互動規則一路做成完整、可以公開試玩的作品。歡迎直接玩玩看,也歡迎交流瀏覽器物理、遊戲 AI 或 P2P 實作方式。

About

我做來分享的瀏覽器物理合成遊戲:動物碰撞進化、Combo、關卡、AI 自動玩家、炸彈與 P2P 對戰,支援手機觸控及 PC 鍵盤。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages