我參加了 GMTK Game Jam 2023
2023-07-11 05:01:04
2.6k words / 9-minute read
目錄 Table of contents
  1. 發想遊戲玩法
  2. 設定美術風格
  3. 本篇重點,所以單人參賽會有什麼問題?

這篇文沒有打算認真介紹 GMTK Game Jam,隨意聊聊單人參賽的心得。

週末六日 48 小時參加了線上的 GMTK Game Jam,主題是「ROLES REVERSED」,是要我們改變遊戲的操作對象,在一個常見的遊戲類型中以一個不常見的角度來遊玩(這我的解釋)。
舉例說 「Tetris 但你操作的是整個關卡」、「 Pong but you play as the ball 」之類的。
或者更單純的敵我雙方反轉(CarrionManeater)也符合主題。
需要更多解釋可以直接看主題影片:This year’s theme is…
(純照字面意思的話 VVVVVV 不知道能不能過,如果不能,那一定是因為複數 S 在搞。)

我直到禮拜五才想到報名,實際看了主題後我才真正決定要參賽,因為「OOO but XXX」就是個常見的優秀創作公式,感覺很有趣。
我之前參加 game jam 的經驗都是組隊,儘管 GMTK Game Jam 是線上的活動,我之前兩次經驗也都是找認識的人窩在 LAB 裡面做。
但我其實一直都挺想嘗試 solo 參賽,一方面所有決定自己做很爽、完全沒有溝通成本,也符合我彆扭的個性;另一方面壓力沒那麼大(跟我的 side projects 一樣毫無責任感,沒做完就沒做完)。

缺點也很顯而易見,時間已經夠少了(48hr)還要處理所有事情,從發想設計、程式、美術、音樂、到投稿資料等雜事都要幹。
剩下的缺點倒還好 – 像是沒人幫你踩剎車,容易自我感覺良好或是瘋狂浪費時間在沒意義的小事上。
但我覺得那些也不全然是壞事,我自己就很喜歡看到一些開發者鑽牛角尖在一個超小的事情上打轉,這種工程主義與個人執著的碰撞才是 Indie 的浪漫。
當然在有金錢壓力的商業作品上這樣幹是欠揍啦,但 game jam 這種鼓勵發揮想法的活動放飛一下也無所謂吧(但請不要害到隊友)。

發想遊戲玩法

畢竟這次是非常玩法導向的主題(其實每次都是),而且我自己做遊戲也全都是玩法優先的設計,理所當然要先決定玩法才有辦法開始做。
大概前 1 個小時我完全是無頭蒼蠅狀態,我覺得這是一個好發揮的主題,但要怎麼發揮地不落入俗套就很難了,尤其我有自覺我只能靠純玩法噱頭來來顯現差異性。
總之是一邊看著 Discord 群組各個參賽者的討論,一邊跟一個在當兵放假的朋友隨意閒聊想法,內心想著還是我乾脆不做了。
其實也是我那位朋友的一句話讓我有了這次遊戲的確切想法
「還是骰子遊戲?你當上帝」
「靠杯」
最後就有了這次的遊戲標題
「Turn-based strategy but you are RNG」
簡單說就是在一個回合制策略的遊戲架構之下,你扮演的不是角色本身,而是「RNG (亂數產生器)」。
其實「玩弄亂數表」的概念是我曾思考過的遊戲點子之一。發想起點是玩某些戰棋遊戲被敵人 1% 爆擊搞死、或是我方 90% 命中率卻打不中這種會想「幹你 RNG 」的場面氣到,進而想到如果玩家扮演的就是 RNG 本身那是否還蠻有趣的 –
你要想盡辦法讓亂數的順序有利於我方士兵,以達成小蝦米搏贏大鯨魚的奇蹟場面
但這個點子一直沒有做出來也只是因為我覺得這個架構的大前提是要有一個足夠有趣的戰棋遊戲本身,但戰棋遊戲的系統之繁多,實在沒空做。

要在 Game Jam 做出這個概念的話我不可能真的去做我從未做過的 「戰略遊戲(tactics)」,也就是那些有空間概念、移動指令、範圍攻擊的策略遊戲,那實在太複雜了。
而且我的目標是用亂數玩弄命中率、爆擊率等機率數值,那其實完全不需要空間概念才對,所以最後做成了很純粹的帶有命中、爆擊的回合制戰鬥遊戲。

設定美術風格

因為我本身也就只是個程式,想要 solo 參賽首先要克服的最大的問題是我根本不會畫畫。
這對我來說應該是起頭最難的一件事情,我知道有些工程師完全可以在不仰賴美術的前提下開發。但至少在創作上,我個人是非常吃重視覺效果的,更可以說很多功能設計也都是先有美術風格後才有辦法順水推舟發展出來的結果。我非常難做出「先設計一個泛用風格但功能完整,最後才決定美術風格」的遊戲,我相信經驗老道的製作人有辦法,但我個人還是著重在以現有內容迭代新想法的設計。

