Skip to content

wangziyi-code/ai_code_xjbdx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

守家别掉线

一款轻量级3D俯视角塔防守城小游戏,核心目标为广告变现。

Game Type Platform Engine Language


目录


项目简介

《守家别掉线》 是一款以末日废土为背景的3D俯视角塔防守城游戏。玩家需要在3D场景中操控角色,抵御一波波敌人的进攻,保护基地不被摧毁。

核心价值主张

  • 对玩家:简单易上手、单局时长短、爽快感强、3D Low Poly废土风格视觉冲击力强、"队友掉线"梗有共鸣
  • 对开发者:广告变现点自然、适合短视频引流、3D差异化竞争优势

目标平台

  • 抖音小游戏(优先)
  • 微信小游戏(二期规划)

目标用户

  • 18-35岁男性为主
  • 喜欢塔防、生存、解压类游戏的休闲玩家
  • 抖音短视频用户
  • 偏好3D视觉风格的轻度游戏玩家

核心玩法

一句话描述

玩家在3D末日基地中抵御一波波敌人进攻,保护基地不被摧毁,通过升级防御和释放技能生存下去。

核心循环

敌人来袭 → 玩家防守(点击攻击/释放技能) → 击败波次 → 获得金币 → 
升级基地/武器/技能 → 下一波敌人更强 → 基地被毁则失败 → 看广告复活/重新开始

游戏场景

3D俯视角45°斜向场景

  • 摄像机位置:固定俯视角,与水平面呈45°角,斜向俯视战斗区域
  • 画面布局:3D场景占据主要画面,2D UI叠加在3D场景之上
  • 战斗区域:敌人从场景上方/右方进攻,基地在场景下方/左下方
  • 操作区域:屏幕底部固定2D UI层(技能按钮、基地状态)

场景元素(3D化)

  • 基地:3D堡垒结构(Low Poly风格,铁皮+混凝土材质),有血量条悬浮显示
  • 城墙:3D石墙/混凝土墙,可升级,阻挡敌人前进
  • 防御塔/炮塔:3D炮塔模型,自动攻击范围内敌人
  • 敌人出生点:场景上方/右侧3D标记点
  • 地面:3D末日废土地形,有废墟、沙土、铁丝网、碎石等Low Poly模型
  • 环境装饰:3D废弃车辆、油桶、木箱等可破坏/不可破坏场景物件

技术栈

层级 技术选型 版本 说明
游戏引擎 Cocos Creator 3.8.x 官方推荐,抖音小游戏支持最佳;启用3D渲染管线
渲染模式 3D场景 + 2D UI - 3D游戏世界使用Forward渲染管线,UI使用Cocos内置2D UI系统
开发语言 TypeScript 5.x 类型安全,开发效率高
脚本运行时 JavaScript (V8) - Cocos内置运行时
数据存储 LocalStorage + JSON - 本地存档,简单加密
广告SDK 抖音广告SDK 最新版 激励视频为主
构建目标 抖音小游戏 - 优先平台,支持3D模式
版本控制 Git - 代码管理
包管理 npm - 依赖管理

3D模式关键配置

  • 项目设置中勾选 3D Physics(使用Bullet物理引擎或Builtin)
  • 主场景Camera使用 Perspective投影,默认45°俯视角
  • 场景光照使用 Directional Light + Ambient Light
  • UI层使用独立 Canvas(RenderMode = SCREEN_SPACE_OVERLAY)

项目结构

shoujia-game/
├── assets/                         # Cocos项目核心资源目录
│   ├── _scenes/                    # 场景文件
│   │   ├── Loading.scene           # 加载场景
│   │   ├── MainMenu.scene          # 主菜单场景
│   │   ├── Game.scene              # 核心战斗场景(3D模式)
│   │   └── Result.scene            # 结算场景
│   ├── animations/                 # 动画资源
│   ├── audio/                      # 音频资源
│   ├── fonts/                      # 字体资源
│   ├── models/                     # 3D模型资源
│   ├── materials/                  # 材质资源
│   ├── shaders/                    # 自定义Shader
│   ├── prefabs/                    # 预制体
│   ├── resources/                  # 动态加载资源
│   │   └── configs/                # 配置表(JSON)
│   └── scripts/                    # TypeScript脚本
│       ├── config/                 # 游戏配置
│       ├── core/                   # 核心框架层
│       ├── entities/               # 游戏实体
│       ├── managers/               # 管理器
│       ├── platform/               # 平台接入
│       ├── skills/                 # 技能系统
│       ├── testing/                # 测试套件
│       ├── ui/                     # UI系统
│       └── utils/                  # 工具类
├── _docs/                          # 项目文档
│   ├── 1_PRD.md                    # 产品需求文档
│   ├── 2_Architecture.md           # 系统架构设计
│   ├── 3_UI_Guidelines.md          # UI设计规范
│   ├── 4_Deployment.md             # 部署文档
│   ├── 5_Acceptance_Criteria.md    # 验收标准
│   └── 6_Change_Log.md             # 变更日志
└── preview/                        # HTML5预览版
    └── level1_preview.html         # 第1关预览

功能特性

核心系统

  • 3D场景搭建:废土地形、基地、城墙、敌人出生点
  • 玩家攻击系统:点击发射3D实体弹道,抛物线轨迹
  • 敌人AI系统:6种敌人类型,智能寻路、攻击逻辑
  • 波次系统:每关3-5波,难度递增,Boss战
  • 碰撞检测:子弹vs敌人、敌人vs城墙、技能范围检测
  • 伤害系统:伤害计算、飘字显示、暴击效果
  • 金币掉落:击败敌人掉落金币,自动收集

技能系统

  • 燃烧瓶:范围持续伤害,地面留下火焰区域
  • 电网:范围减速+持续伤害,敌人麻痹效果
  • 呼叫队友:召唤AI队友协助战斗,自动攻击敌人

升级系统

  • 城墙升级:增加城墙血量上限
  • 武器升级:增加玩家攻击力
  • 攻速升级:缩短攻击间隔
  • 炮塔升级:增加自动炮塔伤害

敌人扩展

  • 快速怪:机械狗,移动速度快
  • 坦克怪:重装变异体,血量高
  • 飞行怪:变异蝙蝠,无视城墙
  • 自爆怪:炸弹怪,死亡时范围爆炸
  • Boss:巨型机械,每5关出现

系统功能

  • 关卡选择:20关进度,星级评价
  • 设置系统:音量、画质、震动、重置存档
  • 排行榜:本地排行榜,总分/关卡最高分
  • 每日任务:5种任务类型,每日刷新
  • 新手引导:前3关强制引导
  • 分享功能:分享战绩、邀请好友

广告系统

  • 8个激励视频点位:复活、双倍奖励、恢复城墙、召唤队友、刷新技能、金币补给、每日签到、补给箱
  • 防刷机制:频率限制、异常检测、风控评分

测试套件

  • 40+测试用例:覆盖核心玩法、技能、升级、广告、存档等
  • 自动化测试框架:自包含测试,独立环境准备与清理

快速开始

环境要求

安装步骤

  1. 克隆仓库
git clone git@github.com:wangziyi-code/ai_code_xjbdx.git
cd ai_code_xjbdx
  1. 打开项目

使用 Cocos Creator 打开 shoujia-game 文件夹。

  1. 预览游戏

点击 Cocos Creator 编辑器中的预览按钮,或打开 preview/level1_preview.html 进行快速预览。

HTML5预览版

直接打开浏览器访问:

preview/level1_preview.html

操作指南

操作 说明
点击屏幕 玩家角色向点击方向发射3D实体弹道攻击
拖拽技能图标 释放对应技能到指定3D位置
点击技能按钮 释放以自身为中心的3D技能效果
点击升级按钮 消耗金币升级对应属性

关卡设计

第一版:20个关卡

关卡范围 难度 敌人类型 特殊机制
1-5关 教学/简单 普通拆家怪 引导教学,熟悉3D视角与操作
6-10关 中等 加入快速怪、坦克怪 引入技能系统
11-15关 困难 加入飞行怪、自爆怪 需要合理搭配技能
16-20关 挑战 所有类型混合 Boss战,考验综合策略

波次设计

  • 每关3-5波敌人
  • 波次间有5秒准备时间(可升级防御)
  • 最后一波为精英/Boss波

敌人图鉴

敌人类型 外观 特点 血量 速度 攻击
拆家怪 3D Low Poly变异人形 基础敌人,数量多
快速怪 3D Low Poly机械狗 移动快,血量低
坦克怪 3D Low Poly重装变异体 移动慢,血量高
飞行怪 3D Low Poly变异蝙蝠 无视城墙
自爆怪 3D Low Poly炸弹怪 死亡时爆炸,范围伤害 高(爆炸)
Boss 3D Low Poly巨型机械 每5关出现,高血量高攻击 极高

