首页 文章

平台游戏应该如何运作? [关闭]

提问于
浏览
1

我一直致力于一个游戏,玩家应该能够与我放在屏幕上的任何图像碰撞,而不使用像瓷砖 Map 一样多的矩形 . 我试图使用我得到的基于像素的碰撞系统:Per-Pixel Collision detection .

但我一直遇到问题;从我从安德鲁拉塞尔那里学到的东西"difference between collision-detection, and collision-response."所以当我试图改进我的游戏但我继续遇到这个问题:YouTube Video .

我之前尝试过使用基于磁贴的系统,但是首席艺术家要求我找到一种方法,我们可以使用更加动态的系统 . 我确实被引导到一个名为Farseer Physics Engine的物理引擎,Andrew Russell用于Dark和他正在制作的新游戏 .


*我希望玩家对象不会陷入墙壁,并且可以使用其他方式创建碰撞系统(最后的手段是平铺 Map ) .

*玩家应该能够爬坡 .

*玩家应该能够 grab 墙上的东西(我已经知道如何做到这一点)


Questions

如何让碰撞知道玩家何时会与 Map 发生碰撞? (我应该有更多的检测水平吗?)

在视频中我创建了3层矩形,每个矩形包含4个矩形,顶部,左侧,右侧和底部;即使这些层是阻止玩家进入地板的,玩家仍然会这样做,碰撞检测和碰撞响应真的有延迟吗?

让我们说我有一个包含,顶部,底部,左侧和右侧的检测盒,向下延伸约5个像素,当它碰撞时它会保持绳索从它碰撞并说玩家无法通过这个位置 . 那会有用吗?

*此外,当他碰撞时,玩家会以某种方式获得额外的跳跃 . 当玩家的顶部与物体碰撞时,它会停止动量,因为它也会左右触碰玩家,因为它在物体内部 . 我真的很想得到一些指导 .

1 回答

  • 3

    大多数平台游戏(我敢说,大多数游戏引擎)都有某种情景符号/暗示来帮助行为定义 . 作为一个小例子,这里我们有一个“平台角”的情况 . 对不起基本的形状 .

    enter image description here

    基本上,我们有:

    • 一个演员,由其橙色反应盒定义;

    • 一个平台

    • 右上角提示,和

    • 那个角落暗示的意识区域 .

    类似的游戏机制通常涉及某种正向量检测,以及您从该迭代中获得的动作库 . 例如:

    enter image description here

    角色的矢量将首先击中平台区域:

    • 如果垂直向量(VV)> 5,则启动泼溅动画,模式=死 . 设置VV = 0 .

    • 如果VV <5,则开始着陆动画 . 设置VV = 0 .

    enter image description here

    角色的矢量将首先击中角落提示区域:

    • 如果垂直向量(VV)> 5,则启动泼溅动画,模式=死,顺时针旋转 .

    • 如果VV <5,则开始滑动动画 .

    • 用户操作=无?应用正向水平向量(向右滑动),继续下降 .

    • 用户操作=抢?开始 grab 左侧动画,停止VV,将用户移动到基准级别(从当前位置进行插值到最佳位置) .

    现在,我们无畏的角色试图跳跃并 grab 一个角落 .

    enter image description here

    当Actor的反应框进入右角提示的反应区域时,我们会进行一些检查:

    • 水平向量(HV)是否为负(即,角色是从右向左移动)?

    • 是UserAction = tryGrab?开始 grab 左侧动画,停止VV,将用户移动到基准级别 .

    • 是UserAction = tryJump?恢复HV矢量,开始跳跃动画 .

    TL/DR; 使用提示来帮助您的行为决策过程 .

相关问题