我最近从CVG.co.uk上的一次采访中了解到MMO Minecraft是由Java驱动的,该采访涉及两位以前和现在竞争的同事之间可能的合作。在接受采访时,他直截了当地说Minecraft的创始人是Java编码器,而他是C或C ++编码器,因此它们彼此不兼容。因此,在未来的项目上进行合作将很困难。
这让我开始思考,如果Java可以做到这一点?就游戏或主流游戏开发而言,MS非常流行的C#语言和.Net平台的未来将如何发展?
我最近从CVG.co.uk上的一次采访中了解到MMO Minecraft是由Java驱动的,该采访涉及两位以前和现在竞争的同事之间可能的合作。在接受采访时,他直截了当地说Minecraft的创始人是Java编码器,而他是C或C ++编码器,因此它们彼此不兼容。因此,在未来的项目上进行合作将很困难。
这让我开始思考,如果Java可以做到这一点?就游戏或主流游戏开发而言,MS非常流行的C#语言和.Net平台的未来将如何发展?
Answers:
您应该签出XNA。一个用于Windows,Xbox 360和Windows Mobile 7构建游戏的平台。全部在C#和.NET中。
我从事专业游戏开发工作已超过5年。大多数时候,我几乎只使用C#。
一般来说,C#和.NET堆栈对于服务器端技术确实非常有用。我已经使用C#编写了不少于4个MMO游戏。另外,随着Unity3D的流行,许多浏览器和手机游戏都需要C#。不要忘记XNA框架:它不是AAA控制台游戏的首选引擎,但是有许多出色的游戏可以使用它,而且目前还在制作中。
总体而言,C#在游戏开发方面肯定具有未来。
如前所述,Mono将C#引入了多个平台。在同一区域,您将找到Tao,一个用于Mono和.NET的多平台库,它允许访问Cg,DevIL,FreeGLUT,GLFW,GLU,ODE,OpenAl,OpenGL,PhysicsFS,SDL和WGL。在功能方面,它显然不如XNA(后者直接向开发人员提供基本引擎组件)强大。但是,它功能强大。
因此,超越Microsoft控制的OS和硬件的跨平台肯定是可能的。只是,还没有那么多流行的独立游戏利用这种能力。
如前所述,XNA与C#结合在一起,允许独立开发人员将其发布到360,PC和Windows Phone 7。
总体而言,C#作为一种引擎/游戏语言,在游戏开发中还很活跃。
作为一种工具语言,它无处不在。我已经使用C#为EA,THQ和Arkadium构建了工具。
C#不仅在游戏开发方面有前途,而且还有一份礼物-Check Magicka,这是最近发布(并畅销)并使用XNA开发的游戏。还可以查看获奖的Dream.Build.Play条目。C#是一种制作游戏的可行方法(尽管现在我不认为这是所有游戏的正确选择)。
随着时间的流逝,我们将看到它在计算机游戏行业变得越来越流行,但是我不希望在任何时候突然转向C#。
Java一直是一种非常通用的语言,人们一直可以使用它来编写游戏代码,从简单的基于Web的游戏(Java applet /带有画布插件的GWT)到完整的3D野兽(结帐JMonkey)。因此,我不会说Java可以做到这一点的事实是C#杀手,因为大多数人都知道Java已经可以做到这一点。
尽管C#不可避免地与Windows,Windows Mobile和Xbox结合在一起,但它仍然会比Java好得多(实际上,所有游戏开发人员都非常在意目标,因此C#的跨平台优势已基本丧失了。) XNA也从游戏开发方面真正起飞。
因此,是的,如果有人愿意遵循Java的原则,那么Java是游戏开发的绝佳平台,但肯定不是C#或.NET的杀手no。
查看Unity 3D;高性能3D引擎中的C#(以及JavaScript和Boo)脚本。
将XNA加入其中,您将看到几个使用C#进行游戏开发的出色平台。
是的,C#具有XNA框架的未来。大多数人都因为速度而更喜欢C ++,但是C#不再那么慢了...
另外-MonoDroid可能是C#的选项。
当然,许多编程语言在游戏开发中都有前途。在计算机媒体中经常使用的错误困境是,只能有一个类型为X的工具,并且每个人都希望这种情况发生。
没有什么比真相更遥远。
C#和Java在游戏中使用了很长时间。C和C ++的使用时间更长,而且仍然如此。Lua用作一些令人难以置信的流行游戏的脚本语言,其引擎是用C / C ++编写的。
显然,没有任何一种编程语言像《游戏编程语言》一样能使其他编程语言如虎添翼。实际上,我们看到一种趋势,即领先的游戏将由高性能的已编译的编程语言(用于开发引擎)组成,然后由更高级的动态编程语言(用于编写UI和内容的行为脚本)组成。
目前的关键是性能。如果所使用的任何编程语言/库导致应用程序中无法预测/无法控制的暂停,则在动作游戏中,该暂停将完全消失。在基于文本的冒险游戏中,这可能没问题。