关于 remix-game-best-practices
remix-game-best-practices 是为使用 Remix SDK 开发游戏提供实现规范的技能,面向游戏开发者,涵盖移动端布局、SDK 钩子、运行环境限制和验证检查。
主要功能
- 01竖屏 720x1080 画布要求
- 02Remix SDK 状态与生命周期钩子
- 03重玩、音频和触觉反馈指引
- 04Phaser 与 Three.js 框架规则
- 05仅限浏览器的 JavaScript 约束
- 06发布前验证清单
适用场景
- 01为 Remix 开发竖屏手机游戏
- 02通过 SDK 保存游戏进度
- 03实现重玩和静音行为
- 04检查游戏是否符合 SDK 约束
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ farworld-labs/ remix-skills --skill remix-game-best-practices安装后在 Claude Code 中输入/remix-game-best-practices确认已加载。
详细介绍
游戏创建最佳实践
移动端优先要求
- 仅针对竖屏方向构建。
- 画布必须为
720x1080(宽高比为 2:3)。 - 不要使用横屏布局或控件。
- 设计便于拇指操作且界面清晰易读。
必须使用 Remix SDK
在 HTML <head> 中包含 SDK 脚本:
<script src="https://cdn.jsdelivr.net/npm/@remix-gg/sdk@latest/dist/index.min.js"></script>
仅使用受支持的 SDK API:
window.RemixSDK.singlePlayer.actions.saveGameState({ gameState: {...} })window.RemixSDK.singlePlayer.actions.gameOver({ score: number })window.RemixSDK.onPlayAgain(() => { ... })window.RemixSDK.onToggleMute((data) => { ... })window.RemixSDK.ready()window.RemixSDK.gameStatewindow.RemixSDK.hapticFeedback()
禁止的 API 和模式
- 不要使用
localStorage。 - 不要使用
sessionStorage。 - 不要使用
navigator.vibrate(...)。 - 不要使用
window.RemixSDK.vibrate(...)。 - 不要使用不存在的 SDK 方法(如
save、checkpoint等)。
游戏结束与重启流程
- 仅通过以下方式结束游戏回合:
window.RemixSDK.singlePlayer.actions.gameOver({ score: finalScore })
- 不要实现自定义的游戏结束画面。
- 通过
window.RemixSDK.onPlayAgain(...)处理重玩。
状态持久化
- 仅使用
saveGameState持久化进度。 - 在
await window.RemixSDK.ready()之后,从window.RemixSDK.gameState读取持久化的值。 - 保存的状态应精简且可序列化。
触觉反馈与音频
- 在碰撞、得分、UI 交互和游戏结束时使用
window.RemixSDK.hapticFeedback()。 - 所有游戏音频都应遵循
onToggleMute状态。 - 使用轻量级 Web Audio API 音效,以提升移动端性能。
框架规则
Phaser(2D)
- 使用全局变量
Phaser(不使用导入)。 - 使用场景生命周期(
preload、create、update)。 - 使用 Arcade 物理引擎处理碰撞。
- 不要在
Phaser.Game配置中设置parent。
Three.js + Cannon-ES(3D)
- 使用全局变量
THREE和CANNON(不使用导入)。 - 使用
requestAnimationFrame循环。 - 包含环境光和方向光。
- 每帧都从物理刚体同步网格变换。
代码与运行时限制
- 仅编写 ES6 JavaScript(不使用 TypeScript)。
- 不要使用
import语句。 - 假设运行环境仅限浏览器(不使用 Node.js API)。
- 定义
initGame()并在文件末尾调用。
验证清单
完成游戏前,请确认:
- 画布为竖屏 2:3(
720x1080)。 - 已包含 SDK 钩子(
gameOver、onPlayAgain、onToggleMute)。 - 未使用任何被禁止的存储或振动 API。
- 已为有意义的游戏事件集成触觉反馈。
- 可通过
onPlayAgain正常完成重启流程。
评论
支持 Markdown