5

我有一个 3D 网络游戏的好主意,我得出的结论是,可以用 Java 将其编写为一个可在 Web 浏览器下运行的小程序,就像 C++ 中的完整软件一样。它的外观和感觉都是一样的。

Java 在 C++ 上的主要优势在于,使用 Java,您无需下载任何软件即可玩游戏。我已经考虑过下载图形、声音等,但我找到了解决方案。RuneScape只是证明这是可能的。

所以我的第一个问题是,我的游戏应该运行在网络浏览器还是操作系统上?我认为在网络浏览器中它更便携,尽管你需要安装 Java 和其他东西。但事实是,大多数 MMO 游戏目前不在网络上。如果您在软件中提出建议,那么请建议一种语言 - C++ 或 Python 或 C# 等更高效的语言?

所以选择语言后,我需要一个图形解决方案。我应该直接使用 OpenGL/DirectX 编写还是使用游戏引擎?我应该使用什么游戏引擎?食人魔?jMonkeyEngine?

你怎么看?

谢谢!

PS:请不要使用“使用你所知道的”之类的答案。

4

3 回答 3

7

尽管你有最后一点,但尽你所能,尽可能提供最大的用户群。

小程序已经过时,不再像以前那样广泛使用。Flash 或 Silverlight 现在是网页游戏的“标准”。根据您对使用 Java 的兴趣,检查JavaFX可能是值得的,据说它可以替代应有的小程序。我实际上没有使用过 JavaFX,也没有听到太多关于它的信息,请随心所欲。正如您所说,部署到网络的最大好处是用户群更大,人们更有可能玩您的游戏。缺点是您最终会在开发过程中使用 Flash 或同等产品。

如果你沿着构建独立应用程序的路线走下去,你可以使用任何你想要的东西。C++、Java、C#、Python 等都是可行的选择。您可以制作大多数语言的游戏。C++ 是行业标准,但忽略了这一事实。如果您是爱好者开发者,您可以用任何语言制作出令人惊叹的外观和性能游戏。我想说的是,除非您正在构建下一个大热门,否则可以避免使用 C++。与 Web 应用程序相比,您的用户将需要您使用的框架/API。例如,他们需要 OpenGL/DirectX/XNA 等等。至于 XNA、DirectX 和 OpenGL?没关系,您的语言选择很可能会决定您对图形 API/框架的选择。所以我会把这一点留给你自己研究。

至于你应该使用引擎吗?这取决于。

  • 您是否正在制作一款复杂到足以保证引擎的游戏?
  • 您是否希望只关注游戏而不是引擎?
  • 您对学习现有引擎感到自在吗?
  • 您是否对自己生产所需的组件(碰撞等)感到自在?

其他因素也会影响到这一点,但可能值得只关注手头的游戏。您可以轻松编写一个足够简单的引擎来满足您的需求。通过这样做,您将避免许可和部署问题。

于 2010-04-25T18:23:49.873 回答
7

需要考虑的一个选项是Unity 3D 游戏引擎 - 除了作为一个相当强大的开发工具之外,它还具有多个跨平台部署选项。您可以构建一个独立的可执行文件(适用于 Windows 和 Mac,还不是 Linux)一个 Web 浏览器版本,它回答了您关于在 Web 上部署与在 OS 上部署的第一个问题。你可以两者都做。

它还使用 Javascript 和 C#(以及 Boo,Python 的一种变体)来编写脚本语言。这些基于 Mono(.NET 的开源版本),因此它不仅仅是一个游戏平台,而且可以访问 .NET 的所有功能(好吧,无论如何都是在 Mono 中实现的)。

有关Unity 功能的长列表,请参阅许可页面(基本版是免费的)。并查看基于 Unity 的游戏列表,其中第一个是由 Electronic Arts 提供的 Tiger Woods PGA Tour Online。

于 2010-04-25T18:38:17.083 回答
0

对于大多数铁杆游戏玩家来说,仅作为小程序运行的游戏不会被视为真正的游戏。

如果你想要一个只有菜鸟玩的游戏,java 可能是一个选项,否则放弃它并坚持使用允许实际生成可执行文件的语言。

说到图书馆,没有那么多你不能全部尝试并选择你最喜欢的那个,所以……就这样做吧。

于 2010-04-25T18:34:32.053 回答