Flash手游《孤膽英雄》獨立開發者專訪
《孤膽英雄》是一款采用Flash技術開發的回合制RPG游戲,游戲打包成MRP功能機手機.APK游戲格式。孤膽英雄講述的是一位英雄去追找黃金大盜,在路 途中遇到各種各樣的人物與之戰斗的故事。游戲是以消除+回合制戰斗的模式,通過消除不同的色塊來進行不同攻擊方式,還可以使用技能和魔法。游戲中有不同的 成就需要玩家自己去獲得,通過提交積分可以知道自己的分數在所有玩家中的游戲排行。
發布后,得到了5萬左右的功能機用戶下載。目前游戲只完成PVE戰斗模式,未來將加入PVP戰斗模式。
《孤膽英雄》獨立開發者 葉鑫
葉鑫,目前主要從事webgame開發,AS3前端主程序。4年AS開發經驗,開發過單機游戲、網頁游戲、SNS社交游戲,以及手機Air游戲,主要以AS開發游戲。
編程之路
08 年左右,剛剛開始推出開放平臺,那個時候的社交游戲都是文字形式,有些采用JavaScript代碼,葉鑫覺得采用Flash會有更好的表現效果,從那個時起開始學習AS。此前,葉鑫學習Java,雖然兩者開發方式不同、代碼相似,但開發思路卻大不一樣。通過多年的磨練,并實戰眾多項目后,幫助葉鑫逐漸健 全知識體系,最終擔任了AS主程的職位。
他表示學習語言或技術并無妙招可言,就是多看資料、多寫代碼、多做項目,他認為將軍不是軍校讀出來的,是戰斗中打出來的。
葉鑫曾獨立開發過一款Air手機游戲《孤膽英雄》,這款游戲是由他自己策劃、編程,目前下載量過五萬。
讓我們一起走進《孤膽英雄》獨立開發者、資深AS工程師葉鑫的世界,一同重溫他的開發之旅。
5件“正確的”事情 幫助游戲順利開發
1. 戰斗系統流程自動化
回合制戰斗中,人物根據各自的出手順序發起攻擊,當某一方受到攻擊后,采取防御,魔法來抵擋對方的攻擊。攻擊方也可以采用技能給對方造成更大的傷害。整個過程都是一氣呵成,自動而成。在游戲設計中需要引入這種流程自動化處理的解決方案。
2. 對象池技術的使用
游戲是根據消除色塊,然后決定給對方造成什么樣的攻擊,色塊的生成和銷毀非常的頻繁,如果不停的New和delete的話,其實對內存和cpu的要求是非 常高,游戲的性能不夠好,特別是在手機上運行。引入對象池的技術,先生成一定數量的色塊,需要的時候去里面取,不需要的時候放回到池中,池中的對象數量不 夠,臨時生成不足的數量。這樣可以很好的解決上述所提到的問題。
3. 回調函數的使用
游戲不僅僅是發布成apk的格式,還發布成了功能機可以運行的格式。功能開發環境不支持監聽自己的事件,或者拋出事件這樣的事件模式,方案就是采用回調函數來處理。
4. 故事情節的自定義配置
RPG游戲存在很多的人物情節對話,這些對話文字需要做一個配置文件來定義,在某個關卡需要用到的時候,再調用相關的腳本來執行。采用自定義的模式,非常適合以后的更新和增減。
5. 人物動畫的處理
人物的動畫處理是最傷腦筋的地方,要保證游戲整體大小,還要保證游戲的動畫品質,這個是個很煩的地方。采用flash的關鍵幀播放部分動畫,分2個部分來 處理。前面按照幀播放,后面把前面的動畫倒播一次,這樣可以使用更少的圖片,達到動畫效果。后來,我打算采用骨骼動畫來處理,但是功能機不支持,所以沒有 采用骨骼動畫的技術。
游戲上線后,浮現的5個“欠缺”
1. 游戲的策劃不到位
首先游戲是我自己策劃的,程序出身,沒做過策劃的工作。所以游戲做出來之后,玩家看到這樣的題材很有興趣,但是玩下來,很容易就過了關。沒什么道具需要 買,非常的簡單的玩完了這款游戲。PVE關卡總共才15關,實在是太少了。數值策劃也不到位,有些關卡發動幾次攻擊就贏了。
2. 道具收費點設計不夠好
玩家通過了第一關,就可以增加很多的屬性值,直接降低了后面關卡的挑戰難度,沒有用戶需要購買道具。道具只有2種,幾個技能道具和魔法道具。游戲的坑沒有挖好,所以沒有人往里面跳。
3. 模塊耦合度過高
開發的過程比較急,模塊劃分不夠清晰,而且耦合度非常的高,造成后面升級的一些麻煩,甚至是分工合作開發也關聯的太深。
4. UI布局不合理,操作流程不簡潔
游戲發布后,發給一些朋友去試玩,他們居然不知道怎么個玩,真是失敗了。說明游戲新手導航沒有做好,UI不夠簡潔。界面堆積的東西太多。
5. 趣味性不夠好
一個非常重要的一點就是,當時我們做游戲有點閉門造車。自己不去玩別人的游戲,只是一心自己在YY,出來的東西,啥不像。其實《孤膽英雄》很像日本的一款 游戲《Puzzle & Dragons》,戰斗模式上很像,那個時候《Puzzle & Dragons》在國內根本沒多少人知道,我就的《孤膽英雄》就發布了。其實我們在游戲的玩法上借鑒一下卡牌的玩法,說不定《孤膽英雄》就不是現在的《孤 膽英雄》了。
技術與效率
目前,葉鑫主要使用Adobe Flash CS5.5, 用Flash Builder 4.5來做開發。在采用FB來做AS代碼開發,然后使用Flash cs5.5來做UI, 另外自己開發一個插件,flash cs5.5的插件(*.mxp)來將ui上的組件通過jsfl一個一個讀取出來,并生成AS代碼,縮短開發周期。游戲的資源都是通過代碼new出來的,這 樣可以最大化的利用重復的資源和節省大量的耗費在UI的開發周期。
他個人非常看好Air,認為未來網頁游戲開發者轉向Air開發,勢不可擋。通過Air生成多平臺的原生代碼,是Flash游戲開發者,僅僅關注Flash 開發本身,依然采用以前的開發模式,就可以開發手機游戲。Stage3D是個很火概念,2012年才出來的東西,涉及很多新的知識,我們flash開發者 必須跟進adobe公司的腳步。
趣味+創新=用戶
葉鑫最后談到,如果想讓你的游戲吸引更多的用戶,創新、自己的想法是必不可少的,還一切要從趣味性上出發,一定會得到玩家的擁護和喜愛。