【问题标题】:Simple Puzzle Algorithm简单的拼图算法
【发布时间】:2017-08-24 01:55:08
【问题描述】:

我开发了一个(非常)简单的益智游戏,要求您使用球和可以旋转的机构将 A 点连接到 B 点(进入/退出),以便为球提供正确的方向,以便加入退出。

这是一个简单关卡的截图,清楚地显示了游戏的目的:

1) New level started, the mechanisms are rotated in a random way

2) Level is completed, all the mechanisms are rotated properly to give the ball the right path to join the exit

问题:

我如何创建一种算法,让我能够通过考虑旋转来自动生成关卡,并且只为玩家留下一种完成关卡的可能性?

我还想通过添加更多机制来增加复杂性(以创建创建难度级别)。


我认为没有必要谈论技术,但我正在使用 C# 和 Unity。

如果您需要更多信息,请告诉我。

谢谢!

【问题讨论】:

  • 我认为这不是这个问题的正确位置。试试gamedev.stackexchange.com
  • 很棒的游戏创意!至于随机生成谜题关卡,我有点反对。这类游戏很有趣,因为有人花时间在关卡设计上——但如果仍想实现随机生成的可完成关卡并需要概念性建议,我会参考上面的评论。
  • 感谢回复,我忘了这个栈的存在,我去那里试试。
  • 您有很多选择。搜索算法、遗传算法、规划算法、神经网络等。我建议多研究程序级生成、搜索算法和规划算法。
  • 由于您使用的是Unity3D,您也可以在Unity Community提问。如果您在游戏开发方面遇到困难,也可以尝试 reddit:reddit.com/r/gamedev

标签: c# algorithm unity3d


【解决方案1】:

如果你看第二张图片,游戏解决方案是从“ENTER”开始到“EXIT”结束的虚线。

您可以通过创建这样的线来创建新关卡(随机化“中断”的数量及其方向)。然后你把每个角落变成一个旋转机制的东西。只有一种合法的解决方案,因为您必须以正确的方式旋转这些东西。

【讨论】:

  • 好方法!没想到“断线”(很简单,丢人!),我试试,谢谢!
  • 该技巧也可以应用于其他游戏 - 生成随机解决方案,然后从中构建问题。
猜你喜欢
  • 1970-01-01
  • 2011-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-15
  • 1970-01-01
  • 2016-06-03
  • 1970-01-01
相关资源
最近更新 更多