回覆列表
  • 1 # 空空搗蛋研究院

    就像我們人體需要靠吃來維持能量攝入一樣。一般來說我們只要吃就行,不太需要關心到底吃啥,就能維持能量的攝入。也就是說我們攝入能力時,主要關心的是吃這個概念,而不需要太關心吃什麼,東西只要能吃就行。

    同理,雖然硬體細節不同,但是我們可以對硬體進行足夠的抽象化。就像無論食物是需要嚼還是入口即化,我們都把攝入食物這個動作抽象化為吃。實際上,硬體技能都是為了跑遊戲而設計的,找到共性是不難的。

    跨平臺引擎的作用,就是把硬體機能抽象化成一些易於遊戲邏輯使用的介面。比如我們把一個模型畫到場景某個位置,只需要告訴引擎攝像機在哪,放置位置在哪,模型是什麼即可。至於引擎內部是如何運轉的,遊戲邏輯是不關心的。

    遊戲引擎內部,就是根據實際系統環境,走不同的分支路線進行處理。

    跨平臺不太容易,涉及面廣,依靠的手段是多層的。比如可以依靠語言編譯器實現一部分,同樣的C/C++可以編譯成不同的二進位制機器碼。又如依靠不同的演算法,可以根據實際硬體優缺點,使用不同的演算法。實現過程中,必然需要掌握各個平臺的相關知識、特性。當然,也可以做一些取捨,有些無法實現的,就留白做空功能,雖然引擎提供了介面呼叫,但是實際上不做處理。

    一般來說,現在的遊戲開發都是一定程度上考慮跨平臺性的,即使最後因為商業方面的因素沒有真的跨平臺發行。另外,注重跨平臺的開發,可以一定程度提高程式碼質量,提升開發效率。所以,我覺得現在的遊戲移植並不算困難。但是如果一開始沒有對擴平臺做規劃,後期才執行移植操作,還是很麻煩的,做起來亂。

  • 中秋節和大豐收的關聯?
  • 農行網上銀行轉賬多久到賬?