cocos2d-x手機遊戲開發——序
近幾年,開源力量在全球軟體行業裡扮演著越來越重要的角色。就移動互聯領域而言,Linux核心被廣泛用在嵌入式系統和無頭裝置,Android崛起,PhoneGap誕生,服務端LAMP已是標配,svn/git和Redmine成為很多軟體公司的管理工具。時至今日,已經很難有哪家軟體公司敢說他們完全不用開源產品了。國內的盛大和淘寶等公司都推出了開源平臺,嘗試開放企業的一些內部專案的原始碼,這些都是非常有意義的舉動。就國內開源歷史來看,最成功的開源專案當屬Discuz、PHPWind和Dvbbs,這3個開源專案服務了國內無數中小網站的站長。而cocos2d-x這一開源專案所追求的目標正是服務大量的手機遊戲開發者,把大家都需要花費大量時間學習和需要花費時間重複做的工作抽取出來,形成一套開源的公用庫。往大了說就是,希望能通過這套公用庫來降低手機遊戲開發的技術門檻和研發成本,使得中小團隊和個人開發者能從中受益。
cocos2d-x僅是cocos2d社群的一個分支。cocos2d開源專案誕生於2008年第一季度,以阿根廷人Ricardo Quesada為社群領袖和主要開發者。最初這僅是一個用Python語言寫的遊戲框架,並沒有體現出什麼商用價值,但2008年正好是蘋果釋出iPhone 2.0 SDK的時候,這給全球的手機遊戲開發者提供了一個非常好的舞臺。cocos2d社群抓住了這個時機,在2008年就開出cocos2d-iphone分支,用Objective-C語言替換Python重寫了整個框架。cocos2d隨著iOS的發展而快速壯大。到了2009年的4月,用cocos2d-iphone寫的遊戲StickWars在App Store美國區的付費榜衝到第一,這個里程碑事件標誌著cocos2d完全脫離了自娛自樂過家家的水平,進入了可以穩定商用的階段。在2010年,cocos2d已經成為iOS平臺上首選的2D遊戲框架:幾乎每個初學iOS遊戲開發的程式設計師都會從cocos2d入手,社群裡時常有開發者跳出來炫耀他的cocos2d遊戲衝到App Store Top10,讓人“羨慕嫉妒恨”。
cocos2d框架的最大優勢在於其簡單易學,遊戲開發者只需潛心學習一個月左右就能掌握,不需要學習複雜的OpenGL ES知識就可以開發出一款商用水平的遊戲,卻能完全享受OpenGL ES硬體加速給遊戲帶來的效能提升和各種炫酷特效。這一核心特點成就了許多個人開發者和中小團隊通過cocos2d快速在iOS平臺上掘金的夢想。
前文提到,2008年cocos2d社群用Objective-C替換Python對整個遊戲框架進行了重寫,而在2010年當Android崛起到能夠和iPhone抗衡,開發者希望能把遊戲移植到Android平臺上的時候,同樣的事情再次上演:cocos2d-x分支被開出來,框架用C++重寫。雖然C++廣被詬病,但作為iOS和Android兩大平臺都官方支援的程式語言,我們不得不“屈服”於C++的實力。事後證明這個技術路線的選擇是對的!市面上各種Phone粉墨登場,都有自己獨特的SDK、獨特的UI控制元件介面,但對於遊戲開發,它們具有兩個相同點:一是支援C++開發,二是提供OpenGL ES介面。在這兩點上,不論是國內的沃Phone、Ophone、樂Phone和魅族,還是國外的Bada和MeeGo等,都是一致的。甚至連封裝層面甚高、直奔HTML5而去的WebOS都專門為遊戲開發準備了C++&OpenGL ES專用的PDK。
和cocos2d-iphone的南美洲團隊不同,cocos2d-x分支的主要維護團隊在中國,我們有幸為大家做了這件事情,並很享受這個利他的過程。在大家的共同努力下,經過第一年的發展,社群裡誕生了70多款基於cocos2d-x的遊戲,其中包括多款Top 10的佳作,更有《捕魚達人》、《Ah Up Planet》、《地鐵總動員》和《91部落》等明星遊戲。截至2011年10月中旬,基於cocos2d-x引擎創作的遊戲在iOS平臺已累計超過340萬次下載,在Android平臺則超過1000萬次下載。
很快我們就發現大家都開始積極地回饋cocos2d-x專案。網龍公司為社群貢獻了整套Lua繫結的程式碼,SuperRacccon、子龍山人、冬天的林和張文野等多位開發者不斷撰寫部落格闡述使用要點,徐松林和黃猛更是熱心地花費幾個月的時間,為各位獻上的這本教程。它不僅是cocos2d-x社群的第一本中文書,也是整個cocos2d社群的第一本中文書。
cocos2d-x的官方文件都受限於社群的國際化,因此沒能提供中文版。另外,很多文件都是站在引擎開發者角度對原理進行闡述和解釋的,對於初學者來說可能過於複雜。而此書從遊戲開發者的角度,用通俗易懂的方式傳授了cocos2d-x引擎的幾個主要功能的用法,著重解決官方文件裡沒有涵蓋的部分,如物理引擎和周邊工具的使用,解答了新手經常感到困惑的熱點問題,如開發環境安裝、交叉編譯和第三方庫整合等。作者在這些地方都非常耐心地給出了按步驟的截圖和程式碼段;最後,兩位作者更是給出了一個很有分量的實際遊戲案例,使得此書的學習價值大大提高。
非常感謝徐松林和黃猛兩位作者的貢獻,希望能有更多的遊戲開發者從此書中受益。開源社群因為有大家的支援而更美好!
相關文章
- Cocos2D-X for XNA遊戲開發指南遊戲開發
- Cocos2d-x 3.x遊戲開發之旅遊戲開發
- cocos2d-x手機遊戲開發封面討論遊戲開發
- Cocos2d-x 3.x遊戲開發之旅 筆記遊戲開發筆記
- cocos2d-x事件觸發的優先順序事件
- 開放出版:徐松林 黃猛《cocos2d-x手機遊戲開發》遊戲開發
- cocos2d-x 2.2 開發手記2
- 序 - 用H5技術開發手機應用H5
- cocos2d-x開發之動作遊戲實戰–序篇薦遊戲
- cocos2d-x 2.2 wp8 開發手記
- 手機數字基帶處理晶片中的靜態時序分析晶片
- 遊戲開發者為何迷戀機甲?遊戲開發
- 手機換IP的方法--手機PPTPpptp
- [Android手機]教程:修改安卓手機…Android安卓
- 【Cocos2d-x】整合wxSqlite3到Cocos2d-xSQLite
- onethink手機後臺,純手機操作
- 《硬核機甲》製作人自述獨立遊戲開發者之路遊戲開發
- 遊戲開發者應如何處理網路危機?遊戲開發
- 小米手環2繫結手機 小米手環2手機繫結教程
- 手機介面
- Learning Cocos2d-x for XNA(1)——小窺cocos2d-x框架框架
- c# 主機和網路位元組序的轉換 關於網路位元組序和主機位元組序的轉換C#
- 紅米手機怎麼清理手機記憶體?記憶體
- 手機上的大資料:手機音樂大資料
- iPhone手機和Android手機的對比iPhoneAndroid
- 搶先體驗版 - 教你一步步搭建微信小遊戲開發環境 -- 基於Cocos2d-x遊戲開發開發環境
- cocos2d-x遊戲引擎遊戲引擎
- 一加6手機評測:全能旗艦手機 一加手機6值得買嗎?
- 日本手機那些事:運營商起用機器人賣手機機器人
- 黑莓手機也遭破解 什麼手機最安全?
- 使用lcha的系統關機和開機的順序
- 十名遊戲開發者告訴你什麼是「手繪遊戲」遊戲開發
- 手機怎麼連印表機列印東西 手機連線印表機步驟
- 蘋果手機尺寸蘋果
- notability手機版
- 手機軟體
- 智慧手機網
- 手機卡刷刷機通用教程