Hex-A-Gone 游戏是如何创建的
本教程适用于 Party Game Kit 用户。
在本教程中,你将学习 Hex-A-Gone 游戏是如何创建和配置的。在 Hex-A-Gone 游戏中,玩家在一系列六边形地块上竞争,这些地块会在玩家踩上去后掉落,目标是在剩余地块上成为最后的幸存者。玩家需要跳跃、俯冲,并策略性地在场地上移动,以避免掉入空隙并被淘汰。
请注意,本教程并不是一步步教你从零创建该游戏,而是让你了解游戏主要部分的实现方式。
准备工作
-
在 YAHAHA Studio(首次出现,原文:YAHAHA Studio)中找到 Hex-A-Gone 模板。该玩法模板是一个完整的游戏,但你可以根据需要进行调整和修改。
-
社区组件(Community components),包括:
设置出生点
在 Hex-A-Gone 游戏中,玩家会出生在蜂巢单元格(honeycomb cells)上。
-
复制并将六边形单元格放置在蜂巢上方。
-
创建一个空对象,命名为“Spawn point(出生点)”,通过添加 Respawn Point(重生点)组件并勾选 Spawn point 选项,将其设为出生点。
-
复制出生点,并分别放置在各个蜂巢单元格上。
添加和配置单局游戏的状态
-
在 Objects Explorer(对象资源管理器)中创建一个空对象,命名为“GameManager(游戏管理器)”。
-
将 Level_GameState 组件挂载到 GameManager 上,并使用该组件设置游戏状态。在设置前,建议先阅读 Level_GameState 的文档以了解其用法。
-
在 Settings Explorer(设置资源浏览器)中,将游戏模式(game mode)设置为 none(无)。Level_GameState 仅在游戏模式为 none 时生效。
-
为了提供游戏状态的界面(UI),将 UI_GameState 组件挂载到 GameManager 上。
生成蜂巢结构
-
创建一个空对象并命名为 HoneycombCenter(蜂巢中心)。该对象用于标记每一层蜂巢的中心。
-
将 Behavior_HoneyCellSpawn 组件挂载到 HoneycombCenter 上,使其能够在中心周围生成蜂巢单元格。
-
为了准备构建蜂巢的单元格,在 Asset Library(资产库)中找到一个六边形蜂巢单元格,给它挂载 Behavior_SpawnableObjectMarker 组件,并填写名称为“cell”。
-
通过调整 Behavior_HoneyCellSpawn 组件的以下属性,自定义蜂巢的形状:
- Play mode(玩法模式):设置为 Normal Floor(普通地板)。
- Cell name(单元格名称):填写用于构建蜂巢的单元格名称。如果想用更多单元格生成蜂巢结构,可点击 Add Cell(添加单元格)。
- Map length(地图边长):决定六边形边的长度。填写 8,则每条边由 8 个单元格组成。
- Layer number(层数):决定蜂巢的层数。
注意:蜂巢结构会在进入 Play mode(游戏模式)时生成,返回 Edit mode(编辑模式)时会消失。
调整蜂巢单元格的颜色
-
给某个蜂巢单元格挂载 Behavior_HoneycombCellConfig 组件。
-
通过配置 Behavior_HoneycombCellConfig 组件调整单元格外观。你可以选择我们预设的颜色,也可以自定义颜色。
添加主要游戏逻辑
Hex-A-Gone 游戏的主要玩法逻辑包括:
- 游戏开始时,玩家会出生在蜂巢结构上方的出生层(spawn layer)。在预备计时器(pre-game timer)结束前,玩家不会掉落到蜂巢上。
- 游戏支持最少 2 人、最多 12 人参与。
- 游戏过程中,玩家踩过的每个蜂巢单元格会在 1 秒后消失。如果玩家在当前单 元格消失前未能移动到其他单元格,则会掉到下一层。
- 玩家掉到最底层后会被淘汰。当只剩一名玩家站在蜂巢单元格上时,游戏结束。
实现上述逻辑的方法:
-
为了实现玩家踩到蜂巢单元格时的特效(VFX,Visual Effect),在 Asset Library 中找到一个特效,放入场景,并挂载 Behavior_SpawnableObjectMarker 组件。
-
创建出生层(spawn layer):将你创建的所有出生点和默认出生点分组,并为其命名。
-
将 Level_HoneycombManager 组件挂载到 GameManager 上,并在该组件中指定 vfxName(特效名称) 和 Spawn Layer(出生层)。
-
vfxName:玩家踩到蜂巢单元格时生成的特效名称。
-
Spawn Layer:上一步创建的出生层名称。出生层是玩家在游戏开始前站立的位置。
Level_HoneycombManager 组件实现了上述其他逻辑。
- 将 UI_Honeycomb 挂载到 GameManager 上,为游戏玩法相关的界面(UI)提供支持。