前言:
随着微软越来越开放,C#也变得越来越吸引人们的眼球。而在游戏行业中,C#也开始慢慢地获得了关注。这不, 网易绝代双娇手游团队已经全面使用.Net Core支持前后端统一C#开发,跨平台部署了。
所以,我们就来总结一下C#在游戏行业中一些具体的应用吧。
1、游戏引擎:
说道游戏领域的应用,自然应该先来说说游戏引擎:
Unity (Unity - Game Engine)
不必多说了吧opengl游戏开发,随着“移动为王”潮流的到来,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协议,因此如果是自己去修改引擎代码就必须公开。
个人觉得很有意思且值得研究的一个游戏引擎。
2、图像相关:
XNA :
不必多说了吧。微软自家的东西。XNA中的X表示能够在WindowsXbox和合作伙伴之间达到跨平台的强大的软件工具。N表示“下一代(Next- generation)”,A表示“架构(Architecture)”。基于DirectX的游戏开发环境。使用c#对directx进行了封装。可以 在xbox360和pc间实现跨平台。
OpenTK(The Open Toolkit Library):
封装了OpenGL, OpenCL以及OpenAL的C#库。
SDL(Simple DirectMedia Layer)可以管理视频,音频,输入设备,CD-ROM,线程,共享对象装载,联网和定时器。对于3D图形,它可以处理OpenGL或Direct3D。开发库内部使用C语言编写,而是SDL库的C#版本。
SlimDX(SlimDX Homepage):
SlimDX是一个免费开源的框架opengl游戏开发,基于DirectX,开发者可以使用 C#, VB.NET, 或者IronPython进行开发。
3、物理相关:
Box2Dx(Box2Dx):
我相信Box2D各位应该十分了解,Box2D本身是一个用于模拟2D刚体物体的C++引擎。而且它集成了大量的物理力学和运动学的计算音乐音效,并将物理 模拟过程封装到类对象中,将对物体的操作,以简单友好的接口提供给开发者。我们只需要调用引擎中相应的对象或函数,就可以模拟现实生活中的加速、减速、抛 物线运动、万有引力、碰撞反弹等等各种真实的物理运动。
而Box2Dx是Box2D的C#版本。
Box2D.XNA(Box2D.XNA - Home):
和上面的类似,当然对Xbox 360做了特别的优化。
Farseer(Farseer Physics Engine):
同样是一个2d物理引擎,支持C#。当然它也基于Box2D,因此和Box2D有很多相同的功能。
Jitter(Jitter):
最后介绍一个3D的物理引擎。支持使用C#。
结语:
可以看到,C#在微软支持开源之前就已经在游戏领域有了很多应用。希望现在在微软开源的支持之下,C#能够在游戏领域获得更多的关注。