请问沙盒游戏的存档读档如何实现啊?
unity3d吧
全部回复
仅看楼主
level 9
如题,沙盒游戏的一局游戏中有大量的状态不固定的物体,我在对这局游戏存读档的时候,是要把每一个物体的坐标和状态都记录下来,然后存档时根据记录进行还原吗?还是有更简单的方法呢?[疑问]
2020年10月19日 09点10分 1
level 4
我的idea也是差不多如此。可能会有一些优化手段就是,某些坐标的精度不高,或者状态的表现只有几种,用一两个bit就可以表达,此时可能只需要一个int,或者多加一两个char的存储就可以存所有一个物体所有的信息,然后写进二进制文件,读的时候也通过位操作解析,由此可以加快速度,也可以节省内存。
2020年10月19日 09点10分 2
说错了,是节省存储
2020年10月19日 09点10分
那感觉还是有点粗暴吧[喷]比如我的世界这种类型的游戏每个方块都记录的话,存档文件大小不得爆炸吗
2020年10月19日 10点10分
@盐川庄司日良树 你在地图上飞行几十秒,存档几百兆那不是分分钟?如果算100M,那就是104857600个字节,每个字节8个bit。已知我的世界高度最高256,也就是2^8,刚好一个字节能够表示的宽度。然后方块种类153(1.7.9),也就是两个字节能够表示一个方块的全部信息。
2020年10月19日 12点10分
所以100M能够存储52428800个方块信息。已知海平面在62层,假如世界每个垂直高度上有70个方块,一百兆可以存储748900个水平面积的方块,即8600平方米的面积(每个方块假设1米),你算算,8600,你要飞多久?
2020年10月19日 12点10分
1