氛围编程实战:像素猫咪养成游戏开发全记录
🐱 氛围编程实战:像素猫咪养成游戏开发全记录
氛围编程(Vibe Coding)是一种以直觉和创意驱动的编程方式——不需要从枯燥的文档开始,而是通过构建有趣的项目来自然地掌握技术。本文记录了我们将一款像素猫咪养成小游戏从 v1.0 迭代到 v2.0 的完整过程,展示了从需求调研、技术选型、架构设计到编码实现、部署上线的完整开发流程。
📋 项目背景
v1.0 版本基于 React 19 + TypeScript + Vite 5 构建,使用了开源的 animal-island-ui 动森风格组件库。具备基础的猫咪养成功能:5 种猫咪品种可选、6 项属性系统、喂食/散步/洗澡/医院/商店 5 个互动场景。虽然功能完整,但在趣味性和交互深度上还有很大的提升空间。
🔄 开发流程:从调研到上线
Step 1:竞品调研
我们首先分析了 Neko Atsume(猫咪后院)、Adorable Home、My Tamagotchi 等热门猫咪养成游戏的核心吸引力。总结出 7 大热门要素:收集系统、随机惊喜、成长反馈、个性化装扮、小游戏互动、成就系统和分享机制。对照 v1.0,发现缺失了多猫收集、散步可视化、装扮系统和成就系统。
Step 2:技术选型
确认继续使用 React 18 + TypeScript + Vite + animal-island-ui@1.2.0 技术栈。该组件库提供了 25+ 个动森风格 UI 组件(Card、Modal、Button、Tag、Notification、Progress、Drawer、Wallet、Typewriter 等)和 488 个像素物品图标,完全覆盖游戏 UI 需求。核心架构延续「逻辑层(game/)与 UI 层(components/)完全分离」的设计理念。
Step 3:架构设计
制定详细的实施计划,将开发拆分为 10 个步骤:项目搭建 → 逻辑层 → 基础 UI → 核心场景 → 选猫流程 → 多猫收集 → 散步可视化 → 装扮系统 → 成就系统 → 整合部署。每个步骤都有明确的文件产出和验收标准。
Step 4:编码实现
按照计划逐步实现。共编写 26 个源文件:7 个纯逻辑模块(types、breeds、constants、decay、events、dressup、achievements、storage)、16 个 UI 组件(CatSprite、CatDisplay、StatsPanel、ActionPanel、CatHome 及所有场景组件)、1 个自定义 Hook(useGameLoop)、1 个 App 入口。总计约 2000+ 行 TypeScript/TSX 代码。
Step 5:测试与部署
TypeScript 编译检查通过 → Vite 生产构建成功 → 部署到 static-demos nginx 容器,与 Ghost CMS 完全隔离,互不影响。同时通过 SQLite 直接写入 Ghost CMS 创建介绍博文,发布日期回溯至 v1.0 上线时间(2026-05-10)。
✨ 技术亮点
1. 分层架构设计
游戏核心逻辑(game/)与 UI 组件(components/)完全分离。逻辑层不依赖任何 React API,纯 TypeScript 函数,可独立测试和复用;UI 层只负责渲染和交互。这种「单一数据源」模式让状态变化可预测、可追踪。
2. CSS Grid 像素精灵系统
5 种猫咪品种,每种有 5 套 16×16 像素精灵数据(idle/sit/sleep/walk/kitten)。使用纯 CSS Grid 渲染,无需 Canvas,每个格子根据数值映射到品种颜色。支持幼猫自动切换精灵、生病摇晃动画、装扮叠加渲染。
3. 属性衰减系统
通过 useGameLoop Hook 驱动,每 5 秒 tick 一次。6 项属性(饥饿/心情/清洁/健康/体力/金币)按时衰减,低属性触发连锁反应(饥饿低→心情低→健康低→生病)。自动存档通过 useEffect 监听状态变化写入 localStorage。
4. animal-island-ui 深度集成
充分利用组件库的 15+ 个组件:Card 做卡片容器、Modal 做弹窗确认、Notification 做成就通知、Progress 做属性条、Wallet 做金币显示、Drawer 做装扮面板、Typewriter 做文字动画、Tag 做标签标记、Title 做标题装饰、Footer 做页面底部。所有组件自带动森风格的配色和动画,无需额外设计。
🆕 v2.0 新增功能
🐱 多猫收集系统:可同时养多只猫,随时切换互动。猫咪图鉴展示全部 5 个品种,已解锁的高亮显示,未解锁的置灰。收养新猫需消耗金币,增加经济系统的策略深度。
🗺️ 散步可视化地图:20×15 CSS Grid 像素地图,包含草地、小路、花丛、树木、水坑等元素。猫咪沿 8 个路径点移动,途经触发随机事件。事件从 10 个扩展到 20 个,新增 5 个稀有事件(宝箱💎、流浪猫🎁、彩虹🌈 等),稀有事件有更高奖励。
👗 猫咪装扮系统:帽子、项圈、眼镜 3 个槽位,14 件装扮物品。商店购买后自动解锁,支持装备/卸下切换。装扮效果实时叠加在猫咪精灵上(帽子在头顶、眼镜在眼部、项圈在颈部)。
🏆 成就系统:15 个里程碑成就(首次喂食、散步达人、小富翁、满月纪念、老当益壮、时尚达人等)。每次状态变化后自动检测,达成时弹出 Notification 通知。成就面板展示完整进度。
🎮 立即体验
游戏已部署上线,点击下方链接即可开始养猫:
💡 氛围编程的理念是:先动手,再理解。在构建这个游戏的过程中,我们自然地接触了 React 组件化、TypeScript 类型系统、状态管理、CSS Grid 布局、Vite 构建工具、Ghost CMS 集成、Nginx 部署等现代前端开发的方方面面。希望这个案例能给你带来启发!