本页目录

绿麻将(Green Mahjong):HTML5 纸牌麻将接龙

green-mahjong · danbeck/green-mahjong

Green Mahjong 是一款基于 HTML5 的纸牌麻将接龙(Solitaire Mahjong)游戏,代码以 GPLv3 开源,主体为 HTML/CSS/JavaScript,可直接在浏览器中运行。README 称其包含 3 套主题、6 种布局,支持主流桌面与移动浏览器,并可用 Cordova/Ca...

动作游戏 RPG 自研引擎 C 游戏状态管理 动画系统 渲染技术 高级
★ Stars 330 Forks 58 License 未明确 更新 2026-11-05

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
克隆需递归拉取子模块(git submodule update --init --recursive),国内访问 GitHub 可能需配置代理或镜像;构建需 CMake 3.20+ 与 C99 编译器;运行时必须自备合法购买的原版《暗黑破坏神2》+《毁灭之王》MPQ 资源并在 abyss.ini 中配置,仓库不含该资源,具体获取与配置细节待核验。

中文项目介绍

Abyss Engine(深渊引擎)是一个用 C 语言从零编写的《暗黑破坏神2》(Diablo 2)洁净室重实现项目。它的目标不是简单地复制一款游戏,而是重建原作背后的游戏引擎,并把这份引擎放到一个可移植、易扩展、方便模组制作的平台上。项目在 README 中把边界写得很清楚:它不属于逆向工程项目,代码库中不包含任何来自原作的代码;开发者依据公开信息独立实现引擎逻辑,因此也不会去兼容原版游戏的存档格式与多人联机体系。换句话说,这是一个“用现代方式重造老引擎”的工程实践,而不是把原版游戏打包分发的整合包。

这一点决定了它的使用方式与常见的开源游戏不同。引擎本身不携带任何游戏素材,运行时必须加载玩家自备的《暗黑破坏神2》及《毁灭之王》(LOD)MPQ 资源包。README 明确建议通过购买实体版或 battle.net 等数字发行渠道合法获取这些文件;同时提醒网络上流传的盗版版本大多被改动过,引擎并不支持这类被修改的资源,用盗版提交问题只会浪费开发者的精力。项目对盗版持明确的反对态度。因此,想要真正跑起来,用户需要同时具备两样东西:一份合法的原作资源,以及一份正确填写的引擎配置文件。

在平台策略上,Abyss Engine 强调可移植性。官方列出并支持的平台包括 Windows 10 及以上(x64 与 Arm64)、macOS(Arm64)以及 Linux(x64 与 Arm64)。README 也坦率说明,其他平台也许能够编译运行,但并不在官方支持范围内,遇到问题不保证能得到解决。对于一个用纯 C 编写、需要自己处理窗口、输入、渲染与资源加载的引擎来说,这种“明确列出支持矩阵”的做法,反而比笼统宣称“跨平台”更有参考价值。

核心功能

核心特性

构建流程相对标准,适合当作 C 语言跨平台工程的样板来读。前置依赖只有两项:CMake 3.20 或更高版本,以及一个符合 C99 标准的编译器(GCC、Clang 或 MSVC 均可)。克隆仓库时必须递归拉取子模块,否则依赖缺失会导致构建失败。命令行构建只需创建 build 目录、执行 cmake 并指定 Release 构建类型;使用 Visual Studio 2022、CLion 或带 CMake Tools 扩展的 VSCode 时,直接打开根目录并构建即可;Xcode 用户则先用 cmake 的 Xcode 生成器产出工程文件,再加载编译。

运行前的配置是这个项目最容易被忽略的一环。引擎需要读取 abyss.ini 配置文件,模板放在源码仓库的 content/abyss.ini 位置,用户需要把它复制到对应平台的本地设置目录:Windows 是 %APPDATA%/abyss/abyss.ini,Linux 是 ~/.config/abyss/abyss.ini,macOS 是 ~/Library/Application Support/abyss/abyss.ini,并按自己的系统情况修改内容。构建完成后,Linux 与 Windows 上直接执行构建目录里的 abyss 可执行文件即可启动;macOS 上则需要运行构建目录中的 Abyss Engine.app 应用包。

日志方面,从命令行启动时引擎会把日志输出到控制台;在 macOS 上由于是应用包形式,需要直接在命令行执行包内的二进制(AbyssEngine.app/Contents/MacOS/AbyssEngine)才能看到输出,这对排查配置错误与资源加载失败很有帮助。社区沟通渠道是 irc.libera.chat 上的 #AbyssEngine 频道,README 特别声明项目已不再维护 Discord 存在,任何打着该项目名义的 Discord 服务器都与官方无关,这一点在寻找帮助时需要留意。

技术架构分析

技术要点

从学习角度看,这个仓库的价值集中在几个方面:一是在 C99 约束下组织一个规模可观的引擎工程,包括目录结构、子模块管理与构建脚本;二是跨平台抽象,同一套代码要在 Windows、macOS、Linux 三种系统与 x64/Arm64 两种架构上工作;三是自研引擎的架构设计,包括渲染、音频、UI、动画等子系统的分层;四是“洁净室重实现”这一工程方法本身——在没有原作代码的前提下,如何定义引擎的边界、如何设计便于模组扩展的接口。需要注意的是,项目仍在持续开发,功能完成度与稳定性应以仓库当前状态为准;同时它依赖用户自备的原版资源,缺少 MPQ 文件时引擎无法正常进入游戏内容。

开源许可证与版权说明

许可证标识:未明确。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目