【移植说明】
这是MD《ラングリッサーII》(日版 1.2)的爱好者重制,免费,不赚钱。
《梦幻模拟战》的名字、角色、剧情、美术、音乐,版权都是原作的。这个东西只给同好玩。别拿去卖:烧录卡、收费模拟器、付费群,都不行。要是你花了钱,那是被骗了,退款,举报卖家。
主题曲MV《三十年后,在掌心》:https://www.bilibili.com/video/BV1ZKWy6JE9s
引子
第一次见到梦战,是在同学家的MD上。
日版卡带,满屏片假名,一个字不认识。我们看头像猜谁是好人,看颜色认谁是敌人,选项闭着眼按。雇佣兵怎么配,枪兵打骑兵为什么那么疼,都是死过几回才懂的。剧情到底讲了什么,要等很多年后翻到攻略本。
同学的哥哥说有隐藏关。打到某一关,做到某件事,后面会多出几关。我们试了一整个暑假,一次没打出来。那时候觉得这游戏好大,怎么也玩不完。
后来MD收进了柜子,梦战停在那个下午。
三十年后,我想把它拿回手里。在掌机上,用我看得懂的字,听他们开口说话。
这是什么
一个GBA游戏。游戏逻辑是MD原作的,画面、文字、声音都给GBA重做了一遍。
1.0 里有:
完整主线和全部隐藏关,玩法、数值和MD原作一样
中文、日文、英文,开机选;中文角色名用手游《梦幻模拟战》的官方译名
每个画面按 GBA 的 240x160 重新排,MD的美术原样用,不缩放
日语剧情全程配音,3533 页,大概 216 分钟(只有GoGBA能听,见下面)
按R能看每一关的隐藏要素和条件,条件是对着原作脚本一条一条查的
战斗可以按B跳过;原作的选关秘技还在
怎么玩
任何GBA模拟器都能从头玩到尾。 ROM是标准格式,不到32MB。
想要下面两样,用 GoGBA:
配音:语音包和ROM一起导入,对话框一出来,角色就开口
震动:地图上有部队被打掉(敌我都算)震一下,メテオ、アースクエイク 震屏的时候一直震
四周
10月17日开工,今天1.0,四周,748 次提交。
代码几乎都是AI写的。我定方向,做取舍,看画面,听声音,自己玩,告诉它哪里不对。快是AI快,对不对得靠人盯。
第一周的东西全扔了
MD屏幕320x224,GBA240x160。最省事是整个画面缩到0.75倍。第一周我就这么干的,能跑,能玩。
然后发现字没法看。细笔画缩没了,「HP 10」变成「HP 0」,像素画糊成一片。
那周的东西全扔了。之后只认一条:这是 GBA 游戏,不是缩小的 MD。美术 1:1,对话框、菜单、地图镜头、战斗场景,一个画面一个画面按 GBA 屏幕重新排。字全换成 GBA 的点阵字体(Fusion Pixel 10px),中日英一套排版。
也走过弯路。让 AI 重画过全部美术,把地图格子改成过 16x16,最后都删了。原作那些像素,就是最好的素材。原作的逻辑一行不动
为了玩起来和原作一模一样,逻辑没有重写。MD 的 68000 机器码翻成 C,再编译到 GBA 上跑。存档、敌人怎么走、伤害怎么算,都是原作那一套。
麻烦在速度。GBA 的 CPU 比 MD 快不了多少,还要多干一份重新排版的活。规矩是:MD 的每一帧,GBA 必须一帧跑完,看最重的那帧,不看平均。
最重的帧在大地图和大魔法上,只能一帧一帧抠。热循环改成 ARM 原生代码,塞进 GBA 那 32 KB 高速内存;只重画变了的地方;字分几帧画完。每次改完都跑一遍逐帧计时,比上一版慢就不合。
配音装不进卡带
翻译是 AI 起的稿。先定术语表,人名、职业、道具都对照手游官方译名。每句话按 GBA 的窗口重新断行,句号和引号不会落到行首。
配音是最后加的。几个小时的语音,ROM 里只塞得下十分之一,音质还没法听。所以做成外挂语音包,GoGBA 来放,ROM 只告诉模拟器「现在是哪一句」。别的模拟器照样玩,只是没声音。
声音是 ElevenLabs 做的。每个角色先写一张卡:多大年纪,什么性子,嗓音多高。开发日志视频下有位观众提了 PS 版的配音,我拿来当选角参考,量了几个主要角色的音高,再回来调我们的声音。PS 版的录音没有用。
我当它的眼睛
AI 写代码快,可它看不见画面,也听不见声音。这四周我花时间最多的就是这件事。
找 bug 靠三样:
自动巡检:脚本把每一关从头打到尾,一帧一帧查闪烁、残影、掉帧、单位画错地方,最后出报告
对原作数据:地形名、隐藏条件、过关条件,都从 MD 原作的数据表和脚本里查,不凭印象。R 键那页一开始写错过好几个条件,就是这么一条条对出来的
我自己玩:手机上一关一关打,看着不对就截图告诉它。脚本能发现「这帧和上帧不一样」,发现不了「这个字太靠上」「这个菜单不像原作」
每踩一个坑,就记进一份给 AI 看的清单,下次别再踩。四周下来,清单记到了 136 条。
开源:GXA
配音用的那套办法,我整理成了一份公开规范,叫 GXA(GBA 外挂音频),今天开源:
它对 GBA 来说,差不多是 SNES 上的 MSU-1。ROM 写几个寄存器,支持 GXA 的模拟器就去 ROM 旁边的 .gxa 包里找对应的音频来放。不支持的模拟器和真机上,ROM 照常跑,放原来的声音。
仓库里有规范、打包工具、一个自检 ROM,有中文说明:
做改版、做自制游戏的:可以给游戏加配音、换编曲、换高音质音效。只有 ROM 没源码的,也有 hook 指南
写模拟器的:照规范实现,拿自检 ROM 验
规范是 CC BY 4.0,工具是 MIT。梦战是第一个用它的游戏,GoGBA 是第一个支持它的模拟器。
谢谢
做出《ラングリッサーII》的那些人
手游《梦幻模拟战》的中文译名
mGBA、Musashi(68000 模拟)、Fusion Pixel 字体、ElevenLabs
最后
做到最后一关,我把结局看了一遍。艾尔文的结局里有这么几行:
自遥远的过去延续至今的光与暗的对决,因艾尔文等人的活跃,如今终于迎来了落幕之时。
而他在这场战斗中得到了珍贵的东西。那就是不仅凭言语,更是同生共死才得来的、值得信赖的伙伴们。
三十年前坐在电视前的那个小孩,看不懂这几行字。
现在看懂了。
作者:hamberluo
来源:https://www.bilibili.com/opus/1270374506433609737
hamberluo1
玩家评论
发表评论