寫遊戲

2019 年 2 月 16 日

我在寒假花了很多時間在做遊戲,有形狀消消樂、基藍蘊石消消樂和 Minecraft MOD

Minecraft MOD

每年的過年,我都會跟弟弟玩 Minecraft,今年也不是例外,不過弟弟想要我更新我們之前做的 MOD。 在去年我和弟弟寫出了一個 MOD,叫做冰硬 MOD (Ice Hard Mod),可是弟弟覺得冰硬 MOD 少了生態系,有點無聊,於是請我在 MOD 裡加入生態系

弟弟在計算紙上面畫了好多個流程圖,表示新增的物品的取得以及使用方法。 當我看了一下這些流程圖,我就心想,天哪,這需要我畫多少張圖啊。 每一個物品都需要有一個圖示,我不清楚有幾個圖示了,只記得我一直求弟弟幫我畫圖,因為圖示要畫很久。 可是弟弟都不畫圖,都只在打別的遊戲

結果我寒假的一大半時間,就拿去做 MOD 了。

我弟弟要求在新的生態系裡,加入兩種樹、兩種作物,還有冰硬草、冰硬耕地、冰硬沙,這些東西都很像 Minecraft 裡本來就有的東西。 但我還是要一直去網路上搜尋 Forge API 怎麼做出這些功能

最難做的是兩種作物,因為我需要畫出作物的 8 個生長階段。 我畫不出來,弟弟叫我用 Minecraft 原版的作物圖案,描出輪廓,然後再重新填色。 我總覺得這不妥,好像會冒犯到 Minecraft 開發者,但我們是在做 MOD,好吧,那就這樣做

做好 MOD 之後,我們終於可以在過年玩 Minecraft

形狀消消樂

過年只玩 Minecraft,好像有點無聊,而且我已經好久沒更新形狀消消樂了,所以就在過年期間做形狀消消樂

我主要是重寫尋找 3 連線的程式,因為原本條紋產生的位置是隨機的,有時不在交換的位置上。 我想更改產生道具的程式,但是發現我把幾乎所有遊戲邏輯寫在 Board.js 檔案,改起來好辛苦,所以就把產生道具和尋找 3 連線的程式搬出來,存到 Match.js 檔案。 這是一種重構,只是我不清楚這樣做好不好。 有誰知道軟體工程的,請告訴我怎麼做比較好

我也加入中文化,所以遊戲介面再也不會是英文了!

我還有加入重排形狀功能 (Shuffle),當畫面沒有可以交換的地方時,就會自動重排形狀。 只是這很少發生,通常只能在「有洞的盤面」模式遇到,所以我很難測試到,可能會有一些 bug

原始碼:https://github.com/stdio2016/shapeclear-html

基藍蘊石消消樂

基藍蘊石消消樂已經被我荒廢了很久,從大二以後就沒有再改版,因此我沒有發布 APP。 在過年之後,我決定來更新基藍蘊石消消樂,於是先更新 Unity 遊戲引擎,再開啟遊戲,結果發現,新版的 Unity 不支援 JavaScript! 我的程式全都不能用。

我只好花一整天,把 JavaScript 轉成 C#,然後才能開始研究我以前到底都寫什麼。 改的過程,發現我寫的遊戲邏輯亂成一團,看都看不懂,我差點抓狂。

於是,我又決定,用 Godot 遊戲引擎重寫基藍蘊石消消樂,只因為 Godot 是自由軟體。 我先用簡單的畫面來測試 Godot 的 3D 效能,發現它足以用在我的遊戲上,所以就花更多時間,把舊程式的功能搬到新版本上。

我在 Unity 版本使用的是正交投影,但是在這個版本,我用的是透視投影,以便能做出翻面效果。 而且寶石的模型是我使用記事本重新輸入 obj 模型。 敬請期待~~