Gorillas · Lyndir/Gorillas
Gorillas 是一款 iOS 平台的炮击对战类游戏,移植自经典 QBasic 游戏 GORILLA.BAS,可运行于 iPhone 与 iPod touch。项目用 Objective-C 编写,直接依赖 Pearl,并经 Pearl 间接依赖 cocos2d-iphone。仓库提供 Scripts/updateDependencie...
Hauberk 是一个以浏览器为运行环境的 Roguelike 游戏项目,源码托管在 GitHub 的 munificent/hauberk 仓库。README 开篇就把它定义为 “a roguelike, an ASCII-art based procedurally-generated dungeon crawl game”,也就是以 ASCII 字符画作为表现形式、关卡在运行时随机生成的地牢探索类游戏,使用 Dart 语言编写,最终在浏览器中运行。仓库的一句话描述同样只有 “A web-based roguelike written in Dart.”,没有更多功能清单。因此,下文介绍的要点都来自 README 与仓库元数据;凡是文档中没有出现的系统,都不做臆测。
从 README 提供的两张截图(启动画面与地牢场景)可以看出,游戏以字符为单位绘制地图与角色,画面风格朴素,重心放在地牢结构与探索推进上。Roguelike 这一品类通常强调随机生成的关卡和逐层深入地牢的节奏,README 对项目的定义正落在这两点上。至于战斗、物品、技能等更细的子系统,README 并没有逐条列出,需要克隆仓库并在本地运行后,才能判断它的完成度与可玩性。
技术路径上,Hauberk 的源代码是 Dart,交付形态却是浏览器页面:开发服务器会在开发过程中把 Dart 源码即时编译为 JavaScript,再由浏览器执行。这种“用强类型语言编写、编译到 JS 后交付”的组合,是 Dart 早期面向 Web 的典型用法之一。README 没有提到任何第三方游戏引擎或框架,通篇描述的是一套自包含的工程流程,说明它更接近于一个自行搭建渲染与游戏循环的独立代码库,而非基于现成引擎的模板项目。
本地运行步骤在 README 中写得很明确:先安装 Dart SDK(作者本人使用的是 dev channel 的最新版本,README 给出了 SDK 下载地址),并确保 SDK 的 bin/ 目录位于系统的 PATH 中;然后克隆仓库,在仓库根目录执行 make serve;最后在浏览器中打开 http://localhost:8080。这个开发服务器带有自动编译能力,会在你改动 Dart 源码时即时把源码编译成 JavaScript,方便边改边看。
README 没有给出在线试玩地址,仓库元数据中的 homepage 指向一个 GitHub Pages 地址,但该地址上是否存在可玩版本、内容是否与仓库同步,都没有在文档中说明,建议以本地运行为准。构建依赖 make 与 Dart SDK,在 Windows 上通常需要借助 WSL 或自行准备 make 环境;同时 Dart SDK 迭代较快,README 中关于 dev channel 的说明与当前 SDK 版本之间可能存在差异,构建脚本报错属于需要自行排查的常见情况。
关于协作,README 有一段相当坦率的说明:作者另一个主要开源项目 Wren 已经占用了他大量精力,再加上写书和本职工作,Hauberk 基本处于“只读”状态。欢迎提交 issue 报告问题,但不太可能接受大量 pull request。作者更希望别人把这个代码库当作起点,fork 之后改造成自己的游戏,而不是把它当作一个欢迎大规模协作的社区项目来对待。
许可证方面,项目采用 MIT 协议,条款非常宽松,README 明确表示你可以对它做几乎任何想做的事。对想研究浏览器端 Roguelike 实现、程序化地牢生成,或想找一份可自由改造的游戏骨架的开发者来说,这是一个值得一读的样本;但也要接受它维护不活跃、文档偏少的现实,遇到问题时更多需要靠读源码解决。
综合来看,Hauberk 的价值在于“完整可运行的 Web Roguelike + 宽松许可 + 清晰的最小运行流程”这三者的组合。它不是一份附带详尽教程的教学工程,也没有承诺长期维护,更适合已经具备一定 Dart 或前端基础、愿意自己动手读代码的读者。
Hypersomnia 是 TeamHypersomnia 用 C++ 从零编写的一款多人俯视角(top-down...
micropolisJS 是把 Micropolis(开源版《模拟城市》类城市模拟游戏)移植到 J...
Endless Sky 是一款 C++ 编写的 2D 沙盒式太空探索游戏,玩法接近 Elite、Esc...
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
CatacombGL 是 Catacomb 3D 与 Catacomb 冒险三部曲(Abyss、Armageddon、Apo...