最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【MAME使用相關(guān)】關(guān)于MAME的錄像文件回放出錯的原理+正確錄制辦法

2020-08-02 13:06 作者:ixix91  | 我要投稿

老文,被百度吃了一次了~現(xiàn)在雖然很多人都喜歡實錄了,最近SHOT20活動可能會用到,但想了一下還是發(fā)一遍~

一。基本的介紹
MAME這個模擬器也提供類似東方REPLAY錄像的功能。右鍵點擊游戲,有個錄制回放文件的選項,必須在開游戲之前就錄制,不能打完后錄制。錄制完成后默認是在MAME的 inp 文件夾下會看到你的REP文件。

中文版,英文版的SHMUPMAME應(yīng)該是叫“Play and record input”

不過因為MAME這個模擬器過于龐大,很多小功能都有一些問題,錄像功能的兼容性不是特別的完善。
所以經(jīng)常出現(xiàn)錄制出來的REPLAY(因為格式是*.INP。所以下面都用INP 替代)各種爆炸無法正?;胤?,尤其是高分或者初通錄像,打完后回看錄像結(jié)果錄像回放錯誤,相當(dāng)于REP損壞
那心情沒法形容,也怪可惜的。
通過一些正確的設(shè)置和操作可以極大的減少錄像爆炸的情況,也就是這個帖子的主要內(nèi)容。

在看這個帖子之前,請注意幾個東西

1.MAME的錄制和回放,必須在同一個模擬器內(nèi)進行,大版本相同基本沒什么意義
比如MAMEUIFX,MAMEPLUS 和MAME官方版本
前2個是增強型的MAME,后者是官方版本,這3個的錄像即使都是同一個大版本(比如都是0.168的內(nèi)核),之間的錄像也不一定通用,這個是個經(jīng)常誤區(qū)。

2.MAME錄制的錄像,最好放在MAME根目錄下的INP文件夾中播放
雖然MAME錄制的時候可以選擇INP保存的位置,但是放的時候,有些版本的MAME卻要放回INP文件夾中。否則會出現(xiàn)"XXXXX 不是有效的輸入文件‘的提示框。
文件名可以隨便,路徑最好不要亂放。
這里還有個很有意思的現(xiàn)象,這些必須放回MAME目錄播放INP的MAME,如果遇到不同路徑的同名INP文件,是優(yōu)先播放自己模擬器目錄下的INP

舉個例子,比如MAME的INP目錄里面有個A.INP,此時桌面也有個同名字的A.INP,打開MAME播放桌面上的A.INP,不會出現(xiàn)XXX不是有效的輸入文件的提示,而會開始播放,但實際上播放的是INP目錄里面那個A.INP,很有意思的現(xiàn)象。不過容易引發(fā)一些誤會。

3.MAME 0.145-MAME0.155的這10個大版本(包括使用MAME內(nèi)核的增強型MAME)
這10個大版本有個BUG,錄制INP的時候,如果暫停了(無論是用暫停鍵,還是按F7讀檔的時候那種暫停),INP就會從暫停點結(jié)束錄制。也就是直接報銷了

影響比較大的有SHUMPMAME 4.0,因為他的內(nèi)核是MAME 0.150,還有常見的MAMEPLUS 0.152 CAVE SH3合集,所以如果是這10個版本,錄像的時候請不要暫停。
不過我也不提倡錄街機游戲暫停,你玩實體街機能暫停嗎,最新的全國榜也考慮到這點,加上有人搞了個暫停大法,所以強制使用SHMUPMAME 4.0,老外的MAME錄像站M.A.R.P也是強制使用不能暫停錄像的WOLFMAME,并且更嚴格的是WOLF不能使用連發(fā)。

二。關(guān)于錄像爆炸的罪魁禍首-NVRAM文件
MAME的根目錄下,有一個叫NVRAM的文件夾,打開會發(fā)現(xiàn)一些和ROM名字相同的*.NV文件
或者是“rom名字”的文件夾(0.160版本以后的MAME),打開后里面有很多文件
這些個文件的具體作用是,記錄游戲的一些機臺設(shè)置和高分
(比如怒首領(lǐng)蜂系列的C鍵高速子彈連發(fā),彩京系列的隱藏機的調(diào)出和高分榜單)
而這個文件就是INP爆炸的元兇,因為不是程序員,原理我這里做個猜測,僅供參考

游戲的一些隨機要素需要隨機數(shù)發(fā)生器,發(fā)生器的機理是需要初始值作為發(fā)生的種子
大部分游戲會把機臺的設(shè)置,基板的運行總時間,高分的某幾位數(shù)
以及玩家的走位(像素值)等作為種子來進行發(fā)生,然后生成隨機,比如尸彈的角度,敵人的運動方向之類。
再看NV文件的作用,你會發(fā)現(xiàn),幾乎可以把它當(dāng)做隨機數(shù)的其中一個種子
(其實INP里面也包括隨機種子,但是他記錄的操作是固定,也就是因為玩家走位確定的隨機種子已固定)。
由于NV文件會記錄高分和基板運行時間,所以每一次進入游戲,退出,這個文件等于被重新寫過一遍,也就是種子每一次退出游戲都在改變。
而INP文件錄制的是玩家的操作,并沒有把NV文件里面的隨機種子也記錄進去。
當(dāng)你打完一局游戲錄好了INP后退出,NV文件被重新寫入,再回放錄像的時候就會發(fā)現(xiàn),因為其中的某個隨機種子變化,導(dǎo)致游戲的隨機數(shù)和你玩的那一局完全不一樣。
你會發(fā)現(xiàn)你的動作還是那樣,但是隨機的子彈軌跡,敵人的動作,尸彈的方向和數(shù)目都和你玩的那一局不同了,于是你就BIU掉了,這就是錄像回放出錯,俗稱INP爆炸。

