iT邦幫忙

2025 iThome 鐵人賽

DAY 29
1
Modern Web

用 PixiJS 寫遊戲!告別繁瑣設定,在 Code.Gamelet 打造你的第一個遊戲系列 第 29

Day 29:挑戰的藝術 - 難度曲線、遊戲平衡與最終優化

  • 分享至 

  • xImage
  •  

今天是我們為期 16 天的遊戲開發旅程的倒數第二天,回顧這段時間的努力,我們已經完成了《小女巫・啟程》的核心玩法、場景管理、UI 元件以及音效等功能。現在,是時候來進行一些最後的優化與調整,讓遊戲更加完善。

▸ 難度曲線與遊戲平衡

在遊戲設計中,難度曲線與遊戲平衡是兩個非常重要的概念。難度曲線指的是遊戲中挑戰的難易程度隨著時間或進度的變化,而遊戲平衡則是確保遊戲中的各種元素(如角色、敵人、道具等)之間的相互作用是公平且有趣的。

但老實說我也不是很擅長這方面的設計,就我來說,這部分的調整通常是透過反覆的測試與玩家反饋來進行的,而不是單純依靠數學模型或公式。

因此,我會根據我自己的遊戲體驗來進行一些調整,並且希望能夠讓遊戲對大多數玩家來說都是有趣且具有挑戰性的。

調整的差不多以後,我就會到 DC 群裡面找一些閒人來幫我測試遊戲,看看大家的反應如何,再來進行調整,如此反覆數次。

當然,要找到願意幫忙測試的玩家並不容易,尤其是當遊戲還在開發中,沒有太多的曝光度時。

不過,Code.Gamelet 作為一個線上遊戲開發平台,自然是聚集了許多對遊戲開發有興趣的人。上方提到的 DC 群就是我自己為了這個平台而建立的,很幸運的是,我成功聚集了平台上不少的玩家與開發者,讓大家可以互相交流、分享與學習,這個部分我們最後一天再來聊聊。

說回正題,其實我這幾天開發的時候,幾乎每天都會調整 getLevel_1(),也就是我們的關卡資料,我覺得目前的難度曲線還不錯,最終調整成這樣:

由於我們只有三種小怪以及一隻 Boss,因是我並不希望把整個遊戲拉得太長,所以我讓 Boss 在 1 分鐘後就出現了。
前一分鐘則分成三個階段,每 20 秒增加一種小怪,也剛好這樣的小怪數量,可以讓玩家獲取足夠的經驗值來升級,並且在 Boss 出現前能夠有一定的實力。
目前我測試幾次下來幾乎都能打贏 Boss,整個遊戲我覺得最大的威脅在於 Boss 的衝撞攻擊,玩家如果讓 Boss 從中間衝過來,而且還沒有升級過生命值的話,幾乎是必死無疑。

▸ 其他優化

由於我目前沒辦法在難度、遊戲平衡的設計上做太多事情,因此我打算把重點放在一些細節的優化與調整上:

  • 鍵盤支援:我把所有需要滑鼠點擊的地方,都加上了鍵盤支援,例如主頁面可以使用空白鍵開始遊戲,結算畫面可以使用 A、D 鍵來選擇重新開始或返回主頁等,其他還有像是 Day 27 提到的數字鍵選擇升級等。
  • 滑鼠遊玩:相反的,我也把整個遊戲唯一個個需要鍵盤輸入的地方(也就是小女巫的移動),支援了可以使用滑鼠操作,玩家可以點擊畫面來讓小女巫自動飛到定點,或是按住畫面來讓小女巫跟著滑鼠移動。甚至有了這個功能,遊戲就可以在行動裝置上玩了!
  • 音訊優化:我稍微調整了一些音樂的播放時機,並且在結算畫面也添加了音樂,讓整個遊戲分成四個階段的音樂:主頁面、一般遊戲、Boss 戰、結算畫面,讓玩家能夠更有代入感。
  • UI 調整:因應結算畫面可以使用鍵盤操作,我也讓按鈕被選取時會有一個放大的動畫,讓玩家能夠更清楚目前選取的是哪個按鈕。

點我查看 Day 29 範例程式碼點我查看最新進度程式碼

▸ 總結

今天大概是這 16 天以來最短的一天了,幸好我們前面已經完成了大部分的功能與設計,現在只需要進行一些最後的優化與調整:

  • 難度曲線與遊戲平衡:根據自己的遊戲體驗來調整關卡資料、敵人屬性等。
  • 其他優化:添加鍵盤與滑鼠的雙重操作支援,優化音訊播放時機,並且調整 UI 元件的互動效果。

明天,就是我們這 30 天旅程的最後一天了,我們要來將最後的專案製作成一個成品,並且進行最終的發表,介紹如何在 Code.Gamelet 上發布與分享你的遊戲,順便也來聊聊這 30 天的心得與感想。


上一篇
Day 28:遊戲的起點與終點 - 場景管理器與流程切換
下一篇
Day 30:旅程的終點 - 專案總結與最終發表
系列文
用 PixiJS 寫遊戲!告別繁瑣設定,在 Code.Gamelet 打造你的第一個遊戲30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言