ETHGlobal Autonomous Worlds 參賽心得分享

ETHGlobal Autonomous Worlds

TL;DR 關鍵在 2 到 4 分鐘的影片呈現與線上 judging

ETHGlobal virtual hackathon

pros

應用新的技術開發 Project

不用飛到國外就可以參加比賽

比賽時程較長

有機會和各時區的開發者交流

獎金不用扣稅 (?

Project 可以讓不同國家的人看見

cons

非現場參賽加上時程長，在時間的掌握上很難全心參賽

時區通常對亞洲時區不太友善

參賽者來自全球開發者

語言挑戰

缺乏比賽參與感

使用的技術可能是最新的，缺乏文件或是有 Bug

參賽心得

背景

這次參加ETHGlobal Autonomous Worlds主要是要運用MUD2的架構進行開發遊戲，這對我來說是很大的挑戰，自己沒有開發遊戲的經驗以及要開發前端上開發鏈上遊戲加上這個框架基本上是 React + Typescript，基本上我只有用 NextJS 開發過一個網站而已，還是在兩年前。
我的隊友是上次ETHTaipei Hackathon的前端隊友，他有開發遊戲的經驗但對於前端開發遊戲也是沒有經驗。

遊戲發想

這次我們所發想的遊戲是 Rogue-lite & shoot em's up game，點子來源於HoloCure，在之前一直想要挑戰做一款跟HoloCure風格類似的遊戲，只是角色會以我自己在追的台灣 Vtuber極深空為主題，當時想要用 Rust 實現這個遊戲，剛好有這個機會可以製作遊戲就想要在這次比賽將這個遊戲實現出來。

比賽期間

MUD2 在比賽前幾天的文件都是 MUD v1 的文件，而 Quick start 也都是空的，直到開賽前兩天有更新 Quick start 教學，但我實際測試是失敗的，需要一些除錯，一直到開賽前一天才更新的完整可順利執行的教學，這個對我們來說確實是個挑戰，要開發一個遊戲而且都是用不熟悉或是沒用過的框架來實現，是很大的挑戰。
比賽從週五的 0:00 AM 到週三的 0:00 AM 但官方 MUD 的 workshop 從凌晨一點到五點，而 Sponsor 的 offer time 大部分也都是在凌晨時間，基本上 workshop 都是看官方的重播，加上週末要回老家幫忙我弟的婚禮，沒有辦法很專心長時間參與開發，加上我們想要做的遊戲以鏈上遊戲來說是很難做到的，因為如果每次射擊的結果、子彈數量、角色血量、敵人血量、敵人移動路徑都需要上鏈的話，會有 transactions confirm 的時間，在 local chain 已經有一秒以上的延遲，如果連到 testnet 或是 mainnet 可能會有更長的延遲，也有想過由瀏覽器端計算完回傳結果，但這就有可能會有作弊的風險，原本 Rogue-lite 遊戲都是單機所以即使作弊也不會有任何影響，但我們的想法是想要將通關角色資料 mint 成 NFT，讓角色可以加入其他 MUD 遊戲世界。
我們這次汲取上次參賽的經驗，從最可以展現我們 Project 核心開始建造，一切從簡的打造遊戲，到了週二晚上我們還在修整專案，但我們以為影片過 0:00 就不能上傳了，我們緊急的拍了 demo 影片在最後幾分鐘上傳成功，因為影片指定要介於 2-4 分鐘加上上傳時網站會檢查長度需要時間，我們的影片是 demo 和說明是分開錄的，緊急的上傳導致整個影片很尬。

Online Judging

在比賽 Due 的隔天會開始 Online Judging，首先有要 Demo 的要先進 room 和填寫線上表單，而主持人會將從表單開始點名並且指派到 Judging room，這邊我覺得做得好的是由主持人設定完後，refresh ethglobal 的 project 頁面會出現所屬的 Judging room link，judging 的流程是主持人先播放該組的 Demo 影片 (沒錯在一群人面前播放超尬的影片...，然後會由兩位評審詢問問題，我覺得這個是我參加過最好的 Hackathon 評審階段，評審是真的會去看你們 project 的 repo 而且也會根據你寫的智能合約內容做詢問，也會提出對於 repo 的疑問，然後會給予之後如果要繼續完善這個 project 的建議。

完賽感想

這是我們第一次參加 ETHGlobal 的比賽，不管是技術上和賽事機制都是一個學習的機會，對之後我們要參與的ETHGlobal HackFS 2023 hackathon有很大的幫助，這次我們自己討論後得出的結論是影片要好好做，至少要留出一天的時間製作影片，把故事講好是最重要的，demo 的畫面功能性有出來畫面簡單就好，在 Online Judging 的 demo 影片和評審提問應該是整個比賽最重要的地方，還有更重要的是英文 英文 英文！這次比賽基本上沒有任何的中文在裡面，除了跟隊友溝通之外，所有的文件、賽程、discord、judging 都是全英溝通，之後希望可以嘗試在 Idea Brainstorming & Team Formation Session 的 room 會議中介紹自己跟想做的專案然後找尋不同國家的開發者，一起參與製作這個專案，這樣應該會很有趣。

escape-from-chain

這次我們打造的專案，我們的核心概念是 rogue 類遊戲通常是單機且全破後不會有延續的概念，我們想要打造一款當你全破遊戲後，可以將你通關遊戲角色的能力配點選擇、裝備的選擇和角色外觀等資訊 mint 成 NFT，然後可以透過 NFT 將角色投射到其他 MUD 世界中，可以與其他人互動，有點像是寶可夢卡牌機或是Fate/Grand Order Arcade一樣，這次時間不夠把這個想法給實現，之後有時間應該會嘗試使用 Rust + Bevy來實現。