3D模型规格

  • 每个敌人模型三角面数 < 500
  • 贴图尺寸:256x256 或 512x512
  • 动画:Idle、Run、Attack、Death
  • 同屏最大敌人数量:15-20个

技能系统

主动技能(3个)

技能名称 效果 冷却时间 持续时间
燃烧瓶 投掷燃烧瓶,落地后形成范围火焰区域,持续伤害敌人 15秒 5秒
电网 释放电网,范围内敌人减速并受到持续伤害 20秒 6秒
呼叫队友 召唤AI队友协助战斗,自动攻击敌人 60秒 30秒

技能3D效果

  • 燃烧瓶:3D抛物线投掷轨迹,落地后3D火焰粒子效果
  • 电网:3D电网模型展开,敌人身上3D电流特效
  • 呼叫队友:3D队友角色从基地跑出,自动寻敌攻击

升级系统

升级类型 效果 基础成本 成本递增 最高等级
城墙血量 增加城墙血量上限 100金币 ×1.5/级 10级
玩家攻击力 增加玩家攻击力 150金币 ×1.6/级 10级
攻击速度 缩短攻击间隔 200金币 ×1.7/级 8级
炮塔伤害 增加自动炮塔伤害 120金币 ×1.5/级 10级

广告点位

广告场景 触发时机 奖励 频率限制
失败复活 玩家死亡后 满血继续当前关卡 每局限1次
双倍奖励 过关后 金币×2 每局限1次
恢复城墙 城墙血量<20% 恢复50%血量 每局限1次
召唤队友 队友掉线时 队友上线60秒 每局限1次
刷新技能CD 技能全CD时 所有技能立即冷却 每局限1次
金币补给 金币不足时 获得500金币 每局限2次
每日签到 签到界面 额外钻石奖励 每日限1次
补给箱 主界面 随机奖励 每日限1次

测试套件

测试覆盖

测试类别 测试数量 覆盖内容
核心玩法测试 8 攻击、移动、碰撞、敌人AI、波次、游戏状态、机械狗、Boss
技能系统测试 4 燃烧瓶、电网、呼叫队友、技能组合
升级系统测试 5 城墙、武器、攻速、炮塔、升级面板
广告系统测试 6 复活、双倍奖励、恢复城墙、召唤队友、刷新技能、金币补给
存档读档测试 1 数据完整性、恢复、每日重置、清理、加密、版本兼容、损坏恢复、多模块一致性、边界值、并发存档
关卡系统测试 3 关卡数据、流程、选择
其他测试 13 设置、排行榜、每日任务、新手引导、分享、防刷、状态同步、性能、UI

运行测试

在 Cocos Creator 编辑器中:

// 运行所有测试
await runGameTests();

// 运行指定测试
await runGameTests(['SaveLoadSystemTest']);

项目文档

文档 说明
1_PRD.md 产品需求文档,包含游戏设计、关卡设计、敌人设计、技能设计等
2_Architecture.md 系统架构设计文档,包含技术栈、目录结构、模块设计、数据流等
3_UI_Guidelines.md UI设计规范,包含色彩、字体、布局、动效等
4_Deployment.md 部署文档,包含构建配置、发布流程、审核准备等
5_Acceptance_Criteria.md 验收标准,包含功能验收、性能验收、兼容性验收等
6_Change_Log.md 变更日志,记录每次变更的详细内容

开发进度

已完成(78/99 任务)

阶段 任务数 已完成 完成度
阶段零:3D场景搭建 18 18 100%
阶段一:MVP 32 31 97%
阶段二:完整版 29 29 100%
阶段三:优化与上线 20 0 0%

待完成

  • 3D性能优化(LOD、遮挡剔除、DrawCall)
  • 包体大小优化(目标<15MB)
  • 启动时间优化(目标<3秒)
  • 帧率优化(确保60fps)
  • 内存优化(目标<120MB)
  • 美术素材制作/采购
  • 音效与背景音乐
  • 抖音平台接入与审核

贡献指南

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

许可证

本项目采用 MIT 许可证。


联系方式


注意:本项目为学习和演示用途,部分素材为占位资源,实际发布前需要替换为正式美术资源。

About

关于用trae开发的 塔防游戏

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors