[制作组进]关于mod结构
各位核心成员,最近几位主创人员提到游戏版本和兼容性的问题。我不是很理解,特开一贴请大家一起来继续讨论。
1。平台版本,主要是ERA和VCMI。我个人对VCMI涉猎较少。目前论坛的mod以ERA为主。我就只谈谈ERA的版本问题。由于作者Bersy
更新的频率较快,我们没有精力去全面配合改动。所以我认为mod仅需围绕几个特定版本进行开发。比如2.46,2.9.10等。
2。MOD结构,我想知道mod可否不修改任何平台文件?能否所有的改动均在mod目录下并通过mod管理器来开关和排序?先解决这个问题,后续我们再来讨论如何规范化管理多个mod。如果不得不改动平台文件(增加,删除,修改),主要是哪几个文件?技术难点是什么?
3。对于每个mod的选项设置,我认为,如果作者不希望玩家改的部分,就直接从选项中移除。还有保存设置文件dat能否通过技术限定为只能保存在本mod目录下?还有,每个mod的设置菜单的首页进行一些个性化的修改,不再是统一的"欢迎来到wog设置"
4。升级包,我们讨论了去本体化操作。那么发布mod时将不再提供整合包。虽然会让新手有点为难,但这是不得不走的路。我们可以通过对mod管理器界面进行美化定制来更好的引导新手玩家。也就是大家提到的客户端。玩家下载mod有以下几种方式,①完整mod包(按版本号发布的,比如1.01.211.34等)②增量升级包(相对于大版本号,比如1.21和1.34都是相对于1.0版的升级包,但1.34包含1.21的内容)。玩家安装时,选择安装目录时,系统检查该目录是否含有必须的版本,比如安装升级包就会检查是否有指定的大版本,安装完整mod包时会检查是否有指定版本的ERA,安装ERA是会检查是否有指定版本的H3。
以上是我目前能想到的,更多的内容可在后续回复中添加。
欢迎大家讨论。
1.只要确定了era的版本,规范子mod的文件配置,就能做到mod只在相应子目录下进行。
2.mod管理器不是关键,掌握单纯的修改list.txt就能控制mods的加载卸载和优先关系。完全可以用其它方法来管理mods的增删。
3.能去H3化,先不管wog,也不能去era化,而era版权是尚在的,这难道不也是个问题吗?
4.大型mod,直接分体非H3,加升级包,或以后更新包。也没必要动mods了。动了反而导致更多兼容性问题。
5.既然子mod也能操控游戏的所有方方面面,要管理多mod还得有一份兼容性mods的名单。 支持贤知的说法,现在避免触雷只能是MOD单独化,我甚至后续版本会把美化,头像都单独剥离出来。感觉大家可以整合下素材,升级下贤知的英雄大头像MOD。
目前弄的封魔1.05是准备基于ERA 2.9.10平台版本,说实话,这块真的很乱 现在不说别的,光ERA版本就好多。我手头上有3个ERA版本的 就2.46测试证明了稳定性 后续两个 一个2.8.7 一个2.9.10现在都需要大量游戏运行测试才能验证稳定性。
我也说一下对风侠提到的几个问题的看法。
1. 平台版本。目前论坛的mod以ERA为主,由于作者Bersy更新的频率较快,我们没有精力去全面配合改动。我认为mod仅需围绕几个特定版本进行开发。比如2.46,2.9.10等。
世界范围内英雄无敌3流行的mod无非是基于这五个平台(或mod),即:
ERA - 分2.46版和2.9(或3)版
VCMI
深渊号角HotA
傀儡大师MoP - 分2版和3版
原版英雄无敌3
用哪个平台不重要,关键看能不能符合创作者的需求。
2. mod可否不修改任何平台文件?能否所有的改动均在mod目录下并通过mod管理器来开关和排序?先解决这个问题,后续我们再来讨论如何规范化管理多个mod。如果不得不改动平台文件(增加,删除,修改),主要是哪几个文件?技术难点是什么?
如果多个mod用不同平台进行开发,在一定情况下也可以共用一个英雄无敌3基底,需要具体情况具体分析。
但有明显冲突的是ERA 2.46和ERA 2.9(或3)。由于冲突的文件数量较多,建议使用不同的英雄无敌3文件夹分别存放这两个平台的mod,不要尝试通过分析冲突文件做“ERA版本一键切换器”,硬盘速度有限...
不得不改动平台的情况——这里就拿@贤知有您即将发布的魔力觉醒mod来讲。原本是一个ERA 2.46的mod,但由于改动了硬编码(h3era.exe),实际上已经算是独立于ERA 2.46以外的新平台了,一般2.46的脚本在魔力觉醒里是不适用的。这种情况也是建议单独用一个H3文件夹存放的。
3. 对于每个mod的选项设置,我认为,如果作者不希望玩家改的部分,就直接从选项中移除。还有保存设置文件dat能否通过技术限定为只能保存在本mod目录下?
选项移除与否取决于mod作者。有些对于官方脚本变动不大的mod,如果需要禁用某个官方选项,将选项留在菜单里并标注禁用,也是较为友好的让玩家了解信息的方式。
WoG选项设置的保存/读取位置在mod内部——ERA 2.46不行,ERA 2.9可以。
4。升级包,我们讨论了去本体化操作。那么发布mod时将不再提供整合包。
这里我复述一下我以前提到的问题。下载即玩这个目标可以通过捆绑英雄无敌3资源文件+mod来实现(现有的方式是捆绑完整H3文件+mod)。玩家无法通过这个捆绑了H3资源文件的mod包玩到原版英雄无敌3。这也是HotA的发布形式。这种情况在新的论坛规范里,是否符合要求?
既然大C也回复了,我这里解释一下ERA稳定性的问题。
我手头上有3个ERA版本的 就2.46测试证明了稳定性 后续两个 一个2.8.7 一个2.9.10现在都需要大量游戏运行测试才能验证稳定性。
目前没有恶性已知bug、流行的ERA版本是2.46f和2.9.14。这里的稳定指的是和官方WoG脚本相处融洽。封魔导入了大量自定义脚本,在新ERA里确实需要不少测试和修复。
也回复一下baalkyo提到的问题。
mod版本 有几个要素 操作系统 ,比如 windows安卓等。
这个是多虑了...支持安卓的英雄无敌3仅有VCMI,目前论坛主推的mod都基于ERA——Windows only.
关于mod管理,暂时这样考虑:
1 mod版本 有几个要素 操作系统 ,比如 windows安卓等。 作者mod版本号,作者mod需求mod的前提,比如era 等。这些设置需要程序能识别的版本号文件对应。版本号文件 可以是json文件,包含操作系统原h3版本 作者mod版本 前提需求mod版本文件md5 校验字符串
2 mod安装是对原版的文件覆盖,管理器应该有反覆盖的脚本和覆盖文件的脚本,方便玩家来选择和安装使用不同版本的mod。
3 根据作者的开发进程不同,基地的mod比如era可以存在多种版本选择。
Archer30 发表于 2020-6-22 11:03
我也说一下对风侠提到的几个问题的看法。
目前没有恶性已知bug、流行的ERA版本是2.46f和2.9.14。这里的稳定指的是和官方WoG脚本相处融洽。封魔导入了大量自定义脚本,在新ERA里确实需要不少测试和修复。
唉,平台比MOD更新频率还快,说实话真的是够了。{:1_466:} 像魔力觉醒mod这样的,如果没办法共用era 那就只能单独提供安装包。只是这个安装包方便剥离H3吗? 说实话,多个mod如果不能共存共用资源,每个都单独下载安装,对于玩家来说不够友好。如果想要每个mod尝下鲜,岂不得下载几十甚至几百G的文件。 songfx 发表于 2020-6-22 17:19
说实话,多个mod如果不能共存共用资源,每个都单独下载安装,对于玩家来说不够友好。如果想要每个mod尝下鲜 ...
风侠实在是多虑了,像我上边说的,具体情况具体分析。我这里就以论坛拥有主版面的几个mod做一下方案
囊括的mod(或平台):ERA 2.46f、ERA 2.9.14、封魔、新英3、封神、逐鹿城、VCMI(及其相关mod)、深渊号角、傀儡大师、堕落灾变、魔力觉醒
最多需要4个英雄无敌3文件夹来实现将他们全部包含进去,具体方案如下:
文件夹1:ERA 2.46f、封神、新英3
文件夹2:ERA 2.9.14、封魔、逐鹿城
文件夹3:魔力觉醒
文件夹4:堕落灾变
未在以上列表的mod(或平台),包括VCMI(及其相关mod)、深渊号角、傀儡大师可以安装在1-3号任意文件夹。
其中魔力觉醒其实是一个很tricky的状态,虽然我上边将他安排了单独文件夹,但实际上如果允许用户消耗一些耐心,在每次运行前用ERA 2.46f的文件夹进行临时文件替换的话,也可以和1号文件夹共用(具体方案在此不表,Windows批处理就能做)。这样的话,就只需要3个文件夹了。
当然我这里的方案实际上是假定了封魔、新英3都能完美地将其修改内容限定在ERA\Mods文件夹内,@canary @titanzwh 能否验证一下这个结论?如果不能将修改内容限定在mods文件夹内,能否提交一份需要动到ERA主目录文件的文件列表?(可使用Beyond Compare与官方ERA进行比对)
像魔力觉醒mod这样的,如果没办法共用era 那就只能单独提供安装包。只是这个安装包方便剥离H3吗?
整合mod的大原则:
不同版本之间的ERA之间无法整合
就把魔力觉醒理解成ERA 2.47好了。它虽然没办法直接整合到ERA 2.46或ERA 2.9.14的文件夹,但它和H3的分离情况与其他ERA系mod完全一致(如封魔、新英3)
Archer30 发表于 2020-6-22 18:34
风侠实在是多虑了,像我上边说的,具体情况具体分析。我这里就以论坛拥有主版面的几个mod做一下方案
...
封魔没啥问题,本身就是独立的MOD,只是鉴于一群老玩家从来不看说明,懒得每次都口干舌燥一遍遍解说才干脆打包的,我每次只更新补丁多好,每次就一点点东西就完事。免得每次都要像现在一样重新整合好然后上传,有时候手忙脚乱还把不该放出去的东西放出去了(比如贤知的操作增强4.0)。。。。。。 既然此帖已经被移动到自由天地版块,我觉得有必要为吃瓜群众科普一下来龙去脉,以便参与讨论:
论坛的技术骨干打算在未来推出一个一站式客户端,可以实现论坛mod及平台的购买、下载、更新、新闻资讯推送和不同mod的启动(参考暴雪战网平台)。此贴讨论的便是针对论坛现有的mod以及未来可能有的mod,需要用一个怎样的方式整合在一起,既不产生冲突又能最大限度地节省磁盘空间。
这里非常欢迎论坛现有各个大型mod的作者,包括@XEricSin @hell____fire @scare @我是个好人 @titanzwh 发表一下对这样的客户端的看法,以及自己的mod和其他mod/平台的共存情况(是否能将改动都存在mod文件夹内而不动平台?)
其他未被@到的mod作者,或者跃跃欲试的吃瓜群众,我也在此诚挚邀请你们在此帖发表你们的重要看法。
era的mods框架是完全没问题的。在2.9版上开发的新mod基本上是不愁变量冲突的,因为可以自定义变量。而且新版的mod管理器中是可以读取mod的兼容mod和加载优先度配置的。只要不在内存上有太大的动作是没什么问题的。
做大型mod的话,就要作者间沟通好了。像我的逐鹿城只针对生物系统和新英雄,ACM则在英雄二阶职业,装备,魔法上该动。跟我的逐鹿城很大部分上可以互补,但也在部分英雄设置上有冲突,只能双方各自从代码上修改,改善兼容性。
Mod发布可以有个推送机制,但是可能太费劲,需求也不大。基本上就只有封魔这个主力产品。就我个人而言,半年内是不会有任何更新的。
最重要的还是要让玩家,特别能动手的玩家善于使用MOD的结构。可以在开始菜单里放个MODS文件夹的链接,最好放mod管理器旁边,一来提醒有这个添加新MOD的简单机制,二来真的比到根目录找MODS文件夹方便。这样才能引导玩家把mod丢到mods里。 XEricSin 发表于 2020-6-23 13:51
era的mods框架是完全没问题的。在2.9版上开发的新mod基本上是不愁变量冲突的,因为可以自定义变量。而且新 ...
说得在理,不过目前还未到“同时开启多个ERA mod的兼容性尝试”阶段,还仅仅在讨论把他们放在一起而不产生文件冲突。
我也非常同意“太费劲,需求不大”的结论
下一版论坛主推的ERA版本会用daemon_n的整合版为蓝本,届时会在启动菜单加入mods文件夹快捷方式 Archer30 发表于 2020-6-23 15:19
说得在理,不过目前还未到“同时开启多个ERA mod的兼容性尝试”阶段,还仅仅在讨论把他们放在一起而不产 ...
多个mod共存,不等于多个mod同时加载。想按各自mod的排序是很容易的。比如玩家在启动菜单选择封魔,则自动调整为封魔所需的mod列表。如果玩家在启动菜单选择逐鹿,就自动调用逐鹿的列表。这个在技术上没有太大的难度。
另外我建议每个mod,除了公用部分比如汉化界面,其余全部放进一个mod文件夹里。
页:
[1]