當前位置: 華文問答 > 遊戲

FC 魂鬥羅的背景為何都是黑色的、夜晚的感覺,是為了省記憶體麽?

2017-07-27遊戲

此答案已經高畫質重設,請移步

以下是原答案

四更了

補充一下平機王作者的答案。

fc遊戲的畫面組成,簡單來說就是1個背景層+64個8*8像素的活動塊。

找了張超級魂鬥羅的圖(小時候窮,家裏沒有魂鬥羅,只有超級魂鬥羅,打過無數遍)。

大家可以看到,這個直升機boss,如果單純用活動塊來組成,那麽,64個活動塊是遠遠不夠的!

所以,聰明的制作人想出了一個奇技淫巧,就是用 背景層 來做boss。

因為這是背景層,並且fc只支持一層背景,只要它移動,就是整個畫面都在移動,所以只能用純色的背景,不然就露餡了。比如說,如果畫面上多了一個月亮,那麽,直升機在動,月亮也會跟著直升機一起動。

而且,黑色又是看起來最「正常」的顏色(可以強行解釋成夜晚),所以fc大部份巨大boss都是晚上打的。

當然,也不一定要黑色,比如

你們以為自己打的是敵人?其實打的是背景。

補充
本來只是想補充一下平機王作者的答案,沒想到大家都贊我了,那就再補充點內容吧。

大家看這2張圖

這張圖是有背景的,就是天上那些雲(其實嚴格來說,地面 樓房 雲都是背景)

然後走過這個房子之後

背景就變成純黑的了

這就是為了用背景繪制boss,把背景的其他東西都去掉了

然後,打完boss之後

果然,雲又回來了……

另一個關鍵點是,fc活動塊是64個,但是同行活動塊最多8個,如果同行超過8個,就會出現閃爍現象。

也就是說寧可讓一些活動塊消失,也要讓同行活動塊控制在8個以內。

再回到這個圖

可以很直觀地看出,這些小兵,由於超過同行活動塊的限制,產生閃爍,變得殘缺不全。

再回到這關的直升機boss

之前說過,boss是背景,但是boss身上的元件有可能是活動塊,比如說boss身上的炮管。

那就測試一下吧

看準,起跳,截圖

成果如下

沒有閃爍!沒有閃爍!

炮管如果是活動塊組成,一個活動塊的像素是8*8,那麽一個炮管至少要2*2個活動塊疊加,人物也要2*2個活動塊,再加上爆炸產生的那個沖擊波,同一行至少要12個活動塊,遠超過了同行8個的限制,肯定是會產生閃爍的。

所以,直升機就是100%背景構成的。

有位網友 @Winston qiu 說,為什麽會產生閃爍現象,在這就稍微說一下。

我們先來個找茬遊戲。

無獎競猜,大家能找出3張圖有幾個區別?

前面說過,寧可讓活動塊消失,也要使同行活動塊控制在8個。

但是,總不能讓同一個活動塊消失,不然敵人都隱形了,那怎麽玩?(而且第一張圖是讓子彈消失,那就要命了,怎麽死的都不知道)

那怎麽辦?輪流來唄。

fc的畫面是每秒60幀,這一幀讓這幾個活動塊消失,下一幀讓那幾個活動塊消失,誰也不吃虧。
你消失一下,我消失一下,看起來就是閃爍的感覺了。

不要問我為什麽主角顏色那麽奇怪,我會告訴你我用觸控式螢幕玩不開無敵根本打不到關底嗎?

再次補充

評論區有個眼尖的網友 @Trueng Charlie 看出問題來了,如果直升機和地面都是同一層背景的話,為何兩者會相對位移?

我真的只是想補充一下 @平機王作者 的答案而已,但是,看大家這麽熱情啊,我一句話不說也不好……

其實這個是用了水平切割原理, @Thinkraft 的一篇文章寫的很詳細了,我就通俗地說一下吧。

fc畫面是一行一行地輸出的,但是輸出的時候可以把這些行給錯開,造成相對位移的現象。

fc上很多遊戲都用了這個方法造成N多層卷軸的假象,比如忍者龍劍傳系列。

比如忍者龍劍傳2的這張圖,草地 火車 森林 遠山都是相對移動的,4重卷軸,厲不厲害?達到了sfc的水準。

這就是水平切割的威力。

群眾:明明說相對位移,你放一張靜態圖,搞毛線啊?

沒錯,靜態圖看不出什麽東西。
但是,再看一組忍者龍劍傳的圖就明白了。

相對冷門的一款GB上的【忍者龍劍傳 決戰摩天樓】

大家可以明白了吧,這就是隼龍如何切割bos……呸,水平切割如何切割boss的。

很慚愧,明明說的是fc,結果用了GB,因為fc上實在想不出更好的例子了,如果大家能想到的話,請告訴我。

ps:求贊求關註啊~

ps2:很慚愧,水平不足,只能說一些淺顯的東西,如果大家想對fc的原理有更深入的了解,請移步本問題下 @Thinkraft 的答案

ps3:居然上日報了~