IOS塔防遊戲《坦克對大炮》的開發設計記錄

IOS塔防遊戲《坦克對大炮》的開發設計記錄

引子

    遊戲已經在App Store上線幾個月了,一直很想寫點什麼記錄一下。真要寫的時候,卻又發現無從下筆沒啥好寫的。在2012年進入IOS,對於獨立遊戲開發來說,已經很晚了。前兩三年抓住機會的獨立開發者多少已經掘到了第一桶金。12年的時候IOS移動遊戲已經炙手可熱, 大量的公司和小團隊涌入。App Store刷榜橫行,榜單早就是公司刷榜的自留地,當然這時候,有一些獨立開發者還在做着App Store是最後一片後花園的夢。

操蛋的蘋果

    其實2011年以前,我基本沒接觸過蘋果的設備,也不知道App Store是個什麼東西,沒見過iphone,更分不清ipadipod的區別。用過的最潮的手機就是Nokia街機E72。如果非要說用過蘋果,那就是很多年前抽獎中過一個nano,不過當時對它毫無興趣。

   

    蘋果其實是個很操蛋很霸道的玩意兒,對於開發者也一樣。要參與蘋果的遊戲,就得買蘋果的設備,這就是遊戲規則。很多想嘗試開發蘋果遊戲的人,都被這招霸王條款嚇跑了。這一年不少哥們同事都曾經打電話問我,說他們也想試着弄弄蘋果遊戲App開發玩玩,是不是一定要買個蘋果電腦啊。我一般都說是。然後他們就掛機退卻了。我想這其中一定嚇跑了不少驚才絕豔的人。

  對於中國的收入水平來說,個人開發者要弄齊一套開發蘋果的開發環境,還是要一些投入的。咬咬牙很臭屁的從香港買了當時最高配的MacBook Pro, 又帶了一個黑色的ipad2。在東單買了IPhone 4S。突然家裏就多了一堆圓角的白色充電器,有時候看着很有喜感。說實話,買這些東西之前,蘋果的電腦和手機本身對我沒啥誘惑,我只不過需要開發和測試工具。所謂的欣喜,只是湊齊了開發工具之後的成就感,還有淡淡的雖千萬人吾往矣的肉疼,一下子搗騰出去幾萬塊。

    當然,痛並快樂着的歷程纔剛剛開始。MBP拿回家之後,我突然發現自己沒有VISA信用卡,連apple ID都註冊不了。於是跑去銀行搞定信用卡先,半個月後卡終於到手了,發現銀行給我辦了一張國內的信用卡不帶VISA的。我了個去,吐血三升,又花了半個月再去辦理。

    註冊蘋果開發者也算是一場磨難,99$的註冊費還算小事,搞明白和填寫蘋果開發者長篇累牘的英文條款就花了好幾天的時間。上趕着給人送錢都這麼難,箇中滋味,一言難盡。(後來中國蘋果ID終於可以用儲蓄卡註冊了,蘋果在改變世界,中國也在改變蘋果。這是後話了)

    蘋果的開發語言Object C也是個操蛋的玩意兒。以爲憑着自己的C/C++功底,搞定Obj C還不是分分鐘的問題。但是實際上蘋果的開發語言和環境都是自成一體的,用慣了PC和微軟那一套東西的開發者,剛上來必然會水土不服。Obj C的語法在前幾個月讓我彆扭不已,Mac的操作系統、XCode的開發環境,也一直搞得我火冒三丈手忙腳亂。Obj C的語言關還沒過,遊戲開發的引擎關又來叫板。雖然只是一個2D引擎,Cocos2d依然來者不善。我很苦逼的抱着引擎啃了很久,感覺以前十多年的3D遊戲引擎開發經驗,突然就變輕了,像燒火棍一樣不值錢了。

    後來一直到用Obj Ccocos2d把遊戲寫了得差不多了,有人才告訴我有cocos2d-x這麼個東西,用C++就可以了,根本不用跟Obj C丫的死磕。於是又吐血三升。等我開始打量cocos2d-x的時候,有人遊戲上了App Store榜首,告訴我用過Unity 3D之後才知道啥叫糙快猛。

    所以說,徒有悍將之勇只知道閉門造車埋頭苦幹也是不行的,在遊戲行業這一畝三分地兒,也得有與時俱進的精神。更何況是蘋果IOS移動平臺這茬兒新地界。

