最新文章
泰课在线 | 微信拼团成功后如何获取课程?
08-09 17:57
Unity教程 | 使用ARKit为iOS开发AR应用
07-31 17:23
Unity Pro专业版7折订阅四选一工具包之VR开发与艺术设计
07-28 11:47
网友使用虚幻UE4实现CAVE 多通道立体渲染的沉浸式环境
07-27 11:57
VR晕动症调查:未来5年内大部分VR晕动症将得到解决
07-27 11:26
AMD CEO:未来3-5年最重要 希望5年达1亿VR用户
07-27 10:44
漫谈C#编程语言在游戏领域的应用
前言
随着微软愈发开放,C# 逐渐吸引了众多开发者的目光。在游戏行业中,C# 也开始受到关注,例如网易绝代双娇手游团队已全面采用 .Net Core 实现前后端统一的 C# 开发,并进行跨平台部署。下面,我们将总结 C# 在游戏行业的一些具体应用。
游戏引擎
在探讨 C# 在游戏领域的应用时,首先要提及的便是游戏引擎。
Unity(Unity - Game Engine)
无需多言,随着“移动为王”潮流的兴起,Unity3D 变得愈发流行。它采用 C/C++ 开发,并提供 C# 作为脚本语言。作为移动游戏开发的必备工具,随着 VR 热潮的来临,使用 Unity3D 开发 VR 内容也十分便捷,值得开发者选用。
Axiom(Axiom)
Axiom 是一款开源且跨平台的 3D 渲染引擎,支持 Windows、Linux、Android、iPhone 以及 Windows Phone 等多个平台。熟悉游戏开发的开发者应该听说过 OGRE 渲染引擎,Axiom 便是使用 C# 对 OGRE 进行移植的产物。
Torque X(Torque X | Products)
Torque X 由 GarageGames 开发,是一款基于 XNA 的 2D/3D 游戏引擎(但不支持 XNA Game Studio 4.0)。该引擎使用 C# 开发,目标平台主要为 PC 和 XBox。不过,其许多功能尚未开发完成,目前已被弃用。
truevision3d(3D Engine and Game Development SDK by Truevision3D)
truevision3d 的底层使用 C/C++ 开发,同时支持 VB6、VB.Net、C#、Delphi、APL 和 BlitzMax 等多种语言,开发者能够快速上手。
Xenko(Home | Xenko)
Xenko 由日本开发商 SiliconStudio 推出,该开发商信誉良好。与 Unity3D 相比,Xenko 支持最新版本的 C# 6 和 .Net 4.6。借助 Xamarin,其跨平台策略不逊色于 Unity3D。此外,它还是免费开源的,但由于采用 GPL3 协议,开发者修改引擎代码后必须公开。这是一个值得研究的游戏引擎。
MonoGame(MonoGame)
MonoGame 是开源项目 Mono 的一个分支,是 Microsoft XNA 4.X Framework 的开源实现。该框架旨在让 XNA 更易于开发跨平台游戏,并实现代码的高效复用。作为 Mono 的分支,MonoGame 的跨平台能力毋庸置疑,目前支持 iOS、Android、MacOS、Linux、Windows、OUYA、PS4、PSVita 以及 Xbox One 等平台。
图像相关
XNA
XNA 是微软自家的产品。其中,“X”表示能够在 Windows、Xbox 和合作伙伴之间实现跨平台的强大软件工具;“N”代表“下一代(Next - generation)”;“A”表示“架构(Architecture)”。它是基于 DirectX 的游戏开发环境,使用 C# 对 DirectX 进行封装,可在 Xbox 360 和 PC 之间实现跨平台开发。
OpenTK(The Open Toolkit Library)
OpenTK 是一个封装了 OpenGL、OpenCL 以及 OpenAL 的 C# 库。
SDL.Net(SDL.Net)
SDL(Simple DirectMedia Layer)可管理视频、音频、输入设备、CD - ROM、线程、共享对象装载、联网和定时器等。对于 3D 图形,它能处理 OpenGL 或 Direct3D。其开发库内部使用 C 语言编写,而 SDL.Net 是 SDL 库的 C# 版本。
SlimDX(SlimDX Homepage)
SlimDX 是一个免费开源的框架,基于 DirectX,开发者可以使用 C#、VB.NET 或 IronPython 进行开发。
物理相关
Box2Dx(Box2Dx)
Box2D 是一个用于模拟 2D 刚体物体的 C++ 引擎,它集成了大量物理力学和运动学的计算,并将物理模拟过程封装到类对象中,以简单友好的接口为开发者提供对物体的操作。开发者只需调用引擎中的相应对象或函数,就能模拟现实生活中的加速、减速、抛物线运动、万有引力、碰撞反弹等各种真实物理运动。而 Box2Dx 是 Box2D 的 C# 版本。
Box2D.XNA(Box2D.XNA - Home)
Box2D.XNA 与 Box2Dx 类似,不过对 Xbox 360 进行了特别优化。
Farseer(Farseer Physics Engine)
Farseer 同样是一个 2D 物理引擎,支持 C# 开发。它基于 Box2D,因此与 Box2D 有许多相同的功能。
Jitter(Jitter)
Jitter 是一个支持使用 C# 的 3D 物理引擎。
结语
可以看出,在微软支持开源之前,C# 在游戏领域便已有诸多应用。如今,在微软开源策略的支持下,希望 C# 能在游戏领域获得更多关注。