游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1419|回复: 0

基于MD5计算的未来网络游戏无限信息提取技术

[复制链接]

5万

主题

5万

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
87282
发表于 2019-5-5 10:37:31 | 显示全部楼层 |阅读模式
我们先从一只黑斑豹说起。

在电脑上你要构造一只黑斑豹,你可以使用一些三维绘制软件。

比如骨骼蒙皮技术。

骨骼蒙皮就是建立一些点的空间连接,然后把一个平面图像覆盖上去。

所以你可能花了不少时间创作出一只黑斑豹,然后保存成文件,其他人可以下载使用,比如运用到网络游戏中成为一只怪物。

而在网络游戏中,同一类怪物往往使用的是同一组数据,从同一个数据文件中提取,所以展现出来的这一类怪物都是一模一样的。

那么,为什么不让每个怪物都有所不同,看起来有它们自己的特点呢?

比如两只老虎,一只没有尾巴,一只没有耳朵,就给人深刻的印象。

当然,假如每个黑斑豹都弄不同的数据,并且保存成文件,那显然是不可取的。

还好我们可以用计算生成的办法,也就是在基础数据上进行随机修正。

就好像有些游戏可以捏脸,基本的脸型是一样的,然后人们在此基础上创作并保存起来。

而对于怪物,如果要保存,那信息量太大,很不划算。

比如一只不同的黑斑豹要保存,就要记录所有的空间点和一张蒙皮图像。

timg.jpg

一个可行的办法就是使用MD5计算生成。

我们可以给每一个黑斑豹一个编号并记录下来。

然后,记录黑斑豹的关键数据,比如有128个空间位置点。

然后计算编号加位置点形成的数据串的MD5值。

MD5值是一些二进制数据串,从其中就可以截取一系列的数据。

比如截取前两位的二进制,就有四种可能,求和对应四个数字,多截取几位,就可以得到更大范围,比如64以内,128以内,根据这个范围和具体数字就可以设计一个公式计算出相应的几个偏移量。

用这些偏移量修正黑斑豹数据中的该节点空间位置,然后每个节点都这么做,最后就生成一只不同于初始黑斑豹的特定黑斑豹。

而这些偏移数据是无需保存的,只要根据其编号就可以计算出来,可以随时随地的生成。

同样的,蒙皮图像上的黑斑大小位置也可以在初始图上这样修改,于是黑斑豹的形态和相貌就都不同了。

timg (1).jpg

根据MD5的特性,这些计算出来的偏移量是看不出关联性的,总体上是随机分布,但是它的每个值都是固定的,只要获得编号和初始数据,就可以完全的呈现。

于是服务器保存的数据量基本没变,但玩家看到的却是千形万状的黑斑豹。

同样的,黑斑豹的其他数据,比如是否有某个技能,资质高低,都可以用这种方式固定生成。

任何属性,都可以用怪物编号加该属性细节特定名称生成。

于是游戏信息因为这种技术而无限。

而且这种技术的扩展性极其强烈。

可以用在动物,植物,物品,人物,任务等等所有可以数据化的地方。

编号是固定的,属性名称是不同的,时间是不断变化的。

可以无穷组合,生成无限信息。

一万只黑斑豹和一百万只黑斑豹的数据量差不多,而且每只都不同。

在静态呈现上这是无需怀疑的。

而在具体动作上,需要软件和程序做更高抽象,这是程序员的工作了。

比如未来或许可以根据黑斑豹腿的长短不同计算它的具体速度影响因子。

但是对于一般的游戏,甚至不是三维的,二维的,小型的,单机的,这种技术都有着巨大的应用潜力。

我最开始见到这种技术的雏形是一款小游戏MD5大作战。

我玩了十年,将它抽象分析出来,并超越游戏本身。

今天,我决定写下来,或许有人看到并运用,就影响了未来的游戏制作方式,也会给大众带来更好的游戏体验,那么我的功夫也就没有白费了。

黑斑豹只是三维游戏中的一个小例子,即便你想到所有动物都这么做,这也只是这种技术潜力的冰山一角。

因为无限数据的意义同样是无限,在不同的具体应用中大家会有更多的发现。


文/付坤
QQ:270182827
邮箱:fukun551@163.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-23 01:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表