快速开始
从零创建一个自由模式游戏的完整流程
1. 创建游戏
在创作台选择「自由模式」,填写基本信息:
- 标题 — 游戏名称
- 简介 — 一句话描述
- 封面 — 游戏封面图
- 游戏设定 — AI 系统提示词(角色设定、世界观、行为规则等)
2. 配置面板字段(可选)
自由模式同样支持高级模式的面板字段配置。配置后,你通过 SDK 写入的数据会在玩家的状态面板中显示,同时以 XML 格式自动注入到 AI 提示词中。
具体配置方法参考 高级模式(世界状态、主控面板、NPC 面板、关系系统、物品栏)。
面板字段配置不是必须的。如果你的游戏不需要状态面板显示,可以跳过这一步,直接使用 SDK 的 custom 模块存储自定义数据。
3. 编写游戏代码
创建一个包含 index.html 的项目文件夹。最小结构:
my-game/
├── index.html
├── js/
│ ├── storvia-sdk.js (SDK 文件,从平台下载)
│ └── game.js (你的游戏逻辑)
└── css/
└── style.css (样式文件)index.html 示例
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我的游戏</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div id="app">
<div id="chat-area"></div>
<input id="user-input" placeholder="说点什么..." />
<button id="send-btn">发送</button>
</div>
<script src="js/storvia-sdk.js"></script>
<script src="js/game.js"></script>
</body>
</html>game.js 示例
// 初始化 SDK
const sdk = new StorviaSDK();
async function start() {
await sdk.init();
console.log('SDK 初始化成功!');
// 发送消息并获取 AI 回复
document.getElementById('send-btn').onclick = async () => {
const input = document.getElementById('user-input');
const text = input.value.trim();
if (!text) return;
input.value = '';
// 显示用户消息
addMessage('user', text);
// 调用 AI
const reply = await sdk.chat.send({
message: text,
topic: 'main',
context: '[场景] 和玩家聊天',
});
// 显示 AI 回复
if (reply) {
addMessage('ai', reply.content);
}
};
}
function addMessage(role, text) {
const area = document.getElementById('chat-area');
const div = document.createElement('div');
div.className = role === 'user' ? 'msg-user' : 'msg-ai';
div.textContent = text;
area.appendChild(div);
}
start();4. 上传 ZIP
将项目文件夹打包为 ZIP 文件,在创作台的「上传游戏文件」区域上传。
- ZIP 文件大小限制 20MB
- ZIP 根目录下必须有
index.html - 确保
storvia-sdk.js已包含在 ZIP 中
5. 预览
上传成功后,点击「预览」按钮即可在创作台内预览游戏效果。预览模式下 AI 对话正常工作(会消耗花园币),但游戏状态不会持久保存。
6. 发布
确认无误后点击「发布」,游戏上线。玩家通过链接访问游戏时,SDK 会自动完成鉴权,加载存档数据。
每次重新上传 ZIP 并发布后,新版本会替换旧版本。玩家下次打开游戏时自动加载新版本的代码,但他们的存档数据(角色属性、关系、物品等)会保留。