A "HTML5 Game Template" for Game Jam
JamTemplate 是一个用于 HTML5 game 开发的模板. 它不是引擎, 不是框架, 也算不上是类库. 和框架比, 它更像是一些代码片段的集合, 但是和零碎的代码片段相比又有点框架的影子.
我参加过很多次的Game Jam , 一直使用HTML5技术. 在Game Jam这种活动中,快速开发非常重要, 所以往往是各种引擎和框架大展拳脚的地方. 但是遗憾的是,目前还没有一个很好的HTML5 游戏引擎和框架能够真正适应Game Jam活动.要么不够强大, 要么不够易用, 要么不够灵活, 要么不够高效, 要么太臃肿, 要么坑太多…
同时,由于Game Jam是一个激发灵感和创意的地方, 在Game Jam上我们经常会灵光乍现的开发一种并不常见的游戏类型, 这时候那些现有的HTML5引擎就更加的没有用武之地.
尤其是我这种对HTML5原生的api(如canvas相关的api)比较熟悉的人, 用了现有的游戏引擎和框架往往会束缚我手脚. 到头来 我还是要从框架里面去直接拿原生的context dom,直接操作
结果就是往往废了很大劲,用了一个游戏引擎或框架, 却只能用到里面20%的功能, 但是我却要为那不用的80%里潜伏着的风险和bug去埋单.这不科学.
我自己也曾经试着开发HTML5游戏框架. 基本上研究了市面上大多数口碑还不错的HTML5游戏框架(引擎), 企图集百家之长做一个自己喜欢的. 到最后, 我自己开发的框架我自己都不喜欢用. 这里面有我自己的开发和设计能力问题, 但更多的是, 我对这种形式的框架的价值越来越怀疑. 很多时候,这些框架真心不如一个个工具方法(utils函数)有价值啊.
总之, 在目前状况下, 我接触HTML5游戏开发越多, 越觉得引擎和框架的局限.
那什么时候HTML5游戏引擎会变得不多余呢? 我觉得:
- HTML5不再受性能的制约时 (这意味着对代码品质的要求会降低)
- 引擎能真正大幅度提高开发效率时 (目前的引擎 对于我来说 不升反降啊)
- 有足够强大的开发工具时 (至少要比GameMaker好上30%)
####但是, 虽然框架会束缚手脚,但是必要的代码复用还是很重要的. 所以 在日常开发和一次次的jam活动中, 我也逐步的积累了一套最基本的HTML5游戏骨架, 还有一些适合用copy&paste方式使用的代码片段(函数).
这些东西就是目前大家看到的这个JamTemplate
JamTemplate 只提供了一个最基本的HTML5游戏骨架. 它不会在游戏的整个开发过程中提升开发效率, 它只是在一些基本的环节上(例如资源加载 游戏dom初始化 游戏主循环管理 时间管理 简单的Animation 等等)帮助开发人员做一些事情.
说明和示例会陆续增加.
.
.
.