你的位置:首页 > ASP.net教程

[ASP.net教程]漫谈C#编程语言在游戏领域的应用


0x00 前言

随着微软越来越开放,C#也变得越来越吸引人们的眼球。而在游戏行业中,C#也开始慢慢地获得了关注。这不, 网易绝代双娇手游团队已经全面使用.Net Core支持前后端统一C#开发,跨平台部署了。

所以,我们就来总结一下C#在游戏行业中一些具体的应用吧。

0x01 游戏引擎

说道游戏领域的应用,自然应该先来说说游戏引擎:

Unity

(Unity - Game Engine)

不必多说了吧,随着“移动为王”潮流的到来,Unity3D也变得越来越流行。使用C/C++开发,提供C#作为脚本。
移动游戏开发必备神器,而且随着VR热潮的到来,使用U3D开发VR内容也十分便利。总之,你值得拥有。

Axiom

(Axiom)

Axiom是一款开源且跨平台的3D渲染引擎,提供了对Windows, Linux, Android, iPhone以及Windows Phone等各个平台的支持。
了解游戏开发的小伙伴们一定听说过OGRE渲染引擎吧?
Axiom使用C#移植了OGRE。

Torque X

(Torque X | Products)

由GarageGames开发的一款基于XNA的2D/3D游戏引擎(但是不支持XNA Game Studio 4.0)。
使用C#开发,目标平台主要是PC以及XBox。
但是很多功能都没有开发完毕,目前已经被废弃。

truevision3d

(3D Engine and Game Development SDK by Truevision3D)

底层使用C/C++开发,不过提供对VB6, VB.Net, C#, Delphi,APL和BlitzMax的支持。
相信各位能够迅速上手。

Xenko

(Home | Xenko)

来自日本的开发商SiliconStudio,开发商十分靠谱。且和Unity3D相比,Xenko支持最新的版本的C#6和.Net4.6。且由于借助了Xamarin,因此在跨平台策略上不比Unity3D差。
而且,它还是免费开源的,不过由于使用了GPL3协议,因此如果是自己去修改引擎代码就必须公开。
个人觉得很有意思且值得研究的一个游戏引擎。

0x02 图像相关

XNA

不必多说了吧。微软自家的东西。XNA中的X表示能够在WindowsXbox和合作伙伴之间达到跨平台的强大的软件工具。N表示“下一代(Next-generation)”,A表示“架构(Architecture)”。基于DirectX的游戏开发环境。使用c#对directx进行了封装。可以在xbox360和pc间实现跨平台。

OpenTK

(The Open Toolkit Library)

封装了OpenGL, OpenCL以及OpenAL的C#库。

SDL.Net

(SDL.Net)

SDL(Simple DirectMedia Layer)库的C#版本。

SlimDX

(SlimDX Homepage)

SlimDX是一个免费开源的框架,基于DirectX,开发者可以使用 C#, VB.NET, 或者IronPython进行开发。

0x03 物理相关

Box2Dx

(Box2Dx)

我相信Box2D各位应该十分了解,那么Box2Dx便是Box2D的C#版本。

Box2D.XNA

(Box2D.XNA - Home)

和上面的类似,当然对Xbox 360做了特别的优化。

Farseer

(Farseer Physics Engine)

同样是一个2d物理引擎,支持C#。当然它也基于Box2D,因此和Box2D有很多相同的功能。

Jitter

(Jitter)

最后介绍一个3D的物理引擎。支持使用C#。

0x04 结语

可以看到,C#在微软支持开源之前就已经在游戏领域有了很多应用。希望现在在微软开源的支持之下,C#能够在游戏领域获得更多的关注。