喜欢玩沙盒游戏的玩家们,应该有听过一个玩意,它的名字叫种子码,表面看上去好像是一串乱码,但总有人会分享这个出来,还说能生成特定样子的世界,这到底是怎一回事?
什么是种子码?
种子(Seed)是指由多个字符(通常是数字和英文字母)组合而成的字串,游戏程式会根据这个字串生成出对应的内容,这个内容一般指生物群落、地图关卡、物品位置、怪物分布等等。你们可以把它理解为一个地址或代码编号。
它有什么作用?
在说用途之前,先得了解什么是伪随机。伪随机是指应用程式里面生成的随机数其实并不是真正的随机,是按照预先设定好的算法生成的一个数列而已,这种专门设计用来生成伪随机数的算法会称作伪随机生成器。想更详细了解可以观看叔上一期内容。
那种子码在伪随机生成器里面扮演一个什么角色呢?
举个比喻,伪随机生成器是一本书,种子码是右下角的页码,每次翻到指到的页码,上面记载的内容都是相同的,是不变的。这也是为何我们上课做笔记时,会只记录课本的页码,而不是把整页内容都抄下来,因为我们知道只要翻开指定某一页就能获得找到对应的内容。
同理,在伪随机生成器里面,只要输入指定的种子码就能获得相对应的数据内容,因此我们可以通过它把有趣的内容分享给其他玩家。
哪里会有种子码?
种子码其实很常见,特别是一些具有随机生成属性的游戏,例如 Minecraft《当个创世神》、Slay the Spire《杀戮尖塔》、Rimworld《边缘世界》、Dyson Sphere Program《戴森球计划》等等。这些游戏都设有一个栏位供玩家输入种子码,但并非强制要求输入,当玩家输入种子码后,程序就会生成对应的内容。
如何获得种子码?
种子码除了可通过朋友之间互相分享获得外,如果该游戏本身设有输入种子码功能,那通常可在游戏的暂停页面查到当前游玩关卡的种子码编号。
特殊种子码
一般我们平日接触到种子码都是由程序乱数生成,但其实还有一种特殊种子码,它们是游戏工作室特意设计的种子码,属于彩蛋[1]的一种。
总结
- 种子码通常是由数字和字母所构成,输入后游戏程式会根据这个字串生成出对应的内容。
- 种子码常见于一些具有随机生成属性的游戏。
- 若游戏有提供输入种子码功能,那一般在暂停界面上会查找当前内容的对应种子码。
- 玩家之间可以透过分享种子码来交换有趣的游戏内容。
- 部份游戏设有特殊种子码,属于彩蛋的一种。
后话
这一期讲的内容比较肤浅,只是用了一个简单比喻来形容种子码,本身有打算真的上代码给你们看,了解是如何通过种子码实现取得同一组数列,但感觉会有点复杂,对没有编程基础的人来说可能会产生更多问号,所以最终选择以简单例子作比喻,希望观众能一下子看明白。
以上就是今期的所有内容,如果有疑问或发现文章有错漏,通通都可以在下方留言给我,希望你们喜欢这期内容。
资料参考
特别鸣谢
- 鸡排ZOPN
- 42yeah
- Cong
- 凌洛
- jxdx308zxg
留言 (0)
请先 登录 或 注册後才能發表評論。