最近和幾個朋友討論怎樣降低游戲開發難度,提高游戲開發速度以及可視化結構化的游戲開發方法
虛幻是在高級游戲開發工作流中做的比較好的一個,一整套可視化開發工具及強大的虛幻腳本讓3D游戲的開發難度大大降低。其腳本可以方便的調用引擎中的native函數,當然也為游戲的特殊結構提供了諸如state的功能,處理狀態,阻塞邏輯等只有游戲才有的復雜邏輯
可以說,虛幻為游戲而設計,又有成熟的商業游戲用例,因此虛幻是游戲開發的方向。
回看2D游戲開發,其實最方便,最系統化的還是使用Flash,或者Silverlight。這些工具都是提供了一套方便的IDE,可以可視化的做動畫,并且與代碼整合。
但是以上這些開發,都或多或少使用的是傳統的過程式串行編碼方式來描述一個并發執行事件的游戲,因此開發難度還是很大的。
回想起我專業里學過的PLC(可編程邏輯控制器),一堆可以控制的繼電器的邏輯組合就可以做出各種復雜霓虹燈邏輯或者電梯邏輯等。
本人原來所在項目中負責一個任務系統。但是boss不允許用任何第三方庫,無奈只能自己實現,一開始我就使用了觸發器架構,每個對象都可以出發不同的觸發器,然后是自己實現的簡單腳本,用C++解析腳本來讀入觸發器。對于策劃,可以很快速的構建一個任務,唯一的缺點,就是有點繞
使用觸發器的地方還很多,暴雪的即時戰略,基本都是用了觸發器結構,星際爭霸,魔獸爭霸3。魔獸爭霸3中的觸發器可以說是遍地都是,無需編程,只需要按照系統給你提供的一些字段,比如說 當 礦 小于 XX 點時, 執行 撤離。這些游戲系統中的人物,都清一色的使用觸發器。
雖然魔獸世界的代碼沒有泄漏,但是魔獸的服務器的模擬代碼中描述的任務,就是用一堆數字的觸發器在運行
因此,觸發器對于提高游戲開發效率有很大的幫助,使用XML結合自己的系統,就可以寫出一套結構化的基于觸發器游戲系統。