隨着微軟愈來愈開放,C#也變得愈來愈吸引人們的眼球。而在遊戲行業中,C#也開始慢慢地得到了關注。這不, 網易絕代雙嬌手遊團隊已經全面使用.Net Core支持先後端統一C#開發,跨平臺部署了。git
因此,咱們就來總結一下C#在遊戲行業中一些具體的應用吧。github
說道遊戲領域的應用,天然應該先來講說遊戲引擎:c#
沒必要多說了吧,隨着「移動爲王」潮流的到來,Unity3D也變得愈來愈流行。使用C/C++開發,提供C#做爲腳本。
移動遊戲開發必備神器,並且隨着VR熱潮的到來,使用U3D開發VR內容也十分便利。總之,你值得擁有。架構
(Axiom)框架
Axiom是一款開源且跨平臺的3D渲染引擎,提供了對Windows, Linux, Android, iPhone以及Windows Phone等各個平臺的支持。
瞭解遊戲開發的小夥伴們必定據說過OGRE渲染引擎吧?
Axiom使用C#移植了OGRE。wordpress
由GarageGames開發的一款基於XNA的2D/3D遊戲引擎(可是不支持XNA Game Studio 4.0)。
使用C#開發,目標平臺主要是PC以及XBox。
可是不少功能都沒有開發完畢,目前已經被廢棄。工具
(3D Engine and Game Development SDK by Truevision3D)優化
底層使用C/C++開發,不過提供對VB6, VB.Net, C#, Delphi,APL和BlitzMax的支持。
相信各位可以迅速上手。
來自日本的開發商SiliconStudio,開發商十分靠譜。且和Unity3D相比,Xenko支持最新的版本的C#6和.Net4.6。且因爲藉助了Xamarin,所以在跨平臺策略上不比Unity3D差。
並且,它仍是免費開源的,不過因爲使用了GPL3協議,所以若是是本身去修改引擎代碼就必須公開。
我的以爲頗有意思且值得研究的一個遊戲引擎。
(MonoGame)
MonoGame是開源項目Mono的一個分支,是Microsoft XNA 4.X Framework開源實現。該框架的目標是使XNA能夠更容易地開發跨平臺遊戲,而且能夠進行代碼的高效複用。
做爲Mono的一個分支,MonoGame的跨平臺能力天然無需擔憂,它目前支持iOS, Android, MacOS, Linux, Windows,OUYA, PS4, PSVita以及Xbox One等平臺。
沒必要多說了吧。微軟自家的東西。XNA中的X表示可以在WindowsXbox和合做夥伴之間達到跨平臺的強大的軟件工具。N表示「下一代(Next- generation)」,A表示「架構(Architecture)」。基於DirectX的遊戲開發環境。使用c#對directx進行了封裝。能夠 在xbox360和pc間實現跨平臺。
封裝了OpenGL, OpenCL以及OpenAL的C#庫。
(SDL.Net)
SDL(Simple DirectMedia Layer)能夠管理視頻,音頻,輸入設備,CD-ROM,線程,共享對象裝載,聯網和定時器。對於3D圖形,它能夠處理OpenGL或Direct3D。開發庫內部使用C語言編寫,而SDL.Net是SDL庫的C#版本。
SlimDX是一個免費開源的框架,基於DirectX,開發者可使用 C#, VB.NET, 或者IronPython進行開發。
(Box2Dx)
我相信Box2D各位應該十分了解,Box2D自己是一個用於模擬2D剛體物體的C++引擎。並且它集成了大量的物理力學和運動學的計算,並將物理模擬過程封裝到類對象中,將對物體的操做,以簡單友好的接口提供給開發者。咱們只須要調用引擎中相應的對象或函數,就能夠模擬現實生活中的加速、減速、拋物線運動、萬有引力、碰撞反彈等等各類真實的物理運動。
而Box2Dx是Box2D的C#版本。
和上面的相似,固然對Xbox 360作了特別的優化。
一樣是一個2d物理引擎,支持C#。固然它也基於Box2D,所以和Box2D有不少相同的功能。
(Jitter)
最後介紹一個3D的物理引擎。支持使用C#。
能夠看到,C#在微軟支持開源以前就已經在遊戲領域有了不少應用。但願如今在微軟開源的支持之下,C#可以在遊戲領域得到更多的關注。