基于RPGMV引擎“斗破苍穹”单机游戏音频格式扩展的分析与设计
  摘要:RPGMV又称或全称为RPG Maker MV,RPGMV是一款专门用于开发rpg游戏的游戏编辑器,核心功能是RPG游戏的事件设计和地图设计;该引擎采用了基于HTML5的JavaScript编写的脚本语言作为框架,可视化界面作为交互,极大的方便了开发者制作游戏的成本;其中所使用的代码块都用简单逻辑进行了封装,用户可以无需手写代码,只需要懂得简单的物理逻辑,就能够制作一款可操作的完整游戏;可就因为于此,该引擎有许多的功能受限,如音频在window平台只允许ogg文件格式,在Android平台只允许m4a文件格式,因此在rpgmv的工程文件里面一样的音频放两种格式很占内存空间,转换起来也非常繁琐。由此我们针对RPGMV引擎内部存在的问题进行了一系列的分析并解决。
关键词:RPGMV;斗破苍穹;m4a;ogg;opus;音频格式;音频编码

 
        引言
        RPGMV传统的脚本编辑器已经移除,取而代之的将是一个更简单的脚本管理工具,使用简单的JavaScript,实现了原来的第三方脚本特性的原生化集成,能够在JavaScript基
础上编写插件弥补PRGMV原生引擎的不足;在本次研究中,我们主要分析的是如何设计一款插件来弥补RPGMV引擎对于不同平台要求不同格式的音频进行统一处理,在内存利用率最大的情况下,游戏音频在同等码率下,音质最好文件体积最小,对cpu的性能消耗也最少。
        1三种音频格式的对比
        音频编码分为无损、有损和非压缩编码三种。无损编码降低了声音文件的总数据量但可以解码为无压缩的原始声音文件。有损编码通过压缩降低声音的比特率来减少数据量占用,但会带来永久性的信息丢失。日常使用的音频经常是以压缩格式出现的,如OGG,优点是文件小,传输方便。而像m4a等无损编码格式虽然文件更大,但有时也会用到无损音频格式,例如PCM编码(.wav)格式也会在某些场景下用到。因此选择哪种编码格式还要具体分析。
        音频编码格式有上百种,考虑到系统的兼容性,这里只讨论几种最具有代表性的、适用范围最广的音频格式,分别是OGG,M4A,OPUS。
        1.1 OGG音频格式
        MP3是有损压缩格式,因此压缩后的数据与标准的CD音乐相比是有损失的。OGG也
是有损压缩,通过使用更加先进的声学模型去减少损失,因此,同样位速率(Bit Rate)编码的OGG与MP3相比听起来更好一些。
        优点1:Ogg Vorbis的音质和MP3不相上下,但无法和FLAC比;
        优点2:Ogg Vorbis格式支持流式播放;
        缺点1:播放兼容性差;
        缺点2:相对于已经普及的微软WMA格式,ogg没有任何优势。不管是播放软件兼容性,码率,流媒体等方面;
        缺点3:很多专业音频制作软件不支持ogg文件格式。
        1.2 M4A音频格式
        m4a是属于苹果专用的格式 也称“alac”m4a是无损压缩的音频格式。
        优点1:几乎所有支持MPEG4音频的软件都支持“.m4a”;
        优点2:相对于有损压缩的音频编码,m4a格式的音频要比mp3的音频还原音乐更好;
        缺点1:内存占用空间相对较大。
        2插件设计
        2.1插件制作分析
        我们打开rpg_core.js插件核心,并到初始化音频系统。
        从中我们了解到为什么RPGMV引擎只支持这两种音频格式的原因,为此我们针对该代码进行方法的重载,为不影响游戏的核心代码出现问题,我们重新引用设计一个插件AXY_Audio.js。
        2.2函数主体核心设计(方法的重载)
        WebAudio._detectCodecs = function (){
        var audio = ateElement('audio');
        if (audio.canPlayType){
        this._canPlayOgg = audio.canPlayType('audio/ogg');
        this._canPlayM4a = audio.canPlayType('audio/mp4');
        this._canPlayOpus = audio.canPlayType('audio/opus');
        }
        };
        2.3插件详情
        插件使用方法很简单,可以强制指定游戏读取某种格式的音频文件比如.m4a,如果参
数留空,则按照如下优先级进行加载:
        .ogg, .m4a,.opus;
        这三个也是该插件目前支持的格式,所以理论上你也可以用opus。
        经过测试,PC 和 Android studio 编译的安卓支持ogg m4a opus。
        新增的opus是目前最新的音频编码技术,在同等码率下,它的音质最好文件体积最小,对cpu的性能消耗也最少。
        这个opus虽然不被rmmv支持,但经过插件扩展,目前是可以正常播放的,低延迟无卡顿,开源免费无版权隐患。
        2.4插件装载并使用
        我们将插件放入游戏工程文件夹\js\plugins中,并在菜单栏中到插件选项,并加载AXY_Audio插件,设置PC和安卓端默认的音频格式为opus。
        之后在游戏工程文件夹\audio中,将所有的音频文件格式通过格式工厂转化为opus文件格式,并且只保留该格式文件,系统默认的ogg与m4a文件全部删除。
        最后我们测试游戏,发现游戏并无报错,音频质量良好。
 
javascript游戏引擎
   
  图3 游戏界面主菜单图      图4 游戏人物界面主菜单图        3结语
        RPGMV是一款功能强大、素材丰富并且操作极其简单的角扮演游戏开发软件,它的脚本编辑采用了一个更简单的脚本管理工具,使用简单的JavaScript,实现了原来的第三方脚本特性的原生化集成。
参考文献
[1]雷玉.rpg.blue/thread-478892-1-1.html
[2]星宿君.rpg.blue/thread-479733-1-1.html
[3]黄俊卓,李亮.基于RPG Maker XP的“南国精英”游戏地图制作[J].电脑知识与技术,2014,10(01):147-150.
[4]常静,李亮,黄俊卓.基于RPG Maker XP的“南国精英”游戏事件制作[J].电子测试,2013(12):12-13.

作者简介:胡心锋(1999.04-),男,江西丰城人,现就读于新余学院,17级计算机科学与技术专业学生。
 
 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。