遊戲引擎怎麼做到跨平臺部署的

遊戲引擎能做到一次開發,多平臺發佈, 比如 android, iOS, H5, 微信小遊戲,facebook等。

這些我們叫做跨平臺架構,瞬間感覺很NB和高大上。

今天我來給大家分析分析,我們的遊戲引擎是怎麼做到跨平臺的。

 

遊戲引擎的架構一般會分爲3個層次:

    (1)平臺抽象層:

          a: 定義幾個統一的接口,來接入平臺的消息, 比如 mouse, touch, keyboard 等;

          b: 每個平臺會有一個runtime的環境,調用每個平臺的API,來將事件和消息接入到統一的接口裏面;

          c:  使用opengl, 等跨平臺圖行庫,來繪製遊戲畫面;

          d:  做好封裝,框架能調用原生態的函數或接口;

          …

    (2) 框架抽象層:

      有了平臺抽象層,對於平臺的API,都是上面定義的統一的幾個入口, 事件入口等, 基於這些入口,再來開發遊戲場景的框架層,使用遊戲引擎特有的管理模式,做好幾大模塊和API和接口,遊戲引擎的常用的模塊, 比如:網絡模塊,聲音模塊,渲染模塊,事件模塊,場景管理模塊等。那麼業務層開發遊戲就直接使用框架層抽象出來的API接口就可以了,不用關心具體系統的差異。

(3) 業務邏輯層:

有了框架抽象層,我們就可以調用框架的API接口, 來開發我們的應用。

 

遊戲引擎的 打包發佈

   每個平臺都會有自己的開發工具,使用開發工具,把平臺抽象層 + 框架抽象層 + 業務邏輯層 打包發佈成對應平臺的應用程序。所以使用遊戲引擎打包發佈的時候, 發佈android要用android的開發工具,發佈蘋果,要用蘋果的開發工具… …

 

遊戲引擎這麼NB,能否做跨平臺的普通APP?最好不要這麼做。

    (1)遊戲引擎對普通APP UI操作控件等支持的並不好

    (2) 遊戲引擎基於幀頻驅動,所以會比普通APP基於事件驅動要耗電;

    (3) 遊戲引擎,每次全部重新繪製,APP是部分區域繪製;

 

最後配上一個小圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章