javascript 游戏引擎

从网上找到的几个js engine, 记录如下:

1. silbygamelib 一个老牌的引擎,已经停止更新了http://www.sean.co.uk/a/webdesign/javascript_gamelib/javascript_gamelib.shtm
2. GMP http://freshmeat.net/projects/gmp-javascript-game-engine
3. http://jsge.athlabs.com/
4. http://www.effectgames.com/effect/ 看起来像是面向商业的
5. http://www.renderengine.com/index.php 一个活跃中的引擎
6. http://gamequery.onaluf.org/ 但是cpu占用很高,估计是代码设计问题
7. http://sourceforge.net/projects/clanfx/
8. http://ldk.codeplex.com/
9. http://www.codeproject.com/KB/scripting/TomsHallsJavascriptGame.aspx
10. http://mccormick.cx/projects/jsGameSoup/

 

 

作者用4年的时间开发的一款JS游戏引擎。网站中有Demo,超级马里奥、星战的游戏。
详情请点击:http://www.effectgames.com/effect/
游戏demo的开发教程:
http://www.effectgames.com/effect/#Article/tutorials/Platformer_Tutorial

 

Joesph Huckaby创造了一个基于JS的游戏渲染引擎,你可以在Effectgames.com 网站上看到很多很有趣的实例。

 

点击查看入门手册:http://www.effectgames.com/effect/#_section_1

 

如何编写游戏的代码:http://www.effectgames.com/effect/#_section_6

 

Joesph的JavaScript/DHTML库- Effect Engine,它提供了所有显示的图形动画,需要的声音&音乐,控制鼠标和键盘等。用户可以在他们自己的浏览器上玩游戏,不需要添加任何插件或扩展。你还可以使用JavaScript和我们提供的“Effect Engine”,level编辑器和一些开发者套件。它支持所有主流的操作系统和浏览器。

 

研发小组还建立了一个在线工具,便于开发人员编写和设计网络游戏,包括管理图形和音频,创造游戏的级别,使用非破坏性过滤器控制实时的图形(缩放,旋转等)。

 

开发人员可以在自己本地的Mac或pc上建立游戏,不需要上传任何代码,一旦准备就绪,开发人员可以使用Google Closure 自动完成代码,并获得唯一的网址,可以将代码嵌入到自己的网站,博客,或任何地方与大家分享此游戏。

 

 

 

原文作者:Jacob Seidelin

如果对JavaScript感兴趣,建议点开文中提到的所有链接,实际试验一下效果,但需要注意的是,一定要使用Firefox 3.1或者其他浏览器的最新版本,如果使用Firefox记得打开tracemonkey,否则有的效果会很慢的,也不要同时打开两个实验窗口,有可能会造成浏览器死机。还有,相当一部分链接需要翻*墙。

以下是对原文的翻译

对于JavaScript来说,2008是伟大的一年,因为有很多牛人加入到了JavaScript、Canvas元素和Web的开发中来。浏览器 供应商也在互相竞争,试图在JavaScript的性能方面超越对手,而最大的受益者当然是开发者和最终用户,因为现在可以开发出一些非常棒的东西,而这 些东西在以前简直就是不可想象的。下面是一个列表,都是我在整个2008年中关注过,基于JavaScript开发的产品。

游戏

对于JavaScript游戏来说,2008年是非常重要的一年。基于DHTML和Canvas的游戏,在某些方面已经撼动了Flash的霸主地位。很多以前经典的电视游戏已经被通过这种方式移植了,比如:超级玛丽吃豆人Breakout小蜜蜂炸*弹人T&C Surf Designs等。

javascript 游戏引擎

另外还有些人,按照自己的想法,对一些传统的游戏进行了扩展,演变出一些新的小游戏,比如:Matt Hackett开发的 Spacius、Mark Wilcox开发的 Invaders from Mars、VertigoProject开发的 RedLine Racing 和这个俄罗斯方块的变种版本 Tetris game

javascript 游戏引擎

我们也找到一些角色扮演类游戏,比如 Tombs of Asciiroth ,而Andrew Wooldridge开发的 CanvasQuest 显得更加图形化些,它的Prototype引擎是构建在Pierre Chassaing开发的 ProtoRPG 基础上的,虽然这些游戏现在还在测试中,而且现在的演示版看起来比较粗糙,但我们有理由相信,有一天他们会完善出一个非常棒的版本出来。

javascript 游戏引擎

在2008年,也有几个面向JavaScript/DHTML游戏开发的类库面世,其中最抢眼的莫过于 GameJS(旁边的截图就是基于这个类库开发的游戏Jetris)和 GameQuery 了,后者是著名的JavaScript类库jQuery的一个扩展。

javascript 游戏引擎

最后,我们还要留意一个伟大的游戏 DEFENDER of the favicon ,这个伟大可不是指尺寸哟。Mathieu 'p01' Henri把上个实际八十年代推出的Defender游戏压缩到了浏览器的favicon图标中,就是那个16*16的png图像,听到这个感觉怎样?神奇么?

javascript 游戏引擎

 

演示

现在大部分的浏览器(开发这些浏览器的公司没有叫微软的,IE还不支持)已经支持了Canvas元素。这就意味着当我们以后要在浏览器中创建动态的图片时,将会有更多的选择。当然也会有更多的人,会乐此不疲的展示他们创建动态图片这项疯狂的技术,呵呵。其中有些人创建了 短小精炼的例子 ,来展示Canvas强大的能力。另外一些人走的更远,比如Matt Westcott就建立了一个 反社会的演示 ,来讽刺现在流行的社会网络,而这个演示完全是通过一个小工具制作的。

