我不知道是否有人想过这个,但是像魔兽世界,天堂II或永恒之塔这样的游戏,通过WebGL可以通过浏览器前端实现吗?如果我想用这些新技术制作完整的游戏,我有什么需要考虑的事情?还有什么是开始的好地方?
答案 0 :(得分:4)
这可能过于开放,但我会采取刺。
首先,据我所知,没有建模程序会输出你所期望的,因为你需要输出javascript。
有些浏览器会使用硬件来加速图形,但这不是保证,你只需要获得一些cpu,与其他标签共享,所以它可能不像你想的那么顺畅。 / p>
如果您必须下载大量数据来运行您的程序,这将对用户造成问题。
我认为建模程序是真正的挑战,因为你必须基本上手工完成所有事情,并且事实上它不会非常顺利将是一个问题,除非你为此设计。
但是,对于某些游戏设计,WebGL应该是一个很棒的选择。
答案 1 :(得分:2)
我不相信你的游戏必须超越heigtmaps上的某些立方体。
此类游戏在Flash上更加逼真,特别是即将推出的11版硬件3D播放器。
答案 2 :(得分:2)
事实上它完全有可能,我们将会举办这样的比赛。
我们可以期待像O3D这样的图书馆能够处理浏览器的怪癖。我们已经在桌面平台上遇到了这些问题,并且库在那里负责多平台的可移植性。
浏览器缓存可能是一个小问题,但不是一个大问题。可以为游戏分配更多缓存,我们还有像squid这样可以缓存非常大的资源的代理服务器。如果局域网上的一组玩家共享代理服务器,他们也将共享大型资源对象,如果游戏设计得很好(即资源不能有多个生成的名称,但是所有玩家都有一个共同的URL。)
此外,还讨论了为Web应用程序添加本地存储的可能性。 并且“准备被黑了”不是市长问题。没有什么可以阻止黑客操纵Flash或C ++应用程序,反作弊工具已经变得毫无用处。暴雪已经依赖于发现“类似僵尸的行为”,而不是尝试更多的反黑客措施。
但是,我不认为魔兽世界将成为第一款基于闪存的游戏。实际上它将是Quake(http://playwebgl.com/games/quake-2-webgl/),因为已经有一个用于WebGL的Quake-port ...将会有使用WebGL的网页游戏,但是不要指望暴雪在不久的将来支持它。
IE是唯一不支持WebGL的浏览器,说实话并不重要。所有其他浏览器都可以,用户不介意运行Chrome或Firefox。或者运行两者并选择对他们的游戏更快的那个。
谁关心像IE和Opera这样的边缘化浏览器。它们同样不重要。除非你计算IE6,它永远不会支持我们正在讨论的任何内容,因为它已经停止并且不受支持。
答案 3 :(得分:1)
要缓存本地文件,您应该查看Chrome中现在的文件系统API。这使您可以以编程方式访问虚拟文件系统,从而可以控制本地存储的资源。
Application Cache可以帮助您使用游戏所需的HTML,CSS和JavaScript等静态资源。但是,您需要作为“已安装的网络应用”运行(例如,通过Chrome网上应用店)以获得无限存储空间。浏览器正在构建配额管理系统,以帮助简化这一过程。
WebGL非常棒,图书馆正在兴起,以帮助简化它。没有明确的“赢家”,但有很多选择。
由于像CrankShaft这样的改进,JavaScript现在非常快。为了获得更好的性能,您可以使用Native Client来运行C / C ++代码并在JavaScript之间来回发布消息。
我可以看到两个大问题。一个是帮助中间件公司将他们的工作移植到JavaScript或Native Client。第二个是提高我们将数据从JavaScript移动到WebGL的速度。
答案 4 :(得分:1)
Runescape多年来最常玩的浏览器游戏之一就是用WebGL重写他们的引擎...(他们目前使用的是Java小程序)
答案 5 :(得分:-1)
“如果你能找到一种方法来最大限度地减少运输大量(可能是演出)资源的成本” 实际上,http已经具有运输静态资源的最低成本。凭借其原生资源分配方案,URL,它具有最终的缓存能力。浏览器不仅知道如何通过URL缓存静态资源,而且存在可以处理数据的快速且高效的代理服务器。
这主要的秘密是HTTP HEAD requeset,其中代理服务器的浏览器可以有效地检查它是否具有最新版本的资源并重新同步它。此外,可以通过HTTP标头将资源标记为永久或非常长寿(不可变)。然后重新同步将是不可能的,而是通过创建具有新名称的新资源来完成更新。
有一种说法认为HTTP作为一种资源传输系统在某种程度上是低效的,而实际上它的设计非常有效。
与基于HTTP的客户端相比,使用专有协议的WoW和其他客户端的效率非常低。使用代理服务器无法加速这些客户端。 Windows更新,Apt和Yum都有共同点,他们使用HTTP更新操作系统资源,并且能够利用Akamai:庞大的全球代理服务器网络以及其他类似资源,以便有效地传输每GB数千兆字节的URL资源客户端。