源码级模组开发
作者可以直接修改 C# 源码,编译出属于自己的 `MinerWars.GameLib.dll`,以模组形式加载进游戏。
2048 · wzpan/2048
基于 Cocos Creator 1.10 开发的 2048 微信小游戏,使用 JavaScript 编写,仓库主题标注为 2048、cocoscreator 与 wechat-mini-game。README 摘要内容与项目不符,实际玩法与功能细节待核验。
《Miner Wars 2081》是 Keen Software House 开发的一款太空题材游戏,本仓库是其官方公开的 C# 源码,README 明确将其定位为 MOD KIT(模组工具包),而非可直接独立运行的完整游戏发行版。换句话说,这里提供的是让玩家与模组作者能够基于原作源码进行二次开发的基础代码,而不是一个开箱即用的游戏。
需要特别注意的是,README 开篇即强调:要创建或游玩 MOD,你必须拥有 Steam 版的《Miner Wars 2081》。仓库中不包含 MinerWars.exe,也不包含原始内容资源(贴图、模型、音频)。README 提到第三方资源可以另行提供,但原始内容本身并不随源码分发。因此,这个仓库的定位更接近「官方放出的开发脚手架」,而不是「完整开源游戏」。
仓库同时给出了官方模组网站、官方模组论坛、源码 ZIP 直链以及一段两分钟的视频教程,方便新作者快速上手。
作者可以直接修改 C# 源码,编译出属于自己的 `MinerWars.GameLib.dll`,以模组形式加载进游戏。
README 指出贴图、模型、音频等内容资源同样可以修改,具体说明见仓库中的 `Readme_Content.txt`。
通过填写 `MyMwcSecrets.cs` 中的 `MOD_NAME` 与 `GAME_HASH`(可用主菜单 Tools 里的 Create GUID 生成,去掉短横线),再以 Release 模式重新编译,即可产出可分发的模组包。
README 明确表示可以对实际游戏下断点调试(按 F9 设断点观察运行值),这对理解大型 C# 游戏工程很有帮助。
如果作者写出的功能能让其他模组开发更轻松(例如支持新的音频文件、改进模组的贴图加载、提供插件 API 等),可以向官方 MOD 分支提交代码,被采纳后其他开发者也能使用。
MinerWars2081.sln,核心模组逻辑位于 Sources\MinerWars.GameLib\bin\x86\ 下的 Release 输出目录。My 前缀开头」,这是阅读源码时的重要线索。223430 的 steam_appid.txt。C:\ 等受保护位置,否则分发后的模组将无法正常工作。Mods/YourMod 目录,并修改源码去读取该目录。README 给出的「制作 MOD」流程可以归纳为:
MinerWars2081.sln 打开解决方案。分发模组的步骤为:编辑 MinerWarsCommonLIB\AppCode\Utils\MyMwcSecrets.cs 填写 MOD_NAME 与 GAME_HASH;在 Visual C# 中把配置切到 Release;执行 Build/Rebuild solution;将 Sources\MinerWars.GameLib\bin\x86\ 下的 Release 文件夹重命名为你的模组名;压缩该文件夹后分发。
使用模组时,把压缩包解压到 [MinerWars 文件夹]\Mods(例如 ...\MinerWars\Mods\MyMod 中应包含 MinerWars.GameLib.dll),然后为 MinerWars.exe 创建快捷方式,在属性中于引号后追加 -FromLauncher -mod MyMod,最终形如 "C:\....\MinerWars.exe" -FromLauncher -mod MyMod,运行该快捷方式即可。
README 还提到,MinerWars 文件夹通常指 Steam 客户端中的安装目录,一般为 C:\Program Files\Steam\steamapps\common\MinerWars\ 或对应的 x86 路径。
这是一个体量不小的商业游戏 C# 源码,适合作为「阅读真实游戏工程」的素材,但门槛不低:
My 前缀快速定位核心类;README 推荐使用文件搜索工具,并提到 Visual Studio 插件 DPack 以及 Ctrl+逗号搜索效果不错。GameServices 等核心服务类,改动前先评估崩溃风险。最后需要提醒:README 提到原始 Content 与 EXE 的分发是被禁止的,具体授权细节应以仓库中的 License.txt 为准;本仓库的可编译性、功能范围与授权条款建议自行核验后再用于实际项目。
Endless Sky 是一款 C++ 编写的 2D 沙盒式太空探索游戏,玩法接近 Elite、Esc...
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...