GameDesign 板


LINE

回应cowbaying:
1F:推 Alimen:如果你的高度图是自动产生的 不妨用只传送乱数种子的策略 11/03 21:51
2F:→ Alimen:压缩的方法很多 主要跟资料特性有关 要不要开新串来讨论?11/03 21:52
3F:→ cowbaying:乱数种子有办法还原成一整块地图?11/03 22:23
4F:→ cowbaying:我有研究了minecraft的seed 无法100%阿11/03 22:30
5F:→ cowbaying:因此我才需要将资料无损编码後再还原11/03 22:31
我先叙述一下我所谓的「只传送乱数种子」是什麽: 假设乱数产生函数为 r(n+1) = (r(n)*3+1) % 5 则乱数种子r(0) = 0的情况,连续使用乱数函数会得出以下数列: 0, 1, 4, 3, 0, 1, 4, 3, 0 再假设你的地形生成演算法是横向排列, 也就是利用刚才产生的乱数数列,排成 0, 1, 4, 3, 0, 1, 4, 3, 0 换句话说,由於产生乱数的函数、以及产生地形的演算法是固定的, 所以乱数种子"0",只要是同一套程式,不管到谁的电脑上(除非有硬体问题), 产生的永远都是 0, 1, 4, 3, 0, 1, 4, 3, 0 这里讲得是简化过的例子, 但只要是Pseudo-random(伪乱数),都是一样的道理 而且就算地形生成演算法复杂很多,也不妨碍。 经典的例子应该算是新接龙牌局, 程式并没有实际地储存65535种牌局, 而是利用乱数种子来存。 所以我可以对朋友说「新接龙#1941超难的,你试试看」 而不用把整个牌局抄起来给他。 这里要注意一件事, 这个方法并不适用於「我预先手动产生一张地形图」的场合, 因为你很难去找到一组函数,可以恰好产生与你事先画的图一模一样的地形图。 至於cowbaying你提到你去拿了minecraft的seed出来, 却还原不出一模一样的地形图, 我觉得有可能有几个因素: 1. 你的地形生成演算法,跟minecraft的地形生成演算法不一样。 换句话说,以刚刚那个例子来讲, 可能你产生出来的是 0, 1, 4, 3, 0, 1, 4, 3, 0 而minecraft的演算法产生出来的是 0, 1, 1, 4, 0, 4, 3, 3, 0 (zig-zag) 2. 取乱数的途中多做了什麽事 可能minecraft在取乱数的时候,为了要回应使用者的输入,多取了几个 例如种子 = 0,minecraft实际取用的却是 0, 1, 4, 3, 0, 1, (4), 3, 0, 1 ^被拿去做动画效果 生成 0, 1, 4, 3, 0, 1, 3, 0, 1 3. 乱数函数根本就不同 你用 r(n+1) = (r(n)*3+1) % 5 minecraft用 r(n+1) = (r(n)*7+0) % 5 以上是一点浅见,欢迎讨论 ^^; p.s. 我印象中planetary annihilation的星球好像也是只存乱数种子? 不知道钓不钓得到cjcat XD --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 27.105.12.240
6F:推 akilight:存seed算满常见的手法,特别是很多4x类型的策略游戏 11/03 23:38
7F:→ akilight:地图产生都是直接存一组seed,存档读取就靠seed重建地图 11/03 23:38
8F:推 cowbaying:但是要怎麽做到真的随机呢? 11/04 00:17
9F:→ azureblaze:除非做赌博程式要真随机做什麽? 11/04 00:20
10F:→ Alimen:「真正的乱数」成本很高 通常是用硬体来读环境噪音来做 11/04 00:25
11F:→ Alimen:例如PuTTYgen是用滑鼠移动的轨迹来产生乱数金钥 11/04 00:31
12F:→ elenya:用真正乱数产生seed,再把seed记下来并不冲突啊 11/04 00:36
13F:→ Alimen:楼上也是个方法 不过跟srand(time())不就差不多了? XDa 11/04 00:39
14F:推 rofellosx:怎样验证 「真正的乱数」? 11/05 10:28
15F:→ Alimen:两者在统计学上是等价的 只是伪乱数"有可能"会被抓到规律 11/05 12:11
16F:→ Alimen:但除了Shakuntala Devi 应该没人能单看数列抓出算式吧.. 11/05 12:13
17F:→ elenya:http://goo.gl/1WXol9 可以使用这个演算法推得算式 11/05 22:08
18F:→ elenya:英文页讲得比较详细 11/05 22:09
19F:推 cowbaying:受益良多 原来从理论着手能够得到更多讯息 11/05 22:48
20F:推 cowbaying:意外发现用SEED产生地图的演算法还挺多的... 11/08 22:33







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP