Machine Child 遊戲存檔修改器動手做! 命運規劃局長就是我自己

Machine Child 遊戲存檔修改器動手做! 命運規劃局長就是我自己

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

Machine Child 遊戲存檔修改器動手做! 命運規劃局長就是我自己
《Machine Child》與《美少女夢工廠》一樣開局給的金錢實在有夠少, 於是在Google Gemini 2.5 Pro的幫助下, 探索如何修改遊戲存檔。

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

Machine Child 遊戲存檔修改器動手做! 命運規劃局長就是我自己
拜強大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程式了, 需要更高階的程式技巧, 這個階段著手在存檔修改就好!

Machine Child 遊戲存檔修改器動手做! 命運規劃局長就是我自己
終於啊! 執行修改程式, 讀取數值

Machine Child 遊戲存檔修改器動手做! 命運規劃局長就是我自己
填寫我要的數值, 做一些錯開驗證是否修改正常

Machine Child 遊戲存檔修改器動手做! 命運規劃局長就是我自己
儲存! 寫入Registry與save_backup.dat存檔備份

Machine Child 遊戲存檔修改器動手做! 命運規劃局長就是我自己
進入遊戲...

Machine Child 遊戲存檔修改器動手做! 命運規劃局長就是我自己
使用遊戲修改器成功! 命運規劃局長我自己當

Machine Child 遊戲存檔修改器動手做! 命運規劃局長就是我自己
商店任我買, 讓我女兒不愁吃穿

Machine Child 遊戲存檔修改器動手做! 命運規劃局長就是我自己
這店裡的衣服全部我全部打包帶走

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

在AI助理的協助, 把自己的想像付諸行動, 雖然我對Windows程式設計完全不懂, 在與Gemini來回對話除錯, 加功能找問題, 我感覺不是自己厲害, 而是AI的協助下我可以踏出第一步!
2025-09-08 19:57 發佈
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?