Autore Topic: Amicraft, questo mi mancava...  (Letto 2075 volte)

Offline saimon69

  • Guru
  • *****
  • Post: 1833
  • Karma: +23/-3
  • Web Dev e musicista da camera (da letto)
    • Mostra profilo
    • binarydoodles Blog
Amicraft, questo mi mancava...
« il: 29 Maggio 2015, 09:19:40 »
ok inciampato in questo su aw.net:
Amiga is Alive and Well and Somehow Able to Run This 'Minecraft' Clone - Popular Mechanics

Quindi abbiamo un clone di Minecraft, un po' limitatino dalle API penso ma cmq nteressante; ricordo che uno dei motivi del successo di Minecraft e' si l'ambiente sandbox e voxel driven, ma anche il gioco in rete; quindi consiglierei di creare clients  e servers anche per morphos ed AROS 68k con le open GL per espandere la base utente...

« Ultima modifica: 29 Maggio 2015, 21:47:12 da saimon69 »
AROS : mica bau bau micio micio =^x^=

Offline saimon69

  • Guru
  • *****
  • Post: 1833
  • Karma: +23/-3
  • Web Dev e musicista da camera (da letto)
    • Mostra profilo
    • binarydoodles Blog
Re:Amicraft, questo mi mancava...
« Risposta #1 il: 29 Maggio 2015, 21:47:25 »
[aggiunta]
Finora ho visto girare minecraft solo su video e sull'ipad dei miei nipoti: os che e' voxel based e quindi mi immagino ci sia un array tridimensionale a gestire gli elementi, ma per curiosita' quanto e' grosso l'array totale dell'area di gioco? A prima vista parrebbe un 1024x1024x1024* un numero possibile di valori dei blocchi (assumiamo 16) ovvero: 17.179.869.184 bytes leggi DICIASSETTE giga: lo vedete possibile?
[/aggiunta]

Mi rispondo da solo leggendo la wiki:

Citazione


The Overworld, as seen in an extreme hills biome
The Overworld is the starting dimension in Minecraft. As with all dimensions in the game, the Overworld can generate infinitely. The Overworld is limited to 862 by 862 blocks on the Xbox 360 and PlayStation 3 Edition, and 256 by 256 blocks on Old Pocket Edition worlds. At the edge of the Overworld, there is an animated world border. Nether portals in the Overworld can be used to teleport to the Nether.

The Overworld encompasses the level ceiling down to bedrock and extending in every direction on the horizontal plane. It is generated through a secret process which creates multiple noise maps to create differing elevations, general chunk shapes, and complex mountain and cave systems.

Most mobs in the game can spawn in the Overworld: wolves, bats, pigs, sheep, cows, horses, mooshrooms, chickens, chicken jockeys, squid, zombies, ocelots, skeletons, spiders, villagers, spider jockeys, witches, endermen, creepers and slimes all spawn normally. Zombie pigmen can also spawn near nether portals.

Mobs from the Nether may also pass through nether portals and enter the Overworld: zombie pigmen, magma cubes, wither skeletons, ghasts, and blazes (mobs from the Overworld can also enter the Nether through a nether portal). The ender dragon however can't enter the Overworld because there is no return portal from the End unless the dragon is defeated.

Seeds
Worlds in Minecraft are generated through a procedural formula that takes a random number as a starting point - a seed, and it will be used to generate all the terrain.

Using a specific seed generates exactly the same world each time, and thus interesting Minecraft worlds could be shared between players. The spawn is not on exactly the same spot, though, so it is wise to give coordinates instead of directions. The seed input is converted into an integer, so, for instance, the word 'Glacier' corresponds to a value of 1772835215, which generates exactly the same world when entered as a seed value.

Many seeds are chosen simply because they spawn the player near desirable resources, a stronghold or some certain special structure, such as a dungeon.

Sizes
In Classic and Indev, maps can be generated in "small" (128×128×64), "normal" (256×256×64), and "huge" (512×512×64) sizes.

In Infdev, Alpha and Beta, maps are somewhat infinitely big − They are made up of chunks; this means that as the player explores the map distant chunks are generated automatically, leading to theoretically infinite maps. In practice, technical reasons (the limits of 32-bit math[1]) force the maximum map size, including the Far Lands, to be around 9.3 million times the surface area of Earth [1], which comes out to about 4.7 quadrillion km2 (The hard limit where chunks are overwritten is at X/Z of ±34,359,738,368, making the world at most 68,719,476,736 meters wide and long, which is about 4,722,366,482,869,645 km2. When compared to Earth's total surface area, 510,072,000 km2, this works out to be about 9,258,235 times that). Whilst the horizontal planes of the maps are vast in size, the vertical plane remains at a fixed (soft limit) 256-block height [2].

Map limitation


Visual cutoff point of a Minecraft map (Left is normal Minecraft generation, the right is after limitation.)
While the map is infinite, the number of blocks the player may walk on is limited. The map contains a world border at +/- 30,000,000 x/z. The world border is an animated wall of blue stripes. As you get near it, the edges of your screen turn red, and you can not go past it. There is nothing past 16 blocks after the wall, just emptiness.

Because of these limitations the maximum blocks that can be generated in a world is approximately 921,600,000,000,000,000. This means that a filled world with no entities or tile entities would be 3,686,400,000,000,000,000 bits (409.27261579781770706 Petabytes) in block data alone due to the fact that each standard block is assigned 4 bits of information. The total area of this is about 8 times the surface of the Earth.


So che un voxel e' una mappa volumetrica data da colori e sfumature, ma non riesco a concepire un metodo adeguato ed EFFICIENTE (esclusa mappa multistrato) nella mia mente per salvare una mappa con caverne o strutture cave
« Ultima modifica: 29 Maggio 2015, 21:58:56 da saimon69 »
AROS : mica bau bau micio micio =^x^=

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re:Amicraft, questo mi mancava...
« Risposta #2 il: 30 Maggio 2015, 00:07:27 »
Il mondo di Minecraft (ti parlo della versione PC), è una griglia di altezza massima 256 blocchi, e larghezza e profondità "infinite" (ovviamente poi limitate dalla memoria finita del PC fisico).
Il mondo è suddiviso in una griglia bidimensionale di "chunk", ovvero pezzi di mondo formati da 16x16x256 blocchi (praticamente sono "fette" a forma di parallelepipedo, alte 256 blocchi e a base quadrata 16x16).
Il gioco genera il mondo solo vicino al giocatore, e salva solo i chunk che il giocatore ha visitato (sono codificati e compressi prima di essere memorizzati su disco). Quindi effettivamente la quantità di storage necessaria è solo proporzionale alla quantità di mondo che il giocatore ha visitato.
(parliamo di meno di ~100 MB per una tipica mappa single player/piccolo multiplayer)

Minecraft non fa altre ottimizzazioni. In programmi che usano "veri" voxel (ovvero cubetti molto piccoli di un solo colore, come i pixel sono quadrati di un solo colore), dove si potrebbero avere 64 voxel anche in un singolo millimetro, vengono usate strutture avanzate come gli octree, in modo da dover memorizzare solo i voxel effettivamente presenti, e ignorare tutti gli spazi vuoti ("aria"), oppure gli spazi formati da voxel dello stesso esatto tipo.

Offline saimon69

  • Guru
  • *****
  • Post: 1833
  • Karma: +23/-3
  • Web Dev e musicista da camera (da letto)
    • Mostra profilo
    • binarydoodles Blog
Re:Amicraft, questo mi mancava...
« Risposta #3 il: 30 Maggio 2015, 00:35:10 »
E qui "pensare algoritmicamente" assume un significato solido
AROS : mica bau bau micio micio =^x^=

Tags: