【饥荒】关于随机地图生成的方式
来源:互联网 发布:江西 知乎 编辑:程序博客网 时间:2024/04/28 15:50
介绍世界的生成方式
原文
我注意到,几乎没有人知道如何在饥荒mod里建立新的地图,所以我想分享我的知识。如果在任何事情上我错了,请纠正我或给我信息.
- 介绍世界的生成方式
- 世界生成的组成是
- 第一部分 预制物和静态布局
- 第二部分房间与造型
- 第三部分任务锁和钥匙
- 世界生成的组成是
世界生成的组成是?
第一部分: 预制物和静态布局
中英对照
预制物 –> Prefabs
静态布局 –>Static Layouts
预制物是,额…. 就本文来言是在地图上最小的单位,你在世界上看到的所有东西都是有预制物组成的.本文不准备创建任何预制物,只有说明如何让预制物显示在地图上.
静态布局是一系列的预设物安照特定的布局显示在地图上,每一次生成静态布局都是相同的.例:猪王,传输机零件.它们每次出现都是相同的.
译者注:猪王四周围的方尖碑都是相同的位置.
这两部分合在一起是因为每次生成是都是相同的.
第二部分:房间与造型
房间是在生成地图时第一个开始随机生成的,它包含 contents (内容,包括预制与静态布局), tags(标签) values(地表).
房间的标签确定了这个房间的特殊性,而value确定了地表,你将会发现自己站在什么地表上.
contents 定义为一个表,包括下列变量,
乍一看,distributeprefabs和 countprefabs 看起来是相似的,但实际上他们是作用于两个不同的时候的.
distributeprefabs 不需要为每个预设物设置特定的数量,当你需要他均匀分布时使用这个.
例:在森林里所有的树时均匀分布的,但是没有一个特定的数量.
countprefabs当你需要一个特定的数量时使用.
countstaticlayouts类似于countprefabs,当显然它是用于静态布局的.
prefabdata用于设置预制物的起始条件,例:树木是一级还是两级,蜘蛛洞穴一级两级?
当然,你应该不需要使用prefabdata来控制树木的生长状态,因为不使用的话,会随机生成树木,我想……没有人会喜欢一个树林里所有的树木都相同吧?但是,你应该使用prefabdata来控制蜘蛛洞穴的生成,比如全部是一级的.
造型是介于静态布局与房间中的一种,它是在生成地图时生成的,大小有点像静态布局,但是他的随机方式像房间.
第三部分:任务,锁和钥匙
一个任务有5个重要的组成部分:
当世界生成时通过各自的task,检查key和locks,将可以匹配的task联系起来。
key和locks 对应的列表可以在locksandkeys.lua里找到。
key和locks主要是用来保持平衡的。
Rooms是用来填充整个世界的,你应当定义一个特定数量的Room。相反的 room_bg 和 background_room, 用来填充剩余部分,它们的数量是随机的。
(未完待续)
- 【饥荒】关于随机地图生成的方式
- 关于“搭桥”游戏生成随机地图的设计思路
- 【饥荒随笔】关于代码的定义
- 随机数字图片的生成方式
- 生成随机数组的两种方式
- LunarLander 随机生成地面地图!
- 程序化随机多边形地图生成
- 地图随机生成lua版本
- 001【2D Rougelike】随机地图的生成
- 关于随机生成验证码的问题
- 关于生成随机测试数据
- 生成大量随机字符串不同实现方式的效率对比
- 饥荒mod工具的编译
- 关于生成更加随机的数的程序
- 百度地图SN生成方式
- 关于生成一个随机数组
- 关于生成不重复随机数组的问题?
- 关于随机生成N个不同整数的问题
- 2013机器学习十大问题
- oracle 10g回收站功能
- 如何分析Android APP 内存大小
- maven生命周期与插件
- JSP内置对象(五)——out对象
- 【饥荒】关于随机地图生成的方式
- Oracle Golden Gate 单向复制 DDL,DML 实战档案
- Unity+Mono断点调试步骤
- 【spring】通过GZIP压缩提高网络传输效率(可以实现任何资源的gzip压缩、包括AJAX)
- 如何找到树莓派通过dhcp获得的ip地址
- Widows Tips
- 联想为Superfish用户免费提供英特尔安全软件
- C++的链接依赖是平面式的
- 欢迎使用CSDN-markdown编辑器