扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 122|回复: 0

[转载发布] 【RGM】RGModern 1.0.4 - RMXP新runtime

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 114 天

    连续签到: 4 天

    [LV.6]常住居民II

    2338

    主题

    403

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    10622
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    13391

    灌水之王

    发表于 2024-4-19 17:25:42 | 显示全部楼层 |阅读模式
    RGModern 1.0.4 已发布

    RGM 目前有2位贡献者,我和本贴6楼的 kirh_036。

    项目已开源,github仓库地址:https://github.com/gxm11/RGModern

    在线文档:RGModern使用指南,文档编辑中……

    以下照搬 Github 仓库的 Readme。

    简介

    RGModern 是极具现代化特色的 RMXP 新 runtime,主要使用 C++20 和 Ruby 3 编写。

    RGModern 特点:
    1. 对 RGSS 功能的几乎 100% 覆盖,并提供了一些额外的实用功能;
    2. 使用各种优化技巧提升执行效率,画面流畅,性能强劲;
    3. 使用 SDL2 作为底层,支持 Direct3D9,Direct3D11 和 OpenGL 绘制;
    4. 驱动多个 worker 完成脚本逻辑、画面渲染等任务。worker 以多线程或者协程的方式合作;
    5. 借助 C++ 元编程,RGModern 能自由配置每个 worker 的功能模块,利于二次开发。

    编译

    游戏制作者请下载:RGM小助手,并按照以下步骤操作:
    1. 更新编译环境 1 次;
    2. 更新 RGModern 1 次;
    3. 选择合适的编译、链接选项,开始编译;
    4. 打开产物所在目录。

    注意:
    1. 第一次使用请更新 2 次编译环境并更新 2 次 RGModern;
    2. 小助手自带的 RGModern 仓库安装在 ./msys64/opt/RGModern 下;
    3. 选择 Data 文件夹将制作加密包,选择后将强制使用普通模式。

    二次开发者请查阅使用指南和 Makefile,或参考 Github Actions 的设置。

    使用

    在 Windows 上使用必须安装 DirectX 最终用户运行时

    直接使用 Game.exe 代替原版的 Game.exe 即可。大多数脚本都会兼容,如果出现不兼容的情况或者其他运行时报错,请查看 error.log 尝试排查错误。

    如果出现 RGModern Internal Error 或其他复杂问题,请提出 Issue。如果不方便使用 Issue,可以在此文档反馈需求和缺陷:RGModern用户反馈,当然直接回帖也是OK的~

    如果要修改 RGModern 的功能或进行二次开发,可以用开发者模式编译的 main.exe,此 exe 需要读取当前路径下的 src/script 文件夹中的 ruby 脚本运行,可以修改这些脚本文件自定义对 RGSS 的实现。

    config.ini

    RGModern 在运行时会读取 config.ini 中的配置信息。如果 config.ini 不存在,RGModern 会产生一份新的配置文件,但是可能部分配置项未能正确读取。建议分发游戏时始终携带 config.ini。

    config.ini 中有以下几个 section:
    1. Game,配置游戏标题和 RTP 路径;
    2. System,配置游戏的显示(分辨率、全屏等)和音乐选项;
    3. Keymap,配置键盘(或控制器)按键与游戏内的虚拟按键的映射关系;
    4. Font,配置游戏中使用的字体名和字体文件路径的映射关系;
    5. Kernel,配置渲染器、协作模式等高级选项。

    加密

    RGModern 支持加密图片素材。

    首先需要制作加密包。使用 7-zip 软件打包 Graphics 文件夹并设置密码即可。注意,打包后的 zip 文件中需要包含 Graphics 目录。

    在游戏开始加载图片素材前调用:
    1. Finder.regist("Graphics.zip", "password")复制代码
    复制代码
    其中第一个参数是加密包的文件名,第二个参数是加密包的密码。此后就会优先从加密包中读取资源,如果加密包中没有资源,则会从游戏目录和 RTP 中寻找。

    RGModern 不支持加密音乐素材。

    RGModern 支持加密 Data 文件夹。如果使用 RGM 小助手编译,选择对应的 Data 文件夹即可。不使用小助手请参照 Makefile 中 Gamew.exe 的编译。

    RGModern 不支持原版的加密方案。众所周知,原版加密方案等同于没有加密。RGModern 未来也不会支持原版的加密方案。

    设计

    src/main.hpp 所示,引擎本身是一个由多个 worker 组合而成的 scheduler,每个 worker 管理各自的数据并执行不同的任务,scheduler 负责 worker 之间的任务转发和运行调度。

    具体运作原理请查看 src 内的 c++ 源码。RGModern 的代码使用 gcc13 在 -Wall -Wextra -Werror 的选项下编译通过,代码质量有保障,附带详细的 Doxygen 风格的注释,可放心查看。

    范例

    点击下载 完整测试工程,或https下载

    范例里的各个exe都支持win10 64位及以上版本,其中后缀带 _win7 的原则上可以在 win7 上运行,并且你需要安装DirectX 最终用户运行时

    工程内部的Game.exe可以代替原版Game.exe使用,Gamew.exe则内嵌了加密的Data文件夹,用来测试数据加密的效果。

    执行main.exe会读取src/里的脚本并执行 load.rb,可以从这里查看RGM是如何实现RGSS的各个内部模块和类的,相应的cpp代码也可以作为参考,注释详细,相对好懂。

    src里的scripts文件夹已经内嵌于Game.exe和Gamew.exe里了,所以这两个exe的执行不依赖外面的src文件夹。

    Graphics.zip的密码是123,可以在范例的箱子事件测试读取加密图片的效果。测试工程中还提供了输入法、分辨率扩展等额外功能,以及单元测试等。

    希望大家能帮忙测试一下 RGModern 的效果,提提建议。大部分脚本应该能兼容(涉及到调用外部32位的dll,魔改原版dll和操作Bitmap内容的旧脚本肯定不兼容)。

    感谢各位坛友的支持!
                本帖来自P1论坛作者miantouchi,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=492871  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2025-3-14 23:59 , Processed in 0.105817 second(s), 54 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表