「無限幻想」總進度(僅供參考):20.5%
「無限幻想」主線劇情(第二章):13.5%
「雪花的夢」總進度(僅供參考):99.0%→100.0%
---
「無限幻想」目前製作中段落部分
地圖數量:128
怪物資料:141(47*3)
第二章主線:2/11-地圖繪製、重要角色臉圖繪製
---
Hololive-5期生 二次創作遊戲
「Dream of YukiHana - 雪花的夢」目前製作中段落部分
完工,投稿等審核結果中,看情況追加steam相關功能
---
(農曆年的)新年快樂!
恭喜發財!
紅包拿來!
氣貫長虹!
老實說一開始我也不知道這梗哪來的,查了一下後就順便補上了(?)
上個月用顯眼的「Master UP」來當標題
雖然還差臨門一腳,但在大約1/10就真的完工了
之後就照原定計畫向官方的Holo indie投稿,然後就是等
由於官方強調2023年11月發表此項目後,收到的二創遊戲投稿爆量
所以從投稿到審核通知,可能要等3~4週甚至更久,但這是2024年4月官方的說法
到現在2025年1月了,搞不好更多更久
每次看官方有新的二創遊戲公布出來可能都要想「他們到底等了多久」
不過這段期間也是沒閒著
最大的插曲就是發現「Replay亂跑的BUG原來還沒徹底解決!?」
往回找了一下這部分好像沒寫在當時的日誌,所以補充一下
大月2023年6月
當時意外發現了機器幻想和現在雪花的夢兩作的Replay功能為何會發生「跳關重播會失控」的BUG成因
原因在於「跳關的瞬間有部分暫存變數沒有歸零」
而沒做這個動作,牽涉到的又是會影響自機移動、攻擊、敵人行動等因素的
就會造成重播與遊玩時不同的結果
最後發現原因就出在「自機的攻擊CD時間」
先上圖說明
圖中的黑線代表現在的關卡進度
而紅線則是變數的循環變化時間
例如「5→4→3→2→1→0→5→(以下略)」
遊戲開始的時候是5,然後會倒數到0,在0的瞬間玩家才能攻擊
問題點在於,從第1關進到第2關的瞬間,變數「可能不是5」
當玩家選擇從第2關開始播,因為系統初始化的關係,該變數「是5」
這直接造成的結果就是玩家「可以攻擊的時間點和原本不同」
連帶導致「擊破敵人的時間點跟原本不同」
接著就是「遊戲過程讀取紀錄的亂數跟著亂掉」
解決方法就是統一在換關時,把這種跨關的變數都初始化,就搞定了
本來這樣調整後,幾次測試是都大致正常沒錯
直到1月完工後再測試
喔幹,怎麼還有?
雖然說問題還有,但發生的機率大幅降低,結果就是原因更難找了
但有了思考方向,所以就開始了錄影,開重播,甚至還拿出了影片的步進功能
想像一下同時開著兩個影片,一邊是實際遊玩的畫面,一邊是重播功能的畫面
然後一格一格找兩邊是在進行到哪裡時,開始出現偏差的
大致是獲得某個得分道具時,出現了1FPS的落差
例如遊玩時,有個敵人先被擊破,才得到此得分道具
重播時變成了先得到這個得分道具,才擊破此敵人
結果就出現了上圖70分的落差
聽起來這招很猛,也確實發現了分數是何時出現落差的
但還是找不到原因喔喔喔喔幹
後來像個無頭蒼蠅亂飛了好幾天
挑出了幾個我認為即使換關時沒重置也應該不影響的變數進行調查,偶然發現一件事
「上圖出現落差的時間點,似乎是彈幕物件第一次循環...?」
這裡說的循環指的是我做STG時控管物件的做法
本作有個設定,擊破特定敵人時,會將畫面上所有的子彈消除並變成得分道具
而獲得這個偏移掉的得分道具,來源子彈似乎就是流水號來到600→1的時候
這時候想到,控制這個流水號的變數也沒有隨著換關而變回1
於是就死馬當活馬醫試試看,加了換關時把這幾個變數變回1的設定
然後再玩玩看並重播
...
..
.
喔靠北,正常了,玩美重播
再多試幾個樣本甚至從頭打到尾
都正常喔喔喔!!!
到截稿為止我也只推測出可能的原因
「同樣的浮點數在不同的陣列位置,可能有誤差」
上圖遊玩時的紀錄影片,此時子彈的流水號可能是255之類的
子彈變成得分道具時,會將所在的X座標與Y座標一併繼承給得分道具的起始位置
例如「X=226.31、Y=152.16」之類的
不過重播時從第二關開始播,截圖時的流水號來到了601,並變成了1
這時候繼承過去的數值,就變成「X=226.30999999999、Y=152.160000000001」
對,你沒看錯,出現「誤差」了
這時候即使發現數值不對了,但應該不至於對重播結果造成影響才對
正常思維是這樣想,我原本也是這樣認為,畢竟還有四捨五入之類的修正
可是實際上,這就是跟原本遊玩時不同了
運氣好就只是單純分數跑掉一點
但要是運氣不好,發生在敵人被提早打掉或是漏打,接下來就是一連串的錯誤了
至於為何只發生在601→1這一段
我只能理解到要嘛是ruby或rgss本身的BUG,或是浮點與記憶體的先天性問題
再想下去就超出我的理解範圍了,總之就是這樣解決了(?)
這次光是這方面就打了一長串,但這是1月上旬的事
1月下旬到現在基本上都在和steamworks搏鬥
這玩意真的複雜到再開個專屬課程都不成問題了
等2月底看情況如何再針對這方面寫個大略心得吧
2025/2/2-23:00 By Mr.JX