本页目录

DeadAscend:Qt/QML 手绘风 2D 点击式冒险解谜游戏

DeadAscend · larpon/DeadAscend

《Dead Ascend》是一款手绘风格的 2D 点击式(point-and-click)冒险解谜游戏,使用 Qt/QML 与 JavaScript 编写。剧情设定为:僵尸群将你逼上旧无线电塔,你只能一路向上攀登,沿途解开一系列谜题,最终等待救援。源码可用 Qt Creator 或...

益智解谜 无明确引擎 JavaScript 其他 游戏状态管理 UI 系统 中级
★ Stars 69 Forks 24 License MIT 更新 2026-11-10

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:无明确引擎 暂无中文教程标记 未标记站长实测
需安装 Qt/Qt Creator 与 qmake;构建前在 extensions/ 下克隆 qak、QtFirebase,Android/iOS 还要配置 Firebase。GitHub 依赖拉取和 Qt 安装包下载可能受网络影响,国内可考虑镜像/代理;具体 Qt 版本与国内镜像兼容性待核验。

中文项目介绍

Dead Ascend 是一款手绘风格的 2D「类点击式」(point'n'click-like)冒险解谜游戏,代码托管在 GitHub,使用 Qt/QML 与 JavaScript 编写。README 用一句话概括了它的设定:

一群僵尸把你一路追到废弃的旧无线电塔,你唯一的机会就是不断向上攀登,在通往救援的路上解开一连串谜题。

游戏以纵向「向上爬塔」的推进方式组织关卡,玩家在塔内逐层探索,并通过解谜推动剧情。画面为作者手绘的美术资源,因此整体呈现出手绘插画式的 2D 观感。

项目作者同时经营独立游戏品牌 Black Grain Games,除了开源源码,也在各平台提供带广告的预编译版本,作为对后续独立游戏开发的支持。

技术架构分析

技术要点

从 README 可以确认的技术信息包括:

  • 技术栈:Qt/QML + JavaScript,界面与交互由 QML 描述,逻辑以 JavaScript 实现,构建系统使用 qmake 工程文件 DeadAscend.pro。
  • 外部扩展依赖:项目在 extensions/ 目录下以 Git 仓库形式引入两个作者自研扩展——qak 与 QtFirebase。前者是项目自身的扩展库,后者用于接入 Firebase。
  • 移动端额外配置:若目标平台是 Android 和/或 iOS,必须额外完成 QtFirebase 的配置;作者提供了配套的示例仓库(QtFirebaseExample)以及说明文档。
  • 资源打包:构建流程中存在单独的 assetsrcc make 目标,用于在编译前生成资源,命令行与 Qt Creator 两种构建方式都需要显式执行这一步。
  • 安装路径可配置:qmake 阶段可传入可选的 BIN_DIR 与 ASSETS_DIR,分别指定可执行文件与资源文件的安装位置。

如何构建

README 给出的完整流程如下。前提是已经拥有可用的 Qt 与 Qt Creator 环境(Qt Creator 通常随 Qt 一同分发,具体获取方式请参考 Qt 官网与文档)。

第一步:获取代码

cd /path/to/projects
git clone https://github.com/larpon/DeadAscend.git

第二步:安装项目依赖

cd /path/to/projects/DeadAscend/extensions/
git clone https://github.com/larpon/qak.git
git clone https://github.com/larpon/QtFirebase.git

注意:构建 Android / iOS 版本时还需要按 QtFirebase 仓库的说明完成配置。

第三步(方式 A):在 Qt Creator 中构建

  1. 用 Qt Creator 打开 DeadAscend.pro;
  2. 选择合适的 kit;
  3. 在 Projects → Build → Build steps 中追加自定义构建步骤,执行 assetsrcc 目标(参数形如 /usr/bin/make、assetsrcc、%{buildDir}/App);
  4. 点击 Run 运行。

第三步(方式 B):命令行构建

cd /path/to/DeadAscend
# BIN_DIR 与 ASSETS_DIR 为可选参数
qmake -r "BIN_DIR=/usr/bin" "ASSETS_DIR=/usr/share/deadascend"
make assetsrcc -C App
make
make install

完成后可以直接运行 ./App/DeadAscend;若指定了 BIN_DIR,则运行 /usr/bin/DeadAscend。

补充说明

快速开始

如果不打算自己编译,README 中列出了官方的预编译分发渠道:

  • Android:Google Play 上提供带广告的移动/平板版本。
  • iOS:Apple App Store 上同样提供预编译版本。
  • 桌面端:在 itch.io 上架了 Linux、macOS 与 Windows 的预编译版本。

作者说明,游玩这些预编译版本即是在支持他的独立游戏制作。若想研究实现、二次修改或自行分发,则需要走下面的 DIY 构建流程。

问题反馈

如果在游玩或构建中遇到异常,可以通过 GitHub Issues 向项目反馈。若问题出在 QtFirebase 扩展本身,作者建议直接到 QtFirebase 项目的 issue 页面提交,以便更快得到处理。

其他作品

README 末尾还推荐了作者的另一个游戏项目《non - The First Warp》,已在 Steam 上架。

学习建议

这个仓库适合以下几类读者:想了解如何用 Qt/QML 组织一款完整 2D 游戏(场景、交互与 JavaScript 逻辑)的开发者;需要参考 qmake 多平台构建与资源打包流程的人;以及打算把桌面端 Qt 应用扩展到 Android / iOS 并接入 Firebase 的读者。建议从 DeadAscend.pro 与 extensions/ 的依赖关系入手,先跑通命令行构建,再进入 Qt Creator 调试。注意 README 未详细描述游戏内部架构,阅读源码时以实际代码为准。

开源许可证与版权说明

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

相似项目