Giter Site home page Giter Site logo

tkchu / game-programming-patterns-cn Goto Github PK

View Code? Open in Web Editor NEW
1.5K 52.0 257.0 26.99 MB

《游戏编程模式》中文版

Home Page: https://gpp.tkchu.me

CSS 4.67% HTML 4.45% Shell 0.04% C++ 70.52% Dart 0.59% Python 12.75% JavaScript 0.64% Roff 1.35% SCSS 5.00%
game chinese-translation book

game-programming-patterns-cn's Introduction

点击上面标题在线阅读

《游戏编程模式》是由曾在EA工作八年的Bob Nystrom写就,讲述在游戏开发中各种常见的编程模式。 通过阅读此书,可以更好的理解设计模式和工程化开发。

英文版在线阅读:Game Programming Patterns

Bob Nystrom同时在Github上无私地提供原本:munificent/game-programming-patterns

如果有任何表意不明或者疏忽遗漏,欢迎提出Issues,谢谢您的贡献,让我们的世界变得更好。

进度

  1. 第一轮作业(完成):将整书翻译一遍,翻译质量预期略高于谷歌机翻。
  2. 第二轮作业(完成):修复漏洞,翻译所有的旁注并添加链接,同时平滑语言。
  3. 第三轮作业(完成):校订,修改图片为中文,将alt也改为中文。
  4. 第四轮作业(完成):修改代码注释为中文。
  5. 第五轮作业:优化访问速度和显示效果。
    • 通过使用百度CDN提供jquery(完成)。
    • 删除google analysis代码(完成)。
    • 删除英文特殊字体(完成)。
    • 压缩图片(完成)。
    • 使用更适合中文的CSS设置(完成)。

编译本书

这本书使用Markdown写就(book/)。使用了一些Python脚本(script/format.py)、SASS文件(asset/style.scss)及HTML模板(asset/template.html)转换为最终的HTML文件(html/)。想要自行编译,需要安装Python,以及Python Markdown, Pygments,和SmartyPants (可能需要使用sudo指令或者管理员权限。):

$ pip install markdown
$ pip install pygments
$ pip install smartypants

在此之后,使用:

$ python script/format.py # Python 3

或者

$ python script/format_python2.py # Python 2.7+

请从本项目的根目录运行该脚本,本脚本也可以以监视模式运行:

$ python script/format.py --watch

这会监视对markdown文件,SASS文件或HTML模板的修改,并生成必要的文件。

game-programming-patterns-cn's People

Contributors

deags3000 avatar liuzg129 avatar qinhanlei avatar tiomke avatar tkchu avatar user670 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

game-programming-patterns-cn's Issues

这不是 issue,只是感谢!

感谢你的翻译工作,比中文纸质书的翻译好得多得多了。再次感谢你的工作!不知道是否可以将这个电子版导出为 epub 或 PDF 等格式?

排版错误

字节码这一章解释器模式一段末尾处有一个排版错误,一个aside标签没有正确显示(环境:chrome 55.0.2883.95 (64-bit),mac os x 10.11.6)

另外这段最后一句,“将这些拼到一起,怎么念?M-A-N。 这就是为什么大多数广泛应用的编程语言不基于解释器模式。 太慢了,也太消耗内存了。” 里,建议M-A-N处使用原文的S-L-O-W,我对照原文之前完全没反应过来这是慢的拼音。。

【建议】在每一章中增加原文链接

由于翻译以及术语原因,有时候会想在看某一章节的时候翻查原文是怎么说的,因此希望译者能够在一章中(比如开头)增加链接到原文的那一章的链接。仅仅个人想法,感谢译者辛苦的翻译工作~

【勘误】序言

本书的重设计模式一节包含了《设计模式》中的很多模式

返应改为 访

翻译文字错误

《脏标识》章节下的这句话:
同样有办法来获得“原先”的转换——通常是一个身份矩阵,没有平移,旋转,或者拉伸。
英文原文:
It also has a method to get an “origin” transform — basically an identity matrix that means no translation, rotation, or scaling at all.
其中的"origin"应翻译为“原点”,而不是"原先"。
其中的"identity matrix"应翻译为“单位矩阵”,而不是"身份矩阵"。

关于序中的一个名词的改进

原文:
有专家知道如何榨干CPU的最后一个[循环]并好好使用
改进:
有专家知道如何榨干CPU的最后一个[周期]并好好使用

建议添加原作者对双缓冲模式的额外说明

在双缓冲模式趣味喜剧的例子中,
作者以“在单独的一帧中,初始给哈利的一巴掌传给了所有的喜剧演员。”开始,
然后说如果打乱舞台中角色的排序会导致更新的最终结果“一个角色对被扇作出反应可能是在被扇的同一帧或者下一帧, 这完全取决于两个角色在舞台上是如何排序的”,
最后说双缓冲模式可以解决问题“无论外部的代码如何调用,所有的角色在一帧内同时更新。”。
这里存在歧义,让读者以为使用双缓冲模式后就能实现最初的效果。(非翻译造成的)
实际结果是,每更新一帧只有一个角色被扇巴掌,表现不再受角色排序影响了。

将原作者在 munificent/game-programming-patterns#251 (comment) 里的说明加入注释,能帮助大家理解。

勘误可以在这里汇总一下

什么是好的软件架构?
对我而言,好的设计意味着当我作出改动,整个程序就好像正等着这种改动。 我可以使用几个函数调用完成任务,而代码库本身无需改动。

我可不可以润色一个自己的版本?

非常感谢您的工作,给我们提供了很大的便利。您的翻译完成度已经很高了,但是我个人实在是讨厌在中文尤其是长句子中使用英文式的插入语,读起来比较拗口,所以我想在您的工作的基础上对照英文版润色一个自己的版本放到网站上去,您觉得可以吗?

显示错误

观察者模式一章中侧栏出现了文字重叠的显示错误:

经测试在Chrome中Windows和MacOS均存在这个显示错误

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.