主題

學習記錄➤仿製!Google恐龍遊戲:我有排行榜了-Day 5

Azer_ | 2022-05-19 22:10:45 | 巴幣 1014 | 人氣 114

(圖/Dinosaur Game

期末將近,加上生活中大大小小的目標與雜事,小恐龍遊戲的順位被無限往後推移。而其中一件雜事,正是有關於學校課程。

這學期我修了一門「資料結構」的課,根據先例,通常這門課的期中期末作業都會是應用課堂所學設計一款遊戲,但他的程式用法幾乎沒辦法直接製作成遊戲,說功能還比較有可能,所以我也為此苦惱不已。

於是我想到了一個兩全其美的辦法,不如我利用現在的小恐龍遊戲,再加上學校作業需要的「功能」。一來我不用重頭開始做,二來我也可以藉此強化遊戲內的功能,我真天才= =。

這次花費約八小時左右,除了新增學校必須功能以外、同時新增了一些功能、也調整了一些原有的東西,那我先列舉我到底做了哪些事情,再來一一說明吧。


新增~排行榜功能!

新增:排行榜功能
玩家可以看到分數最高的前五次成績,以及分別花費的多少時間。

新增:計時機制
在遊戲中,玩家可以知道自己到底堅持了多久,並於遊戲結束與排行榜中顯示。

調整:連段機制
原本漏接「三色」怪物時,連段會直接歸零,獎勵分數倍率會歸零。
修正成漏接「三色」怪物時,連段與獎勵倍率下降一層,即 x8 變 x4、x4 變 x2、x2 變 x1。

增強:分數獲得
除了原本的擊殺得分,現在只要在遊戲中每堅持一秒就會自動獲得一分!

調整:攝影機移動速度
原本攝影機為定速10,現在會隨著時間消逝,捲動速度越發快速。
公式為:原定速(10) + 現分數 * 0.008 + Combo段數(1,2,4,8)
最高捲動速度為20。

調整:角色跳躍幅度
原本角色可以跳很高,但因增加攝影機捲動速度,削減角色跳躍幅度,增加角色機動性。

新增:開始遊戲前倒數
3~2~1~GO!玩家有更充分的時間做好心理準備,開始戰鬥。

排行榜功能

排行榜紀錄最佳前五分數,以及該次成績的存活時間。

期末作業要求,利用物件導向概念、排序方法、樹狀結構等設計一款遊戲。嘩啦!排行榜就這樣誕生了。雖然所使用的語法與上課的完全不同……但是,誰理他啊,我有排行榜欸天啊。

由於上課使用的「排序方法」跟我想要在遊戲中呈現的排行榜概念有些出入,像是要怎麼在遊戲重啟後還保留玩家的排行榜資料?要怎麼在遊戲外部創建資料儲存數據?資料的形式又是怎麼儲存的?這些都與課程完全沒有關係,所以最後還是得依靠二十一世紀網際網路的起咖辣了。

我在網路上找到了一篇有關製作遊戲排行榜的教學,而最快的方法就是直接複製貼上。

但是他的程式只有「分數」與「角色類型」的排行榜,但是我排行榜則不需要「角色類型」,需要「分數」與「存活時間」,所以我還是得拆解他的程式,進行再魔改。

好在使用的方法並沒有想像中的難以理解,於是在已經有基礎架構的情況下,快速地完成魔改。


計時機制

紀錄玩家該場存活時間。

會想要製作「計時機制」其實有好幾個主要原因驅動著我。

1. 我想要隨著時間拉長加快攝影機的平移速度。
2. 排行榜只有分數結算有點難看,想要多一些數據。
3. 如果這遊戲有「競速模式」會怎麼樣?

計時方式並沒有多複雜的機制,主要是我對 Time.deltaTime 的應用方式已經相當熟練了,所以不假思索地就立刻做出有關時間計時的程式了,說穿了這是為了點綴其他功能才出現的功能。


連段機制

倍率修正。

在《學習記錄➤仿製!Google恐龍遊戲-Day 4》我們有介紹過分數連段的機制,但是之前只要一漏接「綠色、藍色、黃色(簡稱三色)」怪物時,不管當前連段為多少,都會立刻歸零,獎勵倍率會立刻變回一倍。

而這次令失誤時獎勵倍率只會下降一層的改動,並不是為了任何與分數累積有關的調整,而是為了解決攝影機斷速的問題。

在文章開頭時,我有稍微提到「攝影機平移的速度將隨著時間與分數累積而逐漸加快」的調整,但是如果累積到八倍連段時,突然連段全部歸零,攝影機的速度會突然驟降,導致遊戲體驗並不是想像的那麼好,所以修改成連段指失去一層,讓攝影機下降的速度比較平滑,遊玩起來會比較流暢。


分數獲得

攝影機變速的公式,是隨著分數提高而增加速度,而非時間。

不使用時間的原因是因為我想讓分數看起來也有所增長,由於遊玩時間一拉長,攝影機速度會快到要閃物件都很困難,判斷是否攻擊也會變得越發困難。

所以我想讓在攝影機超快速的情況下,只靠閃躲也能穩定累積分數的方式,比較有「堅持」的動力?


攝影機移動速度

我發現,攝影機以 10 的速度平移實在有夠慢(可能沒辦法很具體的說明有多慢),但是我又不想讓整場遊戲都保持緊繃的狀態,所以我想到了緩慢提升攝影機移動速度的公式。

原定速(10) + 現分數 * 0.008 + Combo段數(1,2,4,8)
最高捲動速度為20。

由於隨著每秒過去,分數也會逐漸提高,雖然不太明顯,主要製作穩定提升的方式。

Combo段數才是提高的關鍵,為了要獲得更多分數,那就必須承擔更多風險,段數總共分四種倍率(1,2,4,8),於是每段分別提升(1,2,3,4)速度。

當然,最後也不能快到讓人沒辦法玩下去,於是我測試「角色」的機體極限,以及「我」的機體極限,最後將上限定在 20。

也順便修正角色的跳躍幅度,增加在高速移動的情況下閃避的能力。


角色跳躍幅度

說數字有點抽象,以前大概是跳躍物件的兩倍高,現在直接砍半,讓落地速度變快,再次跳躍閃避的間隔變短,於是機體就變強了,但是按下跳躍的精準需求也比以往更高了。


開始遊戲前倒數

開始遊玩前倒數。

遊戲到目前為止其實就已經足夠完整了,要釋出遊玩也不是問題,但是按下開始遊戲就立刻開始,沒有緩衝其實也是滿奇怪的。

所以我就加了遊戲開始前倒數,讓玩家緩衝,具體其實也不會很難,跟計時機制同樣概念。


下一步呢?

偶爾的春醒,系列繼續冬眠,處理其他更優先事情。

以學校作業的水準來說,這樣應該就足夠讓我拿到一些好處了,而且上一次的預計更新幾乎沒有照著做XD,所以目標還是健在,只是在這次更新之後,又想到了更多可以新增的功能了。

接下來的預計行程:

1. 更多更讚的道具
2. 修正體驗(持續更新中)
3. 分數的應用
4. 自定義選項
5. 音效與視差背景(無限期延後)
6. 競速模式!?娛樂模式!?
7. 更多遊玩的變化可能?


那大概就這樣了,下一篇再見~




送禮物贊助創作者 !
0
留言

創作回應

追蹤 創作集

作者相關創作

相關創作

更多創作