
大槍葦人的養成遊戲《Machine Child》開發九年, 玩完一輪後先說心得: 遊戲性十分低落, 只能說是滿足大槍葦人畫風玩家的小遊戲, 有點可惜啊!

《Machine Child》與《美少女夢工廠》一樣開局給的金錢實在有夠少, 於是在Google Gemini 2.5 Pro的幫助下, 探索如何修改遊戲存檔。

年輕時玩到《美少女夢工廠2》DOS/V日文版, 真想買一台NEC PC-9801來玩原生版本, 不過哪來的錢? EPSON相容機就已經貴到爆, 只好放棄乖乖玩DOS/V版, 靠著學校教的C語言, 自己寫DOS程式來改數值, 但也只會寫簡單的交談式設計, 現在有AI的幫助, 竟然寫出人生第二個Windows App還能動(第一個是在當兵時用FOX Pro開發軍品料件查詢系統), 有玩家說它是現代美少女夢工廠, 但我不這麼認為啊...
圖片來源: 美少女夢工廠2 Steam版(Dengeki Online)

拜強大AI助理所賜, 要做一些程式開發快上許多, 給予的解答也大致符合要求, 省去到處Google Search的時間, 這次我利用Google Gemini 2.5 Pro輔助找出《Machine Child》的存檔內容解析
進度1: 找到遊戲存檔路徑, 這個小事, 翻一下Windows目前用戶
AppData
目錄就會找了《Machine Child》存檔save_backup.dat
, 檔案日期剛好是我結束遊戲沒多久的時間, 接著來證實進度2: 遊戲存檔的結構分析, 最初看到檔尾"
==
"符號, 猜測是Base64編碼, 但是解碼後仍是沒有意義的字串包含不可視字元, 卡關進度3: 交由Gemini分析檔案, Gemini說明可能有做字串的XOR與Salt加密, 要我用dnSpyEx反編譯
進度4: 將Unity遊戲
Assembly-CSharp.dll
丟進dnSpyEx反編譯, 尋找關於"Save"字眼, 找到File.WriteAllText(Path.Combine(Application.persistentDataPath, "save_backup.dat"), saveData);
Debug.Log("セーブ完了 (PlayerPrefs & Backup)");
確實將存檔寫到
save_backup.dat
進度5: 需要找到Salt, 翻到關鍵設定
private const string SecretKey = "MXXXXXXCXXXXXXXXXXX";
("X"是我避免洩漏Salt, 大家可以自己動手做找到)
進度6: 叫Gemini幫我我產生
save_backup.dat
的解密與可視化python程式, 方便我在電腦上直接執行, 將資料dump為JSON檔案進度7: 比對存檔時的各重要屬性, 尤其是金錢, 找到JSON檔案裡的欄位, 並修改我要的數值
進度8: 再叫Gemini幫我產生python程式把JSON檔案打包成遊戲存檔
save_backup.dat
, 進入遊戲看看...可惜數值沒有變動, 再次卡關進度9: 經由Gemini的提醒, Unity會將遊戲資料寫到Registry:
儲存到 PlayerPrefs (主要存檔)
PlayerPrefs.SetString("GameData", saveData);
儲存到 save_backup.dat (備份檔案)
File.WriteAllText(..., "save_backup.dat"), saveData);
進度10: 刪除遊戲Registry裡關於遊戲存檔的Binary Data, 讓遊戲改為讀取備份
save_backup.dat
, 成功! 屬性數值成為我爆改的數值了! 輕鬆地玩遊戲!遊戲一輪之後, 糊裡糊塗的完成了父嫁結局...一頭霧水啊, 這時也想到, 何不叫Gemini幫我做遊戲存檔修改程式? 這樣我就不用來來回回修改JSON然後打包成《Machine Child》的存檔內容, 於是新一輪的概念驗證再次開始...
寫了一堆提示詞要Google Gemini幫我完成Windows遊戲存檔修改程式, 結果它說無法產生exe執行檔, 要我自己動手做, 連步驟都列出來了, 於是遊戲存檔修改程式就這麼開始
進度11: 下載Visual Studio 2022
進度12: 開啟C# Windows Form的桌面程式專案
進度13: 設計UI, 依照指示拖拉輸入欄, 按鈕...等元件進入視窗
進度14: 貼上Gemini給的程式碼, 並設定各按鈕的click event
進度15. 測試與除錯, 來回了幾次終於產出可以用的exe執行檔, 並且加入檢查遊戲程式是不在執行狀態, 避免修改數值導致不可預期的錯誤, 如果能即時修改, 那就是做Trainer程式了, 需要更高階的程式技巧, 這個階段著手在存檔修改就好!

終於啊! 執行修改程式, 讀取數值

填寫我要的數值, 做一些錯開驗證是否修改正常

儲存! 寫入Registry與
save_backup.dat
存檔備份
進入遊戲...

使用遊戲修改器成功! 命運規劃局長我自己當


商店任我買, 讓我女兒不愁吃穿


這店裡的衣服全部我全部打包帶走

個人喜歡大槍葦人的筆觸與畫風, 可惜《Machine Child》並沒有像《美少女夢工廠2》帶給我感動, 《Machine Child》的BGM更像是噪音, 我甚至把它給關了...雖然遊戲上Steam後可能就有人做Trainer了, 不過現階段可以改基礎數值我已經很滿足, 不然會把所剩無幾的遊戲性給抹殺掉了

在AI助理的協助, 把自己的想像付諸行動, 雖然我對Windows程式設計完全不懂, 在與Gemini來回對話除錯, 加功能找問題, 我感覺不是自己厲害, 而是AI的協助下我可以踏出第一步!