30分钟简易复刻元气骑士地图生成系统

本文介绍了如何使用Unity3d创建一个类似《元气骑士》的随机矩形房间地图生成系统。通过调整房间大小、随机连接走廊,生成特殊房间,最终实现了一个动态的地图生成过程。
摘要由CSDN通过智能技术生成

本文转自Unity Connect博主 超级汽水
一个简易的房间类 Roguelike 游戏地图生成系统
如果你还不知道《元气骑士》是什么游戏,也许你可以去看看这个视频
https://space.bilibili.com/87721937

地图显示方式

  1. 随机大小的矩形房间。
  2. 随机的房间数量。
  3. 通过走廊连接每个房间。
  4. 每个图都有 俩个特殊房间:“出生房”、“传送房”。

地图生成思路梳理

  • 因为在原版游戏中房间并不是完全的正方形,所以我们在设计时要考虑到边长的问题。
  • 虽然游戏中的房间数量是随机的,但是也是有一个范围的。所以需要按照生成地图的最终面积来做一个约束。
  • 走廊连接算是游戏中的一个难点,因为走廊的长度是不确定的要在生成房间后根据房间的位置和大小来确定走廊的生成位置以及长度。
  • 在游戏中,每一个大关卡包含多个小关卡,每个小关卡中又包含了多张地图,每个地图中又有多个小房间。这样说可能有点不太好理解我画了张图来帮忙理解:
    在这里插入图片描述
    实现思路以及简化
    在之前已经发过俩篇文章介绍tilemap生成随机地图的方法,如果对tilemap不太了解可以先去看看:
    使用tilemap制作随机地图(1)
    使用tilemap制作随机地图(2)

整体的实现流程如下:

1 .根据用户定义创建一张足够大的地图 (这里的地图指每个小关所有房间所在的大地图)。
在这里插入图片描述

2 .假设大地图中所有位置布满大小相同的房间 (这里的房间边长一定要奇数,比较好操作),然后根据所需的房间总数来删掉多余的房间。

  • 8
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Unity游戏"元气骑士"("Kuso Knight")的话,你需要遵循以下步骤: 1. 游戏机制和规则: - 确定游戏的基本机制和规则。例如,玩家是一个骑士角色,需要通过关卡,击败敌人并收集物品。 - 确定敌人的行为和攻击方式,以及玩家的移动和攻击方式。 - 设计关卡,并考虑难度级别的平衡。 2. 角色和动画: - 创建骑士角色的模型和动画。可以使用3D建模软件(如Blender)创建角色模型,并使用动画软件(如Unity的Animator)为其添加动画。 - 为角色实现移动、攻击和其他动作的控制。 3. 关卡设计: - 使用Unity的关卡编辑器创建关卡布局。可以使用不同的地形、平台和障碍物来增加关卡的多样性。 - 在关卡中放置敌人、物品和其他互动元素。 4. 游戏界面: - 设计游戏界面,包括生命值、分数、计时器等UI元素。 - 添加游戏菜单、暂停和结束界面。 5. 声音效果: - 添加背景音乐、音效和角色的音效。可以使用音频编辑工具(如Audacity)创建和编辑音频文件。 6. 游戏逻辑和脚本: - 使用C#编写游戏逻辑和脚本。例如,处理玩家输入、碰撞检测、敌人AI等。 - 实现游戏的胜利和失败条件,以及分数计算和游戏进度的管理。 7. 测试和调试: - 在开发过程中进行测试和调试,确保游戏的各个方面都能正常运行。 - 修bug和优化游戏性能。 8. 发布和发布: - 准备游戏的发布版本,并将其打包为可执行文件或移动设备上的应用程序。 - 发布游戏,可以通过游戏平台(如Steam、App Store等)或自己的网站进行发布。 请注意,游戏需要遵守版权法律。确保你有合法的许可或权利来制和发布该游戏。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值