# NOON ARCADE 游戏接入规范

启动器采用纯静态目录结构。新游戏不需要修改启动器代码，只需提供清单并在根目录登记。

## 目录约定

```text
午间game/
  games.json
  game-bridge.js
  my-new-game/
    index.html
    game.json
    cover.webp
```

## 1. 创建游戏清单

在游戏目录新增 `game.json`：

```json
{
  "schemaVersion": 1,
  "id": "my-new-game",
  "title": "游戏名称",
  "subtitle": "一句副标题",
  "description": "用于展示页的游戏说明。",
  "entry": "./my-new-game/index.html",
  "cover": "./my-new-game/cover.webp",
  "accent": "#d7ff3f",
  "genre": "益智",
  "tags": ["单人", "轻量"],
  "sessionMinutes": 10,
  "players": "单人",
  "controls": "键鼠 / 触控",
  "status": "可游玩",
  "featured": false,
  "version": "1.0.0",
  "sortOrder": 30
}
```

`id` 必须唯一；`entry` 和 `cover` 均从启动器根目录解析。封面建议使用 16:9、至少 1280x720 的 WebP、PNG、JPG 或 SVG。

## 2. 登记到总清单

编辑根目录 `games.json`，向 `games` 数组追加：

```json
{ "id": "my-new-game", "manifest": "./my-new-game/game.json" }
```

## 3. 接入宿主通信（推荐）

在游戏 `</body>` 前加入：

```html
<script src="../game-bridge.js"></script>
```

当玩家真正开始操作时调用：

```js
window.NoonArcade?.start({ mode: "normal" });
```

桥接层会处理嵌入检测、前后台暂停、退出时长上报以及宿主暂停消息。游戏即使不接入桥接层，也能被启动器正常打开和计时。

## 运行与检查

在根目录启动任意静态服务器，例如：

```powershell
python -m http.server 4173
```

然后打开 `http://localhost:4173/`。不要直接双击根目录 `index.html`，浏览器对 `file://` 下的 JSON 请求有限制。
