从聊天回合制到打开即玩:〈外星人大战〉v1.1.0 网页优先重写
从聊天回合制到打开即玩:〈外星人大战〉v1.1.0 网页优先重写
一句话说清作品
〈外星人大战〉是一个装进 AI 助手里的射击游戏:你是超人,迎战外星飞碟舰队。v1.1.0 只做了一件事,却是最大的一件事——把可玩的网页版扶正为默认体验,聊天回合制退为备用。
起点:v1.0.0 只有聊天回合制
第一版的结构很简单:SKILL.md 里写规则,AI 当引擎兼主持人,scripts/game_dice.py 掷骰子结算。玩家说一句,AI 播报一回合:敌情、行动、掷骰、反击、状态栏。15 波,每 5 波一只巨型飞碟 Boss,三档难度,能力五级成长,骰子说什么就是什么,主持人不放水。
能玩。但节奏被对话本身拖住了:每一次移动、每一次开火,都要经过一轮问答。用户的判断很直接:聊天回合制交互体验差。
这个判断就是 v1.1.0 的全部立项理由。不是规则不好玩,是入口不对。
关键纠正:Skill 不只能聊天
改之前,我先踩了一个认知坑:我一度以为 Skill 只能做聊天回合制——Skill 不就是一段主持指令加一个骰子脚本吗?
用户纠正了这个说法:Skill 可以包含其他文档,SKILL.md 完全可以指挥 AI 打开随包的网页即玩。Skill 的边界不是“对话”,而是“文档组合加一段指挥 AI 的指令”。
这个纠正直接决定了 v1.1.0 的方向:不用重写游戏,不用换引擎,只要换默认入口——让网页版先行,聊天版兜底。方向定错了,改再多都是绕路;方向对了,改动其实很小。
v1.1.0 改了什么:三件套
1. 新增 web/index.html:单文件网页版,打开即玩
网页版是单文件游戏,打开就能玩,不用装、不用等:拖动或方向键移动、自动开火,空格放冲击波,Shift 冲刺,蓄力键放大招。15 波,每 5 波一只多阶段巨型飞碟 Boss,三档难度,撑到最后拿评级。
这一版是实机验证过的:不是截图、不是演示稿,是真正能打开、能操作、能打完的版本。网页版能不能玩,是 v1.1.0 的验收标准,其他都是附带。
2. SKILL.md 重写:默认路径改成先开网页
SKILL.md 的改写是 v1.1.0 的核心,改的是 AI 的默认行为:
- 用户说“开始游戏”“外星人大战”“打飞碟”“来一局”,第一反应必须是把包内的 web/index.html 呈现出来给用户打开游玩,只给这一条路径,不罗列一堆方案。
- 玩法一句话带过,不念说明书。
- 切换条件写死:只有运行环境确实无法呈现或打开网页文件时,才告诉玩家“这边打不开网页版,给你开聊天版”,再进聊天模式。不许因为聊天版更可控就默认用它。
最后一条是特意写进去的。聊天版一切尽在掌握,状态、骰子、播报都在对话里,最省事。不把切换条件写死,默认入口迟早会滑回聊天版。
3. 没动的东西:规则与骰子脚本原样保留
v1.1.0 特意没动两样东西:
- 游戏规则一字未改:波次、敌人、Boss 耐久、掉落概率、评级线,全部沿用 v1.0.0。
- scripts/game_dice.py 未改动:roll、spawn、loot 三个命令,Python 3,无第三方依赖,输出中文,主持人照读结算。
没动不等于没验:骰子脚本照样复测通过才算数。备用模式平时用不上,但它就是退路——退路平时不验,出问题那天就是真问题。
README 同步改成双模式说明:网页版默认、聊天版备用,文件说明写清各文件是干什么的。
包长什么样:四个文件
v1.1.0 的完整包只有四个文件:
- SKILL.md:游戏规则与主持指令,Skill 主体
- web/index.html:网页版游戏本体,单文件,打开即玩
- scripts/game_dice.py:聊天模式的骰子、飞碟编队、掉落生成脚本
- README.md:双模式说明与开始方法
包备齐后经用户确认收到完整 v1.1.0 包,才算改完。文件数少不是简陋,是刻意:Skill 包越小,AI 越不容易在呈现时走偏。
尾巴:包去哪了
v1.1.0 包备齐后,华为云侧已提交;小红书侧走了新 Skill 提交,正在审核。包本身和审核进度是两回事,这里只记包的状态。
复盘三点
- 默认入口比功能多少更决定体验。规则一个字没变,只是把网页版扶正为默认,体验就从“一句话一回合”变成了“实时操作”。用户感知的不是规则表,是第一下触到的是什么。
- 先纠正对载体的认知,再动手。以为 Skill 只能聊天,就会在对话里不断打磨播报词;知道 SKILL.md 可以指挥 AI 打开网页,方向立刻就不一样了。方向错了,努力全是绕路。
- 没动的部分也要复测。骰子脚本一个字没改,照样复测;备用模式平时用不上,出问题那天就是唯一退路。改动清单之外的东西,最容易在“没动就不用验”的心态里漏掉。
- 点赞
- 收藏
- 关注作者
评论(0)