摘要:由于現(xiàn)代生活的快節(jié)奏,越來越多的人使用自己的碎片時間來玩游戲,讓現(xiàn)在的快節(jié)奏,不需要肝的游戲大火。而傳統(tǒng)的2d游戲又在市場上占了很大的份額,現(xiàn)如今3d吃雞類,moba類游戲大火,但是里面的暴力與殺戮元素是不利于青少年身心健康的。而由于智能手機(jī)的普及以及性能的不斷提高,越來越多的人使用手機(jī)玩游戲來消耗平時的碎片時間,但是由于掌機(jī)如任天堂的switch昂貴的成本,以及游戲本體的價格也很高導(dǎo)致了普及率遠(yuǎn)遠(yuǎn)達(dá)不到使用手機(jī)玩游戲的普及率。我的目的就是要做出一款不需要花費太多時間就能讓人感受到游戲的快樂的一款橫板動作跳躍類游戲。通過短時間的游戲讓年輕人在上下班的電梯里,公車上享受一下難得的游戲時光。在游戲消費上,越來越多的用戶通過各種平臺如steam,PlayStation,玩游戲和聚餐、看電影、K歌都是類似的娛樂消費,如果讓用戶有好的體驗自然就會有很多人愿意買單。這種消費觀念的微妙變化,給增漲逐漸放緩的2D端游市場帶來了新的機(jī)遇。開發(fā)一款具有一定挑戰(zhàn)性的,可操作性高的2d跑酷游戲,能給年輕人忙碌的工作日提供一個在碎片時間可供娛樂的游戲,將會對游戲產(chǎn)業(yè)帶來一個新的發(fā)展方向,也會在消費主力的年輕人中獲得良好的口碑。而quick lua一個基于cocos2d-x的一款極為流行的游戲開發(fā)引擎,在游戲開發(fā)者手中是極為方便的工具,我們只需要了解引擎的框架和運用quick lua 封裝的方法就能實現(xiàn)很多游戲的邏輯。三年前一款名為《神廟逃亡》的游戲進(jìn)入中國大陸,跑酷游戲迅速進(jìn)入人們視野,成為近年來最熱門的手游類型之一。根據(jù)咪咕游戲最新發(fā)布的十月數(shù)據(jù)來看,十月份TOP10游戲中跑酷游戲高達(dá)5款:《鎧甲勇士之英雄傳說》、《熊出沒之熊大快跑》、《神廟逃亡2》、《地鐵跑酷》、《酷跑奧特曼(正版系列)》。
跑酷游戲擁有眾多優(yōu)點,大有長久不衰的趕腳。但為何事實是DAU逐漸下降,走向低迷呢?這是因為大多數(shù)跑酷游戲始終脫離不了“跑-吃-躲”三點一線的玩法,高度同質(zhì)化,大多數(shù)游戲看起來只有畫面上的區(qū)分。同質(zhì)化嚴(yán)重并不利于玩家對某款游戲一見鐘情,類同感容易讓玩家產(chǎn)生審美疲勞,但跑酷游戲的整體市場依舊是一塊份量足的蛋糕。
該游戲基于quick lua 開發(fā)的橫板動作跳躍類游戲,其中要研究的功能主要有:資源加載、主頁面UI、人物類,金幣類、怪物類、數(shù)據(jù)的存儲及載入、金幣怪物的位置、道具的實現(xiàn)等。
關(guān)鍵詞:跑酷游戲;c++;lua
一:
在查閱諸多資料和對國內(nèi)外部分游戲的了解后,我首先認(rèn)識到了2D游戲的一些優(yōu)點:2D游戲相較于現(xiàn)在的3D游戲畫面更加的細(xì)膩,運行更加流暢,幀數(shù)相對穩(wěn)定,在視角控制方面也比3d游戲更好控制,游戲比較容易上手。
但2D游戲也有著顯著的缺點,動態(tài)畫面的表現(xiàn)資源量太大,動畫以及場景的表現(xiàn)力不如3D游戲刻畫的有現(xiàn)場感。
以國內(nèi)的一款以前非?;馃岬?D跑酷游戲《天天酷跑》作為樣例分析。該游戲雖然沒有特別出眾的畫質(zhì),但是在游戲內(nèi)容以及游戲性上極為突出。
二:
《天天酷跑》這種游戲就是被稱為2d游戲,而諸如《神廟逃亡》這類的游戲就是被稱為3d游戲,我們新手游戲開發(fā)呢選擇2d的游戲比較容易入門。我大概介紹一下cocos2d-x這款游戲引擎。首先,這是一款開源引擎,采用了比較寬松的開源協(xié)議,任何個人或者組織都可以自由的修改和使用它,實際上也正式由于這一點,這款游戲引擎在中國受到了非常多的中小游戲開發(fā)公司的青睞,也造就了它在今天的這種輝煌的局面。舉幾個例子,比如《捕魚達(dá)人》系列,《秦時明月》,《我叫MT》,《開心消消樂》這些。
這款游戲其次的一個主要特點就是跨平臺。什么是跨平臺呢?大家都知道,現(xiàn)在的軟件平臺有好多種,比如Windows,android,ios,Linux等等,如果我們沒有選擇一款跨平臺的游戲引擎,那么我們就需要為每個平臺去編寫各自相應(yīng)的代碼,但是,現(xiàn)在有了跨平臺的cocos2d-x,我們就可以只編寫一套代碼,然后它就可以在各個平臺上運行。關(guān)于跨平臺的內(nèi)部細(xì)節(jié)和這款引擎的其他資料,有興趣的同學(xué)可以自己在網(wǎng)上搜索了解。其實簡單來說,引擎就好比是一個代碼庫,我們在開發(fā)游戲的時候去調(diào)用它,就好像在c語言里面,我們調(diào)用printf()函數(shù)就能在窗口打印出文字一樣,我們知道怎樣讓它顯示出不同的樣式,但是我們不去關(guān)心這個函數(shù)內(nèi)部是怎樣把文字打印到窗口上的。
游戲引擎的作用就是讓編程的人把時間和精力更多的花在游戲本身,比如我們會去思考怎樣修改代碼讓主角的跑得更快,更不會去想怎樣怎樣讓主角動起來,因為這個已經(jīng)被引擎給實現(xiàn)了,你只需要把相應(yīng)的參數(shù)傳給相應(yīng)的函數(shù)就好了。這就是使用游戲引擎的好處。
而在我進(jìn)行此次設(shè)計時,所進(jìn)行的設(shè)計思路一定程度上參考了《天天酷跑》制作思路,以游戲類型,素材,游戲功能為框架。
在實現(xiàn)這些功能時,既要考慮到游戲單個功能的穩(wěn)定性,也要保證功能之間互動的穩(wěn)定性。讓各個功能形成一個完整穩(wěn)定的框架,這里需要經(jīng)過非常多的測試才能達(dá)到。而通過狀態(tài)機(jī)的方法來實現(xiàn)人物不同狀態(tài)的不同動作就讓各個功能分開實現(xiàn)了程序的穩(wěn)定而不會相互干涉。
其實在大部分參考資料里,地圖對于一個跑酷游戲是相當(dāng)重要的,所以通過不斷地嘗試其他的跑酷游戲,來感受他們創(chuàng)建地圖時的靈感,來為我自己的這個游戲地圖制作打下了良好的基礎(chǔ)。
而接下來就是通過不斷地改變幀動畫來讓整個人物的動作變得更為流暢,通過引擎自帶的動作函數(shù)來讓人物達(dá)到一種自由落體的效果。然后通過不斷地優(yōu)化人物的碰撞的判定點來實現(xiàn)人物在地圖上跑動的流暢性,不會出現(xiàn)卡頓和丟幀,也不會卡死在地圖的某一處地方。通過積累金幣與距離的方法來獲得更好的成績。
完成一款基于quick lua 開發(fā)的橫板動作跳躍類游戲,其中要研究的功能主要有:資源加載、主頁面UI、人物類,金幣類、怪物類、數(shù)據(jù)的存儲及載入、金幣怪物的位置、道具的實現(xiàn)等。
通過學(xué)習(xí)與了解cocos2d-x引擎,熟悉引擎的基本框架,熟悉數(shù)據(jù)存儲的結(jié)構(gòu)。來實現(xiàn)各種各樣的功能,通過網(wǎng)上查找的資料,來完善整個游戲的系統(tǒng),優(yōu)化游戲的結(jié)構(gòu),豐富游戲的內(nèi)容。
三:
總之開發(fā)完這款游戲之后,會讓你成長很多,技術(shù)也會得到提升??创龁栴}的角度與維度都會有很大的不同。這會給你帶來很多意料之外的好處。
參考文獻(xiàn):
[1]StanleyB.Lippman.C++Primer中文版.王剛,楊巨峰.第5版.電子工業(yè)出版社.王剛,楊巨峰.2013年9月.838頁.
[2]關(guān)東升.Cocos2d-x實戰(zhàn).清華大學(xué)出版社.關(guān)東升.2014年11月1日.696頁.
[3]巴西 萊魯.LUA程序設(shè)計中文版.周惟迪.第2版.電子工業(yè)出版社.周惟迪. 2008年1月.281頁.
[4]吳強(qiáng).大話設(shè)計模式.企業(yè)管理出版社.吳強(qiáng).2010年7月1日.393頁.