从这里开始
PlayDrop 能为你的游戏带来什么
PlayDrop 游戏借助 SDK、catalogue.json 和托管能做什么,每项功能在哪里可用,以及各项功能的指南:存档、排行榜、队伍、服务器、收益等。
PlayDrop 游戏是一款由 PlayDrop 托管、列出,并在其网站和适用于 iOS、Android、Windows 和 macOS 的 PlayDrop 应用中运行的网页游戏。在应用中,游戏全屏运行,周围没有浏览器地址栏;它是在应用的游戏视图中运行的同一款网页游戏,而不是单独的原生版本。本页列出 PlayDrop 可以添加的功能,以及每部分的文档所在之处。
两种方式
| 简单 HTML | 包 | |
|---|---|---|
| 你发送什么 | 一个独立的 HTML 文件,最大 10 MiB | 一个带 catalogue.json 的已构建文件夹、ZIP 或 .play |
| PlayDrop SDK | 不支持 | 支持,包括下面的所有功能 |
| 商店页面图片和视频 | 不支持 | 支持 |
| 托管游戏服务器 | 不支持 | 支持 |
| 指南 | 简单 HTML 游戏 | 打包 |
任何游戏都可以从简单方式开始,之后以相同的名称和链接变成包。
玩家能获得什么
| 功能 | 为玩家带来什么 | 指南 |
|---|---|---|
| 宿主生命周期 | 干净的暂停和恢复,跟随玩家静音设置的音频,快速显示的第一帧 | 加载、暂停和音频 |
| 全屏布局 | 铺满屏幕的游玩画面,HUD 避开刘海和 PlayDrop 的控件 | 全屏和安全区域 |
| 云存档 | 在设备之间跟随玩家的进度 | 云存档 |
| 排行榜 | 最高分和玩家的排名 | 排行榜 |
| 成就 | 带图标和进度的目标 | 成就 |
| 分享和邀请 | 带图片或短片的分享面板、好友邀请,以及聊天中的游戏卡片 | 分享、好友和邀请 |
| 在线队伍和语音 | 朋友们一起加入同一个房间,可选房间语音 | 在线队伍和语音 |
| 本地队伍和控制器 | 在同一块屏幕上把手柄和手机当作控制器 | 本地队伍和控制器 |
| 实时服务器 | Colyseus 房间,每款游戏一个 MongoDB 数据库 | 实时游戏服务器 |
| 评价、打赏、购买和广告 | 让玩家支持游戏的方式;为创作者带来点数 | 变现 |
| 素材和 AI 生成 | 共享素材、生成的媒体和玩家作品 | 游戏素材、AI 素材、自定义格式 |
商店页面能获得什么
catalogue.json 为游戏提供它的页面:标题、说明、类型和标签、图标、主视觉图、截图和视频、翻译以及即玩资格。可见性决定谁可以打开它:私密用于测试,不公开列出供任何拿到链接的人游玩,公开则可在 PlayDrop 上被发现,并对搜索引擎开放。公开列出会带来被发现的机会,但不保证有玩家。
每项功能在哪里可用
网站和应用用同一个 SDK 运行同一款游戏,但有些宿主功能取决于设备:
- 触感反馈只在原生应用中可用;
sdk.haptics.supported会告诉你。 - 分享视频短片取决于宿主;不支持的宿主会拒绝,而不是改为分享普通链接。
- 离线游玩和文件预加载在原生应用中进行,适用于声明了它们的游戏;网站会在线加载游戏。
- 房间语音和队伍取决于宿主版本、登录状态和平台的功能推出进度。
- 广告取决于宿主和可用的广告资源;没有准备好的广告时,
load()会报告。
请把游戏设计成在缺少某项可选服务时仍然可以玩。
从 SDK 开始
加载 SDK,读取宿主状态,然后在设计好的第一帧显示在屏幕上时发出就绪信号:
html
<script src="https://assets.playdrop.ai/sdk/playdrop.js"></script>
<script type="module">
const sdk = await playdrop.init();
// Set up pause, audio and HUD from sdk.host, then render the first frame.
sdk.host.ready();
</script>接下来请阅读加载、暂停和音频。客户端 SDK 参考列出了所有命名空间。
连接器不能做什么
你的 AI 应用可以发布已构建的游戏并读取你的账号。它不能打开或修改在 PlayDrop Studio 中制作的游戏,不能返回源代码,也不能上传可执行的 3D 模型代码。这些限制属于连接器,而不是平台:Studio 和 PlayDrop 自己的工具仍然可以做到。