C#/.NET 作为新标准游戏开发平台的可行性?

Viability of C#/.NET as the new standard game dev platform?(C#/.NET 作为新标准游戏开发平台的可行性?)
本文介绍了C#/.NET 作为新标准游戏开发平台的可行性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

长期以来,C++ 一直是主导的游戏开发语言.许多 AAA 质量的 3D 引擎可满足任何预算.

For a long time now C++ has been the dominate game development language. Many AAA quality 3D engines are available to fit any budget.

我的问题是,随着 XNA 的兴起,C# 和 .NET 框架的定位是否足以成为新的标准游戏开发平台?显然,XNA 框架(Windows、Xbox、Zune)固有的跨平台特性有其优势,但这些优势足以吸引大型游戏开发工作室转换吗?

My question is, with the rise of XNA, has C# and the .NET framework been positioned well enough to take over as the new standard game development platform? Obviously the inherent cross-platform nature of the XNA framework (Windows, Xbox, Zune) has its benefits, but are those benefits good enough to entice large game dev studios to switch gears?

就个人而言,我在为新项目使用 C#/XNA 和通过 jMonkeyEngine 使用 Java 之间纠结.我非常希望我的游戏可以移植到多个平台,而我知道的唯一能够实现这一点的语言是 C# 和 Java.我很想看到一个由 OpenGL 提供支持并在 Mono 上运行的 XNA 代码库的实现,但我认为这只是一厢情愿的想法.

Personally, i am torn between using C#/XNA for a new project, and using Java via jMonkeyEngine. I have a great desire to have my game be portable to multiple platforms, and the only languages i know well enough to accomplish this are C# and Java. i would love to see an implementation of the XNA codebase that is powered by OpenGL and would run on Mono, but i think that is merely wishful thinking at this point.

我很想知道其他人在使用非 C++ 语言构建 3D 游戏时的经历.

I am curious to hear what others have experienced while building 3D games in something other than C++.

推荐答案

大型游戏工作室可能不会很快采用 XNA.一些独立开发者正在使用它,但绝对有可能最终非常成功并将 C++ 抛在后面.

The large gaming studios will probably not adopt XNA any time soon. Some indies are using it, but definitely has the potential to eventually be very successful and leave C++ behind.

XNA 提供了许多可用于游戏开发的类,但许多其他类通常选择使用成熟的游戏引擎.虽然 XNA 对于刚接触编程游戏的初学者来说相当不错.

XNA provides many classes that you can use in game development, but many others often choose to use a fully fledged games engine. Although XNA is rather good for beginner's to cut their teeth on if you are new to programming games.

C# 是用于游戏开发的好语言.游戏开发产生需要声音、高级图形、人工智能、物理等的应用程序.所有这些都需要强大且相当快速的语言环境.虽然大多数顶级 PC 和主机游戏都是用 C++ 编写的,但 C# 有一个路线图,可能会将 C++ 抛在后面.C++0x 即将到来的变化无疑会在一段时间内重新振兴 C++,但 C# 看起来有望超越它.

C# is a good language to use for games development. Games development produces applications that require sound, advanced graphics, AI, Physics, etc. All that requires a powerful and fairly quick language environment. While most of the top tier PC and console games are written in C++, C# has a road map that will likely leave C++ behind. The coming changes in C++0x will no doubt reinvigorate C++ for a little while but C# looks poised to overtake it.

如果您真的想成为一名游戏开发人员,我会敦促您至少学习 C++ 并编写自己的游戏引擎.使用预制的游戏引擎很容易,您可以编写一些没问题"的代码,但您会遇到许多无法编写代码的限制.您将有效地受限于游戏引擎的功能(除非您可以访问源代码,然后您可以根据自己的喜好对其进行修改).

If you really want to be a games developer I would urge you to at least learn C++ and write your own game engine. Using a pre-made game engine is easy and you can code something that is 'okay' but you will run into many limitations that you won't be able to code around. You will effectively be confined to the capabilities of the game engine (unless you have access to the source, which you could then modify to your liking).

学习 C++,最好学习 OpenGL :)一旦你了解了 OpenGL,你就可以很容易地学习 DirectX.

Learn C++ and preferably OpenGL :) Once you know OpenGL you can learn DirectX pretty easily.

一旦你了解了 C++,C# 就是小菜一碟.

C# is a piece of cake once you know C++.

这篇关于C#/.NET 作为新标准游戏开发平台的可行性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)