三。根據(jù)原理的小策略
NVRAM文件(下面簡稱NV文件)的作用和INP爆炸的原理大約是樓上所說。所以實際上想解決這個問題很簡單,只要你錄制INP的時候,固定好NV文件上面隨機數(shù)的種子,再按照你的操作去回放INP,那就一定沒有錯,也就是保證,你錄制,和回放的時候,NV文件是一樣的就行了。
A.最通用的辦法--刪除法
每一次錄制INP之前,刪除“NVRAM”文件夾下面“ROM名字.nv”的文件(MAME0.160以前的版本)
比如這里我要錄19XX的,我就刪除19XX.NV文件

0.160之后的版本,MAME把NV文件拆成了幾個小文件,放在“NVRAM”文件夾\“ROM名“的文件夾下面,同上,直接把那個文件夾刪除
比如我這里要錄大復(fù)活的,我就把大復(fù)活的“ddpdfk”文件夾刪掉,再進入游戲錄制

你要錄制哪個游戲,就把哪個游戲的文件夾/NV文件刪除

播放INP的時候,再把NV文件刪除,播放就OK了。


刪除法是最通用,最保險的,但是缺點是
1.像大復(fù)活 打擊者1999這樣需要調(diào)整機臺設(shè)置才會出現(xiàn)隱藏機,隱藏模式的,你每一次錄制的時候,進游戲都要調(diào)一次,調(diào)出來才能玩。
2.每一次都要刪除,偶爾忘記刪除了,INP可能就壞了,操作上很麻煩,雖然可以通過寫B(tài)AT批處理的方法,但是總歸不好用。

因為兼容性最好,老外的MARP是強制要求這樣的,但是個人實際上用的不多

B.把NV文件設(shè)置成只讀/占位文件夾法

對于方法一里面遇到的需要機臺設(shè)置的比如大復(fù)活/1999,可以在調(diào)出隱藏機 隱藏模式后,退出游戲,將每一個NV文件,都設(shè)置成只讀,這樣保證每一次錄制都是同樣的起點。錄像交流的時候,只需要把NV文件和INP打包,就能保證在其他電腦上基本都能播放

把上面的方法引申一下,一些不需要機臺設(shè)置的,可以使用占位文件法
這個方法還是利用WINDOWS那個特性,比如我要玩大往生,我在NVRAM文件夾下面建立一個DDP3.NV 文件夾,這個時候系統(tǒng)會把這個文件夾 視作“DDP3.NV”文件,
現(xiàn)在就簡單了,直接把文件夾設(shè)置成只讀,運行游戲的時候MAME讀取不到NV里面的內(nèi)容(因為實際上文件不存在),等于是刪除NV的效果。
而關(guān)閉游戲的時候因為文件存在,他會試圖寫入,而不是重新建一個DDP3.NV文件,
然后因為只讀,寫入失敗。。。。這樣,你每一次開游戲,都是0狀態(tài)開始,而不用重復(fù)刪除

這是用的最多的辦法

C.特殊版本的MAME下的備份---還原法

方法B的只讀法,對于MAME 0.140以前的部分老版本MAME,有一定的問題。
老版本MAME如果在退出游戲時無法寫入NV文件,會直接報錯退出,而這樣錄制的INP算錄制不完成無法觀看,這樣的老版本MAME,如果不需要隱藏機之類,只能每一次錄制前刪除NV。

而像打擊者1999這樣需要隱藏飛機X36 的,又想在老版本MAME下錄制,只能打之前預(yù)先備份NV,打完之后,將備份的NV還原回去,再播放。。。

注意要留一份做底,播放錄像也會更改NV文件的。只能每次播放前都覆蓋一下,交流的時候也帶上這個NV文件。

以上3個方法靈活運用可以避免絕大部分錄像爆炸的問題
在交流錄像的時候,如果有NV文件,必須得把NV文件附上,不然沒法在其他人的機子上面正常播放。

最后說個搶救措施
很多人的INP錄完后才發(fā)現(xiàn)NV沒刪,看不了,這種時候,你可以試著反復(fù)看幾遍。
每一次看,每一次玩都會改變NV文件,運氣好搞不好把隨機種子給弄對了也說不好。

如果運氣好,遇到一次能正常播放,播完后,先不要退出游戲

(MAME退出游戲的時候才會寫入NV文件)。

先把當(dāng)前的NV文件拷出來,設(shè)置成只讀,OK這錄像就救下來了。
然后用以上的3個辦法,就可以正確播放了。

【MAME使用相關(guān)】關(guān)于MAME的錄像文件回放出錯的原理+正確錄制辦法的評論 (共 條)

分享到微博請遵守國家法律
阳东县| 龙里县| 且末县| 沙湾县| 青铜峡市| 呼伦贝尔市| 华容县| 沂南县| 漠河县| 邢台县| 乌兰察布市| 东光县| 土默特右旗| 尼玛县| 盐山县| 新余市| 石林| 富裕县| 定日县| 汉阴县| 曲松县| 水城县| 岳阳县| 阳东县| 阆中市| 荆州市| 旅游| 余庆县| 淮滨县| 湘西| 临桂县| 前郭尔| 加查县| 荥经县| 安乡县| 公安县| 泰安市| 始兴县| 宾川县| 平湖市| 闽侯县|