ioq3 · ioquake/ioq3
ioquake3 是社区维护的 Quake III Arena 引擎项目,旨在为《Quake 3: Arena》《Team Arena》及模组提供可继续开发的基础引擎。README 列出的特性包括 CMake 构建、SDL 2 后端、OpenAL 声音、Linux x86_64 支持、VoIP/Mumble、MinGW 编译...
basicallydan/skifree.js 是一个以浏览器为运行环境的 SkiFree 复刻项目。README 说明它把 1991 年 Chris Pirih 创作的经典 PC 游戏 SkiFree 用 JavaScript 重新实现,并明确标注自己仍是 work in progress(开发中)。它并非通用游戏框架,也不是完整商业作品,而是一个可直接打开页面游玩的开放源代码小游戏;作者同时给出了演示页链接,方便读者在浏览器中先体验再阅读代码。项目保留了原作的“无尽雪道”滑雪主题,但实现范围和完成度以 README 所列内容为准。
从玩法层面看,玩家控制的滑雪者会在随机生成树木的无尽雪道上持续下滑,需要左右转向、停止,并避开树木和大树;README 还列出树木碰撞检测与相应反应、距离统计、按 F 键加速、彩虹跳跃平台与跳跃、会吃人的怪物,以及 LocalStorage 最高分等功能。移动端也做了支持:README 建议在手机浏览器打开演示页,用手指控制滑雪者,并提到可以尝试双击操作。怪物在吃掉玩家后会因为“吃饱了”而跑开,这类描述体现了项目在还原原作趣味性上的取向,而不是追求复杂 AI。
技术实现方面,项目使用 JavaScript 编写,README 提到 HTML5 Boilerplate 提供了页面标记等基础内容,精灵素材来自 Spriters Resource 论坛的 Wing Wang Wao,作者在其基础上做了少量扩展。代码中包含自定义碰撞箱,说明碰撞检测并非只依赖简单矩形占位;随机树木、跳跃平台、最高分存储等也属于可核验的功能点。项目还包含 Mocha 单元测试,README 给出的流程是先执行 npm install,再运行 mocha 查看测试结果。不过 README 没有明确说明使用了 Canvas、WebGL 或某个现成游戏引擎,因此更适合把它看作基于浏览器前端技术的手写小游戏实现。
开发状态需要特别留意:README 把 rocks、snowboarders、dogs、ski lifts 等原作内容列在待办中,作者还提出过让玩家扮演单板滑雪者、加入技巧动作以及多人模式等设想,但这些都只是计划,不能当作已实现功能。项目公开征集贡献者,欢迎提交 pull request 或 issue。也就是说,当前版本适合体验和阅读,但不应默认它已经完整复刻原版 SkiFree 的所有系统;功能列表、代码结构和玩法细节都可能随开发推进而变化。
运行方式上,README 说可以直接在 Chrome 中打开 index.html,也提到 Firefox,但作者坦言目前只在 Chrome 和 Mobile Safari 上测试过,其他浏览器和平台未做保证。演示页地址是 https://basicallydan.github.io/skifree.js ,可作为在线试玩入口;本地运行则需要浏览器和可选的 Node/npm 测试环境。README 没有提供 Windows、Linux、macOS 的安装包或平台专用构建,也没有给出 docs 或 zip 下载链接,因此平台支持更适合标记为待核验,而不是声称已在各桌面系统官方验证。
适合学习的地方在于:这是一个体量较小的 JavaScript 浏览器游戏样本,可以观察角色控制、碰撞检测、随机树木生成、跳跃、怪物行为、最高分存储和单元测试如何组织在一起。阅读时建议结合 README 的功能清单逐项对照代码,并注意它仍是未完成项目,第三方素材和许可证信息需要查看 license.md 与相关 credits。国内环境使用 npm 安装依赖时可考虑配置镜像源,访问 GitHub Pages 演示页也可能受网络环境影响;这些都属于使用层面的待核验事项,不影响项目本身作为 SkiFree JavaScript 复刻案例的参考价值。
id Software 公开的初代 DOOM 源代码,限非盈利使用。README 说明:运行仍需...
DDNet 是 Teeworlds 的一个模组,源自 DDRace,是一款免费的合作型 2D 平台跳...
Fish Folk: Jumpy 是一款鱼类像素画风的战术 2D 射击游戏,使用 Rust 语言与...