您将如何存储复杂的 NES 精灵,例如原版《最终幻想》中的精灵?

发布于 2024-09-11 05:09:50 字数 556 浏览 10 评论 0原文

我知道 NES 有 4 色精灵(其中 1 种通常是透明的编辑:根据 zneak,1 种颜色总是透明)。那么原版《最终幻想》怎么会有这么多4色+透明的精灵呢? (示例精灵表——特别是看看底部附近的大的。)

我知道你可以对精灵进行分层以获得额外的颜色(例如:Megaman的分层给了他6种颜色:body = 3 + trans,face = 3 + trans )。奇怪的是,这些 FF 都是 4 种颜色 + 透明。如果FF使用类似的分层,为什么他们会止步于4+1而不是利用6+1呢?

是否有另一种显示精灵的方法可以为您提供额外的颜色?

同样有趣的是,大精灵的尺寸为 18x26。精灵是 8x8(我想我在某处读到它们有时是 8x16),但 18 和 26 都是 [8 的因子] + 2。非常奇怪。

I know that NES had 4-color sprites (with 1 usually being transparent Edit: according to zneak, 1 color is always transparent). How then did the original Final Fantasy have so many sprites with 4 colors + transparent? (Example sprite sheet -- especially look at the large ones near the bottom.)

I understand that you can layer sprites to achieve additional colors (For example: Megaman's layering gives him 6 colors: body=3+trans, face=3+trans). It's odd that these FF ones are all exactly 4 colors + transparent. If FF used similar layering, why would they stop at 4+1 instead of taking advantage of 6+1?

Is there another method of displaying sprites that gives you an additional color?

Also interesting is the fact that the big sprites are 18x26. Sprites are 8x8 (and I think I read somewhere that they're sometimes 8x16) but both 18 and 26 are [factor of 8] + 2. Very strange.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

许久 2024-09-18 05:09:51

我刚刚快速浏览了精灵表,但在我看来,超过 3 种颜色 + 1 种透明的精灵要么拥有武器,要么使用 3 种颜色 + 黑色轮廓。另外,如果您可以显示带有网格分隔图块的精灵表......

I've just had a quick glance at the sprite sheet, but it looks to me that sprites with more than 3 colors + 1 transparent either have weapons or use 3 colors + a black outline. Also, if you could show that sprite sheet with a grid separating tiles...

狼性发作 2024-09-18 05:09:51

也许额外的两种颜色是为武器保留的。

Maybe the extra 2 colors were reserved for the weapons.

相思碎 2024-09-18 05:09:50

据我所知,1 通常不是透明的:它始终是透明的。

正如您所指出的,精灵是 8x8 或 8x16(这取决于映射到 CPU 地址空间中内存地址 0x2000 的 PPU 控制寄存器的第 6 位)。字符大小不是 8 的倍数仅仅意味着一个或多个构成的精灵中有浪费的像素。

对于颜色,我不敢苟同:底部的最后一个精灵,剑举起,有以下 8 种颜色:
最终幻想精灵 8 种颜色:黑色、棕色、米色、天蓝色、海军蓝、深绿松石色,绿松石色、青色 http://img844.imageshack.us/img844/2334/spritecolors.png

我相信这更像是一种艺术选择,因为每个 8x8 块仅限于 3 种不透明颜色;也许使用更少的颜色会更一致。

As far as I know, 1 isn't usually transparent: it always is.

As you noted, sprites are either 8x8 or 8x16 (this depends on bit 6 of the PPU control register mapped to memory address 0x2000 in the CPU's address space). Character sizes not being a multiple of 8 simply means there are wasted pixels in one or more of the constituting sprites.

For the colors, I beg to differ: the last sprite at the bottom, with the sword raised, has these 8 colors:
Final Fantasy sprite 8 colors: black, brown, beige, sky blue, navy, dark turquoise, turquoise, cyan http://img844.imageshack.us/img844/2334/spritecolors.png

I believe this is more an artistic choice, because each 8x8 block is limited to 3 opaque colors; maybe it just was more consistent to use fewer colors.

南城追梦 2024-09-18 05:09:50

我找到了答案。我终于崩溃了,下载了 ROM 并用 NAAPIT 提取了位图。 (顺便说一句:盯着提取的 ROM 位图对你的眼睛来说真的很难受!)

我匹配了一些位图和最终结果 这里

每个角色都有一种颜色,大部分都属于精灵的顶部,所以我追逐这个想法一段时间。事实证明这是一条红鲱鱼。比较游戏中的精灵与颜色遮罩,您可以看到黑色和透明使用相同的颜色遮罩。因此,如果显示黑色轮廓,则它必须位于单独的图层上。然而,尽管精灵表上有黑色轮廓,但我在游戏中找不到任何黑色轮廓的真实示例。

这是 YouTube 上的视频,其中有很多很好的示例。当您处于蓝色背景屏幕(@ 0:27)时,轮廓和黑法师的脸是背景的蓝色(即:没有黑色轮廓,它是透明的)。在战斗中,背景是黑色的。 @ 1:46 施放了一个咒语,使背景变成灰色。所有黑色区域,包括轮廓和黑色眼睛,都会呈现灰色。视频的这一部分还使用不同颜色的闪光施放其他咒语。结果是一样的。

真正的答案是精灵表上的黑色轮廓在游戏中似乎不存在。制作精灵表的人会截取黑色背景的屏幕截图,并将背景擦掉。

I found the answer. I finally broke down and downloaded the ROM and extracted the bitmaps with NAPIT. (btw: staring at extracted ROM bitmaps is really bloody hard on your eyes!)

I matched a few bitmaps and end-results here.

Each character has a color that is mostly relegated to top part of the sprite so I chased that idea a while. It turns out that's a red herring. Comparing the in-game sprites vs. the color masks, you can see that black and transparent use the same color mask. Therefore, IF a black outline is shown, then it must be on a separate layer. However, despite the black outlines on the sprite-sheet, I can't find any real examples of black outlines in the game.

Here's a video on YouTube with lots of good examples. When you are on the blue background screen (@ 0:27), the outlines and the black mage's face are the blue of the background (ie: there is no black outline, it's transparent). In combat, the background is black. @ 1:46 a spell is cast that makes the background flash grey. All black areas, including outlines and black eyes, flash grey. Other spells are also cast around this part of the video with different colors of flashes. The results are the same.

The real answer is that the black outlines on the sprite sheet don't seem to exist in the game. Whoever made the sprite sheet took the screenshots with a black background and scrubbed the background away.

ι不睡觉的鱼゛ 2024-09-18 05:09:50

您可能想查看 Game Development StackExchange 而不是这里。

You might want to check out Game Development StackExchange instead of here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文