Before
一開始知道Unty3D引擎,貌似還是大一或者大二,那時Unity3D還是收費軟件,不像現在Personal Version免費。
XNA|MonoGame
再后來,在Coursera上發現一門課Beginning Game Programming with C#, 科羅拉多大學的課,總共12周,不過,最終卻沒拿到認證,因為中間有段時間公司安排出差。時間上錯過了,不過,我還是完成了這門課,雖然時間已經晚了,Cousera和科羅拉多大學不會在頒發認證,但我還是看完了所有視頻課程、完成了所有Assignments。
和別人不一樣,我的開發環境是Linux+MonoDevelop+MonoGame,而不是Dr Tim用的Windows+VS2013+XNA,所以當時遇到了一些發生在Linux環境下的小問題,多數都解決了,不過也有一些問題仍然無解,比如MonoGame的聲音。
課程完成之后,就准備做兩款小游戲試試,其中,往坦克大戰Clone 上投入了不少時間,游戲的核心基本已經做出來了。
還記得當時遇到的一個非常有趣的Bug。坦克移動時,周圍有障礙物時,很難轉彎,屢思不得其解。后來突然搞懂了。
- XNA精靈移動都是按像素計算的,兩個挨着的精靈,即使差一像素,也會被卡住
- 后來,就在移動時,做了些手腳,讓坦克移動時,停止按鍵時,做一個5像素的取舍,避免出現就差一像素轉彎的情況
最后,這個問題就解決了。
當時的Mind Map:

詳細的介紹 Tank War
Unity3D
結果,Unity3D免費了。虛幻引擎4也免費了。我很快轉到了Unity3D下,還獲得了一份Michagen State University在Cousera上Introduction to Game Development的課程認證
還做了一個3D掃雷的Demo

現在,正在籌划着正式Release一款小游戲,詳細介紹暫時保密。 原則上來講,我也是一個Indie Game Developer & Designer了。 ^^
后記
像在Begining Game Programming With C#里Dr Tim里講的,
年輕時候,學吉他是用的舊的破木吉他學的。后來,換了更好的吉他,我就不會彈了嗎?不是的。
他是借此來闡述自己開設這門c#和xna課程的理由,畢竟微軟自己都不在支持XNA了。也正如Dr Tim所說,確實,從他的課里學到了很多C#及游戲引擎的知識,在Unity3D里也是無縫對接。
另外,對比一下XNA和Unity3D
- XNA很簡陋,完成同樣的工作,所寫代碼量遠遠高於Unity3D
- Unity3D跨平台支持性超強,其他游戲引擎很難望其項背,現在Editor連Linux都支持了,這點XNA要差很多
- Unity3D更新更快,XNA微軟自己都不更新了,不過MonoGame開源項目依舊在繼續
- 另外,很多VR/AR sdk都支持Unity3D
PS
一些資源分享
