A Minecraft-ban hogyan működnek a seed-ek?
Azt szeretném megtudni, hogy hogyan lehet az, hogy azt a több mint 60^20 féle óriási pályát el tudja tárolni.
Kiszámoltam, ha minden pálya csak 1 bit-nyi helyet foglalna, akkor is 40 trilliárd terabájtra lenne szükség.
1) Nincs generálva azok a Chunk-ok amiket még nem láttál tehát nem foglalnak helyet
2) GZIP tömörítés
3) Minden block 2 byte :D (ID, Metadata) + TileEntity ha van
Köszönöm válaszaitokat!
Az első látom foglalkozott a minecraft modolásával, a második válasza pedig jó, de nem elég konkrét. Én rájöttem, hogy hogyan működik:
A Java-ban a véletlengenerátornak meg lehet adni egy számot, és az abból egy véletlen számsorozatot állít elő, ami mindig ugyanaz, ha ugyanazt a kezdő számot adjuk meg. Ez pedig valamilyen számolással az előző valahány számból számítja ki a következő számot, egyenletes eloszlással. Tehát minden generálásnál valahogy be van éítve a seed pl így:
Random rnd = new Random(seed +
(long) (xPosition * xPosition * 0x4c1906) +
(long) (xPosition * 0x5ac0db) +
(long) (zPosition * zPosition) * 0x4307a7L +
(long) (zPosition * 0x5f24f) ^ 0x3ad8025f);
return rnd.nextInt(10) == 0;
Ez a slime-os chunkokat adja meg. Látszik, hogy minden seed-nél más-más lesz az érték.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!