幾天,Cocos2d-x v3.11 已經發布,除去物理引擎升級,JSB 新內存模型,Tizen 平臺支持等亮眼功能外,還有很重要的一點更新是,我們在 Web 引擎上強化了渲染器性能。總的來說,在行業對 WebGL 支持越來越好的背景下,我們大幅度強化了 WebGL 渲染器的實現,讓其支持自動批處理渲染。
背景介紹
WebGL 是 OpenGL ES 的 Web 版本,它的誕生就是為了給 Web 平臺帶來更強勁的 2D/3D 渲染能力,可以說是為游戲行業而生。為什么說行業對 WebGL 支持越來越好呢?主要有下面幾點利好:
騰訊 X5 引擎的 Android 版本在上個月完成了 blink 內核的集成,這意味著 Android 平臺上 QQ 瀏覽器和微信瀏覽器也都擁有了強大的 WebGL 支持。
Android 5.0 版本以上的系統瀏覽器也是默認支持 WebGL 的。
而 iOS 平臺的 WebGL 支持從 iOS 8 開始就已經非常完備了。
也就是說兩大移動平臺對 WebGL 的支持已經趨向成熟。
Cocos2d-html5 自 2012 年誕生之日起就具有完備的 WebGL 支持,和 Canvas 的表現統一性也一直保持得很好。如果接觸得早,會知道早在 v3.1 中,我們就已經徹底升級過一次渲染器,將渲染和邏輯分離。而這次,在行業重大利好的情況下,我們決定再次升級 WebGL 渲染器。最終,v3.11 相較于 v3.10 在 bunnymark 測試中取得了 4 倍以上的成績,讓我們很受鼓舞。
Bunnymark 測試運行畫面:
Bunnymark 測試數據(均是 WebGL 渲染模式下的數據):
當然,這次升級還沒有結束,我們測試仍然還有很大的優化空間,在后續版本中,我們將持續投入在 WebGL 渲染器的優化上,這些優化也會被同步到 Cocos Creator 中。
主要優化概述
在 v3.11 中我們完成的主要優化點如下:
1.在 Android 瀏覽器上默認開啟 WebGL(支持的話)
目前開啟 WebGL 的環境有下面這些:
WebGL 模式下,通過直接將渲染指令發送給 GPU 完成在 GPU 中的渲染,除此之外,一些計算也會在 GPU 上完成,相比 Canvas 渲染模式來說高效很多。
目前開啟 WebGL 的環境有下面這些:
所有主流桌面端瀏覽器
iOS 8.0 以上版本的所有瀏覽器
QQ 瀏覽器內核 6.2 版本以上(包含微信最新版本)
百度瀏覽器 6.2 版本以上
Android 5.0 以上的系統瀏覽器和 WebView
2.WebGL 自動批處理渲染
眾所周知,draw call(渲染指令的調用次數)是優化的重點,draw call 的降低,就等同于渲染性能提升,發熱和耗電量下降。
自動批處理渲染是在 WebGL 模式下專門針對 draw call 的一種常見優化技術,在渲染游戲場景的過程中,如果發現使用同樣貼圖和混合模式的精靈,就會自動將他們的渲染指令合并為一個,將多個精靈在一次 draw call 中繪制出來。
在 v3.11 開發過程中,經過 5 個版本的自動批處理實現迭代,自動批處理渲染已經可以顯著得降低 draw call,在完全不改動游戲的情況下即可得到明顯的性能提升,如果游戲本身設計對批處理更友好,那么會得到更大的提升,大型游戲控制 draw call 在 50 以下是完全有可能的。
下面是使用了 v3.11 內測版本的騰訊歡樂斗地主 web 版本的性能優化前后對比(均為 WebGL 渲染模式):
3.音頻系統升級
除了渲染以外,我們對音頻系統做了一次升級,提升了音頻系統在 Android 平臺上的適配度,降低了內存占用。
音頻的播放方式主要分為兩種:DOM Audio 和 WebAudio。之前的版本中,可以使用 WebAudio 的情況下都會選擇使用 WebAudio,因為它擁有更強大的音頻控制和多音軌播放能力。而在測試過程中,我們發現 WebAudio 占用內存非常高。因為 Web 環境中對音頻是軟解碼,所有數據都保存在內存中,而 DOM Audio 的內存占用則更加穩定。所以我們在 v3.11 中,我們將 playMusic 接口改為使用 DOM Audio,playEffect 接口繼續使用 WebAudio,因為音效往往比較短,所以占用內存不多。這樣可以有效得降低音頻資源的內存占用,下面這張圖是 v3.11 優化前后的音頻占用內存對比。
4.讓無法批處理的 Sprite 共享全局的渲染數據緩存,并減少 WebGL 函數調用
對于無法自動批處理的 Sprite,目前已將渲染數據緩存合并為一個共享緩存,降低 WebGL 函數調用頻率和緩存更新頻率,這個優化對于中低端安卓機器比較有效。
5.將頂點位置運算從 GPU 轉移到 CPU(Mobile friendly)
這個版本中,我們將精靈頂點位置的運算從 GPU shader 中移到了 CPU 中,減輕 GPU 的運算壓力和發熱量,這個改進在中低端機器上得到的效果較為明顯。
未來優化方向
在這些優化之后,大家可以放心得在安卓上開啟 WebGL 渲染模式,看看自己的游戲表現,相信可以讓 Web 端的體驗更上一層樓。
當然,優化還遠遠沒有結束,下一個階段我們會繼續在三個方向上深入優化 Web 引擎的體驗:
進一步提升 WebGL 渲染性能
降低引擎內部的計算損耗
降低引擎的內存使用
與此同時,我們的重點產品 Cocos Creator 和 Web 引擎共享同一套底層渲染機制,所以也將享受這些修改帶來的優勢。前一個階段,我們在 Cocos Creator 上所投入的主要精力在于搭建數據驅動框架、組件化機制以及核心功能的迭代,目前我們已經更多得投入在優化上,相信很快也會有成果展示給大家。
游戲多發布此文僅為傳遞信息,不代表游戲多認同其觀點或證實其描述。
戲葡萄原創專稿,未經允許請勿轉載
2014年十月底的Cocos開發者大會上,觸控副總裁王哲做了一次演講,《重新定義下的Cocos》。
當時他這樣說到,“沒有-X和JS框架的區別,沒有2D和3D的區別,它們就在一個引擎里,Cocos集成了所有這些服務,重新定義了無縫的工作流。美術和設計人員不需要配置很復雜的工作目錄,不需要配置Android NDK、SDK之類的東西,當設計完場景動畫和UI之后可以直接開發工作,開發工作只是由程序員來完成的。”
那么,2014年這一年,Cocos業務特別是CocosPlay取得了哪些成績?Cocos部門對HTML5等新方向如何看待?葡萄君最近在觸控廈門分公司與王哲聊到了這些話題。
葡萄君:對于觸控,CocosPlay的意義在于?
王哲:CocosPlay目前是給觸控代理的幾款游戲使用,先讓自家游戲用好了,再考慮面向別家以及商業化。自己先趟坑,這是觸控開發工具類產品一貫的做法。CocosPlay是一個在用戶體驗上跟HTML5接近的系統,但沒有HTML5那么高的移植和性能要求,不需要重寫程序內容。Cocos Play技術可以對Native游戲簡單改造之后,實現兩個要點:免安裝,和邊玩邊下載,也就是以前PC頁游的運行模式。
王哲:PC互聯網是以網站為基礎建立服務鏈的,現在移動互聯網App之間不能連通,于是需要SDK的接入。對于大量app產生的移動互聯網流量,如內涵段子、冷笑話精選、美圖、酷狗音樂等,流量很大,但這些流量的變現效率肯定不如游戲。這些站點對用戶來說吸引力很大,因為用很低的成本就能換取更多的資源,而他們從前的變現手段主要是靠賣廣告位CPA,或者通過游戲聯運,但既要聯運又得和CP談、嵌SDK,非常浪費成本。所以現在我們希望通過CocosPlay做的大聯運,來讓長尾流量通過觸控擅長的游戲領域提高效率和收入。
王哲:對于手機游戲,流量來源已經是一個瓶頸問題。國內流量來源最重要的是渠道給的推薦位,這些位置是有限的。所以在看到這些非游戲app產生的長尾流量的商機后,我們希望能把握這一點,進而給游戲廠商和高流量app帶來額外的利潤。現在Coco splay還只有觸控代理的游戲在用,觸控要評估這個市場的潛力,在摸清市場以后才會開放。Coco splay目前有3、4款游戲在使用,但技術上沒有做到完全的自動化,因為涉及到對操作系統接口很復雜的封裝,所以比較麻煩。
葡萄君:怎么看待HTML5游戲?
王哲:Cocos已經有技術可以用JavaScript做大型游戲游戲,也有很多研發商在用。比如Facebook游戲收入前列的《Big Fish Casino》就是用cocos 2d-html5寫的。國內高收入的代表作則有DeNA的《變形金剛》、邊鋒的《三國殺傳奇》、心動游戲上到微信的《仙俠道》、途游的一系列棋牌游戲等,采用cocos 2d-html5開發后,通過我們的JavaScript 綁定加速方案打包到native app,發行到安卓和iOS渠道。
王哲:我一向是比較保守謹慎的風格,所以提供出來的技術方案都是讓客戶可進可退的。從Cocos 2d-x在2010年的設計,就是進可攻Android退可守iOS的方案,要知道當時Android還非常小。而Cocos 2d-js就是進可攻HTML5退可守Native,我沒有賭性,認為不把公司命運賭在唯一的方向上,這點非常重要。而對于只打算純守Native的公司,我們還提供了Cocos Play方案可以轉化為手機頁游形態。我喜歡Cocos 2d-js這種可進可退,左右逢源的技術方案。
王哲:就目前而言,我遇到很多研發商的需求是,用Cocos 2d-js開發完游戲后,用我們引擎的native runtime加速方案打包為原生形態到渠道上分發,同時用HTML5 runtime做關卡試玩來導量。HTML5一大優點的是能在朋友圈里病毒傳播,點開就玩。Cocos 2d-js很好地滿足了這種既要原生性能來做大游戲,又要利用HTML5做病毒式傳播導量的當下需求。市面上也有其他HTML5引擎,但cocos引擎的成熟程度和生態圈發展程度大家都明白,手Q玩吧里面的HTML5游戲,有50%直接用DOM開發,有20%~30%是用Cocos 2d-html5開發的,是玩吧里市場占有率最高的游戲引擎。但HTML5領域最終能發展到怎么樣不是我e們引擎提供商和中小CP說了算的,還得看大廠的態度,尤其是谷歌和蘋果的態度。所以目前謹慎的態度還是先用Cocos 2d-js跨native和html5兩端,先走這一步,再看HTML5市場會不會有爆發。
王哲:再進一步,HTML5只是技術手段,手段只是為了實現背后的商業目標;而對于實現同個商業目標,可以有不同的技術手段。對于游戲廠商而言,HTML5技術背后的商業目標就是:如何在手機上像頁游一樣來源廣泛且方便地導量,如何托管于社交軟件中實現病毒式傳播。如前面所說,現在非游戲app的流量很高,但缺乏高效變現手段;普遍采用的廣告模式導量,玩家在看到廣告到進游戲開玩的時間長,流量轉化率低下。縮短這個等待時間,提高轉化率是手機頁游關鍵的問題和價值所在。比如一個100MB的游戲,下載10MB就能進游戲,最好是秒進,然后一邊玩一邊下載后續內容,而且不要彈界面出來問用戶是否安裝,是否授予一堆訪問權限等等。在實現這個商業目標上,觸控的Cocos Play技術和HTML5都是手段而已。兩者都不是針對玩家需求而制作的東西,它是滿足游戲廠商運營、盈利的需求的技術手段,比如發行、CP在商業上對分發效率、玩家進入游戲的時間、玩家的留存率、轉化率的問題;而玩家只關心能否在手機上方便地玩到好玩、高質量的游戲,并不關心你游戲背后用的是哪種技術。
葡萄君:那么Coco splay的效果如何?
王哲:國慶的時候做了《秦時明月》的Coco splay版,放到渠道里發現反饋的數據都比較好,包括轉化率和收入水平等。投放的渠道比所有的安卓渠道整體水平要高一些。由于不知道用戶的反饋會往那個方向走,所以我們做的初始版本會相對簡陋,在不斷測試里去調試。當時《秦時明月》上91的時候還是試玩版,沒有代支付等系統,將100多M的游戲改到10m,放上去以后,收入數據很快就上去了。
葡萄君:玩家會不會覺得包太小了?
王哲:玩家會有疑問,但還是眼見為實,玩一玩才知道。關鍵是以下幾個:1)節約首次下載時間,10MB下載wifi環境2分鐘,4G環境以秒計;而100MB wifi下載10多分鐘,那么前兩分鐘過后,玩家就可以提前體驗游戲,如果覺得不好玩就可以不下剩下90m的流量。2)網絡環境的變化會導致下載中斷,但10MB的包之后剩下90MB可以分次下載。
葡萄君:現在CocosPlay希望先解決哪些需求?
王哲:一是完善自動化轉換工具,接入提升效率。但改造單款游戲的投入成本大,制作時間長,CP需要消耗過多資源。第二是收入目標,暫定目標是增收上千萬的流水,比如《秦時明月》原本能達到5000萬單月,使用Coco splay以后能提高20%,達到6000萬,那么就KO了,因為手機上的HTML5游戲還沒單月過100萬的。
葡萄君:Cocos這一年取得了哪些成績,2015年又有哪些打算?
王哲:國內的收入排行榜前十前二十,用Cocos研發的游戲占有率很高。韓國日本也有很多,比如海賊王、SE亞瑟王系列、怪物彈珠等。
王哲:2014年Cocos的成績還分三方面。一是cocos 3D推出,我們去年在3D技術方面的進步比較大,是從無到有的過程,2D還將占據市場一段時間,尤其是歐美和日本市場;但3D不得不準備,未來手機市場可能像PC平臺一樣分化為:核心手游3D化端游化、2D游戲休閑化、社交化,退守手機頁游戲形態。第二是理清了Studio工作流,終于解決了多個編輯器分立的問題,同時windows和mac兩個版本的代碼也合到了一起。從前盡管有同一個入口,但仍然是一堆功能分立的細碎編輯器。那樣分開的工作既不方便管理,也影響工作效率。而今年實現了整體的統一,后面的迭代工作會快很多,很多改進的基礎功能也幫大家提高效率。第三是Code IDE解決了蘋果和谷歌眼中二等公民Lua和JavaScript腳本調試的問題。
王哲:展望新的一年,首先第一點是我們希望cocos系列產品之間能相互打通,可以在各產品各編輯器和擴展里面自由的調用相互的資源,實現更好的一體化集成開發環境。而進一步就是插件和擴展系統,讓研發商自由加入自己的擴展控件,如自己的UI控件等。第二點就是3D,我們發布3D功能后到現在也過了10個月左右,在去年新立項的cocos 3D游戲會在今年陸續上線。我很期待也衷心祝愿cocos游戲,不論是2D還是3D游戲,都能在今年大賣,雄踞暢銷榜榜首。?
建風,92年資深游戲開發者。堅持自己對開發技術的熱愛與追求,自學編程技術,畢業后一直從事Cocos游戲開發工作,并先后在CocoaChina發表多篇Cocos2d-JS教程以及兩套Cocos2d-JS視頻學習教程,獲得廣大游戲開發愛好者以及從業者的喜愛,僅優酷播放時長就達60萬分鐘。今天這位90后開發者又帶來了他傾心編寫的書籍《Cocos2d-JS游戲開發》與我們一起分享他對技術的理解、把控以及成書心得。
CocoaChina:請問你是如何進入游戲開發這個行業的?
這事情,說來也比較有意思。我是2014年從學校出來實習,那時候一心想做iOS應用開發,然后面試的第三家公司,便是我職場上的"初戀"--寶寶巴士(福建)網絡科技有限公司,當時iOS組和Andoird組主管以及公司的技術總監分別面試了我,都一再確認我是否真的要做iOS應用,因為我大二的時候和我的好友曾彬思參加了福建省軟件設計大賽,我們制作了一款RPG的游戲,獲得了省二等獎,還作為代表隊赴臺參加比賽,所以在游戲的方向上應該更有經驗。但是,在我的堅持之下,公司同意了做iOS應用。可沒想到的是,第二周周一,我開開心心背著書包去上班的時候,公司就變卦了,讓我做回游戲去。太坑爹,然后,當初那么天真無邪、單純善良的我,就被這幾個老男人給連哄帶騙的騙去做游戲了,當然,公司開的條件是做游戲的話,畢業轉正之后,就調去公司最核心的技術部門--框架組,就是這樣,我踏入了游戲的圈子。
CocoaChina:選擇Cocos2d-JS做游戲開發的原因是什么?
當初也剛畢業,對這些游戲技術方向,并沒有一定程度的認識,選擇Cocos2d-JS做游戲開發,主要還是因為寶寶巴士的技術總監,也就是我AC哥(請允許我在此向他說一聲謝謝,感謝他一直對我的幫助、信任以及鼓舞,如果沒有他,也就沒有今天的凌建風)。記得當時我畢業之后調到框架組的時候,他就注意到Cocos2d-JS,發現官方開始主推Cocos2d-JS了,所以,安排我去學習突破一下。應該是出于這樣的一個巧合吧。
另外,去年在寶寶巴士的時候,用的都是Lua,今年公司用的都C++,但是,我還是更喜歡JS,總結起來應該有三點原因:
首先,我最看重的是Cocos2d-JS的全平臺支持。對我個人而言,全平臺是非常具有誘惑力的。Cocos2d-JS提供了Web的支持,這讓我可以使用Cocos2d-JS來開發Native游戲,也可以開發Web上的游戲,閑來無事,還可以寫個H5小游戲,生成一個二維碼,然后發給自己心儀的妹子,說不定一不小心就脫單了(然而我并沒有這么干過)。所以,全平臺的支持間接的提高了我個人的價值,讓我的技術最大價值化,在一定程度上,也減輕了我需要學習其他技術(例如Web前端)的壓力。
其次,在生活中,我是一個不賭錢的賭徒,從去年7月份開始,Cocos2d-JS一直陪伴著我成長,這一路來,讓我愛上了Cocos2d-JS。另外,今年H5也是非常的紅火,所以,我拿我的前途和錢途在打賭,我賭JS的潛力,我相信HTML5的時代不遠了。
再者,我AC哥曾經一直灌輸我們一個思想,男人有的時候還是要快一點。我本身也處于年輕氣盛的時候。這么說吧,借潘婷洗發露的廣告改一下--我是個急性子,編譯要我等,不可能,Cocos2d-JS專業繞道編譯兩三年。所以,我非常喜歡Cocos2d-JS的開發效率。
CocoaChina:平時還對哪些技術比較感興趣?
怎么說呢,我現在應該算是賊心不死吧,還是對iOS應用開發比較有興趣。在游戲方面,對OpenGL、WebGL也有濃厚的興趣,一直想擠出點時間,好好學下這些東西。其他的話,對編輯器也有一定的追求吧,比如之前做Lua的時候,我會去寫一些Sublime的插件,寫Cocos2d-JS的時候,自己也花了點時間做了個Cocos2d-JS在Sublime上的代碼補全包。
CocoaChina:你之前在CocoaChina社區上發布了很多視頻教程,為什么想要自己做教程呢?
自己做教程,實際上是有2個促進我的因素 。第一個因素是我大學受到了幾個學長的點撥,他們會把他們的很多心得和技術分享給我,讓我能跑的比別人快一些,所以,我傳承了他們分享的品德。第二個因素,就是學習了1個月的Cocos2d-JS,然后想做個總結,給公司的同事們分享一下,碰巧當時在群里看到華彬哥(panda)說官方正在征教程,然后,我就和彬哥聊了幾句,于是,本來面向公司內部的分享,就直接面向社會了。就是這樣,我把教程放到了CocoaChina,沒想到,我放上去之后,反響還不錯,于是就接著出了第二套視頻。
CocoaChina:據了解,你最近在寫書?是什么樣的書呢?
是的,確切的說,今年都在寫。與其說在寫書,還不如說在懷書,十月懷胎,好吃好喝的供著它,還把我整的不要不要的,有時候還讓你惡心到想吐。這本書,書名叫《Cocos2d-JS游戲開發》,是和人民郵電圖靈圖書簽訂的,《保衛蘿卜2》實例貫穿了整本書的每章章節實例(很感謝保衛蘿卜將素材授權給我)。書分4大部分。第一部分為基礎篇,講解Cocos2d-JS基礎模塊,包含各平臺下的環境搭建,渲染框架,動作模塊,事件模塊,音頻處理,粒子系統等。第二部分為進階篇,含數據存儲,控件模塊,性能優化技術,游戲地圖設計,網絡編程,反射調用,JavaScript Binding等。第三部分為物理引擎篇,講解Chipmunk物理引擎。第四部分為項目實戰,把蘿卜沒做完的繼續做完。大概就是這樣子吧。
CocoaChina:這本書適合哪些讀者?對初學者學習上面有何建議?
這本書,由淺入深,結合多個實例項目,大部分的章節后面也都有一個章節實例,在比較高階的,例如性能優化、Javascript、物理引擎等技術也寫的還算詳細,所以本書既適合初學者,也適合有一定Cocos2d-JS游戲開發經驗的同學們當做工具書。
CocoaChina:寫這本書時有沒有特別難忘的事情?
自從視頻暫停更新之后,我就開始琢磨想寫一本Cocos2d-JS的書。因為,錄制視頻實在太累人了,都是我下班和周末回家錄制的,時間本來就不多,所以我的視頻都是一個視頻一口氣講完,這樣保證了視頻的連貫性,可能有些開發者會說,可以剪輯呀。其實試過就知道,剪輯會降低視頻的連貫性,而且,剪輯消耗的時間成本更大。錄制到后面的時候,我發現,成本越來越高了,有些我也還不懂的技術,我要先去學,學會之后,要備課,備課之后,再錄制成視頻,還不能講錯一個字,一錯,就重新錄制,所以,幾乎每一講視頻,我都錄制了八九遍以上,有些更是超過了十幾遍,這樣的時間壓力和強度,迫使我暫停視頻的更新。而且,視頻本身和書還是有區別的,書要講的詳細比較容易,視頻要講的面面俱到,著實不簡單,所以,這兩個因素,讓我最終選擇了寫書。當然,寫書壓力也沒少多少,游戲行業本身加班就兇,我是9106的工作機制,每天晚上10點下班回家后,狀態還好,就寫書到十二點多一點的樣子,回來比較累的話,就睡覺去,第二天早上6點半爬起來寫書2個小時,然后去上班,加上我本身比較在意細節,所以,這本書就是這樣一點一滴的積累下來的吧,速度是慢了點。
CocoaChina:《Cocos2d-JS游戲開發》一書計劃何時上市?
說到上市呀,哎,都被人催了無數遍,群友們說,群主,你書再不出來,我們就沖去廈門打你了。我也很想盡快上市呀,那樣我就輕松了,但是,這不像我的作風,我可不想辛辛苦苦寫了一本書之后,因為質量問題,被人噴,被人罵,對不起自己,也對不起讀者。所以,我寧愿晚一些時間出來,我也要保證書的質量。書呢,目前書正處于二輪優化階段,我爭取在農歷年底的時候把書搞上市,然后這樣我回家就能過個好年了。
CocoaChina:之前在CVP圈子解鎖了逆襲哥稱號?能和我們說說逆襲背后的故事么?
封給我一個逆襲哥的稱號,我感覺有點受寵若驚了。其實,也沒逆襲什么,可能是自己自身的條件在外界看來,似乎顯得差了一點。比如說什么高考300多分,想想也沒什么好驚訝的,CVP圈子里,像我這樣的多了去了,好幾個92年的大牛。要說這背后經歷了什么吧,那大概是這樣子的,我11年高考失利(失利個毛線,其實就是不會讀書),又執意不復讀,然后同年同村的2個表兄弟都是600分左右,人家考那么好的大學,都很低調,結果我考了個小小的大專,父母卻支持宴請全村(感謝爸媽一直如此信任和愛我),然后,我咬了咬牙,心里想,靠,自己裝的逼,含著淚也要裝完。
于是,我就那么上大學去了。上大學之后,我和高中的狀態算是發生了180°大轉彎,上課非常認真聽講,書的筆記做的都是滿滿的,結果第一學期下來,蒼天吶,大地吶,C語言65分。后來,發現我高中的歷史老師也在福師大繼續讀研,就和他訴說了我的心聲,和他交流了幾次之后,他支持我鼓勵我,讓我繼續叛逆,從那之后,我又變成壞學生了。我上課就開始不聽老師講,下課不做作業,兩年多下來都是這樣,遇到新的課任老師,我就上去安利他,說:“老師,你的課講的很好,我的耳朵是非常喜歡聽的,但是我的內心告訴我,我不能聽,我得學我該學的技術,你的課我一不遲到、二不早退,三不曠課,期末考,我盡我最大的努力,平時分您覺得給多少合適,就多少”。然后,幾乎有教過我的老師都有當著全班的面說:“凌建風,你期末是第一個重修的”。可結果,老師們都看到了我的堅持,看到了我的努力,在期末的時候,都給了我蠻高的分數,還得了獎學金(哈哈哈,真是天上掉下個大餡餅)。
因為我上課都是自己帶著電腦,坐在老師的旁邊,他講他的,我做我的,幾乎是沒有什么問題。但是記得有一次,機房管理員的主任過來,讓我把電腦收起來,七七八八的講了一堆,課任老師也暗示我,先收起來,和他打游擊戰下,等他走了,我再拿出來,我照做了,可第二次,那主任又過來了,說我不能帶電腦來機房上課,我說為什么,他說這是學院規定的,帶筆記本要登記,要不怎么知道那筆記本是我的,當時我就怒了,和他出去扯,越扯越火大,最后我說,我們去你辦公室談吧,這里影響大家上課。然后,我就去大鬧了他的辦公室,我說,你要是不讓我帶電腦,你這就是在阻礙我學習,最后我拉著他去見院長,說我們到院長面前理論吧,在這里說的都是廢話。結果,他妥協了,讓我找輔導員寫個申請書什么的,我后來也懶得管他。所以,大學就是這么奇葩的走過來,雖然一把鼻涕一把淚,哭笑不得,但是,大多數的老師們都很支持我,這讓我非常的感動。另外,也正是因為大學兩年多都在自學,才給后來學Cocos2d-JS打下了快速學習的基礎。
好吧,貌似說的就這么多了,最后感謝CCTV,感謝CVP,感謝觸控,感謝CocoaChina,感謝那些曾經陪伴過我,幫助過我的朋友們,繩命(生命),有你們更精彩,人繩(人生),有你們--足夠了。
CocoaChina:看的出來建風對技術的堅持與努力,我們也期待你的新書《Cocos2d-JS游戲開發》及更多技術分享!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。