4

我正在考虑创建一个游戏只是为了好玩。用这些语言编程有什么优势?
我相信 Unity 和 Java 都有自己的可嵌入小程序,而 C# 有一个软件包(XNA Game Studio),可以为 Windows Phone、XBOX 360 和 PC 开发游戏。

只是一些标准:

  • 语言的平台兼容性如何(可以在 Mac 上运行吗,我希望它绝对可以在 PC 上运行)
  • 它是否有用于游戏开发的库(请包括这些)?
  • 运行时的基本性能如何?(经常发生崩溃吗?)
  • 它可以在网络浏览器中运行吗?
  • 用户是否必须安装运行时?
  • 任何其他使语言变得好的东西......

我想为PC开发游戏。

4

5 回答 5

9

请允许我支持 C#,尤其是 XNA。

通过使用 Mono(包括 MonoTouch 和 MonoDroid 等付费库),您可以让 C# 几乎在任何地方例如)运行。C# 对于游戏开发来说当然足够快。运行时非常稳定。它可以通过 Silverlight 在浏览器中运行。

在我看来,C# 作为一门语言优于 Java,尤其是对于游戏开发,尤其是考虑到工具和库的支持——尤其是 XNA。

XNA 是一个游戏开发库(在范围上类似于 DirectX),还有很多为 XNA 构建的库。此外,它还拥有迄今为止最好的示例代码库。

XNA 在 Windows、Xbox 360、Windows Phone 7 和 Zune(旧版本)上本机运行。

在 PC 上,C# 和 XNA 都需要运行时。Microsoft 的 ClickOnce 安装程序使这非常容易。它为您的用户提供一个引导安装程序,然后根据需要从 Microsoft 下载并安装运行时。.NET 4.0 客户端配置文件为 41MB,XNA 4.0 为 7MB。这个答案有更多细节

此外,还有将 XNA(仅限 2D API)移植到其他平台的项目。我目前正在资助一个名为 ExEn 的项目,目标是为浏览器 (Silverlight)、iOS、Android 和 Mac 带来高质量的 2D XNA 实现。

如果你等不及 ExEn,你可以试试它所基于的一些库——SilverSprite (Silverlight) 和 XnaTouch (iOS)。SilverSprite 有很多问题,XnaTouch 更好一些。

(目前,如果您想在这些平台上制作3D游戏,Unity 可能是更好的选择。)

于 2011-02-21T11:01:45.177 回答
5

需要明确的是,Unity 不是一种语言(如 C# 和 Java),它是一种创作工具和运行时。您可以使用 C#、UnityScript(JavaScript 风格)或 Boo(Python 风格)编写游戏逻辑。该创作工具非常稳定且功能强大,可为小型团队提供出色的管道来添加 3D 模型、纹理、声音、着色器等。

在我作为游戏开发者的(相当长的)职业生涯中,我只使用过一种优于 Unity 的创作工具,这是一个由一流工程师团队多年来开发的内部专有工具。

据我所知,Java 世界中没有与 Unity 等效的产品。如果您正在编写纯 C#,XNA 将为您提供一个良好的开端,但您仍然必须创建/集成许多基础知识(物理、粒子系统、碰撞检测),然后才能接近您可以完成的任务使用 Unity 的第 1 天。

可以为 Mac 或 Windows 构建独立的 Unity 游戏。独立版本不需要用户安装 Mono,并且根据我的经验非常稳定。还有一个 Unity Web Player,允许游戏在 Mac 和 Windows 上的 A 级浏览器中运行。网络播放器仅安装在大约 3500 万个浏览器上(听起来很多,但考虑到 Facebook 拥有超过 5 亿用户)。

我知道我听起来像个骗子,但 Unity 确实是一个很棒的工具。

于 2011-02-21T17:43:37.803 回答
1

我不再认为它与编程语言有关。它取决于您的目标平台。

  • xbox + 电脑 > xna, .net
  • 安卓 > 爪哇
  • html5 > javascript
于 2011-02-21T09:53:17.303 回答
1

对于游戏开发,C# 远优于 Java 或 JavaScript。
如果你使用Unity3D,你可以使用 C# 而不是 JavaScript 并且你应该这样做。

Unity3D

优点:

  • Unity3D 可在:Windows、Mac、XBOX、PS3、WII、iPhone、Android 上运行
  • Unity 有一个内置的物理引擎(如果你想在 2D 游戏中使用它,你需要以编程方式定位一个轴)。

缺点:

  • 除了 PC 或 Mac 之外的任何其他平台都要花钱。

XNA

优点:

  • XNA 可在:: Windows、XBOX、Phone7 上运行。
  • XNA 对所有平台都是免费的。

缺点:

  • 仅限于微软产品。需要更多编码。

如果您刚刚开始并且想要制作3D 游戏,我会研究 Unity3D。
如果你想做一个2D 游戏XNA 或 Unity3D 会很好。
遗憾的是,它们都不能在 Linux 上运行。:(

于 2011-02-22T17:36:04.633 回答
0

我已经非常广泛地使用了 Unity,我强烈推荐它。它适用于所有平台(您必须购买许可证),但它是一个非常好的引擎。值得一看!此外,您可以在 C# 中开发,因为它使用单声道,这是一个巨大的优势。

于 2011-02-21T10:03:49.473 回答