圖書簡介
本書從網路基本知識入手,全面闡述了如何開發純文字MUD遊戲。並通過構建SimpleMUD和BetterMUD這兩個MUD,重點講述了如何實現MUD。
本書分為4大部分。第1部分介紹了計算機網路的基本知識、Winsock/Berkeley Sockets API以及多執行緒的概念;展示了本書所用的基本庫BasicLib中的所有類和函式;創建了一個套接字型檔SocketLib;介紹了MUD中最常用的Telnet協定,並創建了一個簡單的基於Telnet的聊天伺服器SimpleChat。第2部分詳細介紹了如何創建SimpleMUD。這是一個非常簡單的MUD,但通過它說明了MUD編程的每一個概念,直到解決開發這種遊戲時所遇到的每一個問題。在SimpleMUD中,遊戲的物理層和邏輯層全部採用C++代碼來編寫。第3部分描述了如何創建BetterMUD,它是一個非常靈活的MUD,比SimpleMUD要複雜得多。當代MUD遊戲的主要特性全都包含在BetterMUD中。在BetterMUD中,使用Python腳本語言構建靈活的邏輯層。第4部分附錄在隨書所帶的光碟上,包含可能需要了解的所有輔助信息。包括編譯器的設定、套接字錯誤代碼、C++基本知識和模板基本知識,另外還包括本書所用到的術語。
編輯推薦
本書是遊戲開發經典叢書系列之一,適合遊戲開發人員、業餘遊戲軟體開發愛好者,也可以作為大專院校相關專業的參考書。
目 錄
第1部分基礎知識 第1章 網路編程介紹 1 1.1為什麼要了解基本知識 1 1.2通信網路史的發展概況 2 1.3IP的基本原理和分層體系結構 11 1.4常見的傳輸協定 14 1.5網路協定有關信息 18 1.6小結 18 第2章 Winsock/BerkeleySockets編程 19 2.1 位元組順序 19 2.2 什麼是Socket 22 2.3 SocketsAPI 24 2.4 域名系統 39 2.5 示例2.1 網際網路伺服器 43 2.6 示例2.2 網際網路客戶機 47 2.7 使用Select()避免多執行緒 49 2.8 示例2.3 網際網路伺服器版本2 51 2.9 示例2.4 網際網路客戶機版本2 54 2.10 小結 56 第3章 多執行緒 57 3.1 什麼是多執行緒 57 3.2 ThreadLib 66 3.3 示例3.1——基本執行緒 74 3.4 示例3.2——執行緒放棄處理器 76 3.5 ThreadLib互斥鎖 77 3.6 示例3.3——互斥鎖 79 3.7 小結 80 第4章 基本庫 81 4.1 大數字 81 4.2 現在是幾點 83 4.3 字元串 90 4.4 日誌記錄 100 4.5 小結 104 第5章 Socket庫 105 5.1 SocketAPI包裝器類和函式 105 5.2 連線、管理器和策略 115 5.3 小結 135 第6章 Telnet協定和簡單的聊天伺服器 136 6.1 Telnet 136 6.2 ConnectionHandler類 142 6.3 創建一個Telnet協定類 142 6.4 示例6.2——SimpleChat 147 6.5 小結 158 第2部分 創建SimpleMUD 第7章 設計SimpleMUD 159 7.1 選擇遊戲特性 159 7.2 設定 160 7.3 玩家 161 7.4 物品 167 7.5 敵人 169 7.6 小小世界 169 7.7 商店 171 7.8 戰鬥 171 7.9 命令 172 7.10 小結 174 第8章 物品和玩家 175 8.1 基礎內容 175 8.2 日誌 193 8.3 屬性 194 8.4 物品 196 8.5 玩家 202 8.6 處理器設計 223 8.7 示例8.1——SimpleMUD基線:核心、玩家和物品 248 8.8 小結 251第9章 映射、商店和訓練房 252 9.1 向基線添加新特性 252 9.2 改變 262 9.3 運行改進的SimpleMUD 275 9.4 小結 277 第10章 敵人、戰鬥和遊戲循環 278 10.1 敵人和敵人模板 278 10.2 資料庫 283 10.3 遊戲循環 285 10.4 遊戲增加的內容 296 10.5 運行最後的版本 301 10.6 小結 302 第3部分 創建BetterMUD 第11章 BetterMUD 304 11.1 隱藏在BetterMUD背後的思想 304 11.2 邏輯模組 310 11.3 物理性質的總體設計 310 11.4 小結 316 第12章 實體、訪問器和資料庫 317 12.1 基本實體概念 317 12.2 資料庫 328 12.3 小結 336 第13章 實體、訪問器和資料庫(續) 337 13.1 數據銀行 337 13.2 實體 340 13.3 資料庫 362 13.4 訪問器 370 13.5 小結 380 第14章 腳本、動作、邏輯和命令 381 14.1 腳本 381 14.2 動作 382 14.3 邏輯 389 14.4 命令 390 14.5 小結 395 第15章 遊戲邏輯 396 15.1 遊戲模組 396 15.2 總體模組設計 400 15.3 遊戲的內容 418 15.4 主函式 433 15.5 小結 435 第16章 網路系統 436 16.1 檔案 436 16.2 更好的設計 436 16.3 更好的Telnet 441 16.4 處理器設計 444 16.5 小結 450 第17章 Python語言 451 17.1 Python語言 451 17.2 Python與C++的集成 464 17.3 BetterMUD的Python庫 469 17.4 將C++暴露給Python 486 17.5 將BetterMUD暴露給Python 490 17.6 小結 493 第18章 製作遊戲 494 18.1 邏輯腳本 494 18.2 Python腳本基類 496 18.3 命令腳本 497 18.4 邏輯腳本 501 18.5 小結 543 結論 545 隨書所帶光碟的內容 556