欢迎光临
免费的PDF电子书下载网站

设计模式与游戏完美开发 PDF下载

编辑推荐

        十年磨一剑,作者将设计模式理论巧妙地融入到实践中,以一个游戏的完整实现呈现设计模式的应用及经验的传承  《轩辕剑》之父——蔡明宏、资深游戏制作人——李佳泽、Product Evangelist at Unity Technologies——Kelvin Lo、信仁软件设计创办人—— 赖信仁、资深3D游戏美术——刘明恺   联合推荐全书采用了整合式的项目教学,即以一个游戏的范例来应用23种设计模式的实现贯穿全书,让读者学习到整个游戏开发的全过程和作者想要传承的经验,并以浅显易懂的比喻来解析难以理解的设计模式,让想深入了解此领域的读者更加容易上手。
 

内容简介

《设计模式与游戏完美开发》是作者“十年磨一剑”,将设计模式理论巧妙地融合到实践中的*教材。
全书采用了整合式的项目教学,即以一个游戏的范例来应用23种设计模式的实现贯穿全书,让读者学习到整个游戏开发的全过程和作者想要传承的经验,并以浅显易懂的比喻来解析难以理解的设计模式,让想深入了解此领域的读者更加容易上手。
本书既可以作为大学、专科和职业院校游戏程序设计专业的教材,也可以作为游戏从业人员提高游戏设计能力和规范运用设计模式的培训教材,还可以作为有这方面职业兴趣的读者学习和提高的自学参考书。

作者简介

       蔡升达当年为实现游戏梦从学术界进入游戏业,累积了10年游戏开发经验,包含多款大型多人线上游戏(MMORPG)、网页游戏(Web Game)、移动平台连线游戏(APP Game)。曾任职于台湾地区知名游戏开发公司,担任游戏设计师、专案程序统筹、研发技术中心经理等职务,现任知名新创团队研发总监一职。擅长游戏程序设计、网络程序设计、分布式系统设计、电脑图学、影像搜索、游戏制作规划及运作、游戏专案管理。喜欢阅读,家中有上千本藏书,包含信息技术、文学、奇幻小说、历史小说等,因为看了很多,所以也有很多想法想与人分享。构想多年之后,某日下午终于下笔开始了这本书。十年磨一剑,作者将设计模式理论巧妙地融入到实践中,以一个游戏的完整实现呈现设计模式的应用及经验的传承

设计模式与游戏完美开发

目录

 

第1篇  设计模式与游戏设计

第1章  游戏实现中的设计模式 2

1.1  设计模式的起源 2

1.2  软件的设计模式是什么? 3

1.3  面向对象设计中常见的设计原则 4

1.4  为什么要学习设计模式 7

1.5  游戏程序设计与设计模式 8

1.6  模式的应用与学习方式 10

1.7  结论 11

第2章  游戏范例说明 12

2.1  游戏范例 12

2.2  GoF的设计模式范例 15

第2篇  基础系统

第3章  游戏场景的转换——状态模式(State) 20

3.1  游戏场景 20

3.1.1  场景的转换 20

3.1.2  游戏场景可能的实现方式 23

3.2  状态模式(State) 24

3.2.1  状态模式(State)的定义 24

3.2.2  状态模式(State)的说明 25

3.2.3  状态模式(State)的实现范例 25

3.3  使用状态模式(State)实现游戏场景的转换 28

3.3.1  SceneState的实现 28

3.3.2  实现说明 29

3.3.3  使用状态模式(State)的优点 35

3.3.4  游戏执行流程及场景转换说明 36

3.4   状态模式(State)面对变化时 37

3.5  结论 37

第4章  游戏主要类——外观模式(Facade) 39

4.1  游戏子功能的整合 39

4.2  外观模式(Facade) 41

4.2.1  外观模式(Facade)的定义 41

4.2.2  外观模式(Facade)的说明 42

4.2.3  外观模式(Facade)的实现说明 43

4.3  使用外观模式(Facade)实现游戏主程序 44

4.3.1  游戏主程序架构设计 44

4.3.2  实现说明 45

4.3.3  使用外观模式(Facade)的优点 47

4.3.4  实现外观模式(Facade)时的注意事项 48

4.4  外观模式(Facade)面对变化时 48

4.5  结论 48

第5章  获取游戏服务的唯一对象——单例模式(Singleton) 50

5.1  游戏实现中的唯一对象 50

5.2  单例模式(Singleton) 51

