banner
Xiao4-800K

Xiao4-800K

技术分享、闲聊、玩闹

複刻充氣人

十字路口的選擇#

在那個換卡玩時代,我最怕的就是有這款遊戲的卡帶,通常只要有這款了,其他的遊戲一定就是《超級瑪莉》、《火箭車》一類的遊戲,
如果你經歷過 FC 時代,應該就知道,這種卡帶都是小遊戲,很容易玩膩。
時過境遷,記憶深刻卻是這些曾經看到就煩的小遊戲,所以這次複刻的就是這款經典的《DigDug》,也叫充氣人、打氣狗。

整理思路#

最重要的一步就是…… 重溫經典,嗷嚎~果然我依然那麼菜,還是打不過幾關命就用完了~但是這不重要,弄清楚基本玩法這樣我就可以開工了。

充氣人我玩到過兩款,一代是推土 + 充氣,二代是割地 + 充氣,我要複刻的就是二代版本

DD2.gif

遊戲要素#

1.攻擊方式:割地讓怪物掉入海裡、使用打氣筒給怪物加油打氣
2.怪物行為:會追逐、攻擊、巡邏和跳海(原作中怪物跳海很有趣,我會特意留一只怪看他表演)
3.怪物種類:據我觀察有紅色炸彈和綠色小恐龍,我比較菜,不知道後面關卡有沒有其他的
4.地圖特色:這些地圖應該都是精心設計的,當時夥伴們會比賽誰割的地塊更大或者更有效的殺敵

上述也是這次複刻比較重要的部分

技術選型#

引擎:在其他項目嘗試中發現godot4.x導出安卓會很麻煩,所以這次使用godot3.5,如果不出意外後續也後使用3.5版本作為默認版本
資源:使用 Aseprite 做像素圖,並沒有完全照抄原作,更多的是把回憶中的樣子畫了出來
音樂:聽多了純8Bit音樂真的有點燥得慌,so……我就不加音樂了,後期會嘗試別的電子樂混8Bit,可能會好些

楊帆啟航#

資源、思路、準備#

不想讓遊戲中的怪物、角色動作太僵硬,所以打算使用 2D 骨骼技術,讓動作更加平滑,同時能減少資源數量,至少不用一個動作就要畫上好多張圖了。所以我畫出來的怪物變成了這個樣子,不過綁定調整好動畫後,效果還是可以的。

測試

還有一些對於遊戲玩法的想法,作為一個玩家,我和怪物一樣的大小,為啥讓怪物碰一下就涼了,這…… 很不合理,只要不是攻擊,那應該不會有啥影響,但是這樣對怪物又有點削弱了,所以給怪物增加一個衝撞的攻擊方式吧,小恐龍也是類人生物,那他們應該會說話吧,應該也會思考吧……

原版 UI 即簡潔又好看,這個應該盡量還原一下

搭建_UI#

首先將可能用到的界面都先整理開發好,包括最基本的佈局,以及場景的分類
佈局盡量還原原版,場景可以分為 Logo、選擇界面、積分界面、遊戲主界面這幾個,通過不斷循環即可完成整個遊戲邏輯了

遊戲數據#

這個遊戲一個很重要的元素就是地圖,為了更方便的擴展遊戲地圖,我是用二維數組對圖塊進行保存,在遊戲時動態的判斷地塊的狀態刷新遊戲界面。為了方便統一管理,我把怪物數據也放在了這個數據集中

測試

代碼實現#

具體邏輯還是要看代碼,我這裡主要列舉出比較重要的部分

1.小恐龍的火焰、紅色炸彈的引線都使用了粒子系統
2.小怪物們使用狀態機維護當前狀態,比如攻擊、追逐
3.怪物使用了同一個骨骼動畫,如果你想增加怪物,只要綁定骨骼就可以了
4.地塊有幾個保留的序號,對應了不同的裂縫,是“是否墜落”的一個重要標識
5.地塊使用了地圖集,如果擴展你只需要調整地圖集序號即可
6.地圖數據使用泛洪算法計算狀態
7.如果你打算給玩家增加新的武器,你可以看下充氣槍的具體實現,充氣槍是單獨的實現

RDD28d7f4b226b97e161.gif

結束語#

其實在這個小項目設計之初,我有好多想法,比如地圖編輯器、多人模式、吸血鬼玩法這些,但是有點背離複刻的初衷,複刻這些經典遊戲,是為了對玩法實現,數據和周邊工具運用的嘗試,所以至此這個小項目就算完結了。

最後分享一下

源碼版:https://download.csdn.net/download/at555444/88439951

發布版:https://download.csdn.net/download/at555444/88439952

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。