【開發心得】與 AI 奮戰兩週:宮澤賢治主題實地解謎手遊上架實錄

先說結論,花了二週時間和AI奮戰的手機遊戲(含網頁版)已經在Google的Play Store上架了。遊戲類型是實地打卡解謎的形式,內容是以宮澤賢治的作品為主軸。所以打卡地點都在日本岩手縣,想去日本玩的朋友可以下載來玩看看。

事件的發想來自於我老婆喜歡玩的城めぐり這個遊戲(官方網站),這個遊戲標註了日本3000個城的位置,玩家可以在各個城的位置打卡攻城,除了獲得石高之外,還有一定機率遇到當地武將,甚至收為家城臣。整個遊戲的內容其實很豐富,網友間的互動性也很強,有課金,還連結城的地方情報與知識,只是老實說畫面很陽春。

於是我開始和AI討論想設計個實際走訪現地的活動,動起手來其實也蠻快的。AI推薦Flutter這個程式,說跨平臺開發很好用。加上Android的模擬程式,照AI的說明很快就安裝好了。程式的基本操作也都是AI說了算,操作卡關就螢幕截圖丟給AI,問題很容易就可以解決。

一開始的程式設計,都是我說要什麼功能,AI直接寫好給我。直接生成直接貼,產生應用程式就操作看看,哪裡有問題有想法再叫AI改。一開始程式碼我完全沒看,就整個複製貼上。直到後來程式越來越大,AI開始要我取代特定段落,我還是叫他生成完整程式碼直接貼。直到最後程式碼實在太長,每次都叫他生成全部程式碼時,Gemini Pro的額度很快就會用完。所以找關鍵字取代程式碼是我最痛苦的時候,也費了不少時間。

一開始我是以綠園道觀光景點為構想,還可以連結店家廣告或折價。但是做了一陣子覺得沒啥故事性,對一般遊客也不見得會有太大吸引力,就想改個主題。於是和AI討論了一陣子,決定做我在日本接觸不少的宮澤賢治為故事主體,設計遊戲的內容。基本功能定案後,遊戲進行的邏輯我費了一段時間全部打成文字丟給AI,這個策略很成功,省去很多與AI往復修改的功夫。

同時間也開始根AI討論要選擇的地點與宮澤賢治作品的關聯性,最後選了6個和作品有關的地點當作記憶碎片採集點,以失憶的宮澤賢治為主角,以銀河鐵道之夜的主角喬巴尼當作陪著主角找回記憶的夥伴。當主角到達這6個地點打卡時,會取得1件與主角作品相關的記憶碎片。我另外選了3間博物館當作記憶的倉庫,當主角帶著記憶的碎片抵達,碎片相關的回憶就會浮現,主角就可以找回一部分記憶。當主角走過6個景點,取得6塊記憶的碎片,再拜訪過3間記憶的倉庫之後,主角會想起與他關係最深的地點,也就是終點的打卡地點。

於是所有地點的選擇、地點的簡介、宮澤賢治作品和記憶碎片的設計、主角與喬巴尼的對話、每個場景的背景圖、故事背景圖、記憶碎片的圖,都大量和AI討論創作。真的很大量。由於考慮到遊戲使用對象說不定會有很多日本人和其他國家遊客,所以文字都是用中、英、日三語同步生成。

後期就是大量測試和除蟲,用不順的地方就一直改。很多是測試有問題之後,才知道程式裡面有這種邏輯。例如按鈕沒反應,可能是被另一個圖層遮住了。然後網頁版和手機版的問題完全不一樣,雖然Flutter號稱跨平臺開發一次解決,但其實各平台各有不同問題要解決。

很多和網路資料庫的溝通,或是Google帳號登入的功能,需要不少網路設定。然後程式發布前,還有金鑰根指紋碼的設定,都要一一解決。幸運的是我10年前申請過Google Play Store上架應用程式,所以這次上架省去很多程式需要經過測試的要求,而且上架審查時間很短。

經過這次的經驗,我覺得寫APP真的已經難不倒AI,但必須是付費版PRO,不然Gemini的快捷和思考根本垃圾。而且當程式越變越大,不乖乖去搜尋取代的話,直接讓AI生成一大段程式碼,PRO的額度很快就會用完。ChatGPT的程式寫作也還不錯,遇到程式問題大多可以解決。只要把編輯器給的警告和錯誤貼給AI,完全沒有解決不了的時候。當寫程式這件事完全被AI取代時,我認為APP創作最重要的就剩下創意構思還需要我們努力了。

以上這段內容我原本叫AI幫忙寫,但實在寫不出我要的感覺,就還是自己寫了。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料