文字游戏机免费版
面向个人用户的文字游戏生成与游玩工具. 核心能力: 多类型文字游戏、剧情分支、角色互动、存档读档、本地运行 适用场景: 个人娱乐、互动小说创作、剧情练习、游戏原型 差异化: 免费版聚焦单用户游玩,本地运行,无需联网 适用关键词: 文字游戏, 互动小说, 剧情游戏, 冒险游戏, 恋爱模拟, 文字冒险
天轰穿
@thcjp
What This Skill Does
A local text-based game generator and player that supports multiple genres including adventure, mystery, romance, and interactive fiction. It offers branching storylines, character interactions, save/load functionality, and runs entirely offline without internet access.
Replaces the need for online game platforms or manual story scripting by providing instant, customizable text adventure generation and play directly on your device.
When to Use It
- Play a pre-built text adventure game for personal entertainment
- Generate a custom mystery or romance game based on your own story idea
- Create an interactive fiction prototype for testing narrative branches
- Save and resume a text game session later using the save/load feature
- Practice creative writing by designing branching dialogue and character interactions
Install
$ openclaw skills install @thcjp/text-game-arcade-tool-free文字游戏机 (免费版)
概述
本工具为个人用户提供多类型文字游戏生成与游玩能力,涵盖冒险、悬疑、恋爱、科幻、奇幻等类型。支持剧情分支、角色互动、存档读档,所有游戏本地运行,无需联网。既可以游玩预设游戏,也可以根据用户描述生成定制游戏. 免费版聚焦个人娱乐,适合游戏爱好者、互动小说爱好者、创意写作者使用.
核心能力
| 能力模块 | 描述 | 免费版支持 |
|---|---|---|
| 多类型游戏 | 冒险、悬疑、恋爱等 | 支持 |
| 剧情分支 | 多结局设计 | 支持 |
| 角色互动 | NPC 对话系统 | 支持 |
| 存档读档 | 游戏进度保存 | 支持 |
| 自定义游戏 | 用户描述生成 | 支持 |
| 预设游戏库 | 内置游戏 | 基础 (5 款) |
| 多语言 | 多语言游戏 | 不支持 (升级 PRO) |
| 多人协作 | 共同创作 | 不支持 (升级 PRO) |
| 图形界面 | GUI 客户端 | 不支持 (升级 PRO) |
| 商业发布 | 商业用途 | 个人 |
| 游戏编辑器 | 可视化编辑 | 不支持 (升级 PRO) |
| AI 剧情生成 | 智能 NPC | 不支持 (升级 PRO) |
核心功能执行
用input_params参数进行配置.
处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
参数配置与调用
用config_options参数进行配置.
处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
config_options参数,支持修改/重置/导入操作
结果处理与输出
用output_format参数进行配置.
处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
output_format参数,支持导出/保存/转换操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:多类型文字游戏生、含冒险、恋爱与互动小说、面向个人用户的文、字游戏生成与游玩、核心能力、多类型文字游戏、本地运行、适用场景、个人娱乐、互动小说创作、剧情练习、游戏原型、差异化、免费版聚焦单用户、无需联网、适用关键词、文字游戏、互动小说、剧情游戏、冒险游戏、恋爱模拟、文字冒险等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
使用场景
场景一: 游玩预设游戏
直接开始一个预设的冒险游戏.
用户: "我想玩一个文字冒险游戏"
# .
助手:
=== 暗夜古堡 ===
# .
你站在一座古老城堡的大门前。夜色浓重,月光被乌云遮蔽.
大门微微敞开,似乎在邀请你进去.
# .
你的任务: 找到失踪的考古学家.
# .
你的状态:
- 生命: 100/100
- 物品: 手电筒、钥匙、笔记本
# .
你打算:
1. 推开大门进入
2. 绕着城堡走一圈
3. 用手电筒照亮周围
4. 在笔记本上记录现状
# .
> 1
# .
你推开沉重的大门,发出吱呀一声.
一阵冷风扑面而来,带着霉味和某种甜腻的气息.
# .
大厅里一片漆黑。你听到远处似乎有脚步声.
# .
你的状态更新:
- 位置: 城堡大厅
- 警觉度: 高
# .
你打算:
1. 用手电筒照亮大厅
2. 蹲下倾听脚步声
3. 大声呼喊
4. 退回门外
# .
>
场景二: 自定义游戏生成
根据用户描述生成定制游戏.
用户: "生成一个悬疑推理游戏,场景是大学校园"
# .
助手:
=== 沉默的图书馆 ===
# .
背景:
你是私立青山大学的学生.
昨晚,图书馆管理员张教授被发现死在闭馆后的图书馆内.
警方初步判定为意外,但你是最后一个见到他的人.
# .
嫌疑人:
1. 李同学 - 与张教授有学术纠纷
2. 王老师 - 正在申请终身教职,张教授是评审
3. 赵馆长 - 与张教授争夺图书馆经费
# .
你的任务: 在 7 天内找出真凶,洗清自己的嫌疑.
# .
第一天 - 早上 9:00
你站在图书馆门前,手机上还留着张教授昨晚发来的消息:
"如果你看到这条消息,说明我出事了。查 201 房间的资料"
# .
你打算:
1. 立即前往 201 房间
2. 先找李同学了解情况
3. 偷偷查看张教授的办公室
4. 报警并说明情况
场景三: 互动小说创作
将创意转化为可游玩的互动小说.
class InteractiveFiction:
def __init__(self, title, author):
self.title = title
self.author = author
self.scenes = {}
self.current_scene = "start"
self.player_state = {"inventory": [], "flags": set()}
# .
def add_scene(self, scene_id, text, choices=None, effects=None):
"""添加场景"""
self.scenes[scene_id] = {
"text": text,
"choices": choices or [],
"effects": effects or {},
}
# .
def play(self):
"""开始游戏"""
print(f"=== {self.title} ===")
print(f"作者: {self.author}\n")
return self._render_scene(self.current_scene)
# .
def _render_scene(self, scene_id):
scene = self.scenes.get(scene_id)
if not scene:
return "游戏结束"
# .
# 应用效果
for effect in scene.get("effects", []):
self._apply_effect(effect)
# .
# 显示文本
text = scene["text"]
for key, value in self.player_state.items():
text = text.replace(f"{{{key}}}", str(value))
# .
output = text + "\n"
for i, choice in enumerate(scene.get("choices", []), 1):
output += f"{i}. {choice['text']}\n"
# .
return output
# .
def choose(self, choice_idx):
"""选择分支"""
scenes.get(self.current_scene)
if not scene or choice_idx >= len(scene["choices"]):
return "无效选择"
# .
choice = scene["choices"][choice_idx]
self.current_scene = choice["next"]
return self._render_scene(self.current_scene)
# .
# 创建一个简单的互动小说
story = InteractiveFiction("迷雾森林", "AI 作者")
story.add_scene("start", """
你醒来时发现自己躺在一片陌生的森林中.
浓雾笼罩四周,你只看到一条小径通向前方.
# .
你的物品: {inventory}
""", choices=[
{"text": "沿着小径前进", "next": "path"},
{"text": "在原地寻找线索", "next": "search"},
])
不适用场景
以下场景文字游戏机免费版不适合处理:
- 3D建模和动画制作
- 照片级写实渲染
- 手绘原创插画
触发条件
、品牌视觉时使用。不适用于非本工具能力范围的需求.
快速开始
Step 1: 选择游戏类型
游戏类型选择:
- 冒险: 探索、解谜、生存
- 悬疑: 推理、调查、破案
- 恋爱: 角色互动、好感度
- 科幻: 未来设定、科技元素
- 奇幻: 魔法、异世界
- 恐怖: 惊悚、生存
Step 2: 开始或定制
# 游玩预设游戏
echo "玩一个冒险游戏" | text-game
# .
# 自定义游戏
echo "生成一个赛博朋克题材的悬疑游戏" | text-game
Step 3: 保存进度
import json
from pathlib import Path
# .
def save_game(game_state, slot="auto"):
"""保存游戏进度"""
save_dir = Path("~/.text-game/saves").expanduser()
save_dir.mkdir(parents=True, exist_ok=True)
save_file = save_dir / f"{slot}.json"
save_file.write_text(json.dumps(game_state, ensure_ascii=False, indent=2))
# .
def load_game(slot="auto"):
"""读取游戏进度"""
save_file = Path("~/.text-game/saves").expanduser() / f"{slot}.json"
if save_file.exists():
return json.loads(save_file.read_text())
return None
示例
游戏配置
# ~/.text-game/config.yaml
preferences:
favorite_genres: [adventure, mystery]
difficulty: normal # easy, normal, hard
language: zh
save_auto: true
# .
game_types:
adventure:
elements: [exploration, puzzle, combat]
avg_duration: 30min
mystery:
elements: [investigation, deduction, dialogue]
avg_duration: 45min
romance:
elements: [character_interaction, choices, endings]
avg_duration: 60min
# .
storage:
saves_dir: ~/.text-game/saves
max_saves: 10
auto_save_interval: 5 # 每个选择后自动保存
游戏模板
GAME_TEMPLATES = {
"adventure": {
"structure": ["intro", "explore", "puzzle", "climax", "ending"],
"elements": {
"character": ["name", "class", "skills", "inventory"],
"world": ["locations", "npcs", "items"],
"mechanics": ["combat", "puzzle", "exploration"],
},
},
"mystery": {
"structure": ["crime_scene", "investigation", "suspects", "deduction", "resolution"],
"elements": {
"case": ["crime", "victim", "evidence", "witnesses"],
"suspects": ["motive", "opportunity", "alibi"],
"deduction": ["clues", "logic", "conclusion"],
},
},
}
最佳实践
1. 剧情设计原则
好剧情的特征:
- 开场抓人 (前 3 句话决定是否继续)
- 选择有意义 (每个选择都影响后续)
- 多结局设计 (增加重玩价值)
- 角色有深度 (NPC 不是工具人)
- 节奏把控 (紧张与舒缓交替)
2. 选择设计
def design_choices(scene, options):
"""设计有意义的选择"""
return [
{
"text": opt["text"],
"next": opt["next"],
"consequence": opt.get("consequence", ""),
"state_change": opt.get("effects", {}),
}
for opt in options
]
3. 多结局设计
ENDINGS = {
"good": {"condition": {"trust": ">=80", "evidence": "complete"}, "text": "."},
"neutral": {"condition": {"trust": ">=50"}, "text": "."},
"bad": {"condition": {"trust": "<50"}, "text": "."},
"secret": {"condition": {"flag": "found_secret"}, "text": "."},
}
# .
def determine_ending(player_state):
"""根据玩家状态决定结局"""
for name, ending in ENDINGS.items():
if check_condition(player_state, ending["condition"]):
return name, ending["text"]
return "neutral", ENDINGS["neutral"]["text"]
常见问题
Q1: 免费版有多少预设游戏?
免费版内置 5 款基础游戏。完整游戏库需要 PRO 版本.
Q2: 可以保存多个游戏进度吗?
可以,免费版支持最多 10 个存档槽.
Q3: 生成的游戏可以分享吗?
可以分享游戏文本给朋友。但游戏本身不能商业发布.
Q4: 支持哪些游戏类型?
冒险、悬疑、恋爱、科幻、奇幻、恐怖等主流文字游戏类型.
Q5: 游戏有多长?
简单游戏 15-30 分钟,复杂游戏可达数小时。支持多周目游玩.
依赖说明
运行环境
- Agent 平台: 支持 SKILL.md 规范的任意 AI Agent (Claude Code、Cursor、Codex、Gemini CLI 等)
- 操作系统: Windows / macOS / Linux
- 网络: 无需联网 (纯本地推理)
依赖详情
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | 推理服务 | 必需 | 由 Agent 内置 LLM 提供 |
| Python 3.8+ | 运行时 | 可选 | python.org 下载 |
API Key 配置
# 免费版无需外部 API Key
# 所有游戏通过 Agent LLM 本地推理生成
# .
# 可选: 游戏偏好
export TEXT_GAME_GENRE="adventure"
export TEXT_GAME_DIFFICULTY="normal"
export TEXT_GAME_LANGUAGE="zh"
可用性分类
- 分类: MD (纯 Markdown 指令)
- 说明: 本 Skill 通过自然语言指令驱动 Agent 生成与运行文字游戏
- 免费版限制: 单用户、基础游戏库、无多语言、无图形界面、无商业发布
错误处理
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
已知限制
- 本地运行,不支持多设备同步
- 生成内容的质量依赖LLM的创造力与上下文理解
- 不支持实时协作编辑与版本管理
- 长篇内容生成可能出现情节不一致,需人工校验
输出格式
{
"success": true,
"data": {
"result": "文字游戏机免费版处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "text game arcade"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
Top skills in this category
Dashboard
@cellcogAI dashboard and web app generation powered by CellCog. Interactive dashboards, KPI trackers, data visualization, charts, analytics apps, data explorers, calculators, games. Responsive HTML apps with real-time filters.
Weather
@steipeteGet current weather and forecasts (no API key required).
Nano Banana Pro
@steipeteGenerate/edit images with Nano Banana Pro (Gemini 3 Pro Image). Use for image create/modify requests incl. edits. Supports text-to-image + image-to-image; 1K/2K/4K; use --input-image.
AdMapix
@fly0pantsAdMapix raw data layer for ad creatives, apps, rankings, downloads/revenue, and market metadata. Returns structured JSON from the AdMapix API; the calling ag...
YouTube Watcher
@michaelgatharaFetch and read transcripts from YouTube videos. Use when you need to summarize a video, answer questions about its content, or extract information from it.