捷開通訊科技(上海)有限公司 潘正輝
?
基于Android系統(tǒng)手機(jī)游戲的設(shè)計(jì)與開發(fā)研究
捷開通訊科技(上海)有限公司 潘正輝
【摘要】隨著智能手機(jī)的應(yīng)用普及,Andriod系統(tǒng)也得到了廣泛應(yīng)用。在這種發(fā)展趨勢下,針對Andriod平臺的手機(jī)游戲的開發(fā)需求也在不斷增多,從而引起了人們對基于Andriod系統(tǒng)的手機(jī)游戲設(shè)計(jì)與開發(fā)問題的關(guān)注?;谶@種認(rèn)識,本文設(shè)計(jì)并開發(fā)了一種基于Andriod系統(tǒng)的塔防類游戲,從而為關(guān)注這一話題的人們提供參考。
【關(guān)鍵詞】Andriod系統(tǒng);塔防類;手機(jī)游戲;設(shè)計(jì)與開發(fā)
就目前來看,Andriod系統(tǒng)已經(jīng)成為了智能手機(jī)三大系統(tǒng)之一,擁有著不斷增長的用戶數(shù)量。在該平臺上,移動游戲獲得了廣大用戶的青睞,從而使其所占的市場份額得到了不斷擴(kuò)大。而之所以會出現(xiàn)該現(xiàn)象,與Andriod系統(tǒng)本身擁有較強(qiáng)的開放性有著直接的關(guān)系。因此,相關(guān)人員有必要對基于Android系統(tǒng)手機(jī)游戲的設(shè)計(jì)與開發(fā)問題展開研究,以便更好的促進(jìn)手機(jī)游戲開發(fā)產(chǎn)業(yè)的發(fā)展。
所謂的Andriod系統(tǒng),其實(shí)就是一種開放源碼操作系統(tǒng),需要以Linux為基礎(chǔ),能夠在便攜式設(shè)備上使用。該系統(tǒng)由谷歌開發(fā),在智能手機(jī)操作系統(tǒng)上得到了應(yīng)用。由于該系統(tǒng)為開源系統(tǒng),所以不存在專有權(quán),因此也不會給移動產(chǎn)業(yè)創(chuàng)新帶來阻礙。從優(yōu)點(diǎn)上來看,Andriod系統(tǒng)具有較強(qiáng)的開放性,能夠滿足開源愛好者的使用需求。同時,該系統(tǒng)將對第三方軟件開放,所以能夠?yàn)榈谌杰浖陌l(fā)展提供平臺。在安全方面,Andriod系統(tǒng)擁有完善的安全機(jī)制,能夠確保手機(jī)的使用安全。由谷歌牽頭,并且由OHA組織,目前的Andriod系統(tǒng)已經(jīng)能夠?yàn)楣?yīng)商提供完善服務(wù)搭配運(yùn)作機(jī)制,因此使該系統(tǒng)得到了快速發(fā)展[1]。而隨著該系統(tǒng)的不斷發(fā)展,目前較多的手機(jī)軟件開發(fā)者已經(jīng)開始利用多種編程語言進(jìn)行Andriod應(yīng)用程序的開發(fā),從而使Andriod系統(tǒng)真正成為了開放式的操作系統(tǒng)。
3.1Android系統(tǒng)手游開發(fā)的條件
在對A n d r i o d應(yīng)用程序進(jìn)行開發(fā)時,通常需要在Eclipse+AndriodSDK集成開發(fā)環(huán)境中完成應(yīng)用程序開發(fā)。在Eclipse界面上,可以利用xml文件進(jìn)行界面布局操作。而這些文件時一些樹形結(jié)構(gòu)文件,位于界面的左側(cè)欄。在布置界面的過程中,可以在xml文件中設(shè)置和增加控件,以便對Activity進(jìn)行操作顯示。而通過在Java文件中進(jìn)行語言代碼的編寫,則能夠?qū)丶膭幼鬟M(jìn)行控制,繼而實(shí)現(xiàn)游戲功能。在Eclipse界面中間,存在有工作界面。通過打開xml文件和Java文件,就可以對界面進(jìn)行修改或設(shè)計(jì)[2]。從結(jié)構(gòu)組成上來看,完整的Andriod程序?qū)⒂啥鄠€組件構(gòu)成,主要包含活動組件、意圖接收器組件、服務(wù)組件和內(nèi)容提供者組件。其中,活動組件為可視化界面,游戲界面一般都為該種界面。服務(wù)組件為不可視用戶界面,包含背景音樂在內(nèi)。此外,意圖接收器為進(jìn)程中通信,內(nèi)容提供者則為能夠?yàn)閼?yīng)用程序提供內(nèi)容的信息庫。在設(shè)計(jì)和開發(fā)Andriod系統(tǒng)手機(jī)游戲時,通常需要利用Java語言編寫應(yīng)用程序,并且利用Eclipse提供的開發(fā)插件進(jìn)行游戲開發(fā),此外也要利用SDK軟件開發(fā)工具包進(jìn)行操作系統(tǒng)、軟件框架和硬件平臺等結(jié)構(gòu)的創(chuàng)建[3]。
3.2游戲介紹及需求分析
就目前來看,塔防類游戲是Andriod系統(tǒng)手機(jī)游戲中的主要的幾大類游戲之一。而該類游戲?qū)ο到y(tǒng)性能要求相對較低,所以能夠?yàn)椴煌钍绞謾C(jī)提供支持。從游戲操作上來看,其符合手機(jī)觸屏的操作模式。此外,由于該類游戲能夠完成難度由低到高的過渡,所以能夠給玩家?guī)硪欢ǖ臉啡?。而所謂的塔防類游戲,其實(shí)就是通過在地圖上建造建筑物或炮塔阻擋游戲中的敵人進(jìn)攻的策略型游戲。就目前流行的塔防游戲來看,游戲均有陣圖,并且通常由空白地圖、擺回龍和堵怪模式組成[4]。在玩家擺的炮塔振型中,怪獸將來回移動。所以,玩家可以通過賤賣出口炮塔或搭建炮塔對怪獸的移動進(jìn)行控制,從而使怪獸的移動距離不斷增長,繼而使炮塔擁有更多時間對怪獸進(jìn)行攻擊。但是,由于每種地圖都會有無視振型的空軍,所以還要根據(jù)怪獸屬性進(jìn)行炮塔的搭建,而并非是一定要使怪獸移動距離最長。需要注意的是,游戲?yàn)樗李愑螒?,所以將有攻有防。采取對?zhàn)模式,則意味著系統(tǒng)將與玩家進(jìn)行對抗,即系統(tǒng)進(jìn)行出兵方法的選取,玩家需要進(jìn)行排兵布陣,以抵抗系統(tǒng)派出士兵的攻擊[5]。
3.3游戲總體設(shè)計(jì)方案
在設(shè)計(jì)和開發(fā)塔防類游戲時,為了給用戶帶來更好的體驗(yàn),并且使游戲界面能夠在用戶面前更清晰的展示出來,可以將libGDX當(dāng)成是游戲引擎,并且使用Java為編程語言。而libGDX是一種開發(fā)工具,可以成為跨平臺2D/3D游戲的開發(fā)框架,可以利用Java和C++等語言編寫。由于libGDX是基于Version2.0協(xié)議的一種開發(fā)工具,所以其可以為游戲的開發(fā)提供免費(fèi)支持。使用該平臺進(jìn)行游戲開發(fā),可以將代碼托管在Github中,開發(fā)出的游戲則能夠在多種平臺上兼容。
3.4游戲開發(fā)內(nèi)容的描述
從游戲運(yùn)行過程來看,在游戲的一開始,敵人將會從地圖一端進(jìn)入,然后經(jīng)過特定路徑達(dá)到目的地。如果敵人能夠達(dá)到目的地,則會吸取玩家的鮮血。為阻擋敵人達(dá)到目的地,玩家將沿著路徑進(jìn)行防御炮塔的設(shè)置,并且使炮塔在敵人靠近時攻擊敵人。而后續(xù)將有更多敵人進(jìn)入,并且逐漸變得強(qiáng)大。所以玩家還要進(jìn)行更多防御工具的放置,并且進(jìn)行炮塔的升級。想要贏得最終的勝利,玩家需要挺過20-50輪的敵人[6]。如果玩家生命值為零,則玩家失敗。而游戲的所有關(guān)卡都將遵循這一原則,但是不同關(guān)卡的地圖不同。隨著關(guān)卡等級的提升,進(jìn)入的敵人的數(shù)量和難度都將增加,因此需要玩家對不同關(guān)卡進(jìn)行分析。
3.5游戲用例模型構(gòu)建
在游戲一開始,玩家需要進(jìn)行系統(tǒng)登錄,而系統(tǒng)則會產(chǎn)生隨機(jī)地圖模型,并且根據(jù)地圖類型進(jìn)行出兵方法的選取。在系統(tǒng)指揮下,士兵會以最短路徑向目的地進(jìn)攻。根據(jù)這些內(nèi)容,則需要進(jìn)行系統(tǒng)用例模型的創(chuàng)建。玩家在游戲中,則需要開展武器購買、武器升級和武器賣出等活動。根據(jù)這些內(nèi)容,則可以進(jìn)行玩家用例模型的創(chuàng)建。根據(jù)用例分析,可以將游戲系統(tǒng)劃分成玩家、武器、士兵和金幣四類。在此基礎(chǔ)上,可以對各類的屬性進(jìn)行分析,即玩家擁有生命力屬性,武器擁有殺傷力和攻擊范圍屬性,士兵擁有血量屬性,金幣擁有金幣數(shù)屬性。對類操作進(jìn)行分析可以發(fā)現(xiàn),玩家可以完成武器位置尋找,并且通過調(diào)用武器實(shí)現(xiàn)武器安裝、升級和賣出。武器類可以完成升級、買入、賣出操作,并且能夠攻擊士兵,其攻擊范圍和攻擊力能夠得到增加[7]。士兵類需要完成向目標(biāo)地移動的操作,受到武器攻擊會掉血。而金幣類只有兩種操作,即增加或減少。
3.6游戲用例流程的創(chuàng)建
通過分析游戲中各類的操作可以發(fā)現(xiàn),系統(tǒng)本身需要參與到游戲中,而游戲?qū)嶋H參與者只有玩家。所以對于玩家來講,只需要進(jìn)行武器選購、安裝、升級和賣出。根據(jù)這一內(nèi)容,可以確定玩家只需要在游戲中進(jìn)行武器操作,直到游戲完成。而其余內(nèi)容則由系統(tǒng)自動完成,系統(tǒng)將按照固定游戲程序執(zhí)行操作。所以從整個游戲過程來看,就是玩家先進(jìn)行武器購買,然后進(jìn)行武器安裝、升級和賣出的循環(huán)選擇。在每次進(jìn)行武器賣出和安裝后,系統(tǒng)需要重新分析地圖,并且得到最短路徑,以便玩家在界面上進(jìn)行循環(huán)操作。
3.7游戲序列的創(chuàng)建
根據(jù)游戲需求,可以將游戲時序劃分成玩家安置武器、升級武器、賣出武器、士兵向目的地進(jìn)攻這幾個過程,并且得到玩家、系統(tǒng)、地圖和武器這四個抽象對象。按照玩家操作流程,可以在序列圖中進(jìn)行繪制,從而得到游戲的運(yùn)行程序。而游戲的運(yùn)行測試能夠達(dá)到設(shè)計(jì)要求,則意味著游戲的設(shè)計(jì)與開發(fā)徹底完成。
總之,通過分析手機(jī)塔防類游戲的設(shè)計(jì)與開發(fā)過程,基本可以了解基于Andriod系統(tǒng)的手機(jī)游戲的開發(fā)過程。而經(jīng)過測試發(fā)現(xiàn),該游戲在Andriod平臺上運(yùn)行流暢。所以,相關(guān)人員可以參照該游戲的設(shè)計(jì)與開發(fā)流程進(jìn)行Andriod手機(jī)游戲的開發(fā)。而在此基礎(chǔ)上,通過優(yōu)化游戲界面和增加游戲功能,則能夠使手機(jī)游戲的趣味性得到增強(qiáng)。
參考文獻(xiàn)
[1]李林濤,朱珊虹.基于Android系統(tǒng)的手機(jī)游戲黑白棋的設(shè)計(jì)與實(shí)現(xiàn)[J].新鄉(xiāng)學(xué)院學(xué)報(bào)(自然科學(xué)版),2011,03:254-255.
[2]董克楠,梁曄,彭立斌.基于Android平臺的屏幕水霧手機(jī)游戲的設(shè)計(jì)與實(shí)現(xiàn)[J].科技廣場,2011,07:155-158.
[3]陳咪,劉光燦,張竹嫻.基于安卓(Android)操作系統(tǒng)的手機(jī)小游戲開發(fā)[J].信息通信,2012,04:112-113.
[4]曲蘊(yùn)慧,白新國.基于android系統(tǒng)的“旋轉(zhuǎn)積木”游戲的設(shè)計(jì)與實(shí)現(xiàn)[J].福建電腦,2012,12:104-105.
[5]黎忠文,覃志東,王全宇等.基于Android平臺手機(jī)游戲引擎的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,01:119-124.
[6]吳錦龍.關(guān)于android游戲開發(fā)常用類庫的設(shè)計(jì)與研究[J].電子制作,2015,16:29.
[7]聶茹,李海恩.基于Android平臺的瘋狂足球手機(jī)游戲的設(shè)計(jì)與實(shí)現(xiàn)[J].電子測試,2013,20:3-4.
作者簡介:
潘正輝(1988—),男,工程碩士,現(xiàn)就職TCL通訊上海研發(fā)中心,研究方向:軟件工程領(lǐng)域。