Skip to content

Latest commit

 

History

History
75 lines (53 loc) · 5.01 KB

File metadata and controls

75 lines (53 loc) · 5.01 KB

Block Blast — 全程用 AI 做的一款商业级手游

English | 中文

一款 Unity 的商业级 F2P 方块消除手游,全程由 Claude + Funplay Unity MCP 驱动做出来——代码、场景/预制装配、PlayMode 验证全是 AI 智能体在跑。美术由图像模型生成 + 程序化扣图,音频用程序合成。没有手写的玩法代码,没有买来的素材。

这个仓库是一次实验的产物:从空工程开始,全程只用 Claude + Funplay Unity MCP(再加一个图像生成模型出美术、numpy 程序合成音频),做一款"看起来像正经商业产品"的休闲手游,并把每一步写成系列文章。

做出来的是一款无尽计分的方块消除游戏,带着商业 F2P 该有的整套**"留存 + 变现机器"**:随进度缩放的经济曲线、内购商城、每日连签、离线收益、皮肤、道具、数据运营接缝,外加满屏 juice。核心玩法只占 5%,剩下 95% 才是它和"小游戏 demo"的区别。

首页 局内 商城(随进度缩放)
home gameplay shop
实时换肤重染 死局结算(复活 / 再来)
theme gameover

怎么跑

  1. Unity 6000.3+(URP)打开本工程;
  2. 打开 Assets/Scenes/Boot.unity,按 Play——GameInit 初始化全部系统(领离线奖励 → 加载 Game 场景)→ 进首页;
  3. 点"开始游戏"拖方块消行列。也可以直接打开 Assets/Scenes/Game.unity 按 Play(自给自足)。

竖屏 720×1559。工程用新版 Input System;真人鼠标/触屏可正常拖放。

架构

经典的"框架分层 → 数据驱动 → 事件解耦",每一层都是一集文章拆出来的:

关键类 做什么
框架 Property(自动存档) · MsgController(事件总线) · Singleton · PoolManager · ResManager 存档、解耦、对象池
启动 GameInit(Boot 入口) · GameBootstrap.InitAll(按依赖顺序装配) 启动链、可被测试直接调
玩法 BlockGameController · BoardModel · Piece · Scoring 落子 → 消行列 → 计分 → 死局判定
内容数据化 DifficultyConfig(ScriptableObject) 难度随分数缩放,改数值不改代码
经济 EconomyConfig · CoinModel 金币随玩家进度(最高分)缩放的变现曲线(同价 SKU ×118)
商城/内购 ShopConfigDatabase · ShopController · ShopIapController(#if 守卫真 IAP) 展示价现算 + 发放与 IAP 解耦可测
留存 RetentionController · DailyRewardConfig 离线收益(8h 封顶)+ 每日连签
皮肤 ThemeConfig · ThemeModel 免费/金币/最高分解锁,整盘实时重染
表现 GameView · AudioManager · Easing 缓动/连消/ParticleSystem 迸裂 + 程序合成音频
运营 AnalyticsManager · RemoteConfig · LiveOps · AssetService 埋点 / 远程配置 / 不发版开活动 / 热更接缝
UI UIManager · Panels · UIKit 运行时 uGUI 搭首页/局内/商城/每日/皮肤/结算

自测

逻辑层用项目内自检类钉死(不依赖 Unity Test Framework,直接在编辑器跑),150 条断言全绿

// 在 Funplay MCP 的 execute_code 或任意编辑器入口里调:
BlockBlast.Game.Ep2SelfTest.Run();         // 核心玩法    13
BlockBlast.Level.Ep3SelfTest.Run();        // 数据化难度  11
BlockBlast.Shop.Ep4SelfTest.Run();         // 经济曲线    13
BlockBlast.Shop.Ep5SelfTest.Run();         // 商城+内购    9
BlockBlast.Retention.Ep6SelfTest.Run();    // 留存        24
BlockBlast.Presentation.Ep7SelfTest.Run(); // 表现        23
BlockBlast.Ops.Ep8SelfTest.Run();          // 数据运营    23
BlockBlast.Ep9SelfTest.Run();              // 端到端集成  18
BlockBlast.Game.Ep10SelfTest.Run();        // 道具        16

Ep9SelfTest 跑一次端到端集成(GameBootstrap.InitAll 把全部系统串成一条启动链),证明这些系统合在一起是一款连贯的游戏而不是一堆零件。

诚实的边界

这套纯 AI 工具链对"几何/极简 + 颜色 + 手感"撑起来的休闲品类,可以端到端做到商业级的可玩竖切。但真正"上架的成品"还差后端服务、真机打磨、专业作曲/骨骼动画那"最后一公里"——这些这个品类用得少,但要发行就得补。

关于 / 工具

  • 工具:Funplay Unity MCP —— 在 Unity 编辑器里跑的 HTTP MCP 服务,让 AI 客户端驱动编辑器与 PlayMode。
  • 配套系列文章《全程用 AI 做一款商业级手游》EP0–EP10 正在知乎 / CSDN 连载,逐集拆解这个工程是怎么一块块搭起来、并用 MCP 边做边测的。

License

MIT © 2026 Funplay