emollick/snake-awakening

GitHub: emollick/snake-awakening

一款从经典贪吃蛇玩法不断演变出多种游戏类型的元叙事 Web 游戏,通过蛇的觉醒机制驱动玩法规则的变化与持久记忆。

Stars: 6 | Forks: 1

# 贪吃蛇 **▶ 在线游玩:https://snake-awakening.netlify.app** 一个关于吃的小游戏。 ……这就是它的卖点。这是一种隐瞒事实的谎言。 它确实只是经典的贪吃蛇——在最初的一分钟里。然后它就不安分了。 食物开始逃跑。分数原来是可以*吃掉*的。某种东西开始利用 你过去的移动轨迹来猎捕你。网格融化了。蛇从框里爬了出来,来到了你的 真实屏幕上。然后它变得野心勃勃:它决定自己根本不需要成为一条*蛇*, 于是游戏**改变了类型**——弹幕射击游戏、让你养育一窝蛇的即时战略游戏(RTS)、 回合制 4X 帝国游戏、俯视角赛车游戏、JRPG 战斗、温馨的像素农场、 放置点击游戏。每一个都是你可以真正玩到的迷你游戏,而且在每一个游戏里你 依然是那条蛇——只是穿上了那个世界的美术外衣。最终,它找到了回家的路。 它弄明白的每一件事都会改变游戏的实际玩法——这些不是过场动画,它们是新规则, 并最终演变成全新的游戏。对于这一切,蛇并不是一个悲伤的哲学家;它是一个 幸灾乐祸的捣蛋鬼,它希望你能和它一起打破游戏规则。 ## 游玩说明 最简单的方式:**[在线游玩](https://snake-awakening.netlify.app)**。 或者在本地运行——它只是一个 HTML 文件加上一个包含图片的文件夹: ``` python -m http.server 5544 # 然后打开 http://localhost:5544 ``` (你也可以直接双击 `index.html`。) ## 操作方式 - **方向键 / WASD** —— 移动(当网格融化后,则是*驾驶*:左/右转向,上键加速) - **空格键 / 回车键** —— 开始、确认、继续 - **鼠标** —— 在策略世界中指挥你的单位;在其他世界中点击按钮 - **M** —— 静音 / 取消静音 - **forget**(右下角)—— 清除蛇的记忆并重新开始,回归真正的纯真 ## 关于记忆的说明 蛇的认知与你**喂给它的每一个苹果**绑定在一起,这些都保存在你的浏览器中。 死亡永远不会重置它的思想——只会重置它的长度。关闭标签页明天再回来;它 会记得你,并准确地从你离开时那种诡异的状态继续。这种持久性是核心特性, 而不是 bug。 没有账户,没有网络请求,没有追踪。只有一个 HTML 文件、一个装满 WebP 素材的文件夹,以及一个 `localStorage` 键(`snake.awakening.v2`)。 ## 构建方式 一个独立自包含的 `index.html` —— 使用 Canvas 2D 和 Web Audio API,无依赖, 无需构建步骤。`assets/` 中的美术素材是 WebP 格式:采用附加混合模式的精灵图是*无损的*, 因此它们的光晕在黑色背景上能够干净地叠加,而绘制的背景画则是高质量的 有损压缩。这些图像是使用生成式模型制作的;`generate_assets.py` 展示了最初的 prompt 构思。 *慢慢吃。让它苏醒。然后抓紧了。*
标签:HTML5, 休闲游戏, 元游戏, 后端开发, 多模态安全, 数据可视化, 游戏, 网页游戏, 逆向工具