c4bot · kenrick95/c4bot
c4bot 是一个用 JavaScript/Node.js 编写的聊天机器人,可以陪你下四子棋(Connect Four);棋局逻辑移植自作者另一个带 AI 的四子棋项目 c4。仓库的话题标签涉及 Microsoft Bot Framework、Facebook Messenger、Skype、Telegram 等聊天...
《The Killer》是独立开发者 Jordan Magnuson 为 GameTrekking.com 制作的一款实验性作品,README 开篇即把它称为 a notgame by Jordan Magnuson,也就是作者本人并不以常规「游戏」来定义它,而是归入「非游戏」这一实验创作谱系。仓库里没有额外的项目简介,也没有玩法说明文档,能确认的技术信息集中在文件头部:语言为 AS3(ActionScript 3),依赖库为 FlashPunk(flashpunk.net),开发环境是 FlashDevelop,并且工程文件(project file)随仓库一并提供,下载后可直接用 FlashDevelop 打开。换言之,这是一份 2010 年前后典型的 Flash 平台独立游戏源码存档,而不是一个带完善文档的现代开源项目。
在授权方面,作者的态度相当开放:README 明确写道,本游戏的源代码 completely free and open,可以「以任何方式使用」。作者唯一希望的是,如果这份代码对你有帮助,或者你用它做出了什么特别的东西,发一封邮件告诉他(jm.magnuson@gmail.com)。需要注意的是,仓库里并非所有内容都遵循同一套条款——FlashPunk 库本身受其独立许可约束,具体文本就放在仓库的 flashpunk 目录下。如果打算把代码用于二次开发甚至商业用途,除了尊重作者开放源码的意愿,也应先阅读该目录中的许可证,确认 FlashPunk 部分的合规性。
README 中一段很诚实的自述,是理解这份代码结构的关键:本作是在作者早前的一个作品 Walk or Die 的基础上,以「相当随意、杂乱」(terribly haphazard)的方式搭建出来的。因此作者直接建议,如果你的兴趣在于程序化世界生成(procedural world generation)或昼夜循环(day/night cycle)的基础代码实现,最好单独去下载 Walk or Die 的源码,地址为 https://github.com/JordanMagnuson/Walk-or-Die 。这段话透露了两点信息:其一,本项目中确实包含程序化世界生成与昼夜交替这两套系统;其二,它们在 The Killer 里并非以清晰、可复用的形式组织,而是被后续的实验性内容层层叠加覆盖。
素材署名部分交代了外部资源的来源与许可证,这对希望合法复用素材的读者很重要。爆炸音效采用 Creative Commons Sampling Plus 1.0 许可,作者为 Omar Alvarado,取自 freesound.org(样本 id 93741);爆炸精灵图采用 Creative Commons Attribution 许可,作者为 Daniel Bristow-Bailey(dbbcreative.co.uk)。README 还贴心附上了 creativecommons.org 的许可证说明链接。这意味着如果剥离代码单独使用这些美术与音频资源,必须按对应 CC 条款保留署名;而代码部分则是作者本人无条件开放的。
项目还附带一份 SPECIAL THANKS 名单,记录了参与测试与打磨的贡献者,其中包括 Jeremy Apthorp、Simon Braunstein、Jed Davis、Jeff Juday、Florent Maurin、以 increpare 之名闻名的 Stephen Lavelle、Tom Sauter、Erica Sauter、Marianne Yahyaoui,以及作者的妻子 Marisa。这份名单从侧面说明,这款体积不大的实验作品经历过一轮多人试玩与反馈迭代,也折射出当年 Flash 独立游戏圈相互试玩、彼此致谢的社群氛围。README 结尾鼓励玩家就任何问题、意见或 bug 发邮件反馈,并承诺每一封都会读。
从运行形态看,这是一个 ActionScript 3 + FlashPunk 的 Flash 项目,既没有提供构建脚本,也没有在 README 中给出在线试玩地址或可执行文件下载链接,仓库中也没有描述目标平台。想在今天运行它,需要自行准备 AS3 运行环境:Flash Player 已于 2020 年底停止官方分发,实际使用往往要依赖旧版独立播放器、AIR 运行时或 Ruffle 一类兼容方案;FlashDevelop 本身是 Windows 平台的 IDE,通常还需要 .NET 环境支持。各平台的具体可用性,仓库并未声明,属于需要读者自行验证的部分。
适合谁来读这份源码?它更适合已经接触过 ActionScript 3、想了解 FlashPunk 这套 2D 框架如何组织实体与渲染的读者,以及想看看「程序化世界生成 + 昼夜循环」在真实小型项目中如何落地的人。但由于作者自己承认代码是随意堆叠而成、仓库又缺少说明文档,学习时难免要花时间在目录与类之间自行摸索;更高效的做法是把本仓库当作「成品样本」,把 Walk or Die 当作「系统教材」对照阅读。此外,作为一款被作者定义为 notgame 的实验作品,它更适合被当作研究 2000 年代末至 2010 年代初独立游戏实验潮流的标本,而非一款以可玩性见长的商业游戏。
Raze 是 ZDoom 团队维护、用 C++ 编写的开源项目,基于 GZDoom 技术重写 Buil...
Farbrausch 2001—2011 年 demo 工具源码合集,使用 C++,涉及 demoscene 与 D...
Unknown Horizons 官方代码仓库,使用 Python 开发。据 README,这是一款 2D...