Kroniax · AlexAUT/Kroniax
Kroniax 是开发者 Alexander Weinrauch 所制作游戏的官方源码仓库,这一版本用 Java 与 LibGDX 重写了早期基于 SFML(C++)的实现,目的是提升移动端与浏览器端支持。项目以 MIT 许可证开源,README 中标注音乐由 MafiaFLairBeatz 提供。...
这个仓库是作者 robertkleffner 发布在 GitHub 上的一个开源浏览器游戏项目:他把自己掌握的《Infinite Mario》(无限马里奥)用 JavaScript 重写,使其能够直接在网页浏览器中运行。README 开头就点明了血统——它是从 Notch(即 Markus Persson,Minecraft 的作者)所写的 Java 版本移植而来的克隆作品。因此这个仓库的定位更接近一次源码级的学习与再实现:把一个桌面 Java 小游戏搬到 Web 平台上,用浏览器原生能力复现同样的横版平台跳跃体验,而不是从零设计一个新玩法。
从玩法形态上看,它属于典型的横版卷轴平台跳跃:玩家控制角色在由砖块、地面和障碍构成的关卡中向右推进,靠奔跑与跳跃通过地形,并与场景中的元素互动。不过需要说明的是,README 篇幅极短,只交代了项目定位、技术手段与音乐兼容性三点,并没有逐条列出究竟实现了哪些敌人、道具、关卡要素或计分规则。这些细节无法从现有元数据中确认,需要通过阅读源码或直接在浏览器中试玩来核验,本文不对未证实的游戏内容作断言。
技术实现是该项目最值得关注的部分。作者在 README 中明确写道,这个项目是“Canvas 与 Audio 元素能做到什么程度”的一次良好演示(a good demonstration of what can be accomplished with the Canvas and Audio elements)。也就是说画面渲染依赖 HTML5 的 进行逐帧绘制,音效与音乐则通过 HTML5 的 元素播放;整个游戏由纯 JavaScript 驱动,没有引入 Unity、Phaser、PixiJS 之类的第三方游戏框架,也没有依赖任何外部游戏引擎。对于想理解“不用引擎怎么写游戏”的读者来说,这类代码把游戏主循环、输入处理、精灵绘制、状态更新等环节都摊开在明面上,可读性上的价值往往高于工程完备性上的价值。
音频部分是 README 里唯一被作者特别提示的坑。原文写道:背景音乐目前在 Firefox 4 之外的任何浏览器上都无法正常工作,作者本人也只是“我觉得”这样的措辞,并解释说其他浏览器上出的问题太多了。这提示了两件事:一是项目写作年代较早——Firefox 4 发布于 2011 年前后,HTML5 音频在各浏览器上的编解码支持、自动播放策略和 API 行为当时差异极大;二是作者本人也没有对这个兼容性问题做彻底收敛。因此在今天的现代浏览器上,画面或许仍能跑起来,但背景音乐是否可听、音效是否正常,属于必须实测才能确定的事项,不应假定其开箱即用。
运行与分发方式方面,README 没有给出构建脚本、包管理器配置或依赖安装步骤的描述,也没有提供在线试玩地址(homepage 字段为空)。这类纯前端项目通常的做法是直接用浏览器打开仓库中的 HTML 入口文件即可开始游戏,不需要编译或安装依赖;但由于文档未明说,具体入口文件名与是否需要本地静态服务器,仍属于待核验内容。因为运行环境是浏览器,理论上只要设备上有可用的现代浏览器,Windows、Linux、macOS 都能跑同一份代码,这也是它相对 Java 原版的一个天然优势;不过仓库并未做出正式的跨平台支持声明。
适合谁来读?如果你的目标是找一份可直接商用的完整游戏工程,它并不合适:项目年代久远、缺少测试与文档、音频兼容性问题已知未解。但如果你是想了解早期 HTML5 游戏是怎么用 Canvas 画图、用 Audio 出声、用纯 JavaScript 组织一个横版动作游戏的主循环,或者想对照 Notch 的 Java 原版看一次跨语言移植的取舍,这个仓库是一个体量不大、易于通读的样本。建议先跑起来看效果,再回头读源码,同时把音频兼容性当作已知缺陷而不是 bug 来对待。
id Software 公开的初代 DOOM 源代码,限非盈利使用。README 说明:运行仍需...
Frogatto & Friends 是一款 2D 横版动作冒险游戏,主角是一只青蛙;开发团队...
DDNet 是 Teeworlds 的一个模组,源自 DDRace,是一款免费的合作型 2D 平台跳...