Come si sviluppa un gioco come Minecraft?
Il primo passo è stata l'ispirazione di Ininiminer :
Dalle origini di Minecraft (The origins of Minecraft ) :
Ma poi ho trovato Infiniminer. Mio Dio, ho capito che quello era il gioco che volevo fare. Ci ho giocato in multiplayer per un po' e mi sono divertito, ma l'ho trovato difettoso.
Il secondo passo fu l'implementazione di un semplice motore a blocchi con Java e OpenGL. Ricordo di aver giocato una delle prime beta nel browser. Non c'erano nemici, una variazione limitata di blocchi (niente porte, scale, ...), l'unica cosa da fare era posizionare e distruggere i blocchi. L'approccio ingenuo sarebbe quello di inviare alla GPU tutti i cubi che sono vicini al giocatore. Un approccio migliore è quello di cercare di raggruppare i cubi con le stesse texture insieme o di utilizzare atlanti di texture. In altre parole, una GPU preferisce gruppi di oggetti invece di oggetti singoli. Dieci batch di 1000 oggetti è meglio di 10000 chiamate di disegno di un singolo oggetto.
Da questo semplice inizio sono stati aggiunti nuovi blocchi e caratteristiche. Per esempio le note di rilascio per la versione Alpha 1.0.0 dichiarano semplicemente:
Aggiunte scale di legno e ciottoli
Da allora in poi ogni caratteristica segue logicamente, insieme ai suoi requisiti:
- Fisica basata sui blocchi: Posiziona un blocco d'acqua da qualche parte e l'acqua sarà distribuita ai blocchi vicini. Questo è governato dal principio del Tick che aggiornerà i blocchi vicini al giocatore in vari modi (Tick - Minecraft Wiki ).
- Mostri: comportamento dei mostri (ricerca del percorso e semplice IA per evitare danni da caduta, acqua, ...). Per gli abitanti dei villaggi questo è stato esteso con una funzione di commercio.
- Redstone: Circuiti semplici all'inizio, seguiti più tardi da blocchi logici specifici di redstone che possono essere usati per emulare un computer (costruire un 6502 in Minecraft).
- Creazione del mondo: La creazione del mondo usa il rumore Perlin (il rumore simplex è molto meglio al giorno d'oggi), ma non è facile creare un mondo interessante solo con il rumore Perlin. Così sono state aggiunte regole deterministiche per creare villaggi, abissi, roccaforti, fiumi, ... Anche i biomi sono generati proceduralmente e naturalmente sono anch'essi deterministici.
Questo è tutto un'enorme quantità di lavoro. Caratteristiche che sembrano semplici da implementare potrebbero richiedere un sacco di lavoro per il team di Minecraft. Realisticamente, avreste bisogno di mezzo semestre (sono un insegnante quindi penso in semestri) per far funzionare un mondo di base basato su blocchi e un sacco di lavoro extra per codificare qualsiasi quantità di gioco.
Articoli simili
- La maggior parte dei popolari YouTubers di Minecraft giocano a Minecraft Java o Minecraft Windows 10 Edition?
- Qual è meglio, Minecraft PC, Minecraft console o Minecraft PE?
- Quale azienda sviluppa applicazioni mobili basate sulle ultime tecnologie come IoT, realtà aumentata, realtà virtuale, ecc.
- Perché Valve non sviluppa Half-Life 3?