在Java/C#(包含XNA)/ Unity中开发游戏的原因是什么?

lia*_*dee 4 c# java xna unity-game-engine

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

只是一些标准:

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

我想为PC开发游戏.

And*_*ell 9

请允许我支持C#,特别是XNA.

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

在我看来,C#优于Java作为一种语言,特别是对于游戏开发,尤其是考虑工具和库支持 - 尤其是XNA.

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

XNA在Zune上的Windows,Xbox 360,Windows Phone 7和(旧版本)上本机运行.

在PC上,C#和XNA都需要运行时.微软的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可能是更好的选择.)


Cal*_*vin 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确实是一个很棒的工具.