舉報

會員
Rust游戲開發實戰
(美)赫伯特·沃爾弗森 著
更新時間:2024-09-05 16:35:48
開會員,本書免費讀 >
最新章節:
附錄C Rust語法速查表
本書主要介紹基于Rust語言開發游戲的方法,還介紹了適用于Unity、Unreal等游戲引擎的技巧。本書先設置開發環境,然后引導讀者制作自己的FlappyBird,借實例講解Rust語言的基礎知識。全書引導讀者逐步完成一個《地下城爬行者》(DungeonCrawler)游戲項目,通過實戰幫助讀者掌握Rust的相關知識,掌握用Bevy開發游戲的方法,以及在不影響程序調試的情況下運行游戲系統,對所開發的游戲進行優化。本書適合所有對Rust語言感興趣的讀者閱讀,也適合從事游戲開發的讀者參考。
- 附錄C Rust語法速查表 更新時間:2024-09-05 16:35:48
- 小結
- 不要強調截止日期
- 關于永遠不會用到的東西
- 設計文檔的若干小標題
- 為什么需要設計文檔
- 記錄下每一個想法
- 附錄B 簡短的游戲設計文檔
- 附錄A ASCII/Codepage 437對照表
- 第三部分 其他資源
- 16.4 小結
- 16.3 更多內容
- 16.2 開發屬于自己的地下城探險類游戲
- 16.1.2 分發游戲
- 16.1.1 開啟發布模式和鏈接時優化
- 16.1 打包游戲以進行分發
- 第16章 最后的步驟和潤色
- 15.4 小結
- 15.3 添加更多寶劍
- 15.2.4 探險家不是八爪魚
- 15.2.3 產生一些傷害
- 15.2.2 傷害值組件
- 15.2.1 由武器和爪子造成的傷害
- 15.2 擴展戰斗系統
- 15.1.5 新春大掃除
- 15.1.4 用數據驅動的方式生成實體
- 15.1.3 映射并加載模板
- 15.1.2 擴展Spawner模塊
- 15.1.1 讀取地下城的數據
- 15.1 設計數據驅動的地下城
- 第15章 戰斗系統和戰利品
- 14.4 小結
- 14.3 在平視顯示區中顯示當前關卡
- 14.2.9 創建亞拉的護身符或者樓梯
- 14.2.8 將玩家角色放置在新地圖中
- 14.2.7 創建新地圖
- 14.2.6 將視場設置為臟
- 14.2.5 刪除其余的實體
- 14.2.4 標記需要保留的實體
- 14.2.3 找到玩家角色
- 14.2.2 切換關卡
- 14.2.1 關卡切換狀態
- 14.2 追蹤游戲關卡
- 14.1.3 生成樓梯并替代護身符
- 14.1.2 更新地下城的行走邏輯
- 14.1.1 生成并渲染樓梯
- 14.1 為地圖添加樓梯
- 第14章 更深的地下城
- 13.3 小結
- 13.2.9 去掉通過休息恢復生命值
- 13.2.8 添加到調度器
- 13.2.7 處理療傷事件
- 13.2.6 迭代物品并應用效果
- 13.2.5 應用治療特效
- 13.2.4 激活物品
- 13.2.3 發送物品激活消息
- 13.2.2 顯示背包物品
- 13.2.1 撿起物品
- 13.2 管理背包
- 13.1.2 生成藥水和地圖
- 13.1.1 用組件來描述物品
- 13.1 設計物品
- 第13章 背包和道具
- 12.4 小結
- 12.3 釋放想象力
- 12.2.3 根據主題風格來渲染地圖
- 12.2.2 使用選中的主題風格
- 12.2.1 挑選一個主題風格
- 12.2 使用主題風格進行渲染
- 12.1.2 創建一片森林
- 12.1.1 用trait實現地下城主題風格
- 12.1 為地下城引入主題風格
- 第12章 地圖的主題風格
- 11.5 小結
- 11.4.2 放置金庫
- 11.4.1 手工打造的地下城
- 11.4 在地圖中使用預制區域
- 11.3.6 隨機挑選架構
- 11.3.5 激活新的地圖類型
- 11.3.4 一直挖到地圖生成完畢
- 11.3.3 評估地圖建造的完成度
- 11.3.2 用喝醉的礦工開鑿洞穴
- 11.3.1 編寫初始代碼
- 11.3 用Drunkard’s Walk算法來創建地圖
- 11.2.9 調用基于元胞自動機的地圖架構
- 11.2.8 建造地圖
- 11.2.7 在沒有房間的情況下生成怪獸
- 11.2.6 放置玩家角色
- 11.2.5 用迭代消除混亂
- 11.2.4 計算鄰居的數量
- 11.2.3 生成一些隨機噪聲
- 11.2.2 實現元胞自動機
- 11.2.1 元胞自動機理論
- 11.2 用元胞自動機算法來創建地圖
- 11.1.6 修改房間生成器
- 11.1.5 調用空地圖的架構
- 11.1.4 用參考實現來測試trait
- 11.1.3 定義代表架構的trait
- 11.1.2 用MapBuilder來提供地圖建造服務
- 11.1.1 拆分地圖建造器
- 11.1 創建trait
- 第11章 更具可玩性的地下城
- 10.4 小結
- 10.3.4 視場的其他用途
- 10.3.3 渲染記憶中的地圖
- 10.3.2 更新地圖
- 10.3.1 逐步揭示地圖
- 10.3 添加空間記憶
- 10.2 限制怪獸的視場
- 10.1.7 更新視場
- 10.1.6 隱藏實體
- 10.1.5 渲染視場
- 10.1.4 計算視場
- 10.1.3 用組件來存儲可見圖塊的集合
- 10.1.2 用HashSet來整理數據
- 10.1.1 圖塊的透明度
- 10.1 定義實體的視場
- 第10章 視場
- 9.4 小結
- 9.3.4 恭賀玩家取得勝利
- 9.3.3 判斷玩家是否勝利
- 9.3.2 安放護身符
- 9.3.1 構建護身符
- 9.3 尋找亞拉的護身符
- 9.2.3 顯示游戲結束畫面
- 9.2.2 檢測游戲何時結束
- 9.2.1 增加表示游戲結束的回合狀態
- 9.2 實現游戲結束畫面
- 9.1.9 縮減玩家角色的生命值
- 9.1.8 追殺玩家角色
- 9.1.7 迪杰斯特拉圖
- 9.1.6 定位玩家角色
- 9.1.5 具備熱成像追蹤能力的怪獸
- 9.1.4 在地圖中導航
- 9.1.3 映射地圖
- 9.1.2 通過trait來支持尋路
- 9.1.1 標記新的行為
- 9.1 創造更聰明的怪獸
- 第9章 勝與負
- 8.5 小結
- 8.4 將等待作為一種策略
- 8.3.6 運行各個系統
- 8.3.5 怪獸的反擊
- 8.3.4 創建戰斗系統
- 8.3.3 玩家主動攻擊
- 8.3.2 表示攻擊意圖
- 8.3.1 刪除碰撞檢測系統
- 8.3 實現戰斗功能
- 8.2.6 注冊各個系統
- 8.2.5 用懸浮提示來區分怪獸
- 8.2.4 為怪獸添加名稱和生命值
- 8.2.3 為怪獸添加名字
- 8.2.2 渲染平視顯示區
- 8.2.1 添加另一個渲染圖層
- 8.2 添加平視顯示系統
- 8.1 為實體賦予生命值
- 第8章 生命值和近身戰斗
- 7.4 小結
- 7.3.4 怪獸的移動消息
- 7.3.3 簡化玩家輸入處理邏輯
- 7.3.2 接收消息并進行移動
- 7.3.1 實體還可以當作消息來使用
- 7.3 發送意圖消息
- 7.2.4 結束玩家的回合
- 7.2.3 拆分調度器
- 7.2.2 輪番上陣
- 7.2.1 存儲回合狀態
- 7.2 在回合制的游戲中移動Entity
- 7.1 讓怪獸隨機游走
- 第7章 與怪獸交替前行
- 6.8 小結
- 6.7 碰撞檢測
- 6.6 添加怪獸
- 6.5.6 實體渲染系統
- 6.5.5 地圖渲染系統
- 6.5.4 批量渲染
- 6.5.3 將處理玩家輸入作為一個系統
- 6.5.2 理解什么是查詢
- 6.5.1 多個文件組成的模塊
- 6.5 使用系統來實現復雜的邏輯
- 6.4 編排出玩家角色
- 6.3.3 創造游戲世界
- 6.3.2 刪除一些老代碼
- 6.3.1 將Legion添加到prelude中
- 6.3 安裝并使用Legion
- 6.2 用組件編排出實體
- 6.1 名詞解釋
- 第6章 創建地下城居民
- 5.7 小結
- 5.6.6 清理圖層,并關聯函數和攝像機
- 5.6.5 將玩家角色關聯到攝像機
- 5.6.4 用攝像機來渲染地圖
- 5.6.3 制作攝像機
- 5.6.2 圖層
- 5.6.1 地下城所使用的Programmer Art
- 5.6 Graphics,Camera,Action
- 5.5.6 使用MapBuilder組件的API
- 5.5.5 建造地圖并放置玩家角色
- 5.5.4 開鑿走廊
- 5.5.3 開鑿房間
- 5.5.2 用石墻把地圖填滿
- 5.5.1 編寫地圖生成器模塊
- 5.5 創建地下城
- 5.4.5 使用玩家模塊的API
- 5.4.4 移動玩家角色
- 5.4.3 渲染玩家角色
- 5.4.2 創建玩家角色的數據結構
- 5.4.1 擴展地圖的API接口
- 5.4 加入探險家
- 5.3.5 使用地圖模塊的API
- 5.3.4 渲染地圖
- 5.3.3 為地圖建立索引
- 5.3.2 創建一個空地圖
- 5.3.1 圖塊在程序中的表示方法
- 5.3 存儲地下城地圖
- 5.2 用prelude模塊來管理導入項
- 5.1.3 模塊的作用域
- 5.1.2 新建一個空的地圖模塊
- 5.1.1 crate與模塊
- 5.1 將代碼劃分為模塊
- 第5章 編寫地下城探險類游戲
- 4.2 小結
- 4.1.6 延展目標
- 4.1.5 最簡可行產品
- 4.1.4 基本的游戲流程
- 4.1.3 游戲劇情
- 4.1.2 游戲的簡要介紹
- 4.1.1 為游戲命名
- 4.1 設計文檔必備的幾個段落標題
- 第4章 設計地下城探險類游戲
- 第二部分 開發地下城探險類游戲
- 3.5 小結
- 3.4.7 Flappy Dragon游戲效果
- 3.4.6 在重玩游戲時重置得分和障礙物
- 3.4.5 將得分顯示在游戲結束畫面上
- 3.4.4 在play()函數中加入障礙物和計分邏輯
- 3.4.3 記錄得分和障礙物的狀態
- 3.4.2 一頭撞到墻上
- 3.4.1 渲染障礙物
- 3.4 創建障礙物并實現計分邏輯
- 3.3.7 扇動翅膀
- 3.3.6 完善游戲程序的play()函數
- 3.3.5 常量
- 3.3.4 實例化玩家
- 3.3.3 扇動翅膀
- 3.3.2 墜向不可避免的死亡
- 3.3.1 渲染游戲角色
- 3.3 添加游戲角色
- 3.2.5 完整的游戲控制流
- 3.2.4 游戲結束菜單
- 3.2.3 主菜單
- 3.2.2 play()函數的樁形式
- 3.2.1 根據當前模態做出反應
- 3.2 創建不同的游戲模態
- 3.1.5 Codepage 437: 由IBM擴展的ASCII字符集
- 3.1.4 存儲狀態
- 3.1.3 Hello,bracket Terminal
- 3.1.2 創建一個使用bracket-lib的新項目
- 3.1.1 什么是bracket-lib以及bracket-terminal
- 3.1 理解游戲循環
- 第3章 構建第一個Rust游戲
- 2.9 小結
- 2.8.4 枚舉體的匹配
- 2.8.3 將枚舉類型賦值給變量
- 2.8.2 使用枚舉類型和整數類型的數據成員
- 2.8.1 枚舉體
- 2.8 用枚舉體來實現分類
- 2.7.4 為向量添加新元素
- 2.7.3 用break跳出循環
- 2.7.2 用向量代替數組
- 2.7.1 派生調試信息
- 2.7 用向量來存儲數量可變的數據
- 2.6 用結構體來組織數據
- 2.5.2 在數組中查找元素
- 2.5.1 聲明一個數組
- 2.5 在數組中存儲字符串
- 2.4 修剪輸入數據
- 2.3 將輸入處理邏輯移入函數
- 2.2.6 完整的問候程序
- 2.2.5 用占位符實現格式化打印
- 2.2.4 讀取用戶輸入
- 2.2.3 接收鍵盤輸入
- 2.2.2 用變量存儲姓名
- 2.2.1 提示訪客輸入姓名
- 2.2 捕捉用戶輸入
- 2.1 創建一個新的項目
- 第2章 Rust的第一步
- 1.9 小結
- 1.8 用Cargo進行包管理
- 1.7 用Clippy來發現常見錯誤
- 1.6 修正代碼格式
- 1.5 用Cargo來構建、檢查并運行項目
- 1.4.2 Hello World程序
- 1.4.1 Cargo的元數據
- 1.4 創建第一個Rust程序
- 1.3.4 與版本控制系統的集成
- 1.3.3 運行Hello World
- 1.3.2 用Cargo來開啟一個新項目
- 1.3.1 為代碼選擇一個主目錄
- 1.3 用Cargo管理項目
- 1.2 安裝并配置開發環境
- 1.1.6 版本更新
- 1.1.5 測試Rust能否正常使用
- 1.1.4 驗證安裝是否成功
- 1.1.3 完成安裝
- 1.1.2 在其他操作系統上安裝Rust
- 1.1.1 在Microsoft Windows上安裝Rust
- 1.1 安裝Rust
- 第1章 Rust及其開發環境
- 第一部分 初識Rust
- 前言
- 致謝
- 內容提要
- 版權
- 版權信息
- 封面
- 封面
- 版權信息
- 版權
- 內容提要
- 致謝
- 前言
- 第一部分 初識Rust
- 第1章 Rust及其開發環境
- 1.1 安裝Rust
- 1.1.1 在Microsoft Windows上安裝Rust
- 1.1.2 在其他操作系統上安裝Rust
- 1.1.3 完成安裝
- 1.1.4 驗證安裝是否成功
- 1.1.5 測試Rust能否正常使用
- 1.1.6 版本更新
- 1.2 安裝并配置開發環境
- 1.3 用Cargo管理項目
- 1.3.1 為代碼選擇一個主目錄
- 1.3.2 用Cargo來開啟一個新項目
- 1.3.3 運行Hello World
- 1.3.4 與版本控制系統的集成
- 1.4 創建第一個Rust程序
- 1.4.1 Cargo的元數據
- 1.4.2 Hello World程序
- 1.5 用Cargo來構建、檢查并運行項目
- 1.6 修正代碼格式
- 1.7 用Clippy來發現常見錯誤
- 1.8 用Cargo進行包管理
- 1.9 小結
- 第2章 Rust的第一步
- 2.1 創建一個新的項目
- 2.2 捕捉用戶輸入
- 2.2.1 提示訪客輸入姓名
- 2.2.2 用變量存儲姓名
- 2.2.3 接收鍵盤輸入
- 2.2.4 讀取用戶輸入
- 2.2.5 用占位符實現格式化打印
- 2.2.6 完整的問候程序
- 2.3 將輸入處理邏輯移入函數
- 2.4 修剪輸入數據
- 2.5 在數組中存儲字符串
- 2.5.1 聲明一個數組
- 2.5.2 在數組中查找元素
- 2.6 用結構體來組織數據
- 2.7 用向量來存儲數量可變的數據
- 2.7.1 派生調試信息
- 2.7.2 用向量代替數組
- 2.7.3 用break跳出循環
- 2.7.4 為向量添加新元素
- 2.8 用枚舉體來實現分類
- 2.8.1 枚舉體
- 2.8.2 使用枚舉類型和整數類型的數據成員
- 2.8.3 將枚舉類型賦值給變量
- 2.8.4 枚舉體的匹配
- 2.9 小結
- 第3章 構建第一個Rust游戲
- 3.1 理解游戲循環
- 3.1.1 什么是bracket-lib以及bracket-terminal
- 3.1.2 創建一個使用bracket-lib的新項目
- 3.1.3 Hello,bracket Terminal
- 3.1.4 存儲狀態
- 3.1.5 Codepage 437: 由IBM擴展的ASCII字符集
- 3.2 創建不同的游戲模態
- 3.2.1 根據當前模態做出反應
- 3.2.2 play()函數的樁形式
- 3.2.3 主菜單
- 3.2.4 游戲結束菜單
- 3.2.5 完整的游戲控制流
- 3.3 添加游戲角色
- 3.3.1 渲染游戲角色
- 3.3.2 墜向不可避免的死亡
- 3.3.3 扇動翅膀
- 3.3.4 實例化玩家
- 3.3.5 常量
- 3.3.6 完善游戲程序的play()函數
- 3.3.7 扇動翅膀
- 3.4 創建障礙物并實現計分邏輯
- 3.4.1 渲染障礙物
- 3.4.2 一頭撞到墻上
- 3.4.3 記錄得分和障礙物的狀態
- 3.4.4 在play()函數中加入障礙物和計分邏輯
- 3.4.5 將得分顯示在游戲結束畫面上
- 3.4.6 在重玩游戲時重置得分和障礙物
- 3.4.7 Flappy Dragon游戲效果
- 3.5 小結
- 第二部分 開發地下城探險類游戲
- 第4章 設計地下城探險類游戲
- 4.1 設計文檔必備的幾個段落標題
- 4.1.1 為游戲命名
- 4.1.2 游戲的簡要介紹
- 4.1.3 游戲劇情
- 4.1.4 基本的游戲流程
- 4.1.5 最簡可行產品
- 4.1.6 延展目標
- 4.2 小結
- 第5章 編寫地下城探險類游戲
- 5.1 將代碼劃分為模塊
- 5.1.1 crate與模塊
- 5.1.2 新建一個空的地圖模塊
- 5.1.3 模塊的作用域
- 5.2 用prelude模塊來管理導入項
- 5.3 存儲地下城地圖
- 5.3.1 圖塊在程序中的表示方法
- 5.3.2 創建一個空地圖
- 5.3.3 為地圖建立索引
- 5.3.4 渲染地圖
- 5.3.5 使用地圖模塊的API
- 5.4 加入探險家
- 5.4.1 擴展地圖的API接口
- 5.4.2 創建玩家角色的數據結構
- 5.4.3 渲染玩家角色
- 5.4.4 移動玩家角色
- 5.4.5 使用玩家模塊的API
- 5.5 創建地下城
- 5.5.1 編寫地圖生成器模塊
- 5.5.2 用石墻把地圖填滿
- 5.5.3 開鑿房間
- 5.5.4 開鑿走廊
- 5.5.5 建造地圖并放置玩家角色
- 5.5.6 使用MapBuilder組件的API
- 5.6 Graphics,Camera,Action
- 5.6.1 地下城所使用的Programmer Art
- 5.6.2 圖層
- 5.6.3 制作攝像機
- 5.6.4 用攝像機來渲染地圖
- 5.6.5 將玩家角色關聯到攝像機
- 5.6.6 清理圖層,并關聯函數和攝像機
- 5.7 小結
- 第6章 創建地下城居民
- 6.1 名詞解釋
- 6.2 用組件編排出實體
- 6.3 安裝并使用Legion
- 6.3.1 將Legion添加到prelude中
- 6.3.2 刪除一些老代碼
- 6.3.3 創造游戲世界
- 6.4 編排出玩家角色
- 6.5 使用系統來實現復雜的邏輯
- 6.5.1 多個文件組成的模塊
- 6.5.2 理解什么是查詢
- 6.5.3 將處理玩家輸入作為一個系統
- 6.5.4 批量渲染
- 6.5.5 地圖渲染系統
- 6.5.6 實體渲染系統
- 6.6 添加怪獸
- 6.7 碰撞檢測
- 6.8 小結
- 第7章 與怪獸交替前行
- 7.1 讓怪獸隨機游走
- 7.2 在回合制的游戲中移動Entity
- 7.2.1 存儲回合狀態
- 7.2.2 輪番上陣
- 7.2.3 拆分調度器
- 7.2.4 結束玩家的回合
- 7.3 發送意圖消息
- 7.3.1 實體還可以當作消息來使用
- 7.3.2 接收消息并進行移動
- 7.3.3 簡化玩家輸入處理邏輯
- 7.3.4 怪獸的移動消息
- 7.4 小結
- 第8章 生命值和近身戰斗
- 8.1 為實體賦予生命值
- 8.2 添加平視顯示系統
- 8.2.1 添加另一個渲染圖層
- 8.2.2 渲染平視顯示區
- 8.2.3 為怪獸添加名字
- 8.2.4 為怪獸添加名稱和生命值
- 8.2.5 用懸浮提示來區分怪獸
- 8.2.6 注冊各個系統
- 8.3 實現戰斗功能
- 8.3.1 刪除碰撞檢測系統
- 8.3.2 表示攻擊意圖
- 8.3.3 玩家主動攻擊
- 8.3.4 創建戰斗系統
- 8.3.5 怪獸的反擊
- 8.3.6 運行各個系統
- 8.4 將等待作為一種策略
- 8.5 小結
- 第9章 勝與負
- 9.1 創造更聰明的怪獸
- 9.1.1 標記新的行為
- 9.1.2 通過trait來支持尋路
- 9.1.3 映射地圖
- 9.1.4 在地圖中導航
- 9.1.5 具備熱成像追蹤能力的怪獸
- 9.1.6 定位玩家角色
- 9.1.7 迪杰斯特拉圖
- 9.1.8 追殺玩家角色
- 9.1.9 縮減玩家角色的生命值
- 9.2 實現游戲結束畫面
- 9.2.1 增加表示游戲結束的回合狀態
- 9.2.2 檢測游戲何時結束
- 9.2.3 顯示游戲結束畫面
- 9.3 尋找亞拉的護身符
- 9.3.1 構建護身符
- 9.3.2 安放護身符
- 9.3.3 判斷玩家是否勝利
- 9.3.4 恭賀玩家取得勝利
- 9.4 小結
- 第10章 視場
- 10.1 定義實體的視場
- 10.1.1 圖塊的透明度
- 10.1.2 用HashSet來整理數據
- 10.1.3 用組件來存儲可見圖塊的集合
- 10.1.4 計算視場
- 10.1.5 渲染視場
- 10.1.6 隱藏實體
- 10.1.7 更新視場
- 10.2 限制怪獸的視場
- 10.3 添加空間記憶
- 10.3.1 逐步揭示地圖
- 10.3.2 更新地圖
- 10.3.3 渲染記憶中的地圖
- 10.3.4 視場的其他用途
- 10.4 小結
- 第11章 更具可玩性的地下城
- 11.1 創建trait
- 11.1.1 拆分地圖建造器
- 11.1.2 用MapBuilder來提供地圖建造服務
- 11.1.3 定義代表架構的trait
- 11.1.4 用參考實現來測試trait
- 11.1.5 調用空地圖的架構
- 11.1.6 修改房間生成器
- 11.2 用元胞自動機算法來創建地圖
- 11.2.1 元胞自動機理論
- 11.2.2 實現元胞自動機
- 11.2.3 生成一些隨機噪聲
- 11.2.4 計算鄰居的數量
- 11.2.5 用迭代消除混亂
- 11.2.6 放置玩家角色
- 11.2.7 在沒有房間的情況下生成怪獸
- 11.2.8 建造地圖
- 11.2.9 調用基于元胞自動機的地圖架構
- 11.3 用Drunkard’s Walk算法來創建地圖
- 11.3.1 編寫初始代碼
- 11.3.2 用喝醉的礦工開鑿洞穴
- 11.3.3 評估地圖建造的完成度
- 11.3.4 一直挖到地圖生成完畢
- 11.3.5 激活新的地圖類型
- 11.3.6 隨機挑選架構
- 11.4 在地圖中使用預制區域
- 11.4.1 手工打造的地下城
- 11.4.2 放置金庫
- 11.5 小結
- 第12章 地圖的主題風格
- 12.1 為地下城引入主題風格
- 12.1.1 用trait實現地下城主題風格
- 12.1.2 創建一片森林
- 12.2 使用主題風格進行渲染
- 12.2.1 挑選一個主題風格
- 12.2.2 使用選中的主題風格
- 12.2.3 根據主題風格來渲染地圖
- 12.3 釋放想象力
- 12.4 小結
- 第13章 背包和道具
- 13.1 設計物品
- 13.1.1 用組件來描述物品
- 13.1.2 生成藥水和地圖
- 13.2 管理背包
- 13.2.1 撿起物品
- 13.2.2 顯示背包物品
- 13.2.3 發送物品激活消息
- 13.2.4 激活物品
- 13.2.5 應用治療特效
- 13.2.6 迭代物品并應用效果
- 13.2.7 處理療傷事件
- 13.2.8 添加到調度器
- 13.2.9 去掉通過休息恢復生命值
- 13.3 小結
- 第14章 更深的地下城
- 14.1 為地圖添加樓梯
- 14.1.1 生成并渲染樓梯
- 14.1.2 更新地下城的行走邏輯
- 14.1.3 生成樓梯并替代護身符
- 14.2 追蹤游戲關卡
- 14.2.1 關卡切換狀態
- 14.2.2 切換關卡
- 14.2.3 找到玩家角色
- 14.2.4 標記需要保留的實體
- 14.2.5 刪除其余的實體
- 14.2.6 將視場設置為臟
- 14.2.7 創建新地圖
- 14.2.8 將玩家角色放置在新地圖中
- 14.2.9 創建亞拉的護身符或者樓梯
- 14.3 在平視顯示區中顯示當前關卡
- 14.4 小結
- 第15章 戰斗系統和戰利品
- 15.1 設計數據驅動的地下城
- 15.1.1 讀取地下城的數據
- 15.1.2 擴展Spawner模塊
- 15.1.3 映射并加載模板
- 15.1.4 用數據驅動的方式生成實體
- 15.1.5 新春大掃除
- 15.2 擴展戰斗系統
- 15.2.1 由武器和爪子造成的傷害
- 15.2.2 傷害值組件
- 15.2.3 產生一些傷害
- 15.2.4 探險家不是八爪魚
- 15.3 添加更多寶劍
- 15.4 小結
- 第16章 最后的步驟和潤色
- 16.1 打包游戲以進行分發
- 16.1.1 開啟發布模式和鏈接時優化
- 16.1.2 分發游戲
- 16.2 開發屬于自己的地下城探險類游戲
- 16.3 更多內容
- 16.4 小結
- 第三部分 其他資源
- 附錄A ASCII/Codepage 437對照表
- 附錄B 簡短的游戲設計文檔
- 記錄下每一個想法
- 為什么需要設計文檔
- 設計文檔的若干小標題
- 關于永遠不會用到的東西
- 不要強調截止日期
- 小結
- 附錄C Rust語法速查表 更新時間:2024-09-05 16:35:48