谷歌開發技術推廣部經理胡坤:HTML5與Cocos2d-X
3月 31 日消息,Google 開發技術推廣部經理胡坤在第四屆 Cocoachina 開發者大會發表題為“HTML5與 Cocos2d-X”的主題演講。
以下為演講實錄:
先做一下自我介紹,我是 Google 的工程師我叫胡坤,我是 06 年加入 Google 中國,今天我跟我的同事一塊兒來的,我們外面有展臺,如果大家有什么問題可以跟我們溝通。
我為什么站在這兒?原因比較簡單,Google 贊助了 Cocos2d-XHTML5這款游戲引擎的開發,為什么要贊助呢?我們經過評審有很多理由,有一款理由是 Cocos2d-X太優秀了,我們沒有理由不支持 Cocos2d-XHTML5的開發。
加速度和即 CX30 唯 CX30 這種平臺性欲言又比較大的區別,依托于資源環境。
1、資源加載
平常用C++ 做開發,你需要關注C++,但是不需要太多的擔心,畢竟圖片、文本、視頻都跟文件打包在一起。大家能不能回答一下在 JS 里面完成加載需要什么?你要負責所有的圖片、字體、圖像、音頻,所有各種資源的加載。我們有一款沒有開源的引擎,Cocos2d-HTML5做的非常復雜。這個圖很精妙,我們只是給大家一個感覺,我們在設計之初就考慮了各種各樣的問題,保證你在 HTML5 游戲引擎,在你加載資源和做普通的開發是沒有太大區別的。最關鍵的一點,我們還細分很多優秀的經驗,我們不僅幫你主動的加載資源,游戲可以設關卡,當你需要過渡到第 2 關、第 3 關我們可以提供一個接口,可以加載這些資源。
2、HTML5游戲引擎之性能
這個是所有同學第一個擔心的問題也是提的最多的問題。我們分析一下,首先講 Update&Draw,比如說大部分的休閑游戲不需要頻繁的更新,除非個別場景。通常情況下,游戲引擎會把它分開,一部分做粗的更新,一部分做細的更新。我們經常看到早期的文章是這樣說的,說它的性能不好,一快一慢,這種說法對于很多軟件沒有冤枉,但是冤枉了一款軟件。后來我們分析這個問題,我們覺得其他軟件還好,我們沒問題滿有自信。第二個問題大于 60 幀,有人講他的游戲可以運行到 60 幀、80幀,現在最炫的瀏覽器也就是能給到 80 幀,對用戶來講沒有意義,但是卻耗量了大量的 UPU。第三個問題,Inner Timer——Fixed Tick。如果你的游戲沒有消耗太多資源,如果遇到動機引擎就會出現剛才我們說的問題,你會感覺游戲太慢,瀏覽器有問題。第四個問題,最早用到的是最熟悉的畫中畫,實現畫中畫可以用兩種方式,我們需要做一個小飛機,這個小飛機是一個圖片,可以飛來飛去,這是一種畫的方式。還有一種方式,我們把這個小圖片包在里面,這樣在移動的時候,這就留出一個問題,當時我們做這個試驗沒想到之間的性能會差這么多。所以,想讓大家猜一猜,如果大家猜的比較接近的話會有禮品送給他。
我們剛才說的考慮的幾點,在設計游戲引擎的時候都把它考慮進去了。不管你的幀顯示多快就顯示 60 幀。我們在設計 HTML5 的時間就想到了這個問題,就是對每個瀏覽器都支持。