• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 如何在 iPhone 游戏中实现半随机关卡?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 15:24:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想创建一个关卡结构类似于 iCopter 或 Canabalt 的游戏,其中每个关卡都有一个随机的楼层(和屋顶),但从前一个楼层的高度永远不可能达到。我也不确定如何不断增加难度。我已经广泛搜索教程或类似的东西,但我找不到任何东西。有人可以帮忙吗?



Best Answer-推荐答案


说实话,这听起来太具体了,需要成为教程的主题。我玩过 Canabalt 但没玩过 iCopter,所以我会谈谈像前者这样的游戏。

您可以使用各种微积分方程来计算加速度和重力,从而精确计算出平台必须在哪里才能到达,但我怀疑您可以使用更简单的近似值来做同样的事情。如果您的所有平台都具有最小长度,那么您可以假设玩家在到达终点时能够达到的速度是合理的。这与您的跳跃算法使某人在空中停留的时间长短相结合,决定了另一个相同高度的平台可能并且仍然可以到达的最大距离。

您可以到达的最高平台通常由您的跳跃算法决定 - 这可以是一个恒定的高度,也可以与速度成正比,但无论哪种方式,您都可以轻松估算出最后可以进行的最高合理跳跃任何给定平台的。这为您提供了您可以从那里到达的最大相对高度。

假设你的物理是相当逼真的,并且当玩家在空中时你施加一个恒定的向下力,跳跃的顶点将在中点附近。因此,一个平台相对于玩家而言是可达到的最大高度,其距离必须是同一级别平台距离的一半。为了在两者之间找到合理的相对高度和距离组合,您可以进行线性插值。

您下方的平台显然更宽松 - 它们可能比同一级别的平台更远,距离大致与您的行驶速度成正比。

然后一个简单的算法是在每个阶段选择一个更高或更低的平台,从可达到的范围内选择一个相对高度,然后找到它需要的距离。

要调整难度,您可以从上面的这些相对高度和距离值开始,它们代表了可能的极端情况,并按比例减少它们以使跳跃更容易完成。我可能会从 50% 的减少开始,+/-10%(随机)以提供一些更艰难的跳跃。然后随着游戏的进行,我会慢慢地将 50% 降低到 0,这样玩家的错误余地就会越来越小。

编辑:自从我发布了这个答案后,我发现了另一个可能有用的有趣来源:A Probabilistic Multi-Pass Level Generator .尽管所讨论的游戏不同(我不认识的马里奥游戏之一),但在将平台放置在合理的高度和距离方面,许多原则是相似的。提供了 Java 代码。

关于ios - 如何在 iPhone 游戏中实现半随机关卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3183117/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap