Board logo

标题: [专题讨论] DQ4第四章末尾出航一幕是FC上最奇技淫巧的开发技术吧! [打印本页]

作者: chenke    时间: 2016-9-16 01:16     标题: DQ4第四章末尾出航一幕是FC上最奇技淫巧的开发技术吧!

解析FC SPRITE和BG技术的老视频,最后压轴登场的是DQ4第四章末尾出航一幕:
http://www.nicovideo.jp/watch/sm13640458

上面视频的字幕太简单,弹幕太乱,我找到了一篇详细解说的文字:(求哪位达人精确翻译如下最后一节)
http://wikiwiki.jp/dqdic3rd/?%A1%DA4%BF%A7%A1%DB
引用:
スプライト制限を敢えて無視し、チラつきもさせず表示限界で欠けさせることによる演出も存在する。
その最たるものが、【第四章 モンバーバラの姉妹】のエンディングの出航シーンであろう。
ただ眺める分にはなんてことのないシーンだが、実はファミコンの機能を弱点を含めて最大限発揮している。

   1. 画面を上にスクロールさせることで船のBGが下方向に移動しているように見せる
   2. 海のBGを移動に合わせて差し替え続けることで海面が動いていないように見せる
   3. 港の桟橋を途中でBGからスプライトに差し替えた上でマスト部分にスプライトの塊を仕込み、
    桟橋とマストが重なる際に水平配置数限界によるスプライト欠けで桟橋を消滅させ、
    あたかも桟橋の上をマストが通過したように見せる

桟橋をスプライトで描く理由については、2の理由でBGを細かく差し替え続けなければならない関係上、桟橋もBGで描くと 、ちょっと動かすだけで1マスが海と桟橋の重なった状態となり、発色数が4色を越えてしまう。
しかしただスプライトにするだけでは、桟橋がマストの上に表示されてしまうので、敢えてスプライトを欠けさせて整合性を取っている。
我初步理解的,请指正!
初看平淡无奇的大船出航,隐藏着FC上最奇技淫巧的开发技术:
1、大海和船是背景BG,海港栈桥是活动块SPRITE
2、画面向上卷轴滚动,却巧妙地实现了看起来大海没动、船向下动的效果(怎么实现的?)
3、海港栈桥是活动块SPRITE,按道理应始终覆盖在大海和船(背景BG)之上,却巧妙地实现了船帆盖过栈桥的效果:
FC的活动块SPRITE在同一扫描行上有不能超过8个的限制,开发人员在船帆左边同步隐藏了多余的活动块,当船帆划过栈桥时,同一扫描行上的活动块SPRITE超出了8个,正好设置栈桥活动块SPRITE不显示,于是顺利实现了一瞬间船帆盖过栈桥的效果!!
作者: 暗蛹    时间: 2016-9-16 07:36

posted by wap, platform: GALAXY S IV
Nico国内被墙很久了吧
作者: HDE    时间: 2016-9-16 08:24

posted by wap, platform: iPhone
错了,是国内被Nico墙了很久了。
作者: joker23    时间: 2016-9-16 09:34

posted by wap, platform: Android
这个确实是有想法,资源不足的年代搞开发真的很费脑子
作者: taishen001    时间: 2016-9-16 10:26

posted by wap, platform: iPhone
有视频没??
作者: lancky    时间: 2016-9-16 11:23

居然login才能看
作者: bbsbot    时间: 2016-9-22 08:45

不错的视频,已下载保存。
感叹在FC硬件性能低下的环境下,开发者不断挑战画面及音乐极限。
作者: jzwtxp    时间: 2016-9-22 17:52

posted by wap, platform: 红米Note3
谁把视频给转过来看看?DQ只通了1,剩下的皆烂尾。
作者: xu33    时间: 2016-9-23 08:08

posted by wap, platform: iPhone
看不了 谁转一下youku
作者: uc0093    时间: 2016-9-25 02:23

谁传个YOUKU?
作者: XshadowX    时间: 2016-9-25 16:08

喷了,这么多人都能看,就是没有一个人下载了上传的
https://pan.baidu.com/s/1jHDzNAe
密码:edfc
作者: werety    时间: 2016-10-2 08:17

引用:
原帖由 XshadowX 于 2016-9-25 16:08 发表
喷了,这么多人都能看,就是没有一个人下载了上传的
https://pan.baidu.com/s/1jHDzNAe
密码:edfc
感谢11楼的兄弟,俺下载之后上传youku
http://v.youku.com/v_show/id_XMTc0NTMwMTA5Mg==.html?from=y1.7-2
看过视频和网络评论之后才发觉FC游戏有着太多的机能限制,怪不得之前硫酸脸说过类似“FC游戏开发难度比ps3还高”的话。
DQ开船那个视频,在虚线网格演示那里,画面外部连接船帆的部位也有几个网格,看了N次没看明白,经过楼上诸位科普之后才明白是故意加上去的,横列超过8个活动块就无法显示,船帆能“遮住”舢板,机能劣势在这里居然成了实现特殊效果的关键,佩服80年代的游戏制作者们。。。。。。

[ 本帖最后由 werety 于 2016-10-2 08:37 编辑 ]
作者: chenke    时间: 2016-10-2 12:53

我咨询了些专家,基本上搞懂了第2条大海没动、船向下动效果的原理:
引用:
这里说的 BG滚动并不是重点
重点在于

本来BG是不可能遮挡SPR的
但是BG的船帆却能正确遮挡SPR的栈桥
技巧在于在船帆的左侧放上了不可见的SPR 用来占掉FC同行最大8个SPR的机能
这样当船帆和栈桥同行的时候 右侧的栈桥SPR就会因为超过最大SPR数 而不会被显示出来
相当于机能限制的逆应用 非常邪道

上面最后一段说的是 解释为什么不把栈桥也用BG 而要用SPR
因为只要栈桥用BG的话 就不存在遮挡问题了
而那个原因在于 因为海和栈桥一起滚动是连续的(实际是海在向上滚动 并非船在向下)
所以连续滚动中有可能出现栈桥和海在同一个BG格的情况
这时候就会由于发色数的限制 使得栈桥的颜色无法正确显示出来
因此栈桥 必须 使用SPR而不能使用BG

最后 关于为什么要让海的BG向上滚动 而不是让船的BG向下滚动
我日文不太好 不知道主楼的帖子里有没有详细分析这个原因
但是原因大致可以推测的到
因为船上的颜色更复杂 让船的BG连续滚动的话 上面提到的不同颜色的滚入同一BG格的情况根本无法处理
所以相反 让颜色更单调的海的BG向上滚动的话 就只需要解决栈桥的问题了

哦对了 补充下
FC的硬件滚动机能是不能让2个不同的BG层相对滚动的 只能把所有BG层一起滚动
所以上面我提到的“滚动”并不是指的FC的BG硬件滚动
而是通过在BG层上绘制滚动的图像实现的软件滚动
因此才存在上面提到的 不同颜色滚入同一个BG格的情况(硬件滚动就不存在这种情况了)
所以实际上这里的滚动 海的BG相对船的BG向上滚动是用的软件滚动 而船的BG和海的BG整体向下滚动用的是硬件滚动
引用:









欢迎光临 TGFC Lifestyle (http://tgfcer.com/) Powered by Discuz! 6.0.0