爲什麼是塔防

    

    遊戲題材一開始就選定了塔防,這沒啥好說的。IOS觸屏手機本身能適應的遊戲類型就不多,目前受衆良好的就那麼幾種。塔防算是一個很重要的分支。塔防的操作模式和節奏都比較適合觸屏的操作,以前在浩方平臺上玩過一些War3 TD Mod,也還覺得蠻有意思。IOS平臺上也找了幾個塔防遊戲來做調研參考,最早看的是《三國羣毆傳》,這款遊戲算是老牌塔防遊戲App。我覺得美術的風格把握得很到位,地圖緊湊,人物KUSO

    第二個看的是《三國塔防魏傳》,這款遊戲是大企鵝代理的,還去聽過他們的這款遊戲開發設計的講座分享。三國塔防的美術也很細緻,地圖比較大,兵種也有所區別,不過引入的道具讓我覺得繁瑣,可能是爲了收費的Slot

還有一個玩得比較多的是《塔塔水滸》,這款塔防遊戲引入了英雄的概念,多了一些操作。不過早期版本遊戲的難度很大,而且一局的時間又特別長,大概半個小時。打到最後失敗挫折感就很強,不想再打。後來我提了一些意見,官方居然還有反饋。

著名的《Kingdom rush》反而沒有玩過,國內風頭一時無兩的《保衛蘿蔔》也是到後來纔出世,小猴塔防也是上線後才知道的。

    玩別人的IOS塔防遊戲做調研參考,主要是以之爲鑑。自己的遊戲設計好不好玩,能不能跟它們有所區別,什麼樣的問題自己覺得不好不能犯。

    比如地圖緊湊的問題,我覺得一個塔防關卡地圖,在iphone裏剛好一屏幕就好。如果大於一屏,就需要玩家多做操作去拖動地圖,這個體驗我認爲不是很好。這個在三國塔防裏就很明顯,在《小鱷魚愛洗澡》裏面有些場景也是。不能一眼看到整個地圖關卡,會讓我覺得不踏實不舒服,而且還需要頻繁拖動地圖,破壞整個遊戲的操作感。

    塔防的精髓之一,就在於炮塔的種類、威力和功用。玩三國羣毆也發現一些問題,比如有的地圖造滿投石車之後,就基本不用管看着就行了。這種情況是我不願意看到的。所以我後來在設計塔防的炮塔的時候,就很注意避免類似的問題。

爲什麼是坦克

    遊戲的美術風格的確定也費了不少周折,因爲美術我自己做。當時中國App Store很多塔防遊戲都是三國流,確實三國武將小兵、炮塔弩車的模式,很適合塔防的調調。我很喜歡三國羣毆KUSO的畫風,但是真要自己去畫,問題就來了。作爲一個資深引擎程序員出身的我,根本就無法把握一個Q版的武將人物造型。別說武將了,實際上,我連一個拒馬墩都畫不好。而且,手機遊戲上的圖片,是像素畫的級別。在32X3264X64的圖片大小裏面,就要表現出人物風格造型。這個完全超出了一個眼高手低的程序員的手繪範疇。我摩挲着臨時購入的廉價Wacom Bamboo繪圖板,看着十幾張凌亂而慘不忍睹畫稿,一時萬念俱灰。

    讓我去從其他遊戲里扣點圖片出來用用?這個又明顯不符合一個自命不凡的程序員的氣節風尚。我是一個很注重版權的人。

    在美術風格上糾結了很久,可能有一兩個月吧。我突然想起了20多年前,我小時候一口氣玩過一百多關的坦克大戰。武將畫不好,我照貓畫虎畫幾個磚塊和坦克總行吧?好歹哥也曾經在小學繪畫比賽中得過名次。

    有坦克有炮塔,遊戲就叫《坦克對大炮》吧。

    實踐證明,其實坦克也不是那麼好畫的。我每天都爲每種坦克的造型頭疼,可能一週也就能搞定一輛坦克。美術弄了幾個月,坦克造型、炮塔造型、遊戲特效、粒子設計、場景地圖貼圖、UI圖片都陸續差不多弄好了。還借鑑了一些國外開源的像素美術資源(當然要認真遵循別人的協議)。

    遊戲出來之後,不少人反饋都覺得美術是短板。我自己也覺得確實那個。。。咳。。。咳。。。拿不出手。不過能自己搞定整個遊戲美術,也算多了一次經歷。這種感覺很不錯。凡是有得必有失,咱要魚不要熊掌。

程序和引擎

    程序開發方面,反倒沒什麼好說的。cocos2d引擎本身是有一些坑的,比如有一次調試到晚上1點,凌晨起來接着Debug。後來發現是被cocos2d引擎的action機制擺了一道。在有複雜情形和需要精確控制的遊戲邏輯處理中,action機制相當不可靠。有時候遊戲中頻繁出現莫名其妙的情況,反覆測試調試修改都不行。最後丟棄使用引擎中action的部分,自己重新實現類似機制,問題迎刃而解。這種類似的問題出現過不止一次。趟平了這些坑,就過去了。

   蘋果的模擬器調試和真機調試,也是有一些區別的。比如模擬器可能有些文件名大小寫是兼容的,但是到了真機裏面就是大小寫敏感的,以前運行正常的遊戲就會報錯崩潰。真機聯機調試,跟itune安裝測試,也是有一定區別的。聯機調試沒問題,安裝測試不一定沒問題。這個也是我付出了一次審覈被拒的經歷,纔得到的教訓。

穿刺炮的設計

我只打算做一款簡單的塔防遊戲,但是塔防要做得玩起來有點意思,也需要下不少功夫。其實這是廢話,任何遊戲要好玩,都得下功夫。

雖然我事先考察了一些塔防遊戲,但是我從來沒有想到照抄或者借鑑這些塔防遊戲的玩法和設計。好不容易要做一款獨立遊戲,自然要做自己的遊戲,當然,從其他我喜歡的遊戲裏借鑑是有的。或者說受了深刻的影響。就像2005年我們做MMO RPG的時候,無一例外或多或少都會受到WOW的影響一樣。這個後面會陸續說到。

    設計的炮塔裏面,有一種炮叫做穿刺炮,子彈有穿刺屬性,可以穿刺攻擊多個目標,造成一連串傷害。但是爲了不讓這種炮特別逆天,同時能夠清晰的表達穿刺特效,我把這種穿刺炮的子彈速度控制的比較慢。但是在測試過程中,我發現很少有玩家會在實戰中使用這種穿刺炮,甚至包括我自己。

    我後來就想,爲啥呢?我發現是現有的穿刺機制,並不足以鼓勵玩家使用這種炮。因爲要控制炮彈穿刺打擊幾個坦克目標,還是比較困難的。對炮塔擺放位置要求很高,並且需要冰凍減速炮的配合。

    我要做的是要鼓勵玩家多利用穿刺炮的機制,鼓勵玩家最大化穿刺的傷害。當時Diabolo 3剛剛出來,我正在玩惡魔獵手。作爲暗黑系列AMA式的人物,穿刺箭是招牌技能。有一個穿刺箭的符文,就是每穿刺一次,攻擊力就增加70%。我覺得這個設計不錯,就是我要找的東西,於是借鑑過來用。這樣穿刺炮在穿刺多個目標之後,可能就會打出出很可觀的傷害。

    然後我發現,這樣的改進,穿刺炮的使用率還是不高。似乎還差點什麼東西。穿刺炮可以升到3級,每級也就增加一次穿刺次數而已。升級到最高級的炮臺,並不能帶來激動人心的收益。我後來考慮讓最高級的穿刺炮獲得一個破甲屬性,達到最大穿刺次數以後,會對坦克產生破甲效果。不過因爲我糟糕的美術功底,畫了一個破甲特效之後,自己都看不下去。於是考慮搞點簡單的效果,最後把破甲特效改成了感電特效。

    最高級穿刺炮有一定機率對坦克造成感電效果,每穿刺一次,感電的機率增加,當達到最大穿刺數的時候,則100%觸發感電特效。感電會在坦克身上引起閃電火花特效,這時候所有炮塔對於坦克的傷害都加倍,並會減緩坦克的速度。好吧,玩DNF(地下城與勇士)的同學可以笑了。

    穿刺炮的設計,後來在炮塔羣裏輸出最大化傷害時,起到了一些作用。不過上線之後,我發現穿刺炮的出場率還是沒有預期的高,於是在第二版中稍微強化了穿刺炮的射程,並在不影響穿刺特效表達的情況下,調高了炮彈飛行速度。 

  

紅衣大炮

    遊戲裏有一種炮塔叫紅衣大炮,遊戲名字都叫《坦克對大炮》,那麼紅衣大炮自然是威力最大的一種炮了。紅衣大炮不僅炮彈威力最大,而且命中之後有範圍爆炸效果(參見星際1的坦克炮)。爆炸之後還有一定的Knock Back作用。2級紅衣大炮的爆炸還附帶灼燒效果(灼燒Dot傷害)。最高級的紅衣大炮,甚至有一定機率擊暈坦克(Stun特效)。看上去很不錯是不是? 

    不過我當時犯了矯枉過正的錯誤,爲了防止出現類似無腦投石車那樣無敵的問題(或者可以參見帝國時代1的弩車),我嚴格控制了坦克的威力,而紅衣大炮的價格又很貴。所以紅衣大炮在第一版上線的時候,性價比很低,玩家根本不買賬。有些玩家開始還造一個玩玩,後來發現坑了就不造了。

    後來我發現紅衣大炮是第一版遊戲中出場率倒數第二雞肋的炮塔。於是在第二版設計中,調整了炮彈威力、爆炸範圍、Knock Back距離、以及強化了大炮的射程。通過這些調整,後來新版本上線之後,在有些地圖的地形上,可以演化出以紅衣大炮爲主的打法,甚至是完美過關的打法。 