javascript 游戏引擎

还有一些人,包括Mathieu 'p01' Henri在内,一整年都在制作一些非常短小精悍的内容,而这些小代码可以做出非常棒的效果,比如这几个:Rubber effectTunnexMars。每个演示,所有代码加起来,都不超过256字节!

javascript 游戏引擎

如果这还不过瘾,可以到Ozone Asylum见识一下,Mathieu Henri在这里通过Canvas元素创建了很多20行的小视频,每一个都可以为你带来非常强烈的视觉效果,比如:Dynamic HypnoglowTwinkleHypno Trip Down the Fractal Rug。这些小视频同样给很多人带来了新的灵感,创作出了一些更好的效果,比如:colliding balls3D cube effect 和 dynamically generated BMP flames 等。

javascript 游戏引擎

在Asylum上,大家甚至开发出了20行JavaScript代码写成的游戏,从 Lunar LanderBoulderdash clone,甚至还有一个 homage to Wolfenstein 3D

javascript 游戏引擎

三维

到目前为止,尽管Mozilla和Opera的开发团队都在尝试启用硬件加速功能,但canvas元素还是只能支持2D图像。但这决不意味着现在不能生成3D图像。我们从类似 basic 3D cubestexturing experiments 这样的例子中完全可以得出 JavaScript/Canvas 3D engines 已经可以使用的结论。

javascript 游戏引擎

我们还可以留意那些基于 Wii Opera SDK(这东西不止应用在Opera或者Wii上)开发的效果,当然还有Nihilogic编写的3D演示。

模拟器

JavaScript的性能越来越好,这已经是一个不争的事实,一个典型的证据就是我们现在甚至可以在浏览器上模拟其他系统。Matt Westcott(前面提到过他写的一个演示)在这里又给大家带来了一个惊喜:JSSPeccy,一个 ZX Spectrum 模拟器,这东西棒极了。

javascript 游戏引擎

James Urquhart也做了一些尝试,建立了一个 SCUMM interpreter 的雏形,也许用他现在还不能玩疯狂时代(Day of the Tentacle)或者疯狂大楼(Maniac Mansion),但至少可以让你看到一些开放任务(OpenQuest)。

javascript 游戏引擎

我个人的最爱则是António Afonso开发的 JavaScript AGI interpreter ,AGI是Sierra在冒险游戏的鼎盛时期所使用的系统,当António开发出这个可以用的模拟器后,我简直就是爱不释手。

javascript 游戏引擎

图像

John Resig开发的JavaScript的进程接口:Processing.js,可能是这一年中给我印象最深刻的创造之一了,尤其是那数以百计,绚丽夺目的演示。Aza Raskin开发的Algorithm Ink 也有着类似的功能,这是一个JavaScript/Canvas接口,基于各种规则和命令建立图像。当然除了这些还有很多,比如Eitan Suez很喜欢Turtle,一个Pascal下的图形开发工具,于是他用JavaScript重写了这个工具:TurtleJS。

javascript 游戏引擎

还有一些数学偏执狂,使用JavaScript实现了一些碎片效果。首先是p01用 137个字节的DHTML 绘制了一幅 Mandelbrot set ,这段代码引发了一个小竞赛,有人写了一个不到128字节的版本 ,最终胜出的是 111字节版本 。Oliver Hunt建立了一个更漂亮的图形版本,我也做了一个,Russ Hall甚至做了一个 完整的演示版 。(译者注:这里需要相当的数学知识,可以参考wikipedia的说明,否则就只能感叹效果的华丽和字节的精简了)

javascript 游戏引擎

音频

在HTML5正式支持音频元素之前,大部分人都是使用基于Flash音频的方式实现类似的功能,但这不意味着是我们的唯一选择,我们可以使用JavaScript做出各种稀奇古怪的声音。比如说,可以看看Cameron写的 JS-909 drum machine ,当然这东西依赖于Quicktime,但就算这样也很棒,不是么?

javascript 游戏引擎

或者我们可以 动态生成并播放WAV 文件,就像sk89q写的那样,听得同时,我们还可以再 生成点MIDI 玩玩。

拾遗

除了图像和音频文件,我们还可以生成其他类型的文件。用一个短小精悍的类库 生成ZIP文件 ,这个主意听起来怎么样呢?

你认为CSS现在都可以做什么?是不是只有设置字体或者排列div?答案当然是否定的,至少Román Cortés就像我们展示了一张完全 用CSS制作的荷马·辛普森照片 ,只要你的CSS基础足够强,也可以做一张哟。

javascript 游戏引擎

Ernest Delgado将我写的Mario Kart演示和OpenStreetMap结合在了一起,衍生出一个 新的非常棒的演示 ,类似于汽车上的GPS导航系统。

javascript 游戏引擎

最后,向你推荐 Cubescape ,一个漂亮有趣的玩具。你可以通过通过各种颜色的小方块,绘制出一幅漂亮的风景来,一个消磨时间的好办法。

javascript 游戏引擎

这篇文章难免会有一些遗漏,我会在Nihilogi不断做些修补,所以记得定期看看 这里 ,确定你没有遗漏什么。祝愿2009年会像2008年一样精彩,其实我真找不出什么2009年不会更好的论据。

你认为2008年什么最精彩呢?