##PixiTank
俯視角多人坦克對戰、最多 8 人、支援人機混戰。
# PIXITANK
俯視角多人坦克對戰、最多 8 人、支援人機混戰。
## 操作
- **W A S D** — 移動
- **滑鼠** — 瞄準
- **左鍵** — 開火
- **Z X C V** — 技能(導彈 / 地雷 / 迫擊砲 / 雷射);HUD 右下技能格也可滑鼠點擊
- **Tab** — 計分板
- **ESC** — 暫停選單
- **Q** — 觀戰視角切換(殲滅戰死亡後)
## 遊戲模式
- **經典**:個人賽先達 10 殺、隊伍賽先達 20 殺勝。死亡後重生。
- **生存挑戰**(單人):對抗同隊 AI、AI 等級 1~7。雙方都只一條命、AI 全員清除即勝、玩家死亡即敗。
- **殲滅戰**(多人):自由配隊、死亡不重生、最後存活隊伍勝。
- **王座(King of the Hill)**(多人):地圖中央有控制圈、站滿 20 秒即勝、被別人擠下來會中斷。
## 地圖
- 內建多張地圖(鋼鐵柱林、王座競技場、經典)、房間 / 單人介面選擇。
- **地圖編輯器**:主選單入口、玩家可自製地圖(筆刷 / 矩形 / 圓形畫地形、選取拖移 / 旋轉 / 翻轉 / 複製貼上、出生點、自訂大小、JSON 匯入匯出)。自製地圖目前僅單人可玩,多人房開放等之後玩家創作版本。
- **地形類型**:硬牆 / 可破壞牆 / 草叢(視覺遮蔽)/ 水域(坦克擋、子彈飛彈可飛過)。
## 系統特性
- 8 人上限、自由配隊。
- AI 1~7 級、會繞牆追擊、躲子彈 / 飛彈 / 雷射 / 迫擊砲、會主動使用全套技能(導彈 / 地雷 / 迫擊砲 / 雷射)、不再透視(看不到的東西不反應)。
- 子彈互抵:對向子彈在空中相撞抵銷。
- 可破壞牆、爆炸範圍距離衰減。
- 多人大廳即時顯示在線玩家、有人進出有訊息提示;大廳右下角公告區塊輪播最新公告。
- 主畫面背景隨機抽地圖(每次回主選單換一張)。
## Authors
**[cook1470](/profile/cook1470)**
# Changelog (PixiTank)
## [v0.3.0](/view/PixiTank/0.3.0) (2026-05-10)
#### Added
- **王座(King of the Hill)模式正式開放**:中央有控制圈、站上去累積秒數、先到 20 秒勝、被別人擠下來會中斷、死了會重生。多人房模式選單可選。
- **遊戲房地圖選擇系統**:房間內多了「地圖」按鈕、點開有所有地圖的縮圖牆、再點任一張看到大預覽 + 描述 + 該地圖支援的模式按鈕、左右切換上 / 下一張、選擇地圖 + 模式一氣定下。
- **地圖編輯器**:主選單新增「地圖編輯器」按鈕、玩家可以自己畫地圖、做完套用後就能在單人模式直接玩自己的地圖(多人房暫不開放、等之後玩家創作版本再開)。完整工具組(筆刷 / 矩形 / 圓形畫地形、選取拖移 / 旋轉 / 翻轉 / 複製貼上、出生點 toggle、自訂地圖大小、攝影機平移縮放、還原重做、JSON 匯入匯出)。
- **水域**:坦克不能走進水裡(會被擋住)、但子彈跟導彈可以飛過。視覺有動態水波(慢慢淡入淡出 + 漂移)。
- **主選單背景換地圖**:每次回主選單會隨機挑一張地圖當背景、不是固定那張了。
- **多人大廳右下角公告**:多了一塊公告區域、會輪播當前公告、點擊看完整內容(可帶圖)、左右切換上 / 下一則。
- **主選單副標顯示版號**:標題下面從寫死的「多人坦克競技場」改成顯示當前 build 版號、看一眼就知道在跑哪一版。
- **遊戲內角落面板會閃避視線**:滑鼠移到左上角生命 / 魔力面板或右下角技能面板時、面板會變透明讓你看穿到後面的場景、敵人不能再躲在面板後面偷偷接近。
- **技能格可滑鼠點擊 + 顯示技能名 + 冷卻進度**:右下角四個技能格滑上去會顯示技能中文名(導向飛彈 / 地雷 / 迫擊砲 / 雷射砲)、點擊等同按 ZXCV;技能用了會有半透明黑幕從上往下露出表示冷卻進度。
- **多人大廳顯示在線玩家數 + 加入 / 離開訊息**:房間列表上方多了「在線玩家 · N」即時更新;有人進來 / 離開大廳會在聊天頻道出系統訊息。
#### Changed
- **生存挑戰玩家也只有一條命**:之前死了會重生、現在死了就敗。AI 一樣維持 permaDeath。
- **房間頁拿掉行動區的「離開房間」按鈕**:跟新加的「地圖」區塊重疊、容易誤點。改用左上角返回按鈕離開。
- **AI 設定整合進玩家列表**:房間頁原本最下面那塊「AI BOTS [-] N [+]」拿掉、改成玩家列表內。房主看到末尾「+ 加入 AI」cell、有空位就會出現;每隻 AI 右邊有 [- LV +] [✕]、可以單獨移除任一隻、不再只能砍最後一個。
- **遊戲攝影機不再超出地圖**:地圖小或玩家在邊角時、畫面中央對應的世界點會卡在地圖矩形內、不會看到地圖外的黑邊。
- **草叢永遠在最上層**:子彈 / 導彈 / 雷射 / 視覺特效都會被草叢遮住、之前會偶爾蓋過去。
- **部署黑幕轉場銜接更乾淨**:之前部署黑幕掀起時偶爾能瞄到場景就位過程、現在黑幕完全蓋住才建場景、掀起時直接是定位好的畫面。
- **地圖渲染整體加速**:草叢 / 水 / 牆 / 地板貼圖統一進同一張紋理、整張地圖 GPU 一次批次畫完、地圖大時更不卡。
- **聊天框點別處不再誤送訊息**:之前點輸入框外面失焦會自動把已打的字送出去、現在保留輸入內容、按 Enter 才送。
- **AI 整體大改造**:
- **砲塔閒置動作改成像玩家**:轉到一個方向、停 2-4 秒、再轉到另一個方向。原本是連續左右搖擺像雷達掃描、看起來太機械。
- **AI 不再透視彈藥**:看不到的飛彈 / 地雷 / 對方雷射不會反應(等於不再外掛)。
- **追擊改用實際路徑距離**:玩家繞柱子拖視野斷一下不會被忘記、要真的離得太遠(走路要繞很久才到)才放棄。原本 5 秒沒看到就忘掉、太容易甩。
- **跟丟敵人會在原地附近找一下**:走到上次看見的位置、附近隨機 patrol 幾秒、找不到才放棄。原本到了就傻站。
- **AI 會主動用迫擊砲跟雷射砲**:之前只用飛彈跟地雷、現在 Lv3+ 看到玩家在合適距離 / 角度時會發。
- **AI 會閃迫擊砲落點 / 雷射光束 / 地雷 AOE**:之前只會閃飛彈。
- **戰場邊緣不再抖動**:「太近退、退完進、進完又退」這種每秒進出的抽搐修了;王座圈邊界 AI 進去後也不會再進進出出、會留在裡面累積秒數。
#### Bug fixed
- **加載中切到別視窗、回來沒音效 / 沒音樂**:切到背景時音訊會被瀏覽器暫停、回前景沒自動恢復、整個遊戲內變靜音。修法:回前景顯式恢復 + 記住背景前的 BGM 即使被淡出清空也能重啟。
- **部署黑幕掀開時 AI 飛到天邊再 snap 回原位**:多人遊戲非房主在收到開始訊號到實際進過場黑幕之間有 200ms 空窗 AI 偷跑了幾 tick、加上凍結期間 render 內部 alpha 累積爆增把 tank 外推到天邊、黑幕完全淡開時又 snap 回開局位置。修成收到開始訊號就立刻凍結 simulation 直到過場結束。
## [v0.2.1](/view/PixiTank/0.2.1) (2026-05-07)
#### Changed
- **雷射平衡調整**:啟動 MP 從 15 拉到 40(不能連發),第一下傷害從 80 降到 50、持續傷害從 18 降到 12,前搖跟收尾從 0.27 秒拉到 0.6 秒(玩家看得到細光束有時間跑開、攻擊者放完也要被釘住一下)。
- **飛彈速度調整**:從每秒 150 px 提升到每秒 180 px,比坦克快一點點。之前比坦克慢、直線逃跑就永遠追不上、現在會慢慢追到、要繞牆或打爆才能躲。
- **MP 回復規則**:普通攻擊也會暫停 MP 回復 2 秒(之前只有技能會暫停)。移動中 MP 回復速度減半,完全停止才正常速度——獎勵蹲點守備。
- **高等級 AI 會主動打飛彈跟地雷**:Lv5 以上偵測自己附近的敵方飛彈 / 地雷、優先瞄準射爆。等級越高偵測範圍越大(Lv5 150 px / Lv6 200 px / Lv7 250 px),Lv1-4 不會。
- **雷射切到持續射擊那刻多一聲爆炸音**:拿掉、整段只留循環雷射音效。
## [v0.2.0](/view/PixiTank/0.2.0) (2026-05-07)
#### Added
- **技能系統**:ZXCV 四個技能、MP 自然回(約 16 秒回滿、受傷加速)、各 1 秒冷卻、消耗 MP 後 2 秒才開始回避免連發。
- **Z 導彈**:A* 自動追擊敵人的慢速彈頭,HP 3、子彈打 3 發會被打爆,10 秒沒命中會自爆。
- **X 地雷**:放在腳下,敵人踩到會爆,子彈打到也會爆(包括自己的子彈,可主動引爆做大範圍傷害)。每人最多放 3 顆。
- **C 迫擊砲**:進入瞄準狀態(紅色準心和虛線),點擊發射,砲彈落到面前固定距離 200 px 處、半徑 128 px 範圍傷害。發射期間玩家不能動 0.6 秒。**只能用滑鼠施放**(左鍵 commit、右鍵 / ESC / 再按 C 取消)。
- **V 雷射砲**:坦克周圍出現八方向準星指示環。三段:前搖(細光束預警)→ 變粗持續傷害 → 收尾(變細消失)期間玩家全鎖。第一下傷害最重,之後每 8 tick 結算。MP 沒了自動結束、按 V 或 ESC 提前停。光束會被牆擋住、可破壞牆被打爆光束往前延伸、終點有呼吸火球。
- **雷射鍵盤施放**:按 V 啟動後,按 WASD 任一個(或組合,例如 W+D = 右上)瞬間 snap 到 8 方向,放開所有 WASD 那刻就發射,不用再按空白。按住 WASD 期間滑鼠仍可微調方向,鍵盤滑鼠隨時換不互鎖。
- **AI 會用技能**(Lv3 以上、Lv1-2 仍只用普通子彈):近距離放地雷、中遠距離發追擊導彈;會閃飛來的導彈;路徑會自動繞開敵方地雷(不再「踩過去再退」)。迫擊砲 / 雷射的 AI 行為下個版本再加。
- **雷射發射期間有循環能量音效**:靠近聽得到、離得遠就淡掉。
- **遊戲偶發狀態異常時自動回報後台**:少數情境還是可能讓畫面對不上(例如切視窗那刻剛好被雷射砲打到),系統會把當下狀態快照送回後台讓開發者追蹤,不影響繼續玩。
- **殲滅戰觀戰視角**:死掉不會復活時 HUD 顯示「已淘汰 — 按 Q 切換觀戰視角」,按 Q 在還活著的對手 / AI 之間 cycle 視角,觀戰對象死了會自動跳下一個。
#### Changed
- **爆炸傷害有距離衰減**:對坦克跟牆都一樣,中心全傷、邊緣只留裂痕。爆炸範圍內的其他導彈跟地雷會被一起炸掉、子彈打到導彈跟地雷會冒火花。
- **雷射光束會打掉沿線所有可破壞物件**:以前快速子彈會穿過光束、現在沿線任何「會被打」的東西都收進去(彈藥被光束打到直接破、坦克套距離衰減)。
- **玩家死亡時 active 技能會強制結束**:雷射 firing / 迫擊砲瞄準等不會卡在「死了還在放」。
- **切到背景時坦克會「停住等你回來」**:之前切到別的視窗或最小化(去回 DC、看 Twitch 之類)會繼續跑,跟對方場上狀況越打越歪。改成切到背景那刻坦克停住,回來後把背景累積的訊息處理完才繼續,雙方畫面保持一致。
#### Bug fixed
- **後加入房間的玩家看不到 AI / 隊伍 / 聊天歷史**:之前 A 開房 + 加 6 隻 AI、B 才進來時,B 只看得到 A 跟自己、AI 全部消失;要等 A 再去動 AI 數量 B 才會同步到。順帶把房間聊天歷史、其他玩家的隊伍選擇也修好(之前同樣會漏接)。
## [v0.1.2](/view/PixiTank/0.1.2) (2026-05-05)
#### 修一些瑕疵
- 修正 Mac retina / 手機等高解析度螢幕上的座標換算問題:滑鼠瞄準會偏、登入 / 聊天輸入框會跑位、下拉選單點外面關不掉,都是同一個 root cause(CSS transform 跟 toLocal 沒對齊)。
- 牆壁渲染優化:從每格一張獨立 Graphics 改成共用紋理 + Sprite,地圖大時 GPU 一次 batch、感覺更順(視覺一樣、看不出差別才對)。
- ESC 暫停選單修正:之前打開 ESC 後子彈跟敵人會像鬼影一樣繼續往前飄、甚至穿牆,繼續遊戲又跳回原位。改成 ESC 期間 simulation 繼續跑(敵人會繼續打你 / 子彈繼續飛),只停玩家自己的操作。
## [v0.1.1](/view/PixiTank/0.1.1) (2026-05-05)
#### 全部都重寫了
距離上一版兩年,這次基本上是重做了一遍。
- 多人最多 8 人,房間裡可以自由配隊伍。
- 三種模式:經典、生存挑戰、殲滅戰。
- 有了 AI,會追擊、會躲子彈、會繞牆,被壓在角落時還會自己想辦法突圍。難度可調 1~7。
- 整套 UI 重新設計,戰場文件風。
- 加了音樂、音效、語言切換、暫停選單,該有的都有了。
- 玩起來不卡,打起來會爆炸。
## [v0.0.1](/view/PixiTank/0.0.1) (2024-05-01)
#### Added
- 多人連線測試。
## Authors
**[cook1470](/profile/114899766849308759711@google)**