終於審覈經過了,開通了個人博客,雖然這麼多年,已經長期在從事java相關的架構工做,可是,其實我心裏,喜歡的語言一直是c#,惋惜,不少時候光靠一人的力量,改變不了什麼,如今的我,打算拋開本身的工做,作本身真正喜歡的事情,我開這個博客的目的主要就是爲了用c#來開發大型遊戲,個人第一個目標,打算使用c#實現《傳奇》這樣的大型網絡遊戲,這樣的遊戲會分紅服務端和客戶端分別開發,個人前期目標是先實現客戶端,若是想了解服務端的能夠訂閱我,我後續會一併寫完的。java
從如今開始重拾8年前的c#確實有點生疏,但其實不少思想都是想通的,固然作遊戲,首先要選擇一種適合的技術。c++
今天,我主要是羅列了4項我還有點印象的實現方式。c#
winform,wpf,directx,opengl,下面分別說說我對這4種實現方式的理解吧,也算是給本身理個思路。網絡
winform架構
winform這個技術我算是最熟悉的,記得大學畢業的時候,就是用winform作了個爬蟲類的應用,專門爬網絡上的美女圖片,以至於老師們看到那麼多美女圖片,就給了我一個優秀畢業設計稱號,哈哈,因此,其實我第一個想到的就是winform。對於winform,實現思路我想應該是一個窗口,裏面放一個繪圖控件,而後重寫這個繪圖控件,實現本身的自定義繪製,用的類那應該就是System.Drawing下面的那些類。在這裏我想了下,要實現《傳奇》這樣的遊戲,winform的繪圖性能應該是一個考驗,另外,遊戲動畫特別多,並且不少動畫都是同時存在的,這樣的難題應該是個考慮,個人想法是先新建多個bitmap,預先把繪製繪製到內存中,而後統一時間刷新,好比100MS刷新一次,那就是每秒10幀,曾經分析過傳奇的代碼,差很少就是每秒10幀這樣的程度。性能
wpf動畫
關於wpf這個,我也是在博客園裏看到了一些相關的文章,有些人說wpf是徹底重寫的一套繪圖機制,並且能夠利用GPU進行加速,因此,我打算對wpf這個也研究一番,若是按照我理解的方式,我認爲wpf的實現應該跟winform有點相似,並且據我通常的瞭解,我發現wpf作遊戲控制界面很是容易,好比拖動,拖動動畫之類相對容易實現,因此wpf也不失爲一種好的方案。設計
directxorm
說到這個,網上搜了一大圈,通過總結,基本大部分都以爲win平臺下directx是開發遊戲最好的解決方案,也是目前成功遊戲最多的解決方案,可是我看了下相關的sdk,我發現,假如用directx開發遊戲,若是沒有合適的遊戲引擎,想要一我的實現《傳奇》這樣的大型遊戲,感受就是一我的建長城的工程,可是若是使用別人的引擎,我發現好多都是c++的語言,奈何我對c++不是特別熟,因此,我原則上認爲directx是屬於重量級的解決方案,須要更進一步瞭解。遊戲
opengl
和directx相似,也是重量級解決方案,有個不一樣的地方就是opengl是開源的,相對來講,實現本身的遊戲引擎難度低一點,我記得我之前最喜歡玩的《暗黑破壞神2》好像就是用的opengl,提及來,若是光從客戶端的角度來說,《暗黑破壞神2》和《傳奇》仍是很是類似的,不過《暗黑破壞神2》的實現應該比《傳奇》要複雜,由於《傳奇》只有8個方位。而《暗黑破壞神2》應該是不止8個方位斷定的,須要進一步瞭解。
今天,算是個開頭吧,在博客園發文章不發代碼好像不是好習慣,哈哈,不過這篇文章算是個開頭吧,說實話,作這種大型項目,尤爲是沒有一分錢的狀況下,純屬本身的愛好,難度倒還能夠,就怕容易放棄,因此,開通博客園,寫出來,也但願能得到更多人的支持,下一篇,我將會正式開始講這個工程,以及相關的代碼。