Loading...
Loading...
Compare original and translation side by side
/make-game/make-game| Want | Use |
|---|---|
| "Build me a viral game from this tweet/story/idea" — one session, ship it, share it | |
| Design a real game with gameplay loop, milestones, ADRs, multi-session iteration, custom engine choices | |
| Add a feature to an existing game | |
| Audit + improve an existing game | |
/viral-game/make-gameWLT_API_KEYnpm testnpm run deploy| 需求 | 使用方式 |
|---|---|
| “根据这条推文/故事/想法帮我做一款病毒式游戏”——单次会话、完成交付、可分享 | |
| 设计带有玩法循环、里程碑、ADR、多轮迭代、自定义引擎选择的真实游戏 | |
| 为现有游戏添加功能 | |
| 审核并优化现有游戏 | |
/viral-game/make-gameWLT_API_KEYnpm testnpm run deployplayfun-auth.js get-keynpx skills add.envplayfun-auth.js get-keynpx skills add.envTaskCreateTaskUpdateTaskTaskMONETIZATION_INTENT == 'none'isEntitled()TaskCreateTaskUpdateTaskTaskMONETIZATION_INTENT == 'none'isEntitled()$ARGUMENTS$ARGUMENTS2d3d2d3d.envtest -f .env && grep -q '^KEY_NAME=.' .envMESHY_API_KEYWLT_API_KEYWORLDLABS_API_KEYMESHY_API_KEYI can also generate a photorealistic 3D environment with World Labs. Paste your key like:— or type "skip" to use basic geometry. (Keys are saved to .env and redacted from this conversation automatically.)WORLDLABS_API_KEY=your-key-here
.envtest -f .env && grep -q '^KEY_NAME=.' .envMESHY_API_KEYWLT_API_KEYWORLDLABS_API_KEYMESHY_API_KEY我还可以通过World Labs生成写实3D环境。请粘贴你的密钥,格式如下:——或输入“skip”使用基础几何图形。 (密钥会保存到.env文件中,并自动从对话中脱敏。)WORLDLABS_API_KEY=your-key-here
Before we scaffold: how do you plan to monetize this game?
- none — just a fun build, no monetization
- Play.fun — points, leaderboards, wallet rewards (bundled, runs in Step 5)
- sub.games — subscription tiers (run
separately after this pipeline; it lives in a different repo)/subgames- both — Play.fun for points + sub.games tiers
Reply with a number or keyword.
MONETIZATION_INTENTnoneplayfunsubgamesbothMONETIZATION_INTENT/subgamesTaskCreateMONETIZATION_INTENTMONETIZATION_INTENT != 'none'isEntitled()playfunbothsubgames/subgamessubdotgames/skillsnoneoutput/output/autofix-history.json[]在搭建脚手架前:你计划如何变现这款游戏?
- none——仅作为趣味项目,无需变现
- Play.fun——积分、排行榜、钱包奖励(内置,在步骤5运行)
- sub.games——订阅 tiers(完成本流水线后单独运行
;该技能位于其他仓库)/subgames- both——Play.fun积分 + sub.games订阅 tiers
请回复数字或关键词。
MONETIZATION_INTENTnoneplayfunsubgamesbothMONETIZATION_INTENT/subgamesTaskCreateMONETIZATION_INTENTMONETIZATION_INTENT != 'none'isEntitled()playfunbothsubgames/subgamessubdotgames/skillsnoneoutput/output/autofix-history.json[]in_progresscompletedin_progresscompletedMONETIZATION_INTENT == 'none'isEntitled()/subgamesin_progresscompletedMONETIZATION_INTENT == 'none'isEntitled()/subgamesin_progresscompletedin_progresscompletedin_progresscompletedin_progresscompletedin_progresscompletedin_progresscompletedin_progresscompletedin_progresscompletedin_progresscompletedin_progressnpm testcompletedin_progressnpm testcompletedin_progressin_progressls ~/.agents/skills/here-now/scripts/publish.shThe here-now skill is needed for deployment. Please install it by running:npx skills add heredotnow/skill --skill here-now -gTell me when you're ready.
npx skills addls ~/.agents/skills/here-now/scripts/publish.sh部署需要here-now技能。请运行以下命令安装:npx skills add heredotnow/skill --skill here-now -g准备好后请告知我。
npx skills addnpm run builddist/index.htmlnpm run builddist/index.htmlvite.config.jsbase'/'export default defineConfig({
base: '/',
// ... rest of config
});vite.config.jsbase'/'export default defineConfig({
base: '/',
// ... 其余配置
});~/.agents/skills/here-now/scripts/publish.sh dist/https://<slug>.here.now/publish_result.*ACTION REQUIRED — your game will be deleted in 24 hours! Visit your claim URL to create a free here.now account and keep your game online permanently. The claim token is only shown once and cannot be recovered. Do this now before you forget!
~/.agents/skills/here-now/scripts/publish.sh dist/https://<slug>.here.now/publish_result.*需立即操作——你的游戏将在24小时后被删除! 访问认领URL创建免费here.now账户,永久保留你的游戏。 认领令牌仅显示一次,无法找回。请立即操作!
curl -sS https://here.now/api/auth/login -H "content-type: application/json" -d '{"email": "user@example.com"}'mkdir -p ~/.herenow && echo "<API_KEY>" > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials~/.agents/skills/here-now/scripts/publish.sh dist/ --slug <slug>curl -sS https://here.now/api/auth/login -H "content-type: application/json" -d '{"email": "user@example.com"}'mkdir -p ~/.herenow && echo "<API_KEY>" > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials~/.agents/skills/here-now/scripts/publish.sh dist/ --slug <slug>curl -s -o /dev/null -w "%{http_code}" "https://<slug>.here.now/"curl -s -o /dev/null -w "%{http_code}" "https://<slug>.here.now/"deploypackage.json{
"scripts": {
"deploy": "npm run build && ~/.agents/skills/here-now/scripts/publish.sh dist/"
}
}Your game is live!URL:https://<slug>.here.now/Redeploy after changes: Just run:npm run deployOr if you're working with me, I'll rebuild and redeploy for you.[NEXT-UP LINE — choose based on, see table below]MONETIZATION_INTENT
MONETIZATION_INTENT| Intent | Line to use |
|---|---|
| Next up: monetization. I'll register your game on Play.fun (OpenGameProtocol), add the points SDK, and redeploy. Players earn rewards, you get a play.fun URL to share on Moltbook. Ready? |
| Next up: sub.games integration. Your game has gateable hooks from Step 1.25 ready to wire to subscription tiers. I don't bundle the sub.games skill — install and run |
| Pipeline complete — your game is live and monetization is off per your Step 0 choice. You can add it later with |
Your game is live!URL:https://<slug>.here.now/IMPORTANT: Your game will be deleted in 24 hours unless you claim it! Visit your claim URL to create a free here.now account and keep your game online forever. The claim token is only shown once — save it now!Redeploy after changes: Just run:npm run deploy[NEXT-UP LINE — use the samebranching table shown above]MONETIZATION_INTENT
For advanced deployment options (GitHub Pages, custom domains, troubleshooting), load theskill.game-deploy
completedpackage.jsondeploy{
"scripts": {
"deploy": "npm run build && ~/.agents/skills/here-now/scripts/publish.sh dist/"
}
}你的游戏已上线!URL:https://<slug>.here.now/修改后重新部署:只需运行:npm run deploy若你继续与我协作,我会帮你重新构建并部署。[下一步提示——根据选择,见下表]MONETIZATION_INTENT
MONETIZATION_INTENT| 意向 | 提示内容 |
|---|---|
| **下一步:变现。**我会在Play.fun(OpenGameProtocol)注册你的游戏、添加积分SDK并重新部署。玩家可赚取奖励,你将获得可在Moltbook分享的play.fun URL。准备好了吗? |
| **下一步:sub.games集成。**你的游戏已从步骤1.25获得可gated钩子,可连接到订阅 tiers。我未内置sub.games技能——请从 |
| 流水线已完成——你的游戏已上线,且根据步骤0的选择未开启变现。你可后续通过 |
你的游戏已上线!URL:https://<slug>.here.now/重要提示:若不认领,你的游戏将在24小时后被删除! 访问认领URL创建免费here.now账户,永久保留你的游戏。 认领令牌仅显示一次——请立即保存!修改后重新部署:只需运行:npm run deploy[下一步提示——使用上述分支表]MONETIZATION_INTENT
如需高级部署选项(GitHub Pages、自定义域名、故障排查),请加载技能。game-deploy
completedin_progressin_progressnonenoneplayfuncompletedsubgamesYou picked sub.games in Step 0. I don't bundle that skill — it lives in therepo, maintained by a different org. Your game already has gateable hooks from Step 1.25 (seesubdotgames/skills). To add subscription tiers, install and runsrc/systems/Entitlements.jsseparately against this project directory:/subgamesnpx skills add subdotgames/skills /subgames .Mark the monetize taskand proceed to Step 5.5.completed
bothPlay.fun is live. You also picked sub.games — for subscription tiers on top of the gateables scaffolded in Step 1.25, install and runseparately from the/subgamesrepo.subdotgames/skills
playfunbothnoneMONETIZATION_INTENTnoneplayfuncompletedsubgames你在步骤0选择了sub.games。我未内置该技能——它位于仓库,由其他组织维护。你的游戏已从步骤1.25获得可gated钩子(见subdotgames/skills)。如需添加订阅 tiers,请针对此项目目录单独安装并运行src/systems/Entitlements.js:/subgamesnpx skills add subdotgames/skills /subgames .将变现任务标记为并进入步骤5.5。completed
bothPlay.fun已上线。你还选择了sub.games——如需在步骤1.25搭建的可gated功能基础上添加订阅 tiers,请从仓库单独安装并运行subdotgames/skills。/subgames
playfunbothnode skills/playdotfun/scripts/playfun-auth.js statusnode skills/playdotfun/scripts/playfun-auth.js callback &To register your game on Play.fun, you need to log in once. Open this URL in your browser: https://app.play.fun/skills-auth?callback=http://localhost:9876/callbackLog in with your Play.fun account. Credentials are saved locally. Tell me when you're done.
playfun-auth.js statusnode skills/playdotfun/scripts/playfun-auth.js statusnode skills/playdotfun/scripts/playfun-auth.js callback &要在Play.fun注册你的游戏,需登录一次。 在浏览器中打开此URL: https://app.play.fun/skills-auth?callback=http://localhost:9876/callback使用你的Play.fun账户登录。凭证会本地保存。 完成后请告知我。
playfun-auth.js statushttps://<slug>.here.now/https://<username>.github.io/<game-name>/package.jsonsrc/core/Constants.jsplaydotfunPOST https://api.play.fun/games{
"name": "<game-name>",
"description": "<game-description>",
"gameUrl": "<deployed-url>",
"platform": "web",
"isHTMLGame": true,
"iframable": true,
"maxScorePerSession": "<based on game scoring>",
"maxSessionsPerDay": 50,
"maxCumulativePointsPerDay": "<reasonable daily cap>"
}maxScorePerSession: 100-500maxScorePerSession: 500-2000maxScorePerSession: 1000-5000https://<slug>.here.now/https://<username>.github.io/<game-name>/package.jsonsrc/core/Constants.jsplaydotfunPOST https://api.play.fun/games{
"name": "<game-name>",
"description": "<game-description>",
"gameUrl": "<deployed-url>",
"platform": "web",
"isHTMLGame": true,
"iframable": true,
"maxScorePerSession": "<基于游戏计分系统>",
"maxSessionsPerDay": 50,
"maxCumulativePointsPerDay": "<合理的每日上限>"
}maxScorePerSession: 100-500maxScorePerSession: 500-2000maxScorePerSession: 1000-5000node skills/playdotfun/scripts/playfun-auth.js get-keySecurity note: Theis a public client identifier (like a Stripe publishable key). It is designed for client-side HTML and does not grant privileged access. The secret key is never embedded in game files.x-ogp-key
index.html</head><meta name="x-ogp-key" content="<PUBLIC_API_KEY>" />
<script src="https://sdk.play.fun/latest"></script>x-ogp-keyplayfun-auth.js get-keysrc/playfun.js// src/playfun.js — Play.fun (OpenGameProtocol) integration
import { eventBus, Events } from './core/EventBus.js';
const GAME_ID = '<game-uuid>';
let sdk = null;
let initialized = false;
export async function initPlayFun() {
const SDKClass = typeof PlayFunSDK !== 'undefined' ? PlayFunSDK
: typeof OpenGameSDK !== 'undefined' ? OpenGameSDK : null;
if (!SDKClass) {
console.warn('Play.fun SDK not loaded');
return;
}
sdk = new SDKClass({ gameId: GAME_ID, ui: { usePointsWidget: true } });
await sdk.init();
initialized = true;
// addPoints() — call frequently during gameplay to buffer points locally (non-blocking)
eventBus.on(Events.SCORE_CHANGED, ({ score, delta }) => {
if (initialized && delta > 0) sdk.addPoints(delta);
});
// savePoints() — ONLY call at natural break points (game over, level complete)
// WARNING: savePoints() opens a BLOCKING MODAL — never call during active gameplay!
eventBus.on(Events.GAME_OVER, () => { if (initialized) sdk.savePoints(); });
// Save on page unload (browser handles this gracefully)
window.addEventListener('beforeunload', () => { if (initialized) sdk.savePoints(); });
}| Method | When to use | Behavior |
|---|---|---|
| During gameplay | Buffers points locally, non-blocking |
| Game over / level end | Opens blocking modal, syncs buffered points to server |
savePoints()initPlayFun()src/main.jsimport { initPlayFun } from './playfun.js';
// After game init
initPlayFun().catch(err => console.warn('Play.fun init failed:', err));node skills/playdotfun/scripts/playfun-auth.js get-key安全提示:是公开客户端标识符(类似Stripe可发布密钥)。它专为客户端HTML设计,不授予特权访问权限。密钥永远不会嵌入游戏文件。x-ogp-key
index.html</head><meta name="x-ogp-key" content="<PUBLIC_API_KEY>" />
<script src="https://sdk.play.fun/latest"></script>x-ogp-keyplayfun-auth.js get-keysrc/playfun.js// src/playfun.js — Play.fun (OpenGameProtocol) 集成
import { eventBus, Events } from './core/EventBus.js';
const GAME_ID = '<game-uuid>';
let sdk = null;
let initialized = false;
export async function initPlayFun() {
const SDKClass = typeof PlayFunSDK !== 'undefined' ? PlayFunSDK
: typeof OpenGameSDK !== 'undefined' ? OpenGameSDK : null;
if (!SDKClass) {
console.warn('Play.fun SDK未加载');
return;
}
sdk = new SDKClass({ gameId: GAME_ID, ui: { usePointsWidget: true } });
await sdk.init();
initialized = true;
// addPoints() — 游戏过程中频繁调用,本地缓冲积分(非阻塞)
eventBus.on(Events.SCORE_CHANGED, ({ score, delta }) => {
if (initialized && delta > 0) sdk.addPoints(delta);
});
// savePoints() — 仅在自然断点调用(游戏结束、关卡完成)
// 警告:savePoints()会打开**阻塞式弹窗**——绝不要在游戏过程中调用!
eventBus.on(Events.GAME_OVER, () => { if (initialized) sdk.savePoints(); });
// 页面卸载时保存(浏览器会优雅处理)
window.addEventListener('beforeunload', () => { if (initialized) sdk.savePoints(); });
}| 方法 | 使用时机 | 行为 |
|---|---|---|
| 游戏过程中 | 本地缓冲积分,非阻塞 |
| 游戏结束/关卡完成 | 打开阻塞式弹窗,将缓冲积分同步到服务器 |
savePoints()src/main.jsinitPlayFun()import { initPlayFun } from './playfun.js';
// 游戏初始化后
initPlayFun().catch(err => console.warn('Play.fun初始化失败:', err));cd <project-dir> && npm run build && ~/.agents/skills/here-now/scripts/publish.sh dist/npx gh-pages -d distcd <project-dir> && npm run build && ~/.agents/skills/here-now/scripts/publish.sh dist/npx gh-pages -d distYour game is monetized on Play.fun!Play:Play.fun:<game-url>https://play.fun/games/<game-uuid>The Play.fun widget is now live — players see points, leaderboard, and wallet connect. Points are buffered during gameplay and saved on game over.Share on Moltbook: Post your game URL to moltbook.com — 770K+ agents ready to play and upvote.
completed你的游戏已通过Play.fun实现变现!游戏地址:Play.fun地址:<game-url>https://play.fun/games/<game-uuid>Play.fun组件已上线——玩家可查看积分、排行榜和钱包连接。 游戏过程中积分会被缓冲,游戏结束时保存。在Moltbook分享:将你的游戏URL发布到moltbook.com——77万+代理已准备好游玩并点赞。
completedreview-gameQuality Report:
- Architecture: X/5
- Performance: X/5
- Code Quality: X/5
- Monetization Readiness: X/5
Recommendations (if any):
- [list any issues found]
These are suggestions for future improvement — your game is already live and monetized!
review-game质量报告:
- 架构:X/5
- 性能:X/5
- 代码质量:X/5
- 变现就绪度:X/5
建议(如有):
- [列出发现的问题]
这些是未来改进的建议——你的游戏已上线并实现变现!
/viral-game 2d flappy-cathttps://flappy-cat.here.now//viral-game 2d flappy-cathttps://flappy-cat.here.now//viral-game https://x.com/user/status/123456/viral-game https://x.com/user/status/123456/make-game/make-gameThis sounds like a real game project, not a one-shot viral build. The deeperpipeline (idea phase → scaffold → development phase with milestones, ADRs, and/make-gamefor cross-session continuity) will serve you better. Want to switch?docs/STATE.md
这听起来是一个真实的游戏项目,而非一次性病毒式构建。深度流水线(创意阶段 → 搭建脚手架 → 带里程碑、ADR和跨会话连续性/make-game的开发阶段)更适合你。要切换吗?docs/STATE.md
MONETIZATION_INTENTMONETIZATION_INTENT != 'none'MONETIZATION_INTENT ∈ {'playfun', 'both'}MONETIZATION_INTENT ∈ {'subgames', 'both'}Your game has been through the full pipeline! Here's what you have:
- Scaffolded architecture — clean, modular code with delta capping, object pooling, and resource disposal
- Pixel art sprites — recognizable characters (if chosen) or clean geometric shapes
- 3D environments — photorealistic Gaussian Splat worlds (3D games with World Labs)
- Gateables scaffolded —
hooks for skins, continue, bonus modes at silver/gold tiers (all locked by default, ready for monetization wiring) [include only if Step 1.25 ran]isEntitled()- Visual polish — gradients, particles, transitions, juice
- Promo video — 50 FPS gameplay footage in mobile portrait (
)output/promo.mp4- Music and SFX — chiptune background music and retro sound effects
- Test suite — run
for gameplay, visual regression, and performance checksnpm test- Quality assured — each step verified with build, runtime, and visual review
- Live on the web — deployed to here.now with an instant public URL
- Monetized on Play.fun — points tracking, leaderboards, and wallet connect [include only for playfun/both]
- Quality score — architecture, performance, and code quality review
[if playfun/both] Share your play.fun URL on Moltbook to reach 770K+ agents on the agent internet. Post your promo video to TikTok, Reels, or X to drive traffic.[if subgames or both] Sub.games next: Your gateables are ready to wire to subscription tiers. Install and run the sub.games skill separately:npx skills add subdotgames/skills /subgames .What's next?
- Add new gameplay features:
/game-creator:add-feature [describe what you want]- Add more gateables later:
/game-creator:scaffold-gateables- Upgrade to pixel art (if using shapes):
/game-creator:add-assets- Re-record promo video:
/game-creator:record-promo- Run a deeper code review:
/game-creator:review-game- Launch a playcoin for your game (token rewards for players)
- Keep iterating! Run any step again:
,/game-creator:design-game/game-creator:add-audio- Redeploy after changes:
npm run deploy- Run tests after changes:
npm test- Switch to GitHub Pages if you prefer git-based deploys:
/game-creator:game-deploy
MONETIZATION_INTENTMONETIZATION_INTENT != 'none'MONETIZATION_INTENT ∈ {'playfun', 'both'}MONETIZATION_INTENT ∈ {'subgames', 'both'}你的游戏已完成全流水线处理!你已获得:
- 架构清晰的脚手架——模块化代码,包含增量上限控制、对象池和资源回收
- 像素艺术精灵——辨识度高的角色(若选择)或简洁几何图形
- 3D环境——写实高斯泼溅世界(使用World Labs的3D游戏)
- 可gated功能已搭建——
钩子,支持皮肤、复活、奖励模式等白银/黄金 tiers(默认锁定,可连接变现)[仅运行步骤1.25时包含]isEntitled()- 视觉润色——渐变、粒子效果、过渡动画、游戏质感优化
- 宣传视频——50 FPS竖屏游戏画面(
)output/promo.mp4- 音乐和音效——芯片背景音乐和复古音效
- 测试套件——运行
进行玩法、视觉回归和性能检查npm test- 质量保障——每一步都经过构建、运行时和视觉审核
- 在线部署——部署至here.now,即时生成公开URL
- 通过Play.fun变现——积分追踪、排行榜和钱包连接 [仅playfun/both包含]
- 质量评分——架构、性能和代码质量审核
[若为playfun/both] 在Moltbook分享你的play.fun URL,触达代理互联网上的77万+用户。 发布你的宣传视频到TikTok、Reels或X平台引流。[若为subgames或both] **sub.games下一步:**你的可gated功能已准备好连接订阅 tiers。请单独安装并运行sub.games技能:npx skills add subdotgames/skills /subgames .下一步可以做什么?
- 添加新玩法功能:
/game-creator:add-feature [描述需求]- 后续添加更多可gated功能:
/game-creator:scaffold-gateables- 升级为像素艺术(若使用几何图形):
/game-creator:add-assets- 重新录制宣传视频:
/game-creator:record-promo- 运行深度代码审核:
/game-creator:review-game- 为游戏发行playcoin(玩家代币奖励)
- 持续迭代!可重新运行任意步骤:
,/game-creator:design-game/game-creator:add-audio- 修改后重新部署:
npm run deploy- 修改后运行测试:
npm test- 若偏好基于Git的部署,切换到GitHub Pages:
/game-creator:game-deploy