ADVERTISEMENT
各位朋友是從什麼時候開始玩電玩遊戲的,是從紅白機登登登登的音效開始,還是直接進入 PS 的 3D 時代?記得在電動間被越南大戰坑殺的怨恨,還是對 PS2 真‧三國無雙所帶來的震撼念念不忘?
雖然隨著電腦、遊戲機的硬體效能越來越強,畫面越來越逼真,但是遊戲也變得更為複雜,反而不容易以輕鬆的心情,悠閒地打電動。如果你心中抱著對往日遊戲的懷念,那我們就一起將你心中那微弱的火苗,燃燒成一片熱血火海吧。
什麼是模擬器?
其實模擬器的定義十分廣泛,只要以不同於被模擬端的設備,提供仿真的環境,讓使用者可以去模擬特定的需求,那就可以算是模擬器。舉個例子來說,航空公司會在訓練機師時,使用專業的飛行模擬器,讓訓練中的機師在絕對安全的情況下模擬駕駛,而不用承擔實體飛機墜落的風險。
▲民航機訓練用的飛行模擬器。(圖片來源:維基百科)
這個設備的架構說穿了,就是附震動體感功能的超大型電動玩具,以電腦收集機師對飛機的操作,並計算所有飛行的參數,最後回饋到顯示螢幕以及模擬機艙,達成逼真的飛行模擬實況。
模擬器就是一台軟體遊戲機
這一次主題是電視遊樂器的模擬器,因此把我們焦點放在遊戲機的模擬器上。遊戲機模擬器主要的功能很簡單,就是透過軟體去模擬硬體處理器的功能,使電腦能夠運行其他平台上的軟體。白話來說,模擬器就是一台軟體遊戲機。
▲現在擁有老遊戲機的人應該不多了,想要回味老遊戲的話,多少會遇到很多麻煩。
模擬器有著許多優點,其最大的特色就是利於數位資產的保留。在英文版維基百科中有一句強而有力的說明,「Emulation is a strategy in digital preservation to combat obsolescence.」,其意為模擬器是一個對抗中止服務(指硬體平台)的數位資產保存策略,這邊提到的數位資產,並沒有特別指名內容。
不過套用到我們這次討論的主題上,這些內容就是在各個遊戲主機上的遊戲軟體,如何使用現在的硬體設備,去執行過往遊戲主機的軟體,讓歷史悠久的遊戲文化能夠世世代代傳下去,就是遊戲模擬器的終極目標。
使用模擬器除了可以達成執行舊軟體的目標外,也可以盡可能地保存原始程式的所有內容,包括圖像、聲音等部分,都可能近乎原汁原味地重現,而且對於數位資產保存工作而言,它可以減少整體工作量,我們不需要針對軟體一款一款進行移植,只需開發一套中介的模擬器,就可建構出萬用平台,將所有舊軟體丟上去執行。
模擬器讓你增加10年功
另一方面,模擬器在「藝術表演」上也有很特殊的用途,有群狂熱派的玩家,就專門用模擬器錄製神乎其技的遊戲快速過關影片,這種特殊手法稱為TAS競速(Tool-Assisted Speedrun)。
TAS的始祖是Andy Kempling,他修改了毀滅戰士(DOOM)的原始碼,修改過的版本能夠以慢動作進行,以利於錄製超水準技巧的影片,隨後這種競賽模式就在狂熱玩家間流傳開來,並形成一種地下文化。
▲VBA Rerecording就是為TAS改良的模擬器,它可以顯示許多額外資訊,讓玩家更能掌握遊戲。
TAS的目地很簡單,就是在不修改遊戲本身的程式、記憶體(遵守遊戲規則)的情況下,盡可能地表現超乎常理的完美技巧,TAS玩家可以使用慢動作、重播,或是不斷讀取存檔,甚至是瀏覽記憶體內容,以確認敵人的動作、寶箱內容等,由於TAS並沒有去更變遊戲任何部分,因此即便機率很低,低到比被雷劈到還難,但影片內容還是有可能實現。
熱衷於TAS的玩家,通常會彼此競爭,就像賽車手會計較換輪胎的時間一樣,TAS玩家對小地方都是錙銖必較,這恰巧就是TAS的另一宗旨:追求理論上所需最短的破關時間。
對一般玩家而言,TAS影片也非常具有娛樂效果,如果沒辦法玩到成仙成佛,至少可以長長見識。有興趣的讀者可以到SDA這個網站觀看TAS影片,那邊的影片多到可能一輩子都看不完。
SDA網址(Speed Demos Archive):http://speeddemosarchive.com/
▲SDA網站收集了許多TAS影片,神人玩家以將成績在此展示為榮,肉腳玩家可以來這邊湊湊熱鬧。
但是模擬器總是伴隨著棘手的法律問題,基本上模擬器的開發過程很可能就會牽扯到軟、硬體的授權問題,如果說要夢到遊戲機的硬體是如何運作,那也太過牽強,如果對主機進行逆向工程,那恐怕就侵犯到廠商的智慧財產。此外,下載舊主機的遊戲也是受到法律禁止,而自己將卡帶上的程式抽取出來,又存有灰色空間,因此模擬器的法律爭議一直沒有徹底解決過。
模擬器的原理
一般典型的模擬器,會以軟體模組對應實體被模擬端的硬體架構,可以把模擬器粗分為處理器模組、記憶單元模組,以及I/O單元模組,通常模擬器會略過匯流排的模擬,因為模擬匯流排無疑是繞遠路的方法,直接將資料送進模擬處理器除了可以減少程式的複雜度,也可以增加程式運作的效率。
遊戲機的模擬器可以類比為實體的主機,電腦的螢幕、喇叭就相當於這台主機輸出資訊的地方,而電腦鍵鼠、遊戲搖桿,則是接上這台主機的輸入設備。遊戲卡帶的部分則類比為模擬器的ROM,卡帶的功能是用來儲存遊戲程式,由於我們不需要程式的載體,因此只需要卡帶內的程式本身,這個程式的部分以ROM稱呼。
不是虛擬機器
模擬器(emulator)和虛擬機器(virtual machine)聽起來感覺很相近,但其原理及功能卻大不相同。模擬器是利用實體電腦,建立被模擬電腦,然後將被模擬電腦的程式透過直譯器在實體電腦上執行,而虛擬機器則是直接在主作業系統(host OS)上,建立一個完全獨立的虛擬作業系統(guest OS),無論在主、客作業系統,程式都是直接丟進CPU執行。
然而硬體虛擬化(virtualization)又是一個不太一樣的觀念,虛擬化指的是將主電腦(host machine)的硬體資源切割成多個部分,並建立多個虛擬電腦(guest machine),以供給多個用戶使用,虛擬電腦的程式也是使用主電腦的處理器進行運算。
小弟有個小疑問,不太清楚
模擬器利用實體電腦建立被模擬的電腦,再透過直譯器將程式執行起來
這跟在虛擬機器建立虛擬系統,再執行程式
個人認知上的被模擬的電腦 跟 虛擬出來的系統都是指環境
所以我覺得這兩者的字面上過程看起來無異
能不能有請小編細點出這兩者的差別究竟在哪,謝謝 <( ̄︶ ̄)>
我也覺得就本質上是一樣的,
遊戲機是一臺專門執行遊戲的機器(或稱電腦),
則模擬器則是模擬其硬體、韌體(BIOS或OS),
讓其專屬軟體(遊戲)可以正常運作。
這點與虛擬機器目的是一樣的,只是對象不同。
其實模擬器以英文來說還可以分成兩種:emulator以及simulator。emulator僅模擬系統各元件的外部行為,但不模擬其內部運作,而simulator則是完整模擬其內部結構以及外部行為。一般simulator會應用在系統尚未生產,或要取得實際產品代價太高,因此實際產品無法取得,便以模擬器來模擬其行為,以預先開發系統,或對其除錯,並觀察其行為。至於我們用來打電動的模擬器,其目的僅僅是用來讓遊戲正確執行,所以系統內部構造(如文中提到的system bus)便成了累贅,而僅需其外部行為(聲音,影像等)即可,因此我們使用的模擬器大都叫做emulator為主。
>無論在主、客作業系統,程式都是直接丟進CPU執行。
前提是程式的指令集與CPU的相同。如果相同,有些特殊的指令還是須要預先抽換,或在碰到時予以特別照顧,不能直接丟到CPU執行,例如某些會改變作業系統狀態的指令。
個人認為,虛擬機器經過數十年的發展與使用,其用途已經非常多樣化,與模擬器之間的區隔也變得非常模糊,現在的諸多命名很多也僅僅是延續傳統而已。實在不必去鑽牛角尖。
其實就最基本的定義,可以將兩種東西做以下粗分
虛擬機器:
(程式--->虛擬CPU)--->實體CPU
模擬器
[(程式--->虛擬CPU)--->中介程式]--->實體CPU
模擬器比虛擬機器多一道手續,需要經過中介程式,才能將程式送到實體CPU處理。其實這個中介程式,就是模擬器。
不知道這樣說明,有沒有比較清楚
...怎麼沒有PC98的(炸
話說回來,PC98的模擬器(通稱)應該算虛擬機器還是模擬器?因為PC98印象中用的也是X86為基礎去小改了不知道那些東西...(所以單說X86指令可能都有相容到,可是有些地方似乎又不一樣!?
更不用說在專屬平台的遊戲都會針對該平台進行優化處理
好的模擬器可以接近9成的狀態去運行遊戲
但還是有不足的地方,這是先天上的限制,軟體模擬有其極限在
更不用說原本兩者(PC跟遊戲機)在架構設計上就不同
不管在怎麼強大的硬體,多了指令替換的手續就會拉掉速度
4F說得很好,硬體效能的不斷進步,其實兩者接近差不多的狀態
名稱只是一種標示
我們是清新的普通級雜誌XD
MSX 請參考,這裡
http://tw.myblog.yahoo.com/jw!M8oOosyaEQRbDdSlZzSM_y.K/article?mid=2406
請問,那它要如何認定?
> PC98,不好吧~~~
> 我們是清新的普通級雜誌XD
神主ZUN和他的東方前五作...(聽說PC98模擬器還有移植到非X86平台的,例如WII(POWER)和ANDROID(ARM)
不過,不過,我突然想到很久以前的軟體介紹啊啊啊!!!(去拍雜誌
https://picasaweb.google.com/lh/photo/Igty5UUiw1Hztb4jYXpKAtMTjNZETYmyPJy0liipFm0?feat=directlink
另外還找到疑似當年水球大的文章耶(樂
https://picasaweb.google.com/lh/photo/OqOwZ_SU-YTiTNymWatiYtMTjNZETYmyPJy0liipFm0?feat=directlink
> 找到了,雖然我覺得我會被咬XD
> 另外還找到疑似當年水球大的文章耶(樂
RB大大真的太強了~~~~
佩服