本页目录

洞穴探险经典 HD(SpelunkyClassicHD)——Spelunky Classic 平台冒险改版

SpelunkyClassicHD · yancharkin/SpelunkyClassicHD

基于 Derek Yu《Spelunky Classic》源代码改写的 GameMaker Language 项目,源码出自 Humble Weekly Bundle: Play and Create with GameMaker(并非 1.1 原版)。相较原版,新增多操作系统构建、最高 21:9 画面比例、触摸输入、更好的手...

动作游戏 RPG 自研引擎 C++ 关卡管理 地图编辑器 音频系统 高级
★ Stars 48 Forks 8 License 未明确 更新 2026-11-03

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
源码编译需要 32 位工具链与全套 32 位依赖(如 g++-multilib 及各 :i386 开发包),国内镜像源通常可获取这些包;预置的 Allegro 修改版二进制已在仓库内,无需联网拉取,但运行编译产物仍需从官网获取含版权数据文件的二进制包,该下载站点的国内访问速度待核验。

中文项目介绍

Zelda Classic(简称 ZC)是一套围绕「自制塞尔达式任务」构建的完整创作与游玩工具链。它的核心不是一个单一游戏,而是一对配套程序:zelda 播放器负责让玩家进入别人做好的 quest 世界冒险,zquest 关卡编辑器负责让创作者摆放房间、设置事件与规则,两者共同构成从创作到体验的闭环。项目最早可追溯到 1999 年一个「可编辑的初代《塞尔达传说》克隆」,此后二十余年间由不同批次的开发者、测试者与内容作者接力维护,逐渐长成一个带有独立脚本语言的社区型创作平台。仓库 README 明确说明,这里托管的是供开发者与高级用户移植源码的代码库,普通玩家想做任务、玩游戏并不需要下载或编译它。

从使用形态上看,ZC 提供的是「引擎 + 编辑器」的双层能力。玩家侧拿到的是一个可以运行任意 quest 数据的运行时,任务作者发布的是数据包而非改过的程序,因此同一份播放器能承载大量风格迥异的作品;创作者侧则通过图形化编辑器组织地图与规则,并通过内置的 ZScript 脚本语言扩展逻辑。README 在讲构建时提到 zquest 依赖 Flex 与 Bison 自动生成 ZScript 解析器代码,这说明脚本系统是编辑器的一等公民,而不是外挂的附属功能。

核心功能

核心特性

工程结构上,仓库会产出三个可执行程序和一个共享库:zcsound 是声音相关的基础库,被其余二进制共同依赖;zelda 是播放器;zquest 是关卡编辑器;romview 则是一个从 SNES ROM 中提取图块的辅助工具,方便作者获得美术素材。构建系统使用 CMake(要求 3.5 及以上),官方脚本在 Windows XP + MSVC 2008、Windows 10 + MSVC 2015、Ubuntu 16.04 + g++ 5.4 的组合上做过测试,其他平台需要自行调整配置。

技术栈方面,ZC 建立在经过修改的 Allegro 4.2.2 之上,仓库的 /libs 目录预置了 Allegro 及若干声音插件的已编译二进制,源码包放在 /other 与 ./allegro 目录中,完整修补版位于 ./allegro/fixed/all422-fixed.zip。README 特别强调了两条硬性约束:一是绝对不能用标准版 Allegro 4.2.2 链接 ZC,必须使用仓库提供的修改版二进制或自行重建修改版源码;二是 ZC 只能在 32 位架构下编译成功,虽然编译产物可以在 64 位系统上正常运行,但编译器必须生成 32 位代码,且所有外部依赖都要拿到 32 位版本——在 64 位 Ubuntu 上通常需要安装 g++-multilib 与一系列 :i386 的开发包,链接阶段的二进制不兼容报错往往就源于此。

技术架构分析

技术要点

平台与分发方式对普通用户很友好,对编译者则略显繁琐。README 说明在 Windows、OS X 与 Debian Linux 上玩游戏或制作任务都不需要碰源码,官网 zeldaclassic.com 提供最新版本信息、二进制下载链接以及自制任务库。反过来,自己编译出的二进制并不能单独运行,还缺少一批因版权原因未纳入仓库的支撑数据文件;正确做法是从官网下载最新二进制包,再把 build 目录里生成的程序复制进含有数据文件的文件夹。此外,编辑器要支持 ZScript 编译,就必须装好 Flex 与 Bison,否则 CMake 会给警告并生成一个无法编译脚本的 zquest,Windows 用户可使用 win-flex 与 win-bison 并把可执行文件目录加入 PATH。

这个仓库的定位决定了它的适合人群:源码主要面向希望把 ZC 移植到新平台、或想直接参与引擎与编辑器改进的开发者,README 也明确欢迎第三方提交补丁与新特性。由于历史包袱重、依赖老旧库、构建链条长,它适合作为「长寿命开源游戏项目如何演进」的观察样本,以及研究 2D 俯视角冒险游戏的数据组织方式、关卡编辑器设计与脚本虚拟机实现的参考;但它并不是一个上手即用的现代引擎教程项目。需要留意的是,仓库经历过分叉与重建,README 中有一部分带有强烈情绪色彩的说明与引文,与代码本身无关;同时文档自认构建说明「并不全面」,跨平台移植前应做好自行解决依赖的准备。项目以 GPLv3 或更高版本发布。

开源许可证与版权说明

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

相似项目