游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6264|回复: 1

漫谈C#编程语言在游戏领域的应用

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2016-5-10 11:24:04 | 显示全部楼层 |阅读模式
1.jpg

  GameRes游资网授权发布 文 / 慕容小匹夫

  前言:

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

2.jpg

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

1、游戏引擎:

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

  Unity (Unity - Game Engine)

3.png

  不必多说了吧,随着“移动为王”潮流的到来,Unity3D也变得越来越流行。使用C/C++开发,提供C#作为脚本。

  移动游戏开发必备神器,而且随着VR热潮的到来,使用U3D开发VR内容也十分便利。总之,你值得拥有。

 Axiom (Axiom)

4.png

  Axiom是一款开源且跨平台的3D渲染引擎,提供了对Windows, Linux, Android, iPhone以及Windows Phone等各个平台的支持。

  了解游戏开发的小伙伴们一定听说过OGRE渲染引擎吧?

  Axiom使用C#移植了OGRE。

  Torque X(Torque X | Products)

5.png

  由GarageGames开发的一款基于XNA的2D/3D游戏引擎(但是不支持XNA Game Studio 4.0)。

  使用C#开发,目标平台主要是PC以及XBox。

  但是很多功能都没有开发完毕,目前已经被废弃。

  truevision3d(3D Engine and Game Development SDK by Truevision3D)

6.png

  底层使用C/C++开发,不过提供对VB6, VB.Net, C#, Delphi,APL和BlitzMax的支持。

  相信各位能够迅速上手。

 Xenko(Home | Xenko)

7.png

  来自日本的开发商SiliconStudio,开发商十分靠谱。且和Unity3D相比,Xenko支持最新的版本的C#6和.Net4.6。且由于借助了Xamarin,因此在跨平台策略上不比Unity3D差。

  而且,它还是免费开源的,不过由于使用了GPL3协议,因此如果是自己去修改引擎代码就必须公开。

  个人觉得很有意思且值得研究的一个游戏引擎。

  2、图像相关:

  XNA :

8.jpg

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

  OpenTK(The Open Toolkit Library):

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

  http://SDL.Net(SDL.Net):

9.png

  SDL(Simple DirectMedia Layer)可以管理视频,音频,输入设备,CD-ROM,线程,共享对象装载,联网和定时器。对于3D图形,它可以处理OpenGL或Direct3D。开发库内部使用C语言编写,而http://SDL.Net是SDL库的C#版本。

  SlimDX (SlimDX Homepage):

10.png

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

  3、物理相关:

  Box2Dx(Box2Dx)

  我相信Box2D各位应该十分了解,Box2D本身是一个用于模拟2D刚体物体的C++引擎。而且它集成了大量的物理力学和运动学的计算,并将物理 模拟过程封装到类对象中,将对物体的操作,以简单友好的接口提供给开发者。我们只需要调用引擎中相应的对象或函数,就可以模拟现实生活中的加速、减速、抛 物线运动、万有引力、碰撞反弹等等各种真实的物理运动。

  而Box2Dx是Box2D的C#版本。

  Box2D.XNA (Box2D.XNA - Home):

11.png

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

  Farseer(Farseer Physics Engine):

12.png

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

  Jitter(Jitter):

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

  结语:

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

  相关阅读TDD在Unity3D游戏项目开发中的实践

0

主题

16

帖子

286

积分

中级会员

Rank: 3Rank: 3

积分
286
发表于 2016-5-11 09:30:08 | 显示全部楼层
哈哈 我也觉得大C#不错 哈哈 ~~ 点赞~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-5-20 07:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表