作者linjack (嗯)
看板Flash
标题[情报] QuakeFlash
时间Tue Nov 16 10:22:40 2010
噫,刚刚 search title 了一下,发现本版好像没人贴过这东东
http://cloud.github.com/downloads/mkr3142/QuakeFlash/QuakeFlash.swf
Quake 1 port to Flash 是完整 port,所以你有一代所有完整档案的话
应该有办法在 Flash player 里打完整个 Quake 1 代。
Multiplayer 功能我是没有试就是了,我也没有买过 Q1 ... XD
Project Page:
https://github.com/mkr3142/QuakeFlash
和今年初轰动一时的 Quake2 GWT port 比起来最大的不同是,
QuakeFlash 并没有运用到任何的硬体加速,Quake2 GWT 底层是跑 WebGL
当然是差异很多。
QuakeFlash 背後的技术是 Adobe Alchemy,把 C/C++ 原始码透过
alchemy, compile 成 AVM2 的 bytecode,直接包成一包 swc,
而 alchemy 是建构在 LLVM 之上,所以这个产出的 bytecode 是 LLVM
最佳化过的,速度会快不少。
这证明了运用 Alchemy,使得 flash 能够运用许多现成的 C/C++ library,
(特别是 performance critical 的,其他例子还有编码、加解密 library 等)
速度上到达堪用的程度,是可行的。
==
另一个有用 alchemy 的重要 project 我觉得是这个:
https://github.com/jesses/wck/wiki/box2d-flash-alchemy-port
Box2D 的 C++ 版直接用 alchemy compile 成 AVM2 bytecode,
配合同一个人做的 World Construction Kit,效果相当的不错:
http://www.sideroller.com/wck/
对 alchemy 熟悉的人或许可以 benchmark 一下,同样的物理环境模拟
alchemy 版本的 Box2D 快了手工 port 多少?我自己试了一些 demo,大概
知道效能的增加应该不是「非常」可观就是了;另外因为这与其他手工的
Box2D port 不同,API 长相比较偏向 C++ 的样子。
==
其实我是在看下面这个的时候才顺便看到上面两个 ...
http://phyzios.net/Lab/Default.aspx
用 lua-alchemy + 上面说的 box2d alchemy & WCK 做成的线上编辑器,
虽然是写 lua,但底下是跑 flash。但是 lua-alchemy 这个 project
本身的活跃度已经很低:
http://code.google.com/p/lua-alchemy/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.130.3.176
※ 编辑: linjack 来自: 220.130.3.176 (11/16 10:25)
1F:推 esabear:这个很威阿! 推一个 11/19 08:40