注册 登录
  • 动态
  • 推荐
  • 游戏
  • 分享链接 new
  • 回答问题
  • 发现
  • 野蔷薇
  • 视频

OwenTsai 游戏设计,Web开发

回答了问题 发布于 2017-05-30 22:21:34

Roguelike类游戏的随机地图、随机敌人是如何设计与制作的?

随机地图生成

一种最简单的方式无非是提前准备好一些Tile,并按照程序进行随机生成。但对于特殊的Tile,比如转角、起始、结尾等图块,需要在程序中加以限制。以下给出一种思路(有机会的话我会给出示意图和程序代码):

假设要生成的是俯视视图,10x10个单位区域大小的地图。按照A1 - J10标记各单位区域。

  1. 对A1进行处理。A1应当是左上角起始图块,在可以作为左上角起点的Tile中进行循环并随机选取一个Tile绘制在A1处。
  2. 对A2进行处理。A2应当是可以连接A1的图块。在满足条件的Tile中循环并随机选取一个Tile绘制在A2处。

……

  1. 对B1进行处理。B1是新的一行的起始图块,应当可以连接A1图块。在满足条件的Tile中随机选取一个Tile绘制在B1处。 ……
  2. 对J10进行处理。J10是最后一个图块,位于地图右下边界,因此应当在可以作为右下边界的图块中随机选取一个Tile绘制在J10处。

概括一下,最简单的随机地图生成方式无非就是逐步判断每一个单位区域可以填充什么类型的Tile,并且在满足条件范围的可行域内随机选取一个Tile绘制,并且在下一个单位区域内重复此判断。

随机敌人设计

这个仿佛没有什么难度……只需要预先设置敌人的数据库,并且随机读取和实例化就可以了。为了增加限制条件,你可以在每一个单位区域中设置每种敌人可能出现的权重,并且在利用程序实例化的过程中加权计算。

想到什么再补充吧

著作权归作者所有。商业转载请联系作者获得授权,非商业转载务必附上原作者名称,注明来自「奶牛关」并给出原文链接。不得以任何形式演绎或修改。

{{answer_voters_count}}人赞同

...

{{question_follower_count}} 个玩家关注

...

目录

    评论 0

    登录奶牛关账号即可参与讨论
    登录 / 注册

    OwenTsai 的更多回答

    查看所有回答

    该问题的其他回答