Xs of Y – 每局自动命名的roguelike游戏,用4千行代码编写
摘要
Xs of Y 是一款用名为 let-go 的自定义Lisp方言编写的roguelike游戏,每局都会生成新的标题、任务和符文映射。游戏具有独特的基于s表达式的魔法系统,可以原生运行或通过WASM在浏览器中运行。
查看缓存全文
缓存时间: 2026/05/13 18:15
nooga/xsofy
来源:https://github.com/nooga/xsofy
X 的 Y
一个用我的 Lisp(https://github.com/nooga/let-go)编写的类 Rogue 游戏,其中的魔法系统本身就是一个 Lisp。
注意:这还没完成!可以玩,但请做好心理准备,可能会遇到轻度危险和计划外的爆炸。
在浏览器中游玩(https://nooga.github.io/xsofy/)
截图
每次运行都会生成一个新的标题(《畏怖装载的凉亭》)、一个新的任务(《取回无用的锅铲》)以及一套新的符文映射。符文其实是符号,咒语是 S 表达式。你拥有地牢现实引擎的 root 访问权限,但 man 手册的语言已死,且每次启动都会变化。
能力曲线是倒置的——早期是绝望求生,晚期则是在安全边际不足的情况下实践应用神学。
同时,地牢正试图用更传统的方式杀死你。蜘蛛射出蛛网锥体困住你,而哥布林则趁机逼近。黏液怪被击中后会分裂。巨魔会再生。点燃某样东西,它会恐慌地穿过草丛,引燃草地,进而引燃更多生物——没事,一切都好。把食人魔推进岩浆。把一个哥布林撞向另一个哥布林。不小心把自己推进深渊。深渊能教人成长。
代码约 6900 行 let-go(https://github.com/nooga/let-go)——一种运行在 Go 字节码 VM 上的 Clojure 方言。底层全部使用持久化数据结构。零依赖。6ms 启动。原生运行或通过 WASM 在浏览器中运行(https://nooga.github.io/xsofy/)。
如果你喜欢这个游戏的外观,可以看看 Brogue(https://sites.google.com/site/broguegame/)——这是我的主要灵感来源。
运行
lg main.lg
从 let-go(https://github.com/nooga/let-go)获取 lg,或者:
brew tap nooga/let-go https://github.com/nooga/let-go
brew install let-go
相似文章
@Kraggich:Nyx 上线。无限画布 IDE,Claude Code、Codex、Gemini、Hermes Agent 和 Droid 都以 tile 形式共存,可随意排列……
Nyx 发布无限画布 IDE,用户可将 Claude Code、Codex、Gemini、Hermes Agent 和 Droid 等多个 AI 编程助手并排运行,无需切换上下文。
@sudoingX:更新:Qwen 3.6 27b dense q4 在单张 3090 上一次生成了 Octopus Invaders 游戏。Hermes Agent 驱动了整个事…
用户基准测试表明,Qwen 3.6 27B dense 模型(Q4 量化)能够在单张 RTX 3090 上通过单次提示自主生成一个完全可玩的多文件游戏,性能显著优于其前代版本,且无需任何人工干预。测试结果突显了在消费级硬件上本地代码生成和智能体能力方面的重大改进。
在浏览器中试用 LispE
关于在浏览器中试用 LispE(一种 Lisp 方言)的简要介绍或链接。
@zheyuanzhang99:发布 AgentOdyssey——一款面向测试时持续学习智能体的开放式长程文本游戏生成引擎
AgentOdyssey 是一款开放式文本游戏生成引擎,专为持续学习智能体设计,打破训练与测试的界限。
G-Zero:从零数据开始的无界生成自博弈方法
本文介绍了 G-Zero,这是一个无需验证器的框架,通过基于内在奖励和提示引导的协同进化训练,实现大型语言模型的自主自我改进。旨在通过从内部分布动态中推导监督信号,克服代理 LLM 评判者在无界任务中的局限性。