Silverlight C# 遊戲開發:高深莫測卻淺顯易懂的遊戲開發

來源:互聯網
上載者:User

      遊戲開發一直都是一個神秘的學科,無論圖書大廈裡的設計書籍還是網路上的開發攻略,無不讓人望而卻步,冗長的代碼以及高深的言語,使得遊戲開發愛好者們造成各種各樣的誤解,很長一段時間,都誤認為遊戲開發就是DirectX、就是Opengl、就是……,這種觀念從招聘中就能看得到,少有真正理解遊戲開發,那麼遊戲開發確實是一個很複雜的學問嗎?其實不是,它本身就是一個簡單的構成。

      對於遊戲,很早就產生了,DirectX只是一種SDK,以前沒有它的時候,遊戲照樣有,姚仙寫仙劍奇俠傳使用的是Basec語言,俄羅斯方塊也不過是彙編代碼的集合,如今flash也好silverlight也好,都是一個開發包,一個工具,本身沒有太複雜的。

      我本身是一位遊戲開發愛好者,總結下來,覺得遊戲開發的基礎最少應瞭解以下三個部分:

      第一:邏輯思維和基礎學科

      邏輯思維是一個重要的部分,如果邏輯思維很好的話,有很多問題都可以很容易在之前找到(我們戲稱為YY),但是邏輯思維不等於理性思維,遊戲開發需要的是邏輯思維,如果過於理性的話,遊戲開發也不會充滿激情,比如:在任何情景下,設計一個雙人娛樂項目,這時候需要的是邏輯,而不是理性。但是理性是控制大腦的根本,指導我們什麼東西該做什麼東西不該做,就如這個雙人娛樂項目不是拿菜刀互砍,也不是一個人打一個人不還手,因為理性告訴我們,需要公平,需要安全,遊戲開發是一個結合邏輯和理性思維的學科,如果我們想開發好遊戲那麼這方面絕不能不考慮。

      對於基礎學科上,建議是學習好資料結構、良好的數學基礎、最好有點藝術感覺,這些學科都是影響將來遊戲開發最近基本的知識,如果有更高層次的追求,那麼學習一下心理學、經濟學、圖形學、專案管理,都將會未來奠定好的基礎。

      第二:遊戲迴圈

      任何遊戲歸根結底其實都是一個迴圈,一個大迴圈套各種小迴圈,各種小迴圈套更多的小小迴圈,這些迴圈為遊戲創造了一個體系,在這個體系下,通過迴圈的方式獲得最終的展現,如果說遊戲沒有迴圈,那麼可以說不是一個遊戲,別說物件導向,別說MVC,作為遊戲來說一個介面也好,一個控制也好,都是一個簡單迴圈的體現,這個理論也不是什麼高深的思想,而是最簡單的遊戲開發雛形,如果有模式比這更好,那麼我可以說,那些可能沒有迴圈的模式理解容易,遊戲做迴圈的處理,簡單易行方便快捷。

     

      只是一種簡單的表示,可能高手們對此可能有其他的論述,在後面,咱們用代碼的方式來考慮它的合理性。

      第三:代碼設計模式

       雖然說Silverlight提供了MVC的設計方式,但是作為遊戲開發人員應該瞭解軟體開發的代碼設計模式,這些設計模式常常劃分成不同的種類,常見的種類有:

       建立型設計模式,如Factory 方法(Factory Method)模式、抽象工廠(Abstract Factory)模式、原型(Prototype)模式、單例(Singleton)模式,建造(Builder)模式等

       結構型設計模式,如合成(Composite)模式、裝飾(Decorator)模式、代理(Proxy)模式、享元(Flyweight)模式、門面(Facade)模式、橋樑(Bridge)模式等

       行為型模式,如模版方法(Template Method)模式、觀察者(Observer)模式、迭代子(Iterator)模式、責任鏈(Chain of Responsibility)模式、備忘錄(Memento)模式、命令(Command)模式、狀態(State)模式、訪問者(Visitor)模式等等。

       作為遊戲開發,需要瞭解的是抽象工廠(Abstract Factory)、迭代子(Iterator)、觀察者(Observer)、訪問者(Visitor)這幾種,這幾種方式如果做了瞭解,那麼在遊戲開發中將會駕輕就熟。

       如果是引擎層級的開發,則必須將設計模式搞清楚,我曾經寫過兩個遊戲引擎,一個是C++一個是DirectX,現在回過頭去看那代碼實在垃圾,主要是在思想意識上達不到很高的水準,所以寫出來的代碼也是什麼都沒有——沒有體系,沒有效能,沒有便捷,沒有安全……但是反過來說,有再好的設計思路和設計體系,代碼寫不出來也是白搭,正是因為有之前的兩個壘出來的上萬行代碼才使得學習的更多。所以對於這方面,需要兩方面都要加強,代碼的設計和堅持不懈的Coding才能真正達到提高。

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.