制作Javascript和HTML5游戏

Jef*_*ang 14 html5

很久以前(Netscape 4时代),我编写了基于Javascript的游戏:Pong,Minesweeper和John Conway的生活.我要回到它,并希望让我的手更脏.

我记得几场比赛:

  • Axis&Allies克隆,坚固的地图和复杂的规则.
  • 俄罗斯方块克隆,可能具有实时播放器与播放器或播放器与电脑模式
  • 突破克隆,具有几个武器和粒子速度

在所有这些中,我只有几个目标:

  • 使用JavaScript和HTML 5 - 它应该在Chrome,Safari或iPad上运行.
  • 从小而简单,然后建立功能开始.
  • 了解有关游戏设计和实施的新知识.

所以我的问题是:

  1. 你会如何实现这些游戏?
  2. 你有技术建议吗?
  3. 如果你写过这些游戏,那么最难的部分是什么?

NB我也想从第一原则开始 - 如果你推荐一个框架/库,我会很感激它背后的一些理论或实现细节.这些游戏不同,我应该从每个游戏中学到新东西.

Set*_*add 11

取决于你想从头开始多少.要回答您的直接问题:

1)你将如何实施这些游戏?

答:JavaScript + Canvas.Canvas是HTML5的2D绘图表面.桌面计算机上的性能相当不错,在iOS和Android设备上表现不佳(截至本文发布之日).如果您最关心移动设备,则需要使用DOM和CSS3 3D转换,这些转换会在这些设备上触发GPU.

2)您有任何技术建议吗?

答:这是第一个问题的回答.JavaScript是必须的,但我会忽略jQuery.您的目标是HTML5设备,因此无需补偿旧版浏览器.由于您可能正在使用Canvas,因此无需平滑DOM交互.有一些更高级别的库可以更容易地与Canvas交互,例如Easel.js.WebSockets对于双向流式通信非常有用.Box2D对于物理引擎很有用.本地存储是关于级别进度之类的简单键/值字符串数据,但对于任何复杂的事物,您都需要WebSQL DB.对于大型二进制资产,您需要查看文件系统API.最后,不要害怕WebGL,因为它对2D游戏非常快速且有用.

3)最难的部分是什么?

答:几乎可以肯定,最困难的部分是调试.WebKit的开发者工具可以使这更容易,所以不要离开家.

  • 这篇文章较旧,所以我想更新.HTML5 + Canvas现在在一年或两年前的移动设备上运行得非常好,我有一个iPhone 4(按照今天的标准来说是旧硬件),但我可以让我的游戏运行合理.当我运行任何更新的东西时,我会获得出色的表现. (3认同)