總之要解決美術風格的問題,大概剩這幾種解法:

  1. 挑一個不怎麼需要畫畫技術的美術風格(最好是 Shader 套上去就可以讓基礎 3D 模型完美展現出風格的那種)
  2. 買現成素材瘋狂 bashing (大部分人應該是這樣,缺點是蒐集素材跟美術 Sense 很難搞)
  3. AI Art(但這次參賽規則明確禁止任何 Generative AI)
  4. 完全不管美術,意思到了就好 (那遊戲會很挑玩家)

我最後是用 1. + 4.解
主要是想參考 SokpopBABA IS YOU 的那種塗鴉風,那首先需要的就是「抖抖抖」的視覺效果。
實作參考這篇 Sprite Doodle Shader Effect
之後嘗試搭配我小學生等級的破爛畫技看看
先看沒動的樣子:

開抖:

可能是我自我感覺良好,但我覺得抖抖風格已經十足有效了,小學生等級的畫技都可以凹成生動活潑的塗鴉風格,最棒的是我甚至不需要為了人物以外的圖片畫多張 Sprite 動畫(一般實現這種抖抖感是 2 到 3 張 Sprites 交替顯示)。
所以好了,美術風格就這樣吧。

說的容易啦,但視覺摸索到這個階段我已經花了整整 15 小時
期間有朝幾個方向嘗試:

  • 點陣風格,素材全用現成 + ProPixelizer
    • ProPixelizer 買了很久但現在是第一次用,因為他是 Per Object Shader 所以不太好用,優點是可以訂製個別物件的細節啦,但我求速成就不好用。
  • 寫實風格,素材全用現成的。做成像是在打桌遊的感覺,不需要有人物。(可參考 Tabletop Simulator 或 Inscryption 、Hands of Fate 這種)
    • 太久沒碰 3D Lighting ,一時弄不出好看的光影效果,而且 HDRP 不支援 WebGL 最後就放棄。

本篇重點,所以單人參賽會有什麼問題?

假設你把以上問題都克服了,像我一樣自豪自己已經算某種成功的 solodev 的話,請你還是多留 1 小時給你的 itch 設定,尤其你如果完全沒有上傳經驗的話更應該如此。

最後實在太慌亂 + 沒有投稿經驗(過去所有參加 Game Jam 的經驗都是由別人投稿)。
我大概剩 20 分鐘的時候才點開 GMTK Game Jam 的 itch 投稿頁,
點了 Submit ,
沿著彈出窗口選了 Create New Project ,
填寫標題、介紹、上傳封面、 Windows 版遊戲,
Save。
好了安心了,剩下一點時間我來試試 WebGL build 好了,因為照之前的經驗沒有 WebGL 版本的話很難讓人去試玩和評價。
Build 是 Build 出來了,但上傳之後遇到一些狗屎問題:

  • 預設的 Compression Format 是 gzip,而 itch 不支援(改用 Brotli 或 Disabled 就可以)
  • 輸出 Resolution 有問題,我以 1920x1080 為標準開發,但是在 itch 上預設會變成一個很小而且長寬比錯誤的解析度(好像是640x480之類的)而且不能全螢幕= =,搞了很久還跑去載了個 Better Minimal WebGL Template 來套也一樣。結果是在 itch 的設定裡面有 Embed options 可以直接改大小和全螢幕按鈕顯示與否。
  • 某些超短的音效在 WebGL 版中消失了,我後來開 Audacity 去拉長音軌重新 build 才修好。

在打這篇文的時候才查到羽毛的這篇 將 Unity 專案上傳至 itch.io 經驗談,有把 WebGL 和 itch 的坑都寫出來了,請參加 Game Jam 前都讀一下。

最後其實主辦方最後有延長一個小時讓我們上傳,所以我才有空修這堆 WebGL 和 itch 的屎,但修完之後也差不多壓線了。
截止時間過了之後,我鬆了一口氣,有好好完賽了。

正當我想要好好欣賞 6K 多個投稿作品,順便看一下自己封面圖在這之中足不足夠顯眼的時候,

我發現我搜尋不到自己的遊戲。

反覆確認之後,我搞懂了,我 根 本 沒 有 投 稿
對,我確實在截止時間前,我是把遊戲做出來了也上傳 itch.io 了,但我沒有投稿進 GMTK Game Jam。

後來問了同樣有參賽的友人,正確的流程是在 Create New Project 之後,你還要再回去 Game Jam 頁面按 Submit 並選擇符合資格的專案才代表參賽。

總而言之,我之所以文思泉湧、洋洋灑灑地寫了這一大篇文章就只為了一件事 –

.
.
.
.
.
.
.
.
.
.

沒錯,就是抱怨!哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊啊啊

.
.
.

好啦都讀到這裡了,還是曬一下完成的作品

Turn-based strategy but you are RNG 遊戲頁面
(教學說明請直接看遊戲頁面底下的圖片)