本页目录

贪吃蛇克隆(Snake,JavaScript Canvas 练习)

snake · xurxodiz/snake

一个用 JavaScript 和 Canvas 编写的贪吃蛇小游戏克隆,作者称这是自己第一次尝试 canvas 与 JavaScript 的练习作品。项目原本为 0hgame jam 准备,但未能按时完成;开发起点参考了 Bill Mill 的 canvas 教程。作者在说明中提到,此前提...

RPG 文字冒险 无明确引擎 Python 程序化生成 高级
★ Stars 3,220 Forks 542 License MIT 更新 2026-10-28

国内开发环境适配

Windows
未知
Linux
AI 推断/待核验
macOS
未知
引擎 / 框架:无明确引擎 暂无中文教程标记 未标记站长实测
本地运行依赖 NVIDIA GPU 与 CUDA,需执行 install.sh 安装系统包并创建 python3 虚拟环境,network 上需通过 download_model.sh 拉取模型权重,国内下载可能较慢或需自备镜像;训练/微调需大显存硬件,普通环境基本不可行,具体依赖版本待核验。

中文项目介绍

AIDungeon2 是一个由深度学习语言模型驱动的文字冒险实验项目:玩家用自然语言输入动作或对白,模型据此续写故事,从而在理论上得到可以无限进行下去的分支叙事。与传统的分支剧本式文字冒险不同,它不依赖人工撰写的剧情树,而是把「玩家输入 + 已发生的文本」作为上下文交给语言模型,让模型即时生成下一段情节。README 本身并不长,主要给出四条使用路径(本地运行、网页版、移动端、Colab 笔记本)以及一份相当坦率的技术说明,包括数据清洗格式、微调脚本与所需硬件规模,项目原始博客文章详细记录了它的设计动机与构建过程。

在本地运行方面,README 给出的流程是先用 git clone 拉取 master 分支,进入目录后执行 install.sh 完成系统包安装并创建 python3 虚拟环境,再执行 download_model.sh 获取模型权重,激活 venv 后运行 play.py 开始游戏。作者明确提醒:推荐配备显存 12GB 以上的 NVIDIA GPU 并安装好 CUDA;若没有这样的显卡,模型组织一次回复可能要花几分钟甚至更久,交互体验会明显下降。这说明该仓库本质上是一个面向研究者与早期尝鲜者的原型,而不是开箱即用的成品游戏;模型权重、CUDA 版本与 Python 环境是能否顺利跑起来的关键前提。

核心功能

核心特性

微调部分是这个仓库最有参考价值的内容之一。作者描述了数据整理方式:把抓取到的文字冒险样本整理成嵌套的 JSON 树结构,节点包含 tree_id、story_start,以及 action_results 数组,数组中的每一项带有 action、result 和一个递归嵌套的 action_results 字典,用来记录同一节点下的多条分支。随后使用仓库中的 build_training_data.py 把这棵树摊平成一个巨大的纯文本文件,样本以 <|startoftext|> 起始、<|endoftext|> 结束,内部用「> 玩家动作」「模型续写的后果」交替排列,同一份文本中会重复大量此类片段。最后用 generator/simple/finetune.py 在具备相应硬件的机器上完成微调,脚本路径与文件名在 README 中都能直接核验。

关于算力,作者写得非常具体:最初是在一台配备 8 张 32GB V100 的 NVIDIA DGX-1 上完成微调的,并把 batch size 设为 32,认为较大的批大小对生成质量有帮助。由于不再拥有那台机器,他给出了两条替代路线:一是租用 AWS EC2 的 p3dn.24xlarge 实例(在他能找到的云资源中规格最接近);二是使用 SageMaker 笔记本,选择 p3.24xlarge(相当于 8 张 16GB V100),并因为单卡显存较小而建议把 batch size 降到 8 左右。这段说明对想复现「用 GPT-2 级别模型做游戏」的读者来说,是一份难得的成本与显存估算参考。

技术架构分析

技术要点

工程协作层面,README 交代了分支模型:项目采用近似 Git Flow 的流程,develop 分支承载最新提交,master 始终指向打过标签的最新稳定版本,贡献者需要在 develop 上测试与游玩,提交前把改动摘要写进 CHANGELOG 的 Unreleased 段落,然后从自己的 fork 发起 pull request,目标分支为 develop。社区入口也列得比较全:官网 aidungeon.io、项目邮箱、作者与开发者的 Twitter 账号、Reddit 的 r/AIDungeon 板块以及 Discord 服务器,说明这是一个开放接受新包、Bug 修复、文档与核心功能贡献的开源项目。

从学习角度看,这个仓库适合拿来研究三件事:一是把语言模型当作运行时内容生成器接入游戏循环的思路;二是以树形结构记录玩家动作与模型结果、再摊平成训练语料的工程做法;三是小团队在有限算力下如何用云端实例完成大模型微调。需要注意的是,它并不包含通用游戏引擎,画面、物理、UI 等概念在这里基本不适用,可玩性完全取决于模型权重与生成质量;本地部署对显卡和 CUDA 有硬性要求,无卡环境下只能借助 Colab 或网页/移动版试玩。仓库中的模型下载脚本、依赖安装与云端实例可达性在国内网络环境下可能受限,具体是否可用需自行核验。

开源许可证与版权说明

许可证标识:MIT。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目