正如标题所暗示的,
是否有可能使用 websockets 进行连接和 webgl 进行图形制作像 runescape 这样的 3D MMORPG?
来自Quake II GWT Port网页(粗体字):
Quake II GWT 端口将 Quake II 的3d游戏体验带到浏览器中。
在端口中,我们使用WebGL、Canvas API、HTML 5 元素、本地存储 API 和WebSockets来展示纯 Web 应用程序在 Safari 和 Chrome 等现代浏览器中的可能性。
[...]
为了使 Jake 2 代码与 GWT 一起工作,我们有
- 创建了一个新的基于 WebGL 的渲染器
- 将多人游戏的网络层从 UDP 移植到 WebSocket API
我对 MMO 了解不多,但显然有人已经用 HTML5 实现了令人印象深刻的游戏。
当涉及到来自浏览器的通信时,WebSockets 无疑是最佳选择。
我自己在 WebSockets 方面做了很多工作,并开发了几种不同类型的通信密集型应用程序,以及我开发了一个实时通信框架 - 你是否应该为 Web 和 HTML5 构建所以 WebSockets 选项。
一个好的开始,或者快速尝试 WebSockets 的方法是通过http://live.xsockets.net,这是一个提供 JavaScript API 和托管 WeSocket 服务器的服务。
亲切的问候
马格努斯
您是否考虑过 Lightstreamer?它利用 HTTP 和 WebSockets,使用 TCP,但试图通过一些智能算法来克服它的一些限制,以保持低延迟并优化带宽。它可以为每个客户端自动选择最佳的可用数据传输方式——默认情况下,它会使用 WebSocket,但如果需要,它可以使用 HTTP 流式传输,甚至可以使用长轮询。这使得一个非常健壮的通信协议可以交付给任何已知的客户端。此外,它具有高度可扩展性,因此它可以用于任何复杂的多人游戏(例如,包括 MMORPG)。
查看最近的这篇文章(通过 Web 优化多人 3D 游戏同步)。您可以浏览一个非常简单的多人 3D 世界的在线演示,其中集成了 Lightstreamer 以实现实时同步。该演示允许您调整场景的每个参数并模拟任何类型的数据传输,同时检查实际带宽消耗。如果您愿意,您可以亲自动手,因为完整的源代码可在 GitHub 上免费获得。
希望有帮助。如果您需要帮助,请告诉我!
[全面披露:我为 Lightstreamer 工作]
我知道这是 6 岁,但有人必须提到BrowserQuest
我有一些 HTML5 游戏开发 (Phaser) 的经验,但我完全没有 MMO 的经验,虽然我也对有一天开始开发类似于 BQ 的东西非常感兴趣。
更新:我做了一个 我制作了第一个基于 Deno 的 websocket微型在线 RPG:小土地