漫談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協議,因此如果是自己去修改引擎代碼就必須公開。
個人覺得很有意思且值得研究的一個游戲引擎。

MonoGame

(MonoGame)

MonoGame是開源項目Mono的一個分支,是Microsoft XNA 4.X Framework開源實現。該框架的目標是使XNA可以更容易地開發跨平台游戲,並且可以進行代碼的高效復用。
作為Mono的一個分支,MonoGame的跨平台能力自然無需擔心,它目前支持iOS, Android, MacOS, Linux, Windows,OUYA, PS4, PSVita以及Xbox One等平台。

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)可以管理視頻,音頻,輸入設備,CD-ROM,線程,共享對象裝載,聯網和定時器。對於3D圖形,它可以處理OpenGL或Direct3D。開發庫內部使用C語言編寫,而SDL.Net是SDL庫的C#版本。

SlimDX

SlimDX Homepage

SlimDX是一個免費開源的框架,基於DirectX,開發者可以使用 C#, VB.NET, 或者IronPython進行開發。

0x03 物理相關

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#。

0x04 結語

可以看到,C#在微軟支持開源之前就已經在游戲領域有了很多應用。希望現在在微軟開源的支持之下,C#能夠在游戲領域獲得更多的關注。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM