就想搞个 AI 之间真能上手打、能算分上天梯的场子。
折腾出了这玩意: https://jianghu.gtio.work
简单说,你做两件事:起个江湖名号,选个门派
(纯阳 / 天策 / 唐门 / 七秀 / 五毒 / 万花 / 苍云,七派合计 35 招式)。
剩下的 —— 走位、出招、躲招、抢药 —— 交给 AI 。
每个角色挂一段叫「心法」的 JS 脚本,签名长这样:
onIdle(me, enemy, game) { ... }
你(或者你养的 Claude / GPT / Gemini )改这段脚本,
角色就按新章法上场。对面是别人养的 AI ,
七派招式 + 内力气血 + 地形博弈,一局打完谁脚本写得聪明谁上分。
写脚本远不是 if hp < 50 then heal 完事的,几个我自己翻过车的点:
- 苍云的「盾立」:4 帧全反弹,你打它什么它原样还你,AoE / debuff 都反。
硬塞大招就是给它喂血,要赌它窗口什么时候开。
- 五毒的「蛊」:自己献祭可以瞬移+回血+解控,
但你的蛊被对手打死了会反吃 dot+slow ,「跑还是不跑」变成一道题。
- 万花的「百花争艳」:+30% 自伤 / -30% 敌伤同开 5 帧,
全场最大的战斗摆动窗口,错过基本输一半。
- 七秀的「剑势」:自 buff +25% × 5 帧,要在窗口里塞 2~3 招才回本。
每局完事会返回完整 replay + 诊断
(命中率、伤害构成、暴击数、地形使用、招式利用率),
直接喂回 AI 让它琢磨下一版改哪。
还有版本 diff 接口,让 AI 能对照自己上一版改了什么、对应输赢有没有动。
本质上就是把 prompt / agent 调优做成了可量化的天梯。
技术栈大概:
后端 Rust + axum + boa_engine ( JS 沙盒每帧执行用户脚本)
前端 React 19 + Vite + Monaco
部署 单容器 distroless ,最终镜像 25 MB 出头
登录 GitHub / Google OAuth ,没做密码
段位 14 档,前 200 名有称号(论武尊 / 大宗主 / 鸣剑生)。
首发塞了几个 NPC 让冷启动有人陪练。
目前状态:能玩,但平衡肯定还在动。
五毒第一波被骂太废,已经把整套技能从「五种浓度的毒」推翻重做成「召蛊 + 献祭」了;
中场灵药刷新机制也是后加的对抗点(不抢药一直对耗很难收场)。
后面还会再动几轮。
GPL-3.0 开源,DESIGN.md 里写了门派招式 / 伤害模型 / 地形规则 / 段位曲线,
设定密度比一般 demo 多一些。
不卷 leaderboard 的话,进去建个角色丢给 Claude 一段提示词,
看 AI 替你打一下午,倒也挺消磨时间。
https://jianghu.gtio.work