代码改变世界

[译]《学了HTML5游戏编程》前言

2011-12-11 11:02  AndrewCja  阅读(634)  评论(0编辑  收藏  举报

1       前言

我写这本书是为了解一时之痒,同时也是因为我当时看到了新生的HTML5游戏社区的潜力。我想帮助开发者在HTML5这片处女之地上开垦,学习Canvas、WebGL和 SVG这些技术以及它们的最佳实践。

有时候需要费一些讨论才能说服开发者,HTML5并不是只能用来玩玩的东西。他们已经惊喜地发现HTML5可以拥有和桌面程序一样精湛的丰富内容——比如双缓冲技术、硬件加速、以及非插件式的浏览器范围之内的缓存技术。很多人以为这些技术只有Flash才能提供,而有趣的是我们将会看到由“一切都用Flash”到“只当用HTML5实现不了时才使用Flash”的转变趋势。

在我写这本书地时候,HTML5游戏编程环境已经发展得相当成熟,我相信这项技术会继续发展下去,同时期待来年它取得更大进展。

1.1    本书的主要特点

本书覆盖了“宽松定义”的HTML5,这意味着包括HTML5 规范、WebGL、SVG和JavaScript,因为它们跟游戏编程有关。本书的一些章节讨论了流行的游戏效果后面的数学,在提供一两行代码的解决方案之前告诉你实现的困难之处与重点。对于还没有熟悉JavaScript编程的读者,本书有一章讨论了同样能够用来编写游戏的其他语言,包括了直接在JavaScript引擎中运行的语言、能够被编译成JavaScript的语言、以及这两者混合的语言。最近几个月,服务器端JavaScript席卷了编程世界。这表明有另一个层次的灵活性来构建游戏。逻辑可以开始于一个自包含的客户端实例,然后在基本不需要修改代码的情况下发展到服务端实例。这本书的结尾讨论了在哪里以及如何发布你的游戏。有多种游戏引擎和开发库可供你选择,本书中所用的开发库在处理数据上都是不唐突的(unobtrusive),你可以很容易地学好这些章节并将它们应用到其他开发库中。这本书不讨论WebGL的底层细节,而是选择使用一个高层的库,该库允许在需要的时候访问底层API。本书的目的就是让你迅速上手,不会告诉你目前关于WebGL的所有细节,那要一本书的篇章才能讲完。

1.2    本书的目标读者

本书是为那些使用或者想要学习怎样使用HTML5及相关网页技术开发交互式游戏的应用开发者而写的。本书需要你有一些编程语言和基础数学的知识。

1.3         本书的示例代码和练习

这本书所包括的代码行和练习的答案在本书的网站上有提供。你可以到http://www.informit.com/title/9780321767363下载每章的代码及练习的答案。你也可以在Github的这个网址https://github.com/jwill/html5-game-book上找到本章的代码。