UE4构建硬核战斗与无缝随机关卡:《生死轮回》的设计与Gameplay技术实现 【笔记】

 游戏介绍

《生死轮回》是一款基于虚幻引擎4开发的Cyberpunk题材横版Roguelite动作游戏。这款游戏基于C++和Blueprints进行Gameplay与功能开发。

视频的内容由两部分构成:

结合这款游戏,介绍"战斗系统"和"无缝随机地图"的设计及实现技术细节。

作为制作人Gameplay程序员,李伟将遵循自己在游戏开发过程中的路径展开讨论:从简单的单点功能设计到技术实现细节,到各模块的内容交汇在一起构成复杂的游戏性系统。

正文

战斗系统

主要讲“近战武器”+“受击者反馈”这两个系统。

一、近战武器设计

技术目标

实现30多种武器的基础伤害功能,拉开不同武器的感受差异

特性分析

武器形状(精确的攻击范围)

目标角色反馈(对不同目标:机器人,人类做出不同的反馈)

表面材质反馈

击打顿感:利器和钝器

1 近战武器框架:

  • GamePlay功能多用C++实现,牵扯到可视化配置时,开放给BP子类(之前有提到过如何做到这个)。
  • 为每把武器建造两个插槽,可以定义武器攻击的扫描范围

2 近战武器检测实现

<1>线性检测

玩家挥动武器时,从一个端点朝另外一个端点不断的发出射线,扫描自己击中的物件的一个过程(之前坦克游戏博客篇有涉及,比如DrawDebugLine函数等)。

<2>由角色驱动的检测通知

角色在挥舞武器时检测,自定义攻击检测的通知节点,在攻击动画播放时调用代码。 

trace可以写在Tick中,也可以自定义Timer。

<3>受害者队列

创建了一个数组,每次击中时判断敌人是否在里面,如果不在就加进去,进行伤害处理;如果再次击中,就把他排斥在外。

但同一个敌人可能会在Trace过程中被多次检测,多次受到伤害(保证起始

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值