GNU General Public License v3.0

技术解读

以下内容由 GitRead 中文社区 编辑团队基于项目 README 与官方资料整理, 结合中文开发者的常见使用场景补充技术选型建议。具体以项目官方文档为准。

技术分析:bakustarver/rpgmakermlinux-cicpoffs

项目背景与痛点

rpgmakermlinux-cicpoffs 项目的目标是在 Linux 系统上本地原生运行 RPG Maker XP, VX, VX Ace, MV, MZ, TyranoBuilder, Godot, Construct 2/3, Nscripter 等游戏开发软件或游戏引擎。这款工具解决了长期以来使用这些工具的开发者和玩家在 Linux 系统上无法原生运行游戏开发引擎的问题,为 Linux 用户提供了一个更为友好的游戏开发和运行环境。

核心技术揭秘

该项目通过一系列技术栈实现了这一目标,主要包括以下几个方面:

  1. Wine 核心引擎:作为跨平台兼容解决方案,Wine 是运行 Windows 程序的关键。开发者在 Wine 的基础上进行定制优化,创建了一系列的配置文件,实现了特定游戏引擎和开发工具在 Linux 上的平滑运行。

  2. 自定义配置文件与脚本:针对不同的游戏引擎,项目提供了一系列自定义的 .reg 注册表文件结构和 .sh 脚本命令以适应特定的 API 调用和渲染需求。这些配置文件和脚本旨在优化游戏开发软件和游戏的运行环境。

  3. 零散组件打包:项目将第三方相关的动态链接库(DLL)和附加组件进行打包,保证在 Linux 环境下的完整性和兼容性。

为了更好地理解其工作流程,请参考以下数据流图:

graph TD A[Linux Shell 脚本执行] --> B[启动 Wine 引擎] B --> C{"定义游戏引擎环境"} C -->|"RPG Maker"| D[加载 RPG Maker .reg 文件] C -->|"TyranoBuilder"| E[加载 TyranoBuilder .reg 文件] C -->|"其他引擎"| F[加载其他引擎相关配置] D --> G[运行 RPG Maker] E --> H[运行 TyranoBuilder] F --> I[运行其他引擎] G --> J[游戏/开发工具启动] H --> J I --> J J --> K[完成初始化]

以上图表展示了从启动 Linux Shell 脚本到加载特定游戏引擎配置文件,最终启动游戏或开发工具的过程。

功能亮点与差异

与竞争对手相比,rpgmakermlinux-cicpoffs 项目展现了几个显著的特点:

  1. 兼容广泛的游戏开发工具:不仅支持 RPG Maker 系列游戏引擎,还扩展到 TyranoBuilder, Godot, Construct 等多种现代游戏开发环境。
  2. 针对特定组件定制的优化:每个游戏引擎的优化处理、注册表文件调整,极大提高了在 Linux 下的性能与稳定性。
  3. 开源的社区驱动:作为一个社区驱动的项目,项目的每一个迭代版本都经由活跃的社区成员进行建议和改进,确保面向广泛用户的良好兼容性。

应用场景与落地建议

在生产环境中使用 rpgmakermlinux-cicpoffs 时,有几个建议:

  1. 依赖库的完整更新:确保系统中相关的 Wine 版本及其依赖库已更新到最新,这有助于兼容性和健壮性保证。
  2. 测试不同引擎的配置:对于不同的游戏引擎和开发环境,手动测试其特定配置文件和脚本的兼容性和性能。
  3. 社区反馈跟踪:积极跟踪项目更新和社区反馈,定期进行系统和工具的更新维护是确保稳定运行和修复潜在问题的关键。

适合的业务场景:

  1. 游戏开发工作室:在 Linux 环境下支持使用多种 Windows 版本的游戏开发工具和引擎。
  2. 个人开发爱好:对于喜欢使用多种游戏引擎开发的个人开发者来说,易于在单一 OS 环境下无缝切换和使用不同工具。

综合评价

优点:

  • 广泛的兼容性:支持多种游戏引擎和开发环境,极大扩展了在 Linux 下的工作范围。
  • 性能优化:针对特定引擎的优化,使得在 Linux 上的运行体验接近或达到 Windows 平台。
  • 开源激活社区力量:项目依赖于开源模式,通过社区共建,始终保持活力和不断进化。