5.2.1  单例模式(Singleton)的定义 51

5.2.2  单例模式(Singleton)的说明 51

5.2.3  单例模式(Singleton)的实现范例 52

5.3  使用单例模式(Singleton)获取唯一的游戏服务对象 53

5.3.1  游戏服务类的单例模式实现 53

5.3.2  实现说明 54

5.3.3  使用单例模式(Singleton)后的比较 55

5.3.4  反对使用单例模式(Singleton)的原因 55

5.4  少用单例模式(Singleton)时如何方便地引用到单一对象 58

5.5 结论 63

第6章  游戏内各系统的整合——中介者模式(Mediator) 64

6.1  游戏系统之间的沟通 64

6.2  中介者模式(Mediator) 68

6.2.1  中介者模式(Mediator)的定义 69

6.2.2  中介者模式(Mediator)的说明 69

6.2.3  中介者模式(Mediator)的实现范例 69

6.3  中介者模式(Mediator)作为系统之间的沟通接口 72

6.3.1  使用中介者模式(Mediator)的系统架构 73

6.3.2  实现说明 73

6.3.3  使用中介者模式(Mediator)的优点 79

6.3.4  实现中介者模式(Mediator)时的注意事项 79

6.4  中介者模式(Mediator)面对变化时 80

6.5  结论 80

第7章  游戏的主循环——Game Loop 82

7.1  GameLoop由此开始 82

7.2  怎么实现游戏循环(Game Loop) 84

7.3  在Unity3D中实现游戏循环 85

7.4  P级阵地的游戏循环 89

7.5  结论 92

第3篇  角色的设计

第8章  角色系统的设计分析 94

8.1  游戏角色的架构 94

8.2  角色类的规划 95

第9章  角色与武器的实现——桥接模式(Bridge) 98

9.1  角色与武器的关系 98

9.2  桥接模式(Bridge) 103

9.2.1  桥接模式(Bridge)的定义 103

9.2.2  桥接模式(Bridge)的说明 107

9.2.3  桥接模式(Bridge)的实现范例 108

9.3  使用桥接模式(Bridge)实现角色与武器接口 110

9.3.1  角色与武器接口设计 110

9.3.2  实现说明 111

9.3.3  使用桥接模式(Bridge)的优点 116

9.3.4  实现桥接模式(Bridge)的注意事项 116

9.4  桥接模式(Bridge)面对变化时 116

9.5  结论 117

第10章  角色属性的计算——策略模式(Strategy) 118

10.1  角色属性的计算需求 118

10.2  策略模式(Strategy) 121

10.2.1  策略模式(Strategy)的定义 122

10.2.2  策略模式(Strategy)的说明 122

10.2.3  策略模式(Strategy)的实现范例 123

10.3  使用策略模式(Strategy)实现攻击计算 124

10.3.1  攻击流程的实现 125

10.3.2  实现说明 125

10.3.3  使用策略模式(Strategy)的优点 132

10.3.4  实现策略模式(Strategy)时的注意事项 133

10.4  策略模式(Strategy)面对变化时 134

10.5  结论 135

第11章  攻击特效与击中反应——模板方法模式(Template Method) 137

11.1  武器的攻击流程 137

11.2  模板方法模式(Template Method) 139

11.2.1  模板方法模式(Template Method)的定义 139

11.2.2  模板方法模式(Template Method)的说明 141

11.2.3  模板方法模式(Template Method)的实现范例 141

11.3  使用模板方法模式实现攻击与击中流程 142

11.3.1  攻击与击中流程的实现 143

11.3.2  实现说明 143

11.3.3  运用模板方法模式(Template Method)的优点 145

11.3.4  修改击中流程的实现 145

11.4  模板方法模式(Template Method)面对变化时 147

11.5  结论 149

第12章  角色AI——状态模式(State) 150

12.1  角色的AI 150

12.2  状态模式(State) 158

12.3  使用状态模式(State)实现角色AI 159

12.3.1  角色AI的实现 159

12.3.2  实现说明 160

12.3.3  使用状态模式(State)的优点 169

12.3.4  角色AI执行流程 169

12.4  状态模式(State)面对变化时 170

12.5  结论 172

第13章  角色系统 174

13.1  角色类 174

13.2  游戏角色管理系统 176

第4篇  角色的产生

第14章  游戏角色的产生——工厂方法模式(Factory Method) 183

14.1  产生角色 183

14.2  工厂方法模式(Factory Method) 188

14.2.1  工厂方法模式(Factory Method)的定义 188

14.2.2  工厂方法模式(Factory Method)的说明 189

14.2.3  工厂方法模式(Factory Method)的实现范例 189

14.3  使用工厂方法模式(Factory Method)产生角色对象 195

14.3.1  角色工厂类 195

14.3.2  实现说明 196

14.3.3  使用工厂方法模式(Factory Method)的优点 199

14.3.4  工厂方法模式(Factory Method)的实现说明 199

14.4  工厂方法模式(Factory Method)面对变化时 203

14.5  结论 205

第15章  角色的组装——建造者模式(Builder) 206

15.1  角色功能的组装 206

15.2  建造者模式(Builder) 213

15.2.1  建造者模式(Builder)的定义 213

15.2.2  建造者模式(Builder)的说明 214

15.2.3  建造者模式(Builder)的实现范例 215

15.3  使用建造者模式(Builder)组装角色的各项功能 217

15.3.1  角色功能的组装 218

15.3.2  实现说明 219

15.3.3  使用建造者模式(Builder)的优点 226

15.3.4  角色建造者的执行流程 226

15.4  建造者模式(Builder)面对变化时 227

15.5  结论 228

第16章  游戏属性管理功能——享元模式(Flyweight) 229

16.1  游戏属性的管理 229

16.2  享元模式(Flyweight) 236

16.2.1  享元模式(Flyweight)的定义 236

16.2.2  享元模式(Flyweight)的说明 237

16.2.3  享元模式(Flyweight)的实现范例 238

16.3  使用享元模式(Flyweight)实现游戏 242

16.3.1  SceneState的实现 242

16.3.2  实现说明 245

16.3.3  使用享元模式(Flyweight)的优点 250

16.3.4  享元模式(Flyweight)的实现说明 250

16.4  享元模式(Flyweight)面对变化时 252

16.5  结论 252

第5篇  战争开始

第17章  Unity3D的界面设计——组合模式(Composite) 254

17.1  玩家界面设计 254

17.2  组合模式(Composite) 259

17.2.1  组合模式(Composite)的定义 259

17.2.2  组合模式(Composite)的说明 260

17.2.3  组合模式(Composite)的实现范例 261

17.2.4  分了两个子类但是要使用同一个操作界面 264

17.3  Unity3D游戏对象的分层式管理功能 265

17.3.1  游戏对象的分层管理 265

17.3.2  正确有效地获取UI的游戏对象 266

17.3.3  游戏用户界面的实现 267

17.3.4  兵营界面的实现 269

17.4  结论 274

第18章  兵营系统及兵营信息显示 276

18.1  兵营系统 276

18.2  兵营系统的组成 277

18.3  初始兵营系统 281

18.4  兵营信息的显示流程 287

第19章  兵营训练单位——命令模式(Command) 288

19.1  兵营界面上的命令 288

19.2  命令模式(Command) 291

19.2.1  命令模式(Command)的定义 291

19.2.2  命令模式(Command)的说明 294

19.2.3  命令模式(Command)的实现范例 294

19.3  使用命令模式(Command)实现兵营训练角色 297

19.3.1  训练命令的实现 297

19.3.2  实现说明 298

19.3.3  执行流程 302

19.3.4  实现命令模式(Command)时的注意事项 303

19.4  命令模式(Command)面对变化时 305

19.5  结论 306

第20章  关卡设计——责任链模式(Chain of Responsibility) 307

20.1  关卡设计 307

20.2  责任链模式(Chain of Responsibility) 312

20.2.1  责任链模式(Chain of Responsibility)的定义 312

20.2.2  责任链模式(Chain of Responsibility)的说明 314

20.2.3  责任链模式(Chain of Responsibility)的实现范例 314

20.3  使用责任链模式(Chain of Responsibility)实现关卡系统 317

20.3.1  关卡系统的设计 317

20.3.2  实现说明 318

20.3.3  使用责任链模式(Chain of Responsibility)的优点 329

20.3.4  实现责任链模式(Chain of Responsibility)时的注意事项 329

20.4  责任链模式(Chain of Responsibility)面对变化时 330

20.5  结论 332

 

 

第6篇  辅助系统

第21章  成就系统—观察者模式(Observer) 334

21.1  成就系统 334

21.2  观察者模式(Observer) 338

21.2.1  观察者模式(Observer)的定义 338

21.2.2  观察者模式(Observer)的说明 340

21.2.3  观察者模式(Observer)的实现范例 341

21.3  使用观察者模式(Observer)实现成就系统 344

21.3.1  成就系统的新架构 344

21.3.2  实现说明 346

21.3.3  使用观察者模式(Observer)的优点 358

21.3.4  实现观察者模式(Observer)时的注意事项 358

21.4  观察者模式(Observer)面对变化时 359

21.5  结论 361

第22章  存盘功能—备忘录模式(Memento) 362

22.1  存储成就记录 362

22.2  备忘录模式(Memento) 366

22.2.1  备忘录模式(Memento)的定义 366

22.2.2  备忘录模式(Memento)的说明 367

22.2.3  备忘录模式(Memento)的实现范例 367

22.3  使用备忘录模式(Memento)实现成就记录的保存 371

22.3.1  成就记录保存的功能设计 371

22.3.2  实现说明 371

22.3.3  使用备忘录模式(Memento)的优点 374

22.3.4  实现备忘录模式(Memento)的注意事项 374

22.4  备忘录模式(Memento)面对变化时 374

22.5  结论 375

第23章  角色信息查询—访问者模式(Visitor) 376

23.1  角色信息的提供 376

23.2  访问者模式(Visitor) 385

23.2.1  访问者模式(Visitor)的定义 386

23.2.2  访问者模式(Visitor)的说明 390

23.2.3  访问者模式(Visitor)的实现范例 392

23.3  使用访问者模式(Visitor)实现角色信息查询 397

23.3.1  角色信息查询的实现设计 397

23.3.2  实现说明 398

23.3.3  使用访问者模式(Visitor)的优点 405

23.3.4  实现访问者模式(Visitor)时的注意事项 405

23.4  访问者模式(Visitor)面对变化时 405

23.5  结论 408

第7篇  调整与优化

第24章  前缀字尾—装饰模式(Decorator) 410

24.1  前缀后缀系统 410

24.2  装饰模式(Decorator) 415

24.2.1  装饰模式(Decorator)的定义 415

24.2.2  装饰模式(Decorator)的说明 418

24.2.3  装饰模式(Decorator)的实现范例 419

24.3  使用装饰模式(Decorator)实现前缀后缀的功能 422

24.3.1  前缀后缀功能的架构设计 423

24.3.2  实现说明 423

24.3.3  使用装饰模式(Decorator)的优点 433

24.3.4  实现装饰模式(Decorator)时的注意事项 433

24.4  装饰模式(Decorator)面对变化时 434

24.5  结论 435

第25章  俘兵—适配器模式(Adapter) 436

25.1  游戏的宠物系统 436

25.2  适配器模式(Adapter) 440

25.2.1  适配器模式(Adapter)的定义 440

25.2.2  适配器模式(Adapter)的说明 441

25.2.3  适配器模式(Adapter)的实现范例 441

25.3  使用适配器模式(Adapter)实现俘兵系统 443

25.3.1  俘兵系统的架构设计 443

25.3.2  实现说明 443

25.3.3  与俘兵相关的新增部分 445

25.3.4  使用适配器模式(Adapter)的优点 450

25.4  适配器模式(Adapter)面对变化时 450

25.5  结论 451

第26章  加载速度的优化—代理模式(Proxy) 453

26.1  最后的系统优化 453

26.2  代理模式(Proxy) 457

26.2.1  代理模式(Proxy)的定义 458

26.2.2  代理模式(Proxy)的说明 458

26.2.3  代理模式(Proxy)的实现范例 459

26.3  使用代理模式(Proxy)测试和优化加载速度 460

26.3.1  优化加载速度的架构设计 460

26.3.2  实现说明 461

26.3.3  使用代理模式(Proxy)的优点 464

26.3.4  实现代理模式(Proxy)时的注意事项 464

26.4  代理模式(Prory)面对变化时 466

26.5  结论 466

第8篇  未明确使用的模式

第27章  迭代器模式(Iterator)、原型模式(Prototype)和解释器模式(Interpreter) 468

27.1  迭代器模式(Iterator) 468

27.2  原型模式(Prototype) 469

27.3  解释器模式(Interpreter) 471

第28章  抽象工厂模式(Abstract Factory) 472

28.1  抽象工厂模式(Abstract Factory)的定义 472

28.2  抽象工厂模式(Abstract Factory)的实现 473

28.3  可应用抽象工厂模式的场合 476

 

参考文献 477

设计模式与游戏完美开发 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:设计模式与游戏完美开发