Repo ↗ · 原始 README ↗ · 文件包(Markdown/授權)
封面參考(原作): Call of Duty: Black Ops II · 原作宣傳圖,由 IGDB 提供。圖片版權屬原權利人,供辨識原作使用,不代表此重寫/模組專案的實際畫面。
來源維護者: DaffyDabz · 版本: 2e0c2f271ce0 · 整理日期: 2026-10-12
文件授權: Apache-2.0 · LICENSE · 本文形式: README 翻譯
下文為來源 README 的繁中翻譯,由 Kirikirin 使用 AI 輔助整理;功能、完成度與測試結果均為原作者描述,本站未逐項實機驗證。圖片改為來源連結,指令與技術識別保留原文。
BO2 殭屍重建
一個粉絲重建專案,讓你能用自己 PC 上的遊戲副本,在一個以 Rust 撰寫的引擎中遊玩《Call of Duty: Black Ops II》殭屍模式。它是 IW4L 的分支,後者是一個開源的 Call of Duty 執行階段,建構於
Bevy 與 wgpu 之上。此分支教會它 Black Ops II 的檔案格式、
編譯後的遊戲腳本、殭屍 AI 與選單腳本,因此每張殭屍地圖都從遊戲自己的地球儀開始,並依遊戲自己的規則運行,完全不需啟動原始執行檔。
不包含任何遊戲檔案。 此儲存庫不含任何 Black Ops II(或任何其他 Call of Duty)檔案:沒有地圖、
模型、貼圖、音效、腳本或執行檔。你需要自己合法擁有的 PC 版 Black Ops II,並已安裝殭屍模式(以及你所擁有地圖的 DLC 包)。引擎在執行階段以唯讀方式讀取該安裝,絕不修補、複製或重新散布。非官方粉絲專案,與 Activision、
Treyarch 或 Infinity Ward 無隸屬關係,亦未獲其背書。
目錄
地圖完成度
每張地圖的進展程度,逐項對照 Black Ops II 評分。機制計算該地圖的系統與模式依遊戲規則運作的程度(回合、購買、神秘箱、特長、電力、Pack-a-Punch、地圖自身的頭目與
機關、每個模式)。視覺計算地圖上設定的地點(出生點、神秘箱、Pack-a-Punch、電力與四個地標)
與原作並排比較:幾何、貼圖、光照、霧與天空、特效與 HUD。
Black Ops II 那一側是在 PC 上運行的真實遊戲,於同一地點拍攝;地點一次比較幾個,
地圖在首次比較之前顯示為「尚未比較」。
Mechanics Visuals
Nuketown ██████████ 100% █░░░░░░░░░ 7%
TranZit ██████████ 100% ░░░░░░░░░░ 0%
Die Rise ██████████ 100% █████████░ 89%
Mob of the Dead ██████████ 100% █░░░░░░░░░ 6%
Buried ██████████ 98% ██░░░░░░░░ 19%
Origins █████████░ 94% █░░░░░░░░░ 6%
Nacht der Untoten ███░░░░░░░ 27% not compared yet
Verrückt ██░░░░░░░░ 15% not compared yet
Shi No Numa ██░░░░░░░░ 17% not compared yet
Der Riese ████░░░░░░ 36% not compared yet
Kino der Toten █░░░░░░░░░ 14% not compared yet
Five █░░░░░░░░░ 14% not compared yet
Ascension ████░░░░░░ 43% not compared yet
Shangri-La █░░░░░░░░░ 14% not compared yet
Moon █░░░░░░░░░ 14% not compared yet
All maps ██████░░░░ 60% █░░░░░░░░░ 14%
機制:每張地圖的系統與模式依 Black Ops II 的規則運作。視覺:設定的地點與 Black Ops II 並排比較。評分於 docs/maps.json(通過或相符 1,部分或接近 0.5,尚未 0),最後更新 2026-10-10;由 docs/make_bars.py 繪製。
功能
- 從地球儀進入每一張 Black Ops II 殭屍地圖。 Nuketown、TranZit(TranZit、Bus Depot、Town 與 Farm)、Die
Rise、Mob of the Dead(其故事與 Cell Block)、Buried(Buried 與 Borough)以及 Origins,都在遊戲
自己的旋轉地球儀上選取,然後選擇模式與 Start Match,如同原作。 - 遊戲自己的規則。 Black Ops II 編譯後的伺服器腳本在引擎的腳本 VM 內運行:殭屍從
地面升起並攀爬進入,回合從步行加速到衝刺,點數、牆上購買、門、會移動的神秘箱、
特長、Pack-a-Punch、強化道具、倒地與遊戲結束,然後回到大廳。 - 殭屍 AI 重建。 殭屍具有遊戲的動畫狀態、在地圖路徑節點上進行尋路,包含跳躍
與攀爬連結、會互相阻擋的屍群、會切斷路徑的門與殘骸,以及當殭屍無法抵達你時遊戲的備援行為。 - 看起來與聽起來都像 Black Ops II。 每張地圖都有其貼圖、烘焙光照、天空、霧、玻璃、泛光與
特效;遊戲的音效庫、房間回音與依表面變化的腳步聲;每一把槍都以第一人稱呈現,包含槍口火光、
彈殼、曳光彈、手榴彈、小刀、雙持與 Pack-a-Punch 迷彩。 - 遊戲自己的選單與 HUD。 一個 HavokScript(Black Ops II 的選單 Lua)的讀取器與 VM,運行遊戲自己的
主選單、大廳、地球儀、Custom Games、HUD 與暫停選單。選項涵蓋按鍵綁定、視野、解析度、
顯示模式(僅限無邊框)、陰影、音量與滑鼠。鍵盤、滑鼠與控制器(含瞄準輔助)在
選單中皆可使用。 - 完整的 Nuketown。 移動的曬衣繩與百葉窗、可破壞的人體模型、歌曲彩蛋、時鐘與
人口告示牌、猴子炸彈、掉落的特長、Fire Sale 以及遊戲結束的火箭之旅。 - 動作像 Black Ops II。 其奔跑與衝刺規則、腳步與頭部晃動節奏、俯衝至趴下、被擊中時的
退縮、會造成傷害並減速的重摔、手持槍枝時隨槍擺動,以及雙持後座力。 - 地球儀上的 Black Ops 1 地圖,各自以其名稱呈現。 Nacht der Untoten、Verrückt、Shi No Numa、Der Riese、
Kino der Toten、「Five」、Ascension、Shangri-La 與 Moon 各自在地球儀上有其位置與自己的故事
模式,以 Black Ops II 的 zone 格式從你自己資料夾中的地圖包讀取(見安裝)。全部九張都已
檢查可從地球儀開始對戰;其遊玩內容是下一步。 - 來自 IW4L: 行走、衝刺、趴下與俯衝、攀越、碰撞、固定步進模擬,以及保存在程式旁的設定與
日誌。
螢幕截圖
於 2026-10-11 在此引擎中拍攝(build zm-b41)。美術是 Black Ops II 自己的,在
執行階段從玩家的安裝讀取。
近期修正。 活著的殭屍眼睛會發光;死亡的殭屍眼睛會變暗,如同 Black Ops II。在殭屍正在拆毀的窗戶按住 F 會重建它,一塊一塊地,每塊 10 點。
| README 圖片:活著的殭屍眼睛發光 | README 圖片:死亡的殭屍眼睛變暗 |
| TranZit:活著的殭屍,眼睛發光 | TranZit:死亡的殭屍,眼睛變暗(2026-10-11 修正) |
| README 圖片:按住 F 重建障礙物 | |
| TranZit:在被拆毀的窗戶旁顯示「Hold F to rebuild Barrier」(2026-10-11 修正) |
各地圖,在遊戲開始時,如你遊玩時所見:
| README 圖片:Nuketown | README 圖片:TranZit |
| Nuketown:巴士、歡迎告示牌與紅色車庫 | TranZit:巴士站、地圖板旁的一隻殭屍 |
| README 圖片:Die Rise | README 圖片:Mob of the Dead |
| Die Rise:出生點的殘破屋頂 | Mob of the Dead:Afterlife 中的牢房區 |
| README 圖片:Buried | README 圖片:Origins |
| Buried:城鎮上方的狹道 | Origins:出生點旁的廢墟 |
| README 圖片:Nacht der Untoten | |
| Nacht der Untoten(地圖包):碉堡,朝樓梯方向 |
影片
[README 圖片:遊戲畫面:Die Rise、Origins 與 Mob of the Dead 的 Afterlife](https://github.com/DaffyDabz/bo2-zombies-rebuild/releases/tag/v2026.10.09)
一段簡短預覽。完整的 6 分鐘遊玩過程(選單與地球儀、Shi No Numa、Die Rise、Origins 與 Mob of the
Dead 含 Afterlife),於 2026-10-09 在此引擎中錄製,附於
2026-10-09 發行版 為
bo2-zombies-gameplay.mp4(無聲音)。
安裝
沒有發行版下載:你從此原始碼樹自行建構。這些步驟已於 2026-10-09 從此儲存庫的全新下載至空資料夾,
在作者的 Windows 11 PC 上檢查過;尚未在其他 PC 上試過。
你需要:
- 你自己合法擁有的 PC 版《Call of Duty: Black Ops II》(Steam),並已安裝殭屍模式,加上你想要地圖的 DLC 包(Die Rise、Mob of the Dead、Buried 與 Origins 隨季票提供)。
- Windows x64(目前僅在 Windows 11 上建構與遊玩過)。
- Rust(stable,透過 rustup;程式碼使用 2024 edition)以及含 C++ 工作負載(MSVC)的 Visual Studio 2022 Build
Tools。 - 支援 DirectX 12 或 Vulkan 的 GPU。
- 數十 GB 的可用磁碟空間供 Rust 建構輸出使用。
步驟:
-
安裝 Rust 與 Visual Studio 2022 Build Tools(C++ 工作負載)。
-
複製此儲存庫並建構遊戲(首次約 12 分鐘):
cargo build -p launcher --profile play程式是
target\play\iw4l.exe。 -
在任意位置建立一個遊玩資料夾,並將
iw4l.exe複製進去。在它旁邊,建立一個名為.env的檔案,指向
你的 Black Ops II 資料夾本身(加引號,使用正斜線):IW4L_GAMES="C:/Program Files (x86)/Steam/steamapps/common/Call of Duty Black Ops II"引擎會在該資料夾內找到遊戲的 zone 檔案。將它指向 Black Ops II 資料夾,而不是整個 Steam 庫:它會
搜尋所給資料夾下的每個檔案,在大型庫上會花上數分鐘。遊戲資料夾僅被讀取。 -
從遊玩資料夾啟動它:
.\iw4l.exe frontend t6:zm_nuked這會開啟 Black Ops II 自己的主選單。Online > Solo Play 會開啟地球儀:用 Left/Right 旋轉它,在地圖上按
Enter,選擇起始點與模式,然後 Start Match(或 Custom Games 以設定起始回合與
難度)。遊戲結束後會回到大廳。.\iw4l.exe map t6:zm_nuked會跳過選單並直接
進入 Nuketown。重新開機後的首次啟動很慢:它會從磁碟讀取遊戲的 image pack,在硬碟上的 Black Ops II 約需 3 分鐘。之後的啟動快得多。
地球儀上的地圖 起始點與模式 TranZit TranZit(故事)、Bus Depot(Survival)、Town(Grief、Survival)、Farm(Grief、Survival)、Diner(Turned) Nuketown Survival Die Rise Die Rise(故事) Mob of the Dead Mob of the Dead(故事)、Cell Block(Grief) Buried Buried(故事)、Borough(Grief、Turned) Origins Origins(故事) Nacht der Untoten、Verrückt、Shi No Numa、Der Riese、Kino der Toten、「Five」、Ascension、Shangri-La、Moon 各自以其地圖名稱下的故事模式(需要下方地圖包)
選用,供 Black Ops 1 地圖使用(每張都可從地球儀開始對戰;其起始之後的遊玩內容尚未檢查)。它們來自 Zombies
Declassified BETA 1 by Logo2K,一個粉絲製作的 PC 移植版,內容為被取消的 Black Ops II DLC5 殭屍地圖。請使用你自己的
副本;它不包含在內。將其資料夾加入 .env 中 iw4l.exe 的旁邊;引擎僅會讀取它:
IW4L_T6_EXTRA="D:/Games/zombies-declassified"
設定、快取與日誌會放在 iw4l.exe 旁的 iw4l-artifacts\。選用開關列於
docs/BO2ZM.md。
操作
Black Ops II 的 PC 預設值。可在 Esc > Options 中變更任何一項。
| 按鍵 | 動作 |
|---|---|
| W A S D | 移動 |
| 滑鼠 | 環顧;左鍵射擊,右鍵瞄準器瞄準 |
| Space | 跳躍;攀越矮牆;站起 |
| Shift | 衝刺 |
| C | 蹲下 |
| Ctrl | 趴下(衝刺時俯衝) |
| R | 重新裝填 |
| E | 使用:購買、開門、神秘箱、特長、復活 |
| V | 近戰(小刀) |
| 1 / 滑鼠滾輪 | 切換武器 |
| F / G | 投擲手榴彈 |
| 4 | 猴子炸彈(或該地圖的特殊手榴彈) |
| 2 / 3 / 5 | 十字鍵欄位(裝備) |
| Tab | 計分板 |
| Esc | 暫停選單 |
控制器以 Black Ops II 的預設配置運作,並對殭屍啟用瞄準輔助。
運作原理
在 IW4L 的引擎之上,此分支加入了讀取與運行 Black Ops II 的 crate:
| 部分 | 功能 |
|---|---|
fastfile_t6 |
Black Ops II zone 檔案:封套、壓縮串流,以及對全部 60 種資產型別產生的走訪 |
ipak_t6, sab_t6 |
遊戲的 image pack 與音效庫 |
asset_t6 |
世界、材質、模型、武器、特效與字型,擷取為引擎的形式 |
gsc_t6 |
遊戲編譯後的腳本,轉譯為 IW4L 的腳本 VM |
hks_t6 |
HavokScript 讀取器與 VM,以及 HUD 與選單的 widget |
sim(t6 模組) |
殭屍演員、路徑節點與 A*、升起者、神秘箱、最後一搏、遊戲的引擎函式 |
bo2zm_tools |
t6zone(zone 檢查器)、t6census 與其他探測工具 |
IW4L 自身的設計不變:一個排序過的繪製清單、將 shader 轉譯為 WGSL 因此執行階段不需 DirectX、固定的 17 ms 物理步進,以及一條從輸入到快照的模擬路徑供伺服器、預測與重播使用。此分支的筆記在 docs/BO2ZM.md;上游的筆記始於 docs/INDEX.md。
開發者:cargo test -p fastfile_t6(其他部分為 cargo test -p <crate>);t6zone --walk --nuketown "" 檢查 zone 是否逐位元組正確讀取。crates/fastfile_t6/src/walk_gen.rs 由 crates/fastfile_t6/gen/t6gen.py 產生;請勿手動編輯。
狀態
Work in progress. Nuketown 是最完整的地圖:從選單到遊戲結束都能單人遊玩,包含遊戲規則、HUD、音效和它自己的彩蛋。其他每張地圖都能從地球載入並開始,包含其殭屍、回合、購買和神秘箱;它們各自的系統(TranZit 的公車、Die Rise 的電梯、Mob of the Dead 的 Afterlife、Buried 的幽靈、Origins 的發電機和法杖)正在逐一完成,上方的進度條顯示各自的狀態。Black Ops 1 的地圖都能從地球開始一場對戰;它們的遊玩尚未驗證。已知問題:Grief 在開始時顯示「You have been given another chance」(在 Town 上會有一個大型幽靈文字複本),而 Afterlife 顯示「0/0」彈藥,Black Ops II 在該處有它的計量條。它只在
一台 Windows 11 PC(RTX 4070 Ti 等級 GPU,1920x1080)上運行過。如同上游 IW4L,這份程式碼大部分由 LLM
(Claude)撰寫,並由作者指導和遊玩測試。
近期變更
- 2026-10-11:路障:在殭屍正在拆毀的窗戶會顯示按住重建的提示(在 TranZit 上驗證,
從遊戲自己的選單開始)。修復速度和修復點數已對照 Black Ops II 驗證,且已經
吻合(點數在該回合的上限停止:每回合 50,最多 500)。 - 2026-10-11:死亡殭屍的眼睛會變暗,如同 Black Ops II:光芒熄滅,眼睛變暗至 Black Ops II 的
數值(在 TranZit 上驗證;活著的殭屍保留其地圖的眼睛顏色)。 - 2026-10-10:測試遊戲成本更低:無圖形測試模式(無視窗、無顯示卡、無音效)、更輕量的
品質設定用於隱藏的測試視窗,以及背景中的遊戲視窗每秒繪製 30 幀。 - 2026-10-10:移動:Black Ops II 的規則逐行驗證:行走時瞄準較慢、俯衝時轉向較少、
在濕滑地面上不能跳躍、落地後的擦牆能保持你的速度、樓梯會減慢你的速度、落地音效依
墜落高度而異、趴下瞄準會讓你保持不動、瞄準時刀砍會保持瞄準器。 - 2026-10-10:Buried:刀砍模型或開關算作刀砍,如同 Black Ops II;Paralyzer 在
擴音器上發射。 - 2026-10-10:移動:Black Ops II 的海豚俯衝逐步重現、Black Ops II 的 PC 按鍵(F 使用、G 手榴彈、
4 戰術、C 姿態、CTRL 趴下)和行走速度;Omni movement 預設關閉,在 Controls > Move 中有開關。 - 2026-10-10:Buried:Time Bomb 和 Paralyzer 可用,卡住的 Claymore 會啟動,渦輪機可用。
- 2026-10-10:技能機燈光:最多同時四個效果燈光,最重要的優先,如同 Black Ops II。
- 2026-10-10:牆上購買:Claymore 和所有其他牆上物品(手榴彈、Bowie Knife、Galvaknuckles、
槍枝)購買時會直接從牆中滑出,如同 Black Ops II,而不是從側面滑入。 - 2026-10-10:技能機在電力開啟後會以其自身顏色照亮周圍的牆壁和地板(Speed
Cola 綠色、Jugger-Nog 紅色),在 Die Rise 上與 Black Ops II 並排比對。 - 2026-10-10:Mob of the Dead:Brutus 會沿著他的真實路線找到你,鎖定技能機並揮擊。
- 2026-10-10:Buried:殭屍在直線行走時保持在地板上,彈道刀會觸發它穿過的物體,
燈籠任務的第 3 步。 - 2026-10-10:Die Rise:彩蛋的獎勵會飛向玩家的腰部,如同 Black Ops II。
- 2026-10-10:TranZit:其清單上的每個機制對單一玩家都通過;公車(其循環、在每個
站點停靠、坐在車頂、車頂艙門、犁)是最後一個。 - 2026-10-10:Die Rise:Mystery Box 和電梯井與 Black Ops II 並排比對吻合;屋頂下方的
雲層地板是唯一仍然錯誤的地方。 - 2026-10-10:合作:主機可以像 Black Ops II 一樣從 Custom Games 大廳移除玩家(點擊玩家,
KICK、Yes);該玩家會帶著遊戲自己的通知回到主選單。當主機離開 Custom
Games 大廳時,對其他所有人來說它會結束,並顯示遊戲的「The party is no longer active」通知。加入
的玩家的遊戲時鐘會像 Black Ops II 那樣追上(只有在落後整整一秒後才會跳躍)。 - 2026-10-10:TranZit:Richtofen 的彩蛋部分從頭到尾可用(在塔中讓 Jet Gun 過熱、
在其周圍用爆炸擊殺、用 EMP 電擊四個安全燈,然後是他的獎勵),以及路燈
柱上的 Denizen 傳送門會帶你到另一個路燈柱。 - 2026-10-10:Die Rise:起始點與 Black Ops II 並排比對吻合(書桌、椅子、柱子和塔對齊)。
- 2026-10-10:合作:加入朋友 Custom Games 大廳的玩家會以訪客身分看到它,如同 Black Ops II
(只有主機有 START MATCH、地圖和難度);Friends 清單在重新整理時會保持所選朋友
反白。 - 2026-10-10:Die Rise:Pack-a-Punch 和龍屋頂與 Black Ops II 並排比對且吻合;
附加在移動物體上的物件會保持自己的旋轉,如同 Black Ops II。 - 2026-10-10:TranZit:乘坐公車的玩家(車內和車頂)會跟著它;Galvaknuckles;
Navcomputer 由其四個零件建造並接收 navcard;空槍會切換到下一把。 - 2026-10-10:合作:透過 relay 的 Custom Games 和 Friends:一名玩家從 CUSTOM GAMES 主持,另一名
按下 F(Friends),看到該遊戲並加入,START MATCH 會將兩人帶入地圖(兩名玩家
在一台 PC 上的 Die Rise 中一起測試)。大型地圖的首次快照不再阻止第二名玩家加入。 - 2026-10-10:遊戲腳本:清單以 Black Ops II 自己的順序行走(最舊的優先);Die Rise 和 Buried 的
彩蛋依賴它。Die Rise:Sliquifier 的水窪會自行乾掉。 - 2026-10-10:Die Rise:Who’s Who、Sliquifier、彩蛋第 2 步(獅子球)、龍的火花
和火球、移動物件、來自最近揚聲器的 Maxis 聲音;復活文字會寫出玩家名稱。 - 2026-10-10:遊戲腳本:已刪除的物件現在行為如同 Black Ops II:等待它的腳本會停止,
只觀察它的腳本會繼續(Die Rise 的彩蛋球和 Buried 的燈籠拾取依賴它)。 - 2026-10-10:公開對戰:ONLINE > PUBLIC MATCH 會在 relay 上尋找具有相同地圖和模式並
加入它,或自己主持;加入的玩家會填滿大廳列,倒數計時會為
所有人開始對戰(兩名玩家在 Nuketown 中一起測試)。 - 2026-10-10:Black Ops II 移動:遊戲自己的跳躍、墜落、俯衝和攀爬數值;在俯衝中轉向、
滑行在離開邊緣時保持速度、Stamin-Up 和 PhD Flopper 可用、濕滑地面和砲擊震盪會像
Black Ops II 一樣減慢你,且被擊中會依失去的生命值踢動視角。 - 2026-10-10:TranZit:行走和碰撞對照 Black Ops II 驗證(開放地面和真實牆壁),以及 Bus Depot 的
Grief。 - 2026-10-10:合作:流血死亡的玩家會透過隊友的眼睛觀看,HUD 上顯示隊友的彈藥
和手榴彈,並在下一回合回來。 - 2026-10-10:Die Rise 的系統全部對照 Black Ops II 驗證,Mystery Box 最後;殭屍沿著
地圖自己的路線在建築物之間攀爬,銀行接受存款並償還。 - 2026-10-10:TranZit 的技能對照 Black Ops II 驗證(Juggernaut 將你帶到 250 生命值);在公車上你
在艙門下跳躍以爬上車頂;Jet Gun 旋轉、加熱和過熱;Zombie Shield 被
舉起和放置。 - 2026-10-09:合作:第二名玩家不再退出對戰,且只向一名玩家顯示的東西(Mob of
the Dead 的 Afterlife 門和道具)只為該玩家繪製和實體化。 - 2026-10-09:Mob of the Dead:在 Afterlife 中作為幽靈,你可以穿過幽靈專用門,活著時它們會阻擋你;
Brutus 在頭盔脫落時投擲煙霧彈。 - 2026-10-09:Die Rise 對照 Black Ops II 驗證:強化道具、倒地(復活和遊戲結束)、電梯、
Pack-a-Punch 和從建築物上墜落。 - 2026-10-09:Origins 的 Panzer Soldat 驗證:他使用火焰噴射器、他的面罩會脫落,爆頭
能終結他。 - 2026-10-09:Buried 的幽靈對照 Black Ops II 驗證,且彈道刀會停在它
落地的位置。 - 2026-10-09:復活後你會像 Black Ops II 一樣站起來,即使有殭屍或另一名玩家壓在
你身上:站立、趴下和攀爬會檢查空間而不計入身體,如同遊戲所做。 - 2026-10-09:倒地會像 Black Ops II 一樣讓你的畫面變灰,並在復活時清除;單人
Quick Revive 後你會站起來,而不是停留在爬行高度。 - 2026-10-09:Black Ops II 移動,第二部分:向任何方向衝刺和俯衝、在俯衝中瞄準和射擊、
更快的起身、槍枝自己的俯衝、爬行和攀爬動畫,以及 HAMR、AN-94 和 B23R 更快的首發。 - 2026-10-09:安裝步驟從全新下載到空資料夾驗證。
.env現在指向 Black Ops
II 資料夾本身:指向整個 Steam 資料庫時,遊戲在啟動前搜尋了許多分鐘。 - 2026-10-09:Diner 上的 Turned 在選單上:你扮演殭屍,有雙爪和殭屍自己的畫面(無
點數、彈藥或血濺)。 - 2026-10-09:修正:Nuketown 的天空不再顯示平坦的淡藍色斑塊、Bus Depot 的白色光暈消失,以及
Shi No Numa 的沼澤水和 Origins 的載入畫面正確顯示。 - 2026-10-09:所有九張 Black Ops 1 地圖驗證可從地球開始一場對戰;新增遊戲影片。
- 2026-10-08:Black Ops II 移動:其奔跑和衝刺規則、腳步和頭部晃動節奏、俯衝至趴下、被擊中時的
退縮、會造成傷害並減慢你的重摔、槍枝搖擺和雙持後座力。 - 2026-10-08:Mob of the Dead 的 Afterlife 看起來像 Black Ops II(藍色幽靈畫面、發光的幽靈手、手腕
的火花和其瞄準標記),你在 Afterlife 時你的身體會留在你離開的地方,且其故事
模式在地球上 Cell Block Grief 旁邊。 - 2026-10-08:TranZit 的區域道具已加入,約 450 個,包括 Bus Depot 路線圖
資訊站;Grief 大廳顯示每個起始點自己的圖片。 - 2026-10-08:九張 Black Ops 1 地圖在地球上,各自在其自己的位置和名稱下。Ascension 不再
讓你卡在著陸器內開始。 - 2026-10-08:每張 Black Ops II Zombies 地圖都在地球上:TranZit(包含 Town、Farm 和 Bus Depot)、Die Rise、
Mob of the Dead、Buried 和 Origins 加入 Nuketown。Town 的燃燒殭屍會灼傷你並在死亡時爆裂。 - 2026-10-08:本 README 中的地圖完成度進度條,每張地圖在
docs/maps.json中評分。 - 2026-10-07:Nuketown 的照明和霧氣跟隨你所在的房間;房間有回音;Monkey Bomb
像原版一樣運作。 - 2026-10-05:Black Ops II 自己的前端:主選單、Zombies 大廳、地球、Solo 和 Custom Games、載入
畫面和選單音樂。
即將推出
Zombies,來自 2026-10-10 的遊玩測試(每項只有在與 Black Ops II 並排比對吻合後才會推出):
- [ ] 每張地圖:殭屍撕下窗戶木板時不會出現異常(已移除單幀跳躍;待與真實《黑色行動 II》比對檢查)
- [ ] 每張地圖:殭屍聲音與《黑色行動 II》一樣大聲
- [ ] 每張地圖:神秘箱槍枝的彈匣位置正確
- [ ] 每張地圖:撲倒後站起的速度與《黑色行動 II》相同
- [ ] Buried:Ray Gun Mark II 的傷害與爆炸;神秘箱較不亮(其問號可見);局部照明;
彈道刀(刺擊、在手裡的位置、準星、射出的刀刃傷害殭屍);殭屍能從每個地點找到路走向你 - [ ] TranZit:殭屍爬上公車;公車路線、路障、駕駛手感與轉動的車輪;每局零件隨機位置
- [ ] Die Rise:聲音中斷(待閒置 PC 重新檢查);順暢搭乘升降梯;升降梯落下後只阻擋玩家的門口
- [ ] Mob of the Dead:復活後仍持續電擊的 Afterlife 電擊;隔窗刀殺殭屍;殭屍頭部渲染成白色;
餵食 Cerberus(其動畫、被拉入的殭屍);Afterlife 時間條;顏色 - [ ] Origins,在完整並排檢視地圖後:空中飛行的飛機、顏色、Generator 2 的隱形牆、
玩家會穿過的坦克、位置錯誤的管線與道具 - [ ] 測試:真實《黑色行動 II》擷取設備尚無法轉動視角,因此窗戶相關截圖待其可用
即將推出:
- 每張地圖各自的系統完成並並排檢查:TranZit 公車、Die Rise 的升降梯與 Jumping
Jacks、Mob of the Dead 的 Afterlife 與 Brutus、Buried 的幽靈與 Leroy、Origins 的發電機、法杖、巨型
機器人與 Panzer Soldat。 - 《黑色行動 1》地圖經檢查可遊玩,能通過開頭。
- 以 Afterlife 自身的計量條取代彈藥數量。
- 每張地圖的完整霧效,取自地圖自身資料,從 Die Rise 屋頂下的雲層開始
(雲層上方較薄的霧、柔和的雲邊緣、飄動的雲)。 - 你在《黑色行動 II》中倒地爬行時聽到的心跳與低鳴。
- 最後,在上述一切之後:家用網路上 PC 之間的 2 至 4 人合作(Public Match、Custom Games
with Friends;目前已在同一台 PC 上以兩份遊戲測試)。
致謝與授權
- IW4L 由 vladtrc 及其貢獻者:此分支所建構於的引擎,
Apache License 2.0。 - 針對《黑色行動 II》,OpenAssetTools(GPL-3.0)僅為 zone
格式事實而閱讀;未複製其任何程式碼。開發期間閱讀的其他專案列於
NOTICE。 - 《黑色行動 II》殭屍重建以及 zone、腳本與選單工作由 DaffyDabz 完成。
- 《黑色行動 1》地圖:Zombies Declassified BETA 1,由 Logo2K 移植至 PC;原始地圖、美術與音訊由
Treyarch 與 Activision 所有。未包含在內。 - 隨附字型(來自上游):Oxanium(SIL Open Font License 1.1)與 GNU FreeFont(GPL-3.0 或更新版本,附
字型例外);參見NOTICE。 - Call of Duty、Black Ops 及其資產、商標與智慧財產權屬於其所有者
(Activision)。未包含任何遊戲檔案。
依 Apache License 2.0 授權,與上游相同;NOTICE 包含著作權聲明與
隨附字型的授權。此授權僅涵蓋此原始碼。
授權與來源聲明
原始 README 與翻譯沿用 Apache-2.0 授權;本次修改為繁中翻譯、連結與排版調整。可修改的 Markdown、原始 README、LICENSE 與 NOTICE 收錄於頂部文件包。原作遊戲內容與商標不因此獲得授權。
LICENSE
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
NOTICE
IW4L
Copyright 2026 vladtrc
IW4L was originally developed by vladtrc.
https://github.com/vladtrc/iw4L
IW4L is licensed under the Apache License, Version 2.0; see LICENSE.
--------------------------------------------------------------------------------
Third-party material bundled with this repository
--------------------------------------------------------------------------------
Both fonts below are compiled into the IW4L binary with `include_bytes!`, so
they are redistributed with every build. Any archive that ships an IW4L binary
ships these two licence texts with it.
Oxanium (crates/ui/assets/Oxanium-Regular.ttf)
Copyright 2019 The Oxanium Project Authors
https://github.com/sevmeyer/oxanium
SIL Open Font License 1.1 — full text in crates/ui/assets/OFL-Oxanium.txt
GNU FreeFont (crates/console/assets/FreeMono.otf)
Copyright (C) 2002-2012 Free Software Foundation, Inc.
https://www.gnu.org/software/freefont/
GNU General Public License v3 or later, with the GNU font exception — full
text in crates/console/assets/COPYING-FreeFont.txt. The exception is what
makes embedding the font in an Apache-2.0 binary possible: a document or
program that merely uses the font is not thereby covered by the GPL. The
font itself is unmodified and remains under the GPL.
--------------------------------------------------------------------------------
Third-party source code
--------------------------------------------------------------------------------
No third-party source code is vendored in this repository, and the build links
no third-party project named below. IW4L's own dependencies are the crates
declared in Cargo.toml, under their own licences.
--------------------------------------------------------------------------------
References consulted during development
--------------------------------------------------------------------------------
These projects were read while working out how the original games behave. They
are named here because the reading happened, not because anything of theirs is
distributed: none of them is vendored, linked, bundled or otherwise shipped.
OpenAssetTools — https://github.com/Laupetin/OpenAssetTools
Open-source modding tools for older Call of Duty games. Its asset-structure
headers document the on-disk layouts IW4L reads. Licensed under GPLv3.
oat (iw4x-x64 fork of OpenAssetTools) — https://github.com/iw4x-x64/oat
The x64 fork, at revision 3a7442dee5ce040cfdb8da23fdb9fb525b5f743e, is the
tree whose IW4MS headers were read for the 64-bit FastFile layouts.
Licensed under GPLv3, like its upstream. No file in this repository is
compiled against, generated from or distributed with those headers.
IW4x — https://github.com/iw4x/iw4x-client
A custom client for Call of Duty: Modern Warfare 2 (2009), with dedicated
servers, security fixes and modding support. Read as a cross-reference for
asset and protocol behaviour. Licensed under GPLv3.
KisakCOD — https://github.com/SwagSoftware/KisakCOD
A Call of Duty 4 open-source reimplementation. Read as a cross-reference for
engine structure. IW4L targets IW4, so this is a neighbouring generation of
the same engine family, not the same codebase.
Ghidra — https://github.com/NationalSecurityAgency/ghidra
The software reverse engineering framework the original game binaries were
read with. A development tool: none of it, and none of its output, is
committed here or distributed with IW4L. Licensed under Apache 2.0.
--------------------------------------------------------------------------------
bo2zm fork
--------------------------------------------------------------------------------
This tree is bo2zm, a local fork of IW4L taken at upstream commit
11514ea37d1e80d75bf2c1ba332bbd68fac5db4e (2026-09-30) and extended to read
Call of Duty: Black Ops II (T6) PC files. Where the fork changes an upstream
file the change is marked "bo2zm"; the crates fastfile_t6 and bo2zm_tools and
the file crates/assets/src/lane/t6.rs are new. The fork stays under the Apache
License, Version 2.0.
OpenAssetTools (above) was also read for the Black Ops II zone layout: the
TAff0100 envelope and auth header, the XChunk streams, the public Salsa20 key
and its IV chain, the XFile blocks and the T6 asset list. It was read for
facts only; none of its code is copied here. Salsa20 is written from
D. J. Bernstein's specification and SHA-1 from FIPS 180-4.
The T6 zone walk (crates/fastfile_t6/src/walk_gen.rs) is generated by
crates/fastfile_t6/gen/t6gen.py, a development tool that reads layout and
load-rule facts from an OpenAssetTools checkout on the developer's machine
(the T6 structure declarations and the T6 zone-load rules) and writes Rust of
its own form. The checkout is not part of this repository, nothing from it is
vendored or linked, and the computed layouts were verified against the 32-bit
MSVC compiler.
--------------------------------------------------------------------------------
Game content
--------------------------------------------------------------------------------
No Call of Duty game data is contained in this repository or in any IW4L
release archive. IW4L reads game data from a copy of the game the user already
owns and has installed. Call of Duty, Modern Warfare, Black Ops, related
trademarks and all original game assets belong to their respective owners.
IW4L is not affiliated with, endorsed by or supported by them.

評論
…