本页目录

GenesisEngine:C#/XNA 程序化行星系统实验

GenesisEngine · SaintGimp/GenesisEngine

使用 C# 与 XNA 框架的实验项目,通过程序化生成构建行星系统,并可在其中从地表漫游到太空探索;作者自述目前除漫游虚拟世界外没有更大目标。项目主要用于尝试新的软件开发技术与设计模式,同时摸索程序化地形生成与渲染。作者明确说明...

平台跳跃 益智解谜 自研引擎 Go 角色控制 跳跃与重力 碰撞检测 关卡管理 高级
★ Stars 305 Forks 19 License MS-PL 更新 2026-10-29

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
构建需从 GitHub 克隆仓库并拉取子模块,国内网络可能较慢,建议配置代理或镜像;依赖 git、golang、graphviz、imagemagick、pandoc,需自行准备。README 未提及国内下载渠道,待核验。

中文项目介绍

AAAAXY 是一款非线性 2D 解谜平台跳跃游戏,故事发生在“不可能空间”之中。虽然游戏的总体目标是抵达那个出人意料的结局,但 README 明确鼓励玩家在游玩过程中自行设定目标:探索会得到回报,秘密也在等待被发现。

按照 README 的说法,玩家将在“邪恶怪异的世界”里跳跃奔跑,享受迷失方向的感觉;会看到 Van Vlijmen 让你去做的事,可以选择一条路径、钻进克莱因瓶、认出一些梗,并且无论如何都“不要往上看”。此外,游戏还提醒玩家,其中包含少量“整蛊”元素。

关于通关时长,README 给出了三个参考值:新玩家抵达结局大约需要 4 至 6 小时,完整通关约 1 小时,而最快约 15 分钟就能到达结局。

游戏支持多语言,包括阿拉伯语、白俄罗斯语、简体中文、繁体中文、英语、德语、日语、拉丁语、葡萄牙语和乌克兰语。

核心功能

Ebitengine

负责底层图形与输入

Oto

负责声音

tmx

用于解析 Tiled 地图

技术架构分析

如何构建

README 说明,游戏已在 Linux、FreeBSD 和 Windows 上成功编译,在其他类 Unix 系统上很可能也能顺利编译。对于其他平台,可能需要进行少量移植工作,以便保留存档和设置,具体可参考 vfs/state_*.go。

自行构建前,需要安装 git、golang、graphviz、imagemagick 和 pandoc,然后执行:

git clone https://github.com/divVerent/aaaaxy
cd aaaaxy
git submodule update --init --remote
make

在 FreeBSD 系统上,应使用 gmake 代替 make。

更新并重新构建:

cd aaaaxy
git pull
git submodule update --remote
make

也可以直接编译并运行:

make run

补充说明

玩法与平台

游戏的核心体验围绕非线性探索展开:玩家并非被一条固定路线推着走,而是可以自己决定前进方向,在充满秘密的场景中寻找出路。README 用“跳跃奔跑”“选择路径”“进入克莱因瓶”等描述勾勒出玩法基调,同时强调探索本身就会带来回报。

README 列出了以下平台的下载渠道:

  • Android:F-Droid、Google Play
  • HTML5(较慢):netcup 提供的网页版
  • iOS:App Store
  • Linux:Flathub、GitHub Releases、Itch、Snap Store
  • macOS:GitHub Releases、Itch
  • Windows:GitHub Releases、Itch

需要注意的是,README 将 HTML5 版本标注为“slow”,即网页版运行较慢。

编辑与关卡制作

在源码检出中编辑

使用 Tiled 打开项目自带的 aaaaxy.tiled-project,地图位于 assets/maps/level.tmx。如果修改了检查点,需要运行 make assets-update 重新生成检查点地图。make run 会使用修改后的数据。

在发布版二进制上编辑

以 -dump_embedded_assets=/path/to/folder/for/editing 参数运行游戏,从发布版下载 mappingsupport 包并解压到同一目录,让 Tiled 使用其中包含的 objecttypes.xml。随后以 -cheat_replace_embedded_assets=/path/to/folder/for/editing 运行游戏,即可使用修改后的数据。README 特别指出,这种方式不支持修改检查点。

许可与声明

本项目以 Apache 2.0 许可证发布。README 同时声明:这不是 Google 官方支持的产品。

学习建议

对于想研究 2D 平台跳跃与非欧几里得空间实现的开发者,README 中的“Mathematical Notes”是最值得细读的部分,它解释了为何选择“隐藏无视线物体”而非“关卡设计规避冲突”的路线,以及这种选择在二维视角下的取舍。构建部分则提示了跨平台移植时需要注意存档与设置的保留问题。若想动手改关卡,可以从 Tiled 工程与 level.tmx 入手,并留意检查点需要额外重新生成。

开源许可证与版权说明

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

相似项目