MUGEN-解析三种版本主程序的差别

/ 0评 / 0

本文根据Elecbyte提供的更新履历以及个人经验所写,附带部分主观内容,如有错误实属本人能力有限,请谨慎观看。同时,本人并非专业人物作者,仅仅对主程序略知一二,所以对于人物方面的区别不会着重介绍而将重点放在主程序上。

1.发布时间

总之,Win、1.0、1.X都是由Elecbyte制作,都属于官方产品,其中1.1属于最新版,Win属于最旧版,详情见MUGEN-版本更迭与主程序克隆

2.游戏开发库

在Win版主程序中,MUGEN采用著名的winAllegro(一个开源的游戏开发程序库),Win版主程序中附带了ALLEG40.DLL这一文件,这是Allegro4.0的静态链接库文件。
Allegro4.0是Allegro第一个多平台的较为稳定的版本,其发布时间为2001年,距今已经有18年的时间,目前Allegro依然保持更新。

在1.X版主程序中,MUGEN并没有继续采用更新的Allegro,而是选择了SDL(Simple DirectMedia Layer),SDL同样是一个开源的多媒体开发程序库。

相关链接:Github-Allegor5Allegor官网SDL官网

基于上述所说的差别,由于Win使用的Allegro版本过低,而1.X又使用了具有重大更新的SDL2.0,所以在画面上1.X具备了很大的优势,具体表现为:
(1)Win版支持DirectX以及GDI绘制,而1.X添加了OpenGL支持
在1.0版本中,OpenGL模式(RenderMode=OpenGLScreen)首次出现,到了1.X,OpenGL模式逐步被完善(RenderMode=OpenGL)。
实际上DirectX也不错,但是MUGEN一直使用的是DirectX5这个版本,这个版本发布时间为1997年,即使到了1.1这个适应的Dx版本依然没有更新,所以效果并不如OpenGL。

(2)对于图像的支持
在Win版本中,MUGEN仅能显示索引图像(8位);到了1.0,依旧没有改变(源于OpenGL模式的不完善);到了1.1,MUGEN开始支持显示RGB和RGBA图像,即在OpenGL下同时支持显示索引图像和真彩图像(8/24/32位)。
同时在渲染过程中,Win版本和1.0版本只能直接渲染PCX图像,到了1.1新支持了PNG图像渲染。

(3)对于界面的配置
在1.1中,MUGEN新支持了垂直回扫(VRetrace)、窗口拉伸(Resizable)、画面拉伸(KeepAspect)以及画面包和场景自适应(SystemFit、StageFit)。

(4)关于字体
Win版仅支持位图字体,而使用了SDL的1.X则支持矢量字体,同时位图字体支持的图像同时更新(同上)。

(5)渲染
1.0开始对MUGEN大部分的画面渲染(部分或者完全)重写,提高了渲染性能。

3.音乐引擎

详见MUGEN-音乐插件 ,1.X开始支持音乐循环点控制。

4.人物

1.X相对于Win,添加了Sctrl:RemapPal、VictoryQuote
1.0相对于Win,添加了Trigger:AILevel、Cond、Const240p、Const720p、GameHeight、GameWidth、StageVar
1.1相对于1.0,添加了Trigger:BackEdge、BottomEdge、CameraPos、CameraZoom、FrontEdge、LeftEdge、RightEdge、ScreenHeight、ScreenWidth、TopEdge
1.1开始AIR支持缩放、旋转以及线性插值,坐标支持浮点数值,详见画面元素;同时Explod支持angle参数。
CNS优化更新略。

5.场景

在1.0中,场景添加了参数:overdrawhigh、overdrawlow 、cuthigh、cutlow、localcoord、xscale、yscale、bgmvolume(替换bgvolume)、bgmloopstart、bgmloopend、hires
在1.1中,场景添加了参数:zoomout、zoomin、tensionhigh、tensionlow
在1.1中,添加了缩放特性,添加了zoom*参数的场景将具有动态镜头。

6.画面包

1.0添加了信息框的定义:[Infobox][InfoText]
1.0添加了血条参数:p*.name.scale、scale(FightFx);
1.0添加了参数:{title, select, vs, victory}.bgm.loopstart、fight.stopbgm
1.0添加了故事版参数:bgm.loopstart, bgm.loopend
同时,1.0也发布了新版的SFF格式,即SFFV2.00,支持内置色表,自带压缩算法

1.1添加了元素参数:maskwindow、startscale、scaledelta、zoomdelta
1.1添加了动态类型的视差元素(Anim parallax)。
1.1添加了FontV2参数:banktype
同时,1.1也发布了新版的SFF格式,即SFFV2.01,支持PNG8/24/32

7.本地化

1.X开始在mugen.cfg添加了Language参数,具体的值可见List_of_ISO_639-1_codes
使用此参数,画面包作者可以根据不同语言制作不同的界面实现本地化,具体见docs/localization.html

8.Coordinate Space

1.X开始在人物、场景、画面包均添加了localcoord参数,用于不同分辨率互相之间的适应,该参数有很多重要的用途,具体见docs/coordspace.html

9.控制台

1.1开始添加了控制台,用于调试,使用快捷键Ctrl+~调用。
在1.1B1,控制台的命令经过预设(docs/mconsole.html),可通过命令help查看;在1.1A4,控制台的命令通过Lua实现。

10.Lua

1.1开始添加了Lua系统,在1.1A4中用户可以通过定义Lua文件为主程序扩展功能,在1.1B1中此功能被关闭。
相关教程:(待添加)