跳到主要内容

Demo 概览

GCS · Demo

Demo 是一个完全用 GCS 搭出来的卡牌战斗游戏:12 个场景、4 个职业、80 张卡牌、30 个状态、16 个敌人。每一件内容都能在 Workbench 里打开。

在深入具体场景或资源之前先读这一页,弄清楚 demo 里有什么、每类内容放在哪。

GCS demo 既是可玩样例,也是参考项目。Demo 战斗里你看到的一切(卡牌、状态、敌人、遭遇战、卡组、背景、UI)都是用你手上同一套 Workbench 和 FlowGraph 工具做出来的。屏幕上任何一个你喜欢的效果,都可以打开来读。

Pyre of the Ash-King 中的 Mage Boss 战,可以看到手牌、能量和敌人意图

Demo 有两种用法。先玩场景,感受运行时循环;再打开某个你喜欢的瞬间背后的内容,追一遍它是怎么做出来的。


Demo 里有什么

内容数量检查位置
战斗场景12Demo/Scenes/<Class>/
遭遇战12PresetEncounterDatabase
玩家单位12PresetPlayerUnitDatabase
敌方单位16PresetEnemyUnitDatabase
卡组16PresetDeckDatabase
卡牌80PresetCardDatabase
状态30PresetStatusDatabase
预置数据库6Demo/Databases/

四个职业是 WarriorMageHunterPriest。每个职业有三场遭遇战(Normal、Elite、Boss),三个玩家单位阶层(各自带起始卡组),一套四个敌人的阵容,专属遭遇战背景,以及带职业风格的卡面美术。16 个卡组也按同样的方式拆分:每个职业三个起始卡组(对应三个玩家单位阶层),外加一个奖励卡组,该职业的三场遭遇战战后发牌都从这个奖励卡组里抽。

Demo 用同一套资产同时支持 Built-in 渲染管线和 URP,要求 Unity 2021.3 或更新版本,并兼容 Unity 6。


合理的第一小时

  1. 打开 Tools/TinyGiants/GCS/Game Card System,确认系统已初始化。
  2. 在 Project window 里打开 Demo/Scenes/Hunter/1-Fenmoss Hollow.unity,按 Play。这正是 First Battle 教程用的那场战斗。
  3. 不管输赢,打完后打开 Tools/TinyGiants/GCS/Game Card Editor(Workbench,工作台)。
  4. 切到 Encounter 模式,选中 Fenmoss Hollow。你现在看到的就是刚才驱动这场战斗的数据:玩家单位、敌人阵容、奖励卡组和战斗规则。
  5. 跳到 Card 模式,打开一张你刚打出过的卡,比如 Poison Arrow。点它 Behavior 字段上的 Edit FlowGraph 按钮打开流图(FlowGraph),逐个节点读这个效果。

学习循环就是这样:屏幕上发生了一件事,点五下鼠标,你就在读产生它的那张图。

Fenmoss Hollow 中的 Hunter 战斗,demo 推荐的第一个场景


六个预置数据库

所有 demo 定义都放在 Demo/Databases/ 下的六个数据库资产里:

数据库拥有的内容
PresetCardDatabase.asset全部 80 张 demo 卡牌定义
PresetDeckDatabase.asset起始卡组和奖励卡组
PresetEncounterDatabase.asset12 个可直接进场景的遭遇战定义
PresetEnemyUnitDatabase.asset敌人定义及其行为图
PresetPlayerUnitDatabase.asset玩家单位定义和起始卡组关联
PresetStatusDatabase.assetBuff、debuff 和反应型状态定义

Demo 场景从这些数据库加载内容。开始做自己的游戏时,请新建独立的项目数据库,不要直接改预置库,这样示例才能一直作为可用的参考留在那里。


什么该复制,什么不该

Demo 最有价值的部分是模式。可以放心照搬的:

  • 场景 bootstrap 结构和 UI 接线方式;
  • 卡牌、状态、敌人的 FlowGraph 图结构;
  • 卡组构成和遭遇战规则配置;
  • 内容文件夹布局

资产本身要小心。预置数据库里带着 demo ID 和示例数值,混进生产数据库就等于把示例内容发进你的游戏。卡面美术、音频和 VFX 属于 demo 的美术风格,未必适合你的项目。复制出来的场景通常还指向预置数据库,需要重新接线。

提示

想在自己的游戏里复刻某个 demo 效果时,重建它:在你的项目数据库里新建定义,把 demo 版本并排打开,照着把图结构搭一遍。模式拿到手,demo ID 一个不带。


先看机制,再看表现

Demo 场景里出现异常时,先分清是哪一层,再改数据。只要卡牌能结算、能量会扣、敌人按意图行动、战斗能打完,机制层就是正常的。缺音效、特效不够精致,是表现层的问题,不是遭遇战定义失效。