多重射擊炮

    每個遊戲裏面都有一個散彈炮,無論是魂鬥羅還是打飛機還是塔防。多重射擊炮自然就肩負了這樣的使命。上面既然說了倒數第二,那麼這個就是第一版的倒數第一了。沒有人喜歡多重炮,因爲它很弱。多重炮剛開始的設計就是級別越高散彈越多,升到最高級的時候,可以觸發“亂射”效果。說到亂射,玩過DNF的最帥的漫遊槍手同學肯定笑了。其實剛纔說到穿刺攻擊,應該也有玩彈藥的同學笑了。

   當然第二版更新,多重炮也是一頓大改。我把亂射技能改到了2級就能觸發,3級技能改成了彈幕排射。因爲這時候我正在玩LOL(英雄聯盟),賞金女槍的大招“彈幕時間”似乎很不錯。

玩家的饋贈

雖然第一版上線的《坦克對大炮》的3種炮塔的數值設計有各種問題,但是總體上還是一個數值非常平衡的遊戲。好吧,實際上這個遊戲總共也只有5種炮塔。但是剩下的兩種炮塔:連環弩、冰凍減速炮,數值做的很平衡。

所謂的平衡,就是有一些數值平了以後,才能發現不平衡的。所以在第二版的上線版本中,連環弩、冰凍減速炮的數值,我一個字也沒動,也不敢動。因爲很多人以這兩種炮塔爲主力把整個遊戲所有關卡打通關了。雖然大家都一致表示遊戲關卡很難,有些炮很雞肋。但是有人通關了我還是很高興。是非常高興。

    最早通關的玩家,是大艾格拉斯的策劃總監張總,也是後來App Store紅透半邊天的ARPG 《英雄戰魂OL》的總設計師。這個對我來說,是很大的肯定。因爲遊戲上線之後,說實在話我也有些忐忑,不知道遊戲到底有沒有人喜歡玩兒,不管有多自命不凡,儘管每個關卡都測試過500多遍,其實還是沒底兒。後來陸續有更多玩家通關,交流關卡的打法,我的這種緊張忐忑才緩解了一點。

    玩家也提出來不少建議和想法。比如第一版打法比較單一,主要就是冰塔減速凍住,連環弩輸出傷害。

    遊戲裏確實只有冰凍減速塔一個主要控制手段。其他的控制其實也有,比如3級穿刺炮的感電減速、3級紅衣大炮的擊暈StunKnock Back。但是因爲第一版後兩種炮塔的雞肋,這些控制手段也都沒有出場機會。一直到第二版更新以後,我強化了其他炮塔,並重新校驗了一下各種炮塔的子彈速度,才讓打法和炮塔組合更多樣了一些。

   爲什麼要強化子彈速度呢,因爲這款塔防遊戲跟其他的塔防不太一樣,炮塔不是鎖定攻擊的。每顆炮彈的攻擊都是真實的飛行碰撞。我當時過於強調了冰凍減速炮的作用,所以其他炮塔對於冰凍減速炮依賴很大。如果沒有減速或者冰凍控制,炮彈彈道經常會打不中坦克。後來經過玩家反饋和思考,我發現這麼設計過度也有問題,過度依賴冰凍減速,也會抹殺其他各種炮的特性,造成單一的打法,也增大了遊戲難度。

   我有一個習慣,就是很注意現場觀察玩家的操作。在遊戲發售前,這項工作我做了很多次,主要是找熟人做測試,從十幾歲到幾十歲的都有。那怕是有的玩家玩了一下就丟開的,也要琢磨一下爲什麼。比如我發現了不少玩家使用iphone玩這個遊戲的時候,習慣使用拇指操作,而不是我原來想象的那樣用食指。這樣就要針對這種操作習慣,對於遊戲的UE做一些微調。如果一直用模擬器測試,這些問題是發現不了的。而如何微調以適應這種玩家的操作習慣,也不是空想就能調整好的,除了觀察玩家,還需要仔細琢磨其他遊戲是怎麼做的。比如大企鵝的遊戲一向在UE方面都做的特別好。

    遊戲的關卡長度和遊戲節奏也是一個問題。很多人都知道手機遊戲用碎片時間啥的上等理論。實際上很少人去實踐。爲了感受遊戲的長短節奏,我半年時間都在坐地鐵的時候玩自己的遊戲,主要是體驗坐多少站可以玩一關。還有其他場合,比如銀行排隊、等人、五穀輪迴的時候。  

單機需要平衡麼

    

    我想做的是一個嚴謹的遊戲,雖然只是一個玩票的塔防遊戲。

    很多玩家反應最多的是遊戲難度太大。特別是第一關就有不少人過不去,甚至有個手機遊戲App的網站編輯,打了3個晚上第一關都沒過去。這個跟第一版有些炮塔威力不夠有關,當然確實是難。

    我把遊戲數值和金錢摳的很死,前期如果開局不好,比如炮塔搭配不好、或者造塔地形沒選好、或者攢錢不花的話,就會造成開局不利的劣勢,逐漸積累劣勢和錯誤,就會造成遊戲崩盤過關失敗。

    當然如果懂得利用地形,善於搭配炮塔,利用各種炮塔的特效的話,遊戲過程中也會享受到闖關成功的回饋,甚至是完美過關的巨大成就感。還有,很多關卡需要嘗試多遍才能打過去是必須的,包括我都經常折戟。我曾經給人演示第5關怎麼打,結果我被滅了。

    有的玩家打了幾天通關、有的玩家陸續玩了幾個月才通關、也有玩家幾個小時就全通的。還有的玩家爲了追求每個關卡都完美過關,經常拿出來玩玩的。

    有人問我爲什麼只做16關?因爲每一關都要測試500遍以上,就爲了微調數值,做到關卡經得起推敲。可能爲了數值是0.5或是0.3的,就要一下午反覆的測試某一關或者某一個數據幾十次。

    我實在沒有精力在第一版做很多的關卡。因爲做每一關都挺費勁兒。做完16關之後,都有點江郎才盡的感覺。

    大艾格拉斯的策劃總監張總曾經給我推薦過小猴塔防,說這樣的塔防單機纔是方向。數值平衡和嚴謹並不重要,單機遊戲的要的是爽快感。而《坦克對大炮》的數值卡的太嚴,所以很難有這樣痛快的感覺。張總的話雖然我不是總是完全同意,但是他說的話我總是會琢磨很多遍。因爲張總每次都能發現很多好的遊戲,併發掘其中的創意和本質。換句話說,如果有一個人能十幾年如一日的專注尋找遊戲的奧祕,每天玩好幾種遊戲,在躍層別墅擺一個街機,我也會尊重他說的見解。

   我後來也對小猴塔防的模式想了很久,一個能在很多國家都排在Rank榜單Top 200的獨立遊戲,並且出到了第5代,這就值得思考。所以雖然當時我堅持說要走數值平衡路線,我還是在第二版更新中做了很多改動。有很多就是爲了強化遊戲的爽快感和打擊感。

   爲了兼顧爽快感,《坦克對大炮》後面的版本,可能還會推出一個瘋狂對攻模式。主要打得以酣暢淋漓爲主,弱化數值的嚴謹性。這個版本早就有了構思,在程序結構上也做了鋪墊,現在就只當劇透吧。 

    我對於遊戲這種平衡的執拗來自哪裏呢?我後來也反思了很久。我後來想到了我曾經打過幾萬局的街霸對局。這是一個嚴謹平衡的遊戲,也是對於打擊感的詮釋。如果一個人玩了十幾年街霸,而且還在玩兒,可能就會有這種執拗。

    

    

重點

    好吧,開始說重點。這款遊戲的上線情況不是很理想。App Store中國榜單排名,最好到過策略遊戲68名,這還是限免的狀態。平時收費下載的話,名次要更靠後。在美國、加拿大、歐洲、日本有一點付費下載收入。

目前和以後

    一直在琢磨觸屏手機上的動作遊戲,主要是橫版動作格鬥類。俯視角的動作類遊戲也有考慮。在觸屏時代,這裏面可以研究的東西很多。不是簡單移植那麼簡單。

  特別鳴謝

     曾經兩度排行App Store榜首的B總在開發過程中給了我很多支持。

     大企鵝軟件架構師蛙總在開發過程中也有一些精神上的支持。   

     大艾格拉斯策劃總監張總就不再提了。

     

   

2012.12.28

《坦克對大炮》 App Store 鏈接: 

https://itunes.apple.com/cn/app/tank-vs-cannon/id558724834?mt=8

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章