缺点:

  • 潜在的兼容问题:对于一些新推出的游戏引擎或插件,在 Linux 下原生兼容性可能还需要一段时间的代码优化和调试。
  • 时间成本:需要个人开发者跟踪并适配不同版本的配置文件更新,对用户的使用体验有一定的影响。

总体而言,rpgmakermlinux-cicpoffs 是一个值得关注的开源项目,展示出在 Linux 系统上提供丰富游戏开发环境的强大潜力。

关于

GitHub 原始描述(英文)

Run any RPG Maker XP, VX, VX Ace, MV, MZ, TyranoBuilder, Godot, Construct 2/3, Nscripter game on linux natively

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
453
价值分
250
活跃状态
活跃

语言占比

CSS
HTML
JavaScript
KerboScript
PHP
Ruby
Shell

README

RPG Maker Launcher for Linux

The bash wrapper uses native Linux libraries to run Windows games. It creates a local port of the Linux version from the Windows port and then executes it. Initially, it supported only RPG Maker MV and MZ, but now it also supports RPG Maker XP, VX, VX Ace, MV, MZ, TyranoBuilder, Godot, Construct 2/3, and Nscripter.

Priority is primarily on RPG Maker MV/MZ. (if you have errors with XP, VX, Vx Ace address this link).

Contains the following features (RPG Maker MV / MZ):
  • Sharp increase in FPS (2 to 4 times more compared to Wine, viewable by pressing the F2 key).
  • Download and select any version of NW.js (using the command line and GUI).
  • Install the Text Hooker plug-in, which automatically copies the game’s dialogues to your clipboard.
  • Update Pixi 5 libraries for RPG Maker MV games to enhance performance.
  • Launch a game using the command line.
  • Display the NW.js, Node.js, and Chromium versions of your game.
  • Can be used as compatibility tool in steam for Windows games.
  • Native support for four architectures: x86-64, i386, armhf, and arm64.

After installing the program you can run the game using an application - “RPG Maker MV/MZ (cicpoffs mount)”

img 1123

Installation || Update

wget -qO- "https://raw.githubusercontent.com/bakustarver/rpgmakermlinux-cicpoffs/main/installgithub.sh" | bash

Custom path

If you want to change the default installation directory, use the following command before installation

echo "$HOME/somedirpath/" > "$HOME/.config/defrpgmakerlinuxpath.txt"

Uninstall

wget -qO- "https://raw.githubusercontent.com/bakustarver/rpgmakermlinux-cicpoffs/main/uninstallgithub.sh" | bash

or

rm -rf "$HOME/desktopapps/nwjs" && rm "$HOME/.local/share/applications/nwjstest.desktop" && rm "$HOME/.local/bin/rpgmaker-linux"

Command line Commands

To start the RPG Maker game, use the following command
rpgmaker-linux 
rpgmaker-linux --gamepath /path/rpg-maker-game/
Show version of the program
rpgmaker-linux --version
Update the nwjs to the latest version
rpgmaker-linux --updatenwjs
To show the versions of the RPG Maker game libraries
rpgmaker-linux --gamepath /path/rpg-maker-game/ --printrpgmakerlibversions
Choose the version of NWJS you want to use:
rpgmaker-linux --nwjsversion 0.40.0 --gamepath /path/rpg-maker-game/
Send an anonymous report to developer about game data, system information, engine for fixing bugs and errors :
rpgmaker-linux --bugreport
rpgmaker-linux --sourcelinks
Disable the GUI menu in steam :
rpgmaker-linux --steamskipgui true

Interesting projects

  • mkxp-z - Open-source cross-platform player for (some) RPG Maker XP / VX / VX Ace games. A very heavily modified fork of mkxp. RGSS on steroids with a stupid name.
  • easyrpg - EasyRPG is a community project to create a free, open source, role playing game creation tool, compatible with RPG Maker 2000/2003 games.
  • Painless-Porter-CLI - A tool to quickly port RPG Maker MV and MZ games to Linux and MacOS and upload to file hosters.
  • ruffle - A Flash Player emulator written in Rust
  • RPGMaker MV/MZ Save Editor - This is a offile tool for editing RPGMaker save files. It currently supports save files written by RPG Maker MV (.rpgsave) & MZ (.rmmzsave).
  • Kawariki - An alternative tool for launching games focused on Steam.
  • Game2Text - Complete toolbox for gamifying language learning.
If anyone is interested in the macOS version

Professional version:

For limited Linux Gaming celebration days, you can get the professional version at a reduced price.

Support me:

Patreon Buymeacoffee

评论

暂无评论