AX 爱鲜报

TowerDefense GameFramework 塔防 Demo

基于 Unity 开源框架 GameFramework 重写并扩展的塔防游戏 Demo,原型来自 Unity 官方 Tower Defense Template,涵盖热更新、分包下载、本地化等完整工程实践。

爱鲜报评分

0.0

0 人评分

2.1k

星数

是

中文

C#

主语言

是

活跃

1

贡献者

人工分析

EDITORIAL

推荐理由

这是学习 GameFramework 的优质实战项目,作者用塔防玩法把 GF 的流程、实体、UI、资源、热更等模块串成了一条完整链路。相比单纯读框架源码,通过一个可运行的游戏 Demo 更容易理解各模块如何协作。仓库 Star 数较高,配套有知乎源码解析专栏,适合 Unity 中高级开发者进阶参考。

适用场景

  • 学习 GameFramework 框架的整体架构与模块用法
  • Unity 商业级项目的资源打包、热更新与分包下载实践
  • 塔防类游戏原型开发与玩法参考
  • 搭建自己的 Unity 游戏工程脚手架

优点

  • 完整覆盖 GF 的流程、实体、UI、事件、对象池、引用池等核心模块
  • 包含资源打包、0 冗余 0 循环引用、热更新与关卡分包下载等工程化内容
  • 数据用 Excel 配置并导出二进制,本地化通过资源变体实现,规范度高
  • 作者提供知乎源码解析专栏,学习路径清晰
  • Star 与 Fork 数量可观,社区参考价值较高

缺点

  • Unity 版本较旧(2019.4.1f1),升级到新版 Unity 可能需要适配
  • Editor 模式默认不读取 AB 包,测试热更需要手动切换 Resource Mode 并部署资源
  • 仓库未声明 License,商用前需谨慎确认授权
  • 需要一定 Unity 与 C# 基础,纯新手直接上手门槛偏高
上手难度 进阶

项目简介

TowerDefense-GameFramework-Demo 是一款基于开源框架 GameFramework(简称 GF)实现的塔防游戏 Demo。原型取自 Unity 官方在 Asset Store 上发布的 Tower Defense Template,作者用 GF 对其进行了重新实现与扩展,主要用于个人学习实践,也为其他学习 GF 的开发者提供参考。

项目使用 C# 编写,版本信息如下:

  • Unity 2019.4.1f1
  • GameFramework 2020.12.31
  • Tower Defense Template 1.4

游戏玩法

游戏为塔防类型,共五个关卡,每关的地形、敌人与可用塔各不相同。玩家消耗能量建造并升级防御塔,阻止敌人抵达基地。

能量

关卡开始时拥有少量初始能量,通过击杀敌人或建造能量塔获取更多能量,用于建造和升级防御塔。

防御塔

  • 加农炮塔:高射速、低伤害
  • 火箭炮塔:高 AOE 伤害,仅攻击地面敌人
  • 激光炮塔:低射速、高伤害、远射程
  • 能量塔:周期性产生能量
  • 电子脉冲塔:对附近敌人附加减速效果
  • 导弹阵列:大范围高额伤害,存在 10 秒后自毁

所有塔均可升级,升级后提升射程、伤害、减速效率或能量产出。

敌人

包括虫子、直升机、坦克、Boss 以及对应的超级版本。敌人通常不会攻击塔,但当塔完全堵死道路时会转而攻击塔;直升机可直接越过塔。因此合理利用地形制造迂回路线,是延长敌人行进距离的关键策略。

胜负判定

消灭关卡全部敌人且基地血量不为 0 即通关,并按基地剩余血量评分;基地血量归零则失败。

框架实践要点

项目用到了 GF 的多个模块,包括全局配置、数据表、实体、事件、文件系统、有限状态机、本地化、对象池、引用池、流程、资源、场景、游戏配置、声音与 UI 等。

数据配置

游戏内所有数据以 Excel 形式配置,导出为二进制文件后在运行时加载读取。

本地化

借助本地化模块与资源模块中的变体(Variant)实现多语言支持。

引用池

项目中大量重复使用的对象通过引用池缓存,避免频繁内存分配。

资源打包与热更新

已完成全部资源的打包配置,分包信息与文件系统设置正确,内置分析工具可做到 0 冗余、0 循环引用。游戏启动时会检测版本并更新基础资源,每个关卡资源单独分包,进入关卡前才下载对应资源。

注意事项

在 Editor 下默认以 Editor 模式启动,即直接读取工程内资源,不读取 AB 包也不执行更新。若要测试更新模式,需要在 Base 组件中取消 Editor Resource Mode,并确保 Resource 组件的 Resource Mode 为 Updatable,随后打包并部署资源(可借助 HFS 等工具在本地测试)。

学习建议

作者在知乎开设了 GameFramework 源码解析专栏,建议结合专栏与 Demo 源码对照阅读,先理解流程与资源模块,再逐步深入到实体、UI 与热更新部分。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。