Game-Programming-Patterns-CN

游戏编程模式中文

Gitbook地址

嘿,游戏开发伙伴们!

  • 你是否还在为代码整体规划而苦苦挣扎?
  • 是否发现随着代码库的增长却不容易做出些改动?
  • 是否感觉到你的游戏就是一个纷乱交杂的巨大的毛球?
  • 又或者不知如何将设计模式应用到游戏?
  • 听说过“缓存一致性”和“对象池”,但却不知道如何使用它们来提升你的游戏的性能?

你们的救星来啦!我撰写了这本书来解答这些问题。这是我在游戏中所使用的模式总结,这些模式能让我们的代码更整洁,更清晰易懂,以及运行更快!

免费在线阅读

当我开始编写游戏时,我希望我有一本这样的书。现在,我希望你能够有一本。

开始阅读

我是谁?

我叫 Bob Nystrom。当我在EA工作的时候,我便开始写这本书了。在EA工作的8年时间里,我见过很多优美的代码,也见过很多着实可怕的代码。我希望我能够将我从这些优美的代码设计中学到的东西,在这里写下来,并教给大家如何写出这样好的代码来。

如果你想要联系我,你可以在网站写email给我,或者直接在 twitter 上 @munificentbob 都可以。

反馈

在线写作书籍的一大好处就是方便修改。如果你发现了错误或者有什么建议,不要犹豫,给我报告bug或者发送一个 pull request。

目录

  • 介绍
    • [架构,性能和游戏](01.1-Architecture, Performance, and Games.md)
  • [再探设计模式](02-Design Patterns Revisited)
  • [序列模式](03-Sequencing Patterns.md)
    • [双缓冲](03.1-Double Buffer.md)
    • [游戏循环](03.2-Game Loop.md)
    • [更新方法](03.3-Update Method.md)
  • [行为模式](04-Behavioral Patterns.md)
    • 字节码
    • [子类沙盒](04.2-Subclass Sandbox.md)
    • [对象类型](04.3-Type Object.md)
  • [解耦模式](05-Decoupling Patterns.md)
    • 组件
    • [事件队列](05.2-Event Queue.md)
    • [服务定位器](05.3-Service Locator.md)
  • [优化模式](06-Optimization Patterns.md)
    • [数据局部性](06.1-Data Locality.md)
    • [脏标记](06.2-Dirty Flag.md)
    • [对象池](06.3-Object Pool.md)
    • [空间划分](06.4-Spatial Partition.md)

==========================

翻译

欢迎朋友们阅读并斧正,提交 Issue 或者 send pull request :) 。

能有所收获,便是我们翻译中文的意义所在。

如何参与?

  • Issue列表中查看尚未领取的章节
  • 然后在Issue1中留言回复,我会更新Issue列表状态。
  • Fork项目后开始翻译,提交PR。

目前进度有些停滞,如果朋友们想要参与进来,请申请加入QQ群:112648315

参考资料

贡献人列表(排名不分先后)

注:所有贡献人的名字都会在此列出,欢迎大家踊跃参与翻译、校正。