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, 休闲游戏, 元游戏, 后端开发, 多模态安全, 数据可视化, 游戏, 网页游戏, 逆向工具