Condividi tramite


Differenze tra Minecraft: Bedrock Edition e Minecraft: Java Edition

A prima vista, Bedrock Edition e Java Edition hanno un aspetto molto simile, ma, osservandoli più approfonditamente, sono completamente diversi. I diversi code base creano ambienti di sviluppo distinti. Questo tutorial descrive le principali differenze di cui un creatore di contenuti dovrebbe essere a conoscenza.

In questo tutorial imparerai quanto segue:

  • Una breve storia di Java Edition e Bedrock Edition.
  • Quali sono le differenze tra le due edizioni e in che modo influenzano la creazione di contenuti.

Esistono due versioni principali di Minecraft.

Minecraft: Java Edition

Questa versione è stata rilasciata originariamente nel 2009. Fino al settembre 2017, quando è stata ribattezzata Minecraft: Java Edition, il suo nome era Minecraft. Come suggerisce il nome, è sviluppata in Java e, in gran parte, non è compatibile con l’attuale versione di Minecraft. Questa edizione è comunemente conosciuta semplicemente con il nome Java.

Minecraft: Bedrock Edition

Bedrock Edition è stata lanciata il 20 settembre 2017 ed era basata su Minecraft: Pocket Edition, rilasciata nel 2011. Questa versione ha riunito nove delle principali piattaforme di dispositivi sotto un unico code base chiamato Bedrock Engine. Si è trattato di una riscrittura completa di Minecraft che ha apportato alcuni cambiamenti fondamentali alla piattaforma, spalancando le porte a una nuova ed entusiasmante community di sviluppatori. Questa edizione è comunemente conosciuta semplicemente con il nome Bedrock.

Differenze nel mondo

La differenza più evidente tra le due versioni è il formato del mondo. Per l’archiviazione del mondo, Bedrock Edition utilizza il formato LevelDB, mentre Java Edition il formato Anvil. Per questo motivo, la maggior parte degli strumenti creati da terze parti per modificare il mondo con Java Edition non funzionerà su Bedrock Edition.

Le due versioni utilizzano inoltre un formato di blocco abbastanza diverso. Java Edition ha appiattito il suo formato di blocco tramite l'introduzione di una stringa univoca per ogni singolo blocco e la memorizzazione separata dello stato di quel determinato blocco. Allo stesso modo, Bedrock Edition è passato a un sistema basato su stringhe con stati di blocco, mantenendo però il raggruppamento di alcuni blocchi definiti dal valore dei dati. Fondamentalmente, ciò significa che le due versioni danno ai blocchi nomi diversi. Nella Bedrock Edition, il granito sarebbe stone 1, mentre su Java Edition è semplicemente granite.

Un’altra differenza fondamentale consiste nel modo in cui viene generato il mondo. Anche se entrambe le versioni generano il terreno mediante un processo simile, esse utilizzano un generatore di numeri casuali diverso. Ciò significa che i semi delle due versioni non sono compatibili. Un seme utilizzato in Bedrock Edition genererà in modo diverso rispetto a come accadrebbe in Java Edition. Per questo motivo, creare contenuti in Java Edition destinati alla Bedrock Edition risulta più difficoltoso.

Differenze di pietrarossa e comando

Anche la struttura e l’implementazione dei comandi tra le due versioni sono divergenti. La struttura dei comandi di Bedrock Edition è simile al sistema utilizzato nelle versioni di Java Edition precedenti alla 1.13. Questa rinuncia anche alle stringhe grezze JSON all’interno dei comandi per un sistema basato sui componenti. Invece di utilizzare stringhe JSON lunghe e complesse per personalizzare le entità, puoi evocare un’entità con un evento da attivare, e anche nominarla in un singolo comando.

summon <entityType: EntityType> [spawnPos: x y z] [spawnEvent: String] [named: String]

Attualmente, non c’è modo di /give ai giocatori oggetti personalizzati in Bedrock Edition, come invece avviene in Java Edition. L’oggetto dovrà essere creato in anticipo e teletrasportato al giocatore. Il modo più comune per eseguire questa azione è posizionare l’oggetto in una cassa e romperla, oppure farlo cadere dalle mani di un’entità alla sua morte tramite la tabella del bottino.

Inoltre, i comandi delle versioni Bedrock Edition e Java Edition precedenti alla 1.13 dovrebbero essere molto simili tra loro. Il formato di esecuzione introdotto in Java Edition 1.13 non è supportato da Bedrock Edition.

Le Classifiche delle due versioni funzionano allo stesso modo, ma Bedrock Edition attualmente non supporta l’ampia gamma di criteri di Java Edition. Attualmente, l’unico criterio supportato da Bedrock Edition è il criterio dummy. Nessuno degli altri criteri disponibili in Java Edition è stato implementato da Bedrock Edition. Non è nemmeno presente un supporto per comandi come /stats o /team.

I comandi Programma differiscono tra le diverse edizioni. In Java Edition, il comando /schedule ha la seguente sintassi:

/schedule function <function> <time> [append|replace]
/schedule clear <function>

Una funzione verrà programmata per l’esecuzione dopo un determinato periodo di tempo, dando la possibilità di riprogrammare la stessa funzione utilizzando “append” o di annullare i precedenti programmi della funzione utilizzando “replace” prima della riprogrammazione. Inoltre, le funzioni pianificate possono essere riprogrammate con l’opzione “clear”.

In Bedrock Edition, il comando /schedule ha la seguente sintassi:

/schedule on_area_loaded add <from: x y z> <to: x y z> <function: filepath>
/schedule on_area_loaded add circle <center: x y z> <radius: int> <function: filepath>
/schedule on_area_loaded add tickingarea <name: string> <function: filepath>

Anziché eseguire una funzione dopo un determinato periodo di tempo, è possibile programmare l’esecuzione delle funzioni quando una regione del mondo viene caricata. L’opzione “tickingarea” eseguirà la funzione specificata quando un’area spuntabile con il nome specificato viene caricata. Se l’area spuntabile è già attiva, la funzione verrà eseguita immediatamente. Tuttavia, se l’area spuntabile ancora non esiste, la funzione rimarrà in sospeso fino a quando non verrà creata, come avviene con il comando /tickingarea, dopodiché verrà eseguita.

È possibile programmare più funzioni per la stessa posizione o area spuntabile. Tuttavia, a differenza di quanto accade in Java Edition, le funzioni pianificate non possono essere cancellate.

Anche le funzioni pietrarossa sono leggermente diverse. A differenza di Java Edition, Bedrock Edition non supporta la quasi-connettività. I sistemi che utilizzano meccanismi come gli switch BUD (Block Update Detector) non funzioneranno. Anche i pistoni richiedono una spunta per ritrarsi e non lasceranno i blocchi se gli viene dato l’impulso di una spunta. Persino il modo in vengono caricati gli aggiornamenti differisce leggermente. Mentre la stragrande maggioranza dei circuiti di pietrarossa è perfettamente compatibile tra le due versioni, i circuiti più complessi potrebbero non funzionare.

Pacchetti di risorse

I pacchetti di risorse Bedrock Edition e Java Edition presentano molte analogie, ma anche alcune differenze. La differenza più ovvia è il passaggio dai file .mcmeta ai file .json nell’edizione Bedrock. Questi file vengono utilizzati per definire le proprietà delle diverse parti dell’interfaccia e sono ampiamente utilizzati allo stesso modo con sintassi differenti tra i due formati. Anche i formati di file texture presentano notevoli differenze: la principale è l’uso di file TGA anziché PNG per lavorare con i canali alfa. Anche alcune texture (principalmente entità) sono disposte in modo leggermente diverso.

Pacchetti di comportamenti

Una delle maggiori differenze tra Bedrock Edition e Java Edition è l’uso dei pacchetti di comportamenti. Sebbene dal punto di vista funzionale siano simili ai pacchetti di dati in Java Edition, l’effettiva implementazione e l’uso dei pacchetti di comportamenti avvengono in maniera diversa.

I pacchetti di comportamenti apportano nuove funzionalità, per esempio consentono di creare le proprie entità da zero, di aggiungere nuovi blocchi ed elementi o di accedere agli eventi utilizzando l’API JavaScript. Ciò offre un’enorme grado di flessibilità e controllo ed è uno dei punti di forza che differenzia principalmente Bedrock Edition da Java Edition.

Gameplay e input del giocatore

Una delle principali differenze, spesso dimenticata, è il tipo di piattaforma utilizzata dai giocatori di versioni diverse. Per quanto riguarda Java Edition, è molto probabile che il tuo giocatore stia utilizzando una tastiera e un mouse; su Bedrock Edition, è invece probabile che il giocatore usi altri dispositivi.

Attualmente, i comandi della console sono il metodo di input più utilizzato su Bedrock Edition, mentre gli schermi touch si trovano al secondo posto. I comandi della tastiera e del mouse si trovano invece al terzo posto e costituiscono solo una piccola percentuale della tua base di giocatori.

Ciò significa che, quando si progettano esperienze in Bedrock Edition, è necessario conoscere i diversi dispositivi di input che verranno impiegati dagli utenti. Inoltre, tieni presente come giocano i tuoi giocatori. La raffica di clic è adatta a un mouse o a un controller, ma potrebbe fornire un’esperienza scadente agli utenti con dispositivi touchscreen. I giocatori con tastiera che usano l’arco potrebbero avere una mira perfetta, cosa molto più difficile quando si utilizzano controller o comandi touch. Un complesso percorso di parkour potrebbe persino costringere un giocatore da cellulare a interrompere il gioco.

Pensa sempre a chi usufruisce dei tuoi contenuti. Mentre i giocatori di Java Edition potrebbero avere un'età più avanzata, il pubblico di destinazione di Bedrock Edition è molto più giovane. È probabile che non abbia mai giocato a Bedrock Edition su un PC.

Prestazioni

In questa sede, le cose si fanno più complicate e difficili da definire. Poiché la Bedrock Edition Engine è stata progettata per il gioco su PC, dispositivi mobili e console, si tratta generalmente una piattaforma più tollerante e più adatta a hardware di fascia bassa rispetto a Java Edition. Tuttavia, non è una versione priva di difetti.

Oltre ai normali bug che spesso causano problemi (cosa sarebbe Minecraft senza i suoi bug?), le funzionalità avanzate fornite dalla piattaforma mettono a disposizione più modi per interrompere il gioco. Molte entità con comportamenti complicati possono rallentare alcuni dispositivi. Le entità personalizzate che utilizzano modelli eccessivamente complessi possono consumare molta RAM. Anche la quantità di chunk caricabili in una sola volta può essere notevolmente inferiore sui dispositivi di fascia bassa, come per esempio alcuni smartphone.

Per contrastare molti di questi problemi relativi alle prestazioni, Bedrock Edition ha suddiviso la resa e la spunta dei chunk. Al posto di una relazione diretta tra loro come in Java Edition (per esempio, qualunque cosa vedi è caricata), Bedrock Edition ti permetterà di impostare la distanza di resa (la distanza massima che puoi visualizzare) su un valore diverso rispetto alla distanza di simulazione (la distanza massima da cui si possono spuntare i chunk). Questo ti permette di rendere visivamente accessibili aree lontane senza spuntare quei chunk. Spuntare i chunk ha un impatto diretto sulle prestazioni e, più numerosi sono i chunk spuntati in un dato momento, maggiore è il rischio che si verifichino problemi sui dispositivi di fascia bassa.


Nel complesso, il passaggio da Java Edition a Bedrock Edition è piuttosto indolore, se ti prepari in maniera adeguata e comprendi le differenze tra le due versioni. Molte funzionalità dei comandi su cui i creatori di Java Edition facevano affidamento sono state spostate nei pacchetti di comportamenti. La maggior parte degli aspetti del gioco sono stati rielaborati per essere basati sui dati con un’enorme attenzione alla flessibilità. Man mano che il gioco continua ad evolversi, l’esperienza resterà la stessa, ma i meccanismi alla sua base funzioneranno in modo molto diverso.

E adesso?

Se provieni da Java Edition, potrai muovere i tuoi primi passi in Bedrock Edition sviluppando componenti aggiuntivi. In questo modo, apprenderai le basi necessarie per la creazione di contenuti su Bedrock.