Come creare una roccia parte 2 – retopology e baking

Nel precedente tutorial , ho spiegato come modellare una roccia con il solo utilizzo del modificatore displace unito all’utilizzo del subdivision surface. E’ possibile rileggerlo a questo link.
Ovviamente il modello così come è stato creato ha un numero spropositato di vertici e quindi , per essere utilizzato in un qualsiasi motore di gioco , deve essere sottoposto a retopology.
Il retopology è quella tecnica che punta alla riduzione delle facce di una mesh, altrimenti modellata e dettagliata utilizzando un alto numero di poligoni (High Poly vs Low Poly).
Ci tengo a precisare che il motore di rendering utilizzato è upBGE ovvero blender game engine internal modificato così da ampliarne la resa in tempo reale e basato sulla versione 2.79b di blender.
UpBGE è gratuito e scaricabile a questo link 

Continue reading “Come creare una roccia parte 2 – retopology e baking” »

Come creare una roccia parte 1 – modellazione

Uno step fondamentale nella creazione di un gioco è la realizzazione degli assets. In questo articolo vorrei partire dalla base , illustrando come è possibile in blender modellare una roccia.
Le rocce sono un must in qualsiasi level design e quindi , a meno che non scarichiamo qualche modello già bello e fatto , non possiamo esimerci dal crearne delle nostre nello stile che più preferiamo.

Continue reading “Come creare una roccia parte 1 – modellazione” »

Open World – Diario di sviluppo – Area di gioco esplorabile parte 1

Dopo svariati giorni di ricerca e documentandomi leggendo articoli sugli open world , mi sono reso conto che chi la fa da padrona è l’ambiente che ci circonda e, la cosa fondamentale, è avere un’area di gioco abbastanza vasta e variegata.
Giocando ad alcuni giochi del tipo ARK : Survival evolved, Life is feudal your own, i vari The Elder Scroll ma anche i vecchi titoli come la saga di Gothic mi sono reso conto di come può essere composto uno scenario Open World.
Ovviamente il problema principale di uno scenario tanto grande è l’ottimizzazione delle risorse, come mantenere basso il numero di vertici per impedire al game engine di “esplodere” . Il LOD (Level of detail) applicato al terreno è sicuramente una strada da percorrere e, facendo delle ricerche , sono arrivato ad un bivio : Continue reading “Open World – Diario di sviluppo – Area di gioco esplorabile parte 1” »

Open World – Diario di sviluppo

Salve a tutti ,
E’ da un po di tempo che mi frulla in testa di sviluppare un gioco. Essendo un appassionato di giochi Open World e survivals , ho deciso di intraprendere questa strada ,anche se so essere molto complessa,  affrontando le varie problematiche per gradi e cercando di spiegare come arrivo alla soluzione.
Essendo un appassionato (come la maggior parte di voi) e non professionista , le soluzioni saranno a volte spartane e quindi consigli e critiche saranno sempre bene accette su ogni post.

Questo diario di sviluppo pone come obiettivo di fissare a mente i concetti necessari per andare avanti ed invitarmi a rivedere sempre i ragionamenti che portano alla soluzione del problema , condividere un “making of” della soluzione documentandola con immagini e filmati ed eventualmente creare un punto di discussione su come migliorare inseme a chi vorrà seguire la mia avventura all’interno di questo fantastico mondo che è lo sviluppo di contenuti interattivi e videogames .

Gli strumenti che ho deciso di utilizzare al momento sono i seguenti :

  • Blender (Attualmente alla versione 2.79c)
  • upBGE (Attualmente alla versione 0.1.6)
  • Blender Sensei Format (Addon per blender)
  • Gimp e\o Krita (programmi di grafica e fotoritocco)

eventuali variazioni a questa lista di programmi la apporterò sempre in questo articolo.
Rimanete sintonizzati.

Comprendere il python in bge – Estendere una classe ed applicarla alla logica di gioco

Nel precedente capitolo abbiamo fatto un accenno ai moduli ed in particolare alle classi. Le classi sono molto frequenti ed importanti nell’ambito della programmazione in quanto permettono di generalizzare i comportamenti di un oggetto.

Un esempio di applicazione pratica in un gioco potrebbe essere quella di un’auto. Il comportamento di un’auto è sempre lo stesso, accelera, frena, sterza, cambia le marce … le auto però hanno allo stesso tempo caratteristiche differenti tra di loro ed il modello, la velocità, il rapporto tra le marce, il tempo di frenata, il consumo delle gomme sono solo alcune delle caratteristiche che differenziano un’auto dall’altra.
Tutto questo viene tradotto a livello di programmazione definendo una classe base “Automobile” dove all’interno della classe è possibile creare delle proprietà (ovvero le caratteristiche dell’automobile) ed i metodi (ovvero il comportamento dell’automobile) . Continue reading “Comprendere il python in bge – Estendere una classe ed applicarla alla logica di gioco” »

Comprendere il python in bge – OOP , programmazione orientata agli oggetti

La programmazione orientata agli oggetti, è un tipo di programmazione che permette di creare oggetti di memoria, permettendo l’interazione tra questi tramite messaggi. 

È particolarmente adatta nei contesti in cui si possono definire delle relazioni di interdipendenza tra i concetti da modellare (contenimento, uso, specializzazione). Un ambito che più di altri riesce a sfruttare i vantaggi della programmazione ad oggetti è quello delle interfacce grafiche.

Altri vantaggi della programmazione orientata agli oggetti sono :

  • fornisce un supporto naturale alla modellazione software degli oggetti del mondo reale o del modello astratto da riprodurre
  • permette una più facile gestione e manutenzione di progetti di grandi dimensioni
  • l’organizzazione del codice sotto forma di classi favorisce la modularità e il riuso di codice

Il game engine, detto in breve, è un framework composto da librerie di oggetti detti moduli, i quali moduli sono composti da classi. Ogni oggetto che vediamo nella viewport quindi deriva dalle classi istanziate in blender.
I moduli standard a nostra disposizione sono elencati a questo indirizzo . Continue reading “Comprendere il python in bge – OOP , programmazione orientata agli oggetti” »

Comprendere il python in bge – introduzione

Come avete potuto leggere negli articoli del sito, oppure constatare per vostra esperienza personale, Blender mette a disposizione dello sviluppatore un sistema a mattoni logici che è possibile interconnettere tra loro tramite un’apposita GUI (graphic user interface). Trascini il mouse dal pin di un sensor fino al pin dell’actuator desiderato ed è lì creato il flusso logico che il programma sarà pronto ad eseguire… tutto molto bello.

Proseguendo nello sviluppo però, le condizioni e le relazioni diventano troppo complesse, ingestibili ed impossibili da debuggare. Qui forse può tornarci utile saper gestire i controller python. Continue reading “Comprendere il python in bge – introduzione” »

Simulazione di un ciclo Do while in blender game engine tramite logic bricks

Argomento

Lo scopo di questo articolo è capire come, senza una riga di codice, possiamo simulare un ciclo do while con blender Game Engine.
Un ciclo do while in breve è un ciclo (loop) che continua fino a quando una condizione stabilita dal programmatore non viene soddisfatta.
In questo articolo,  non torneremo sui concetti di Properties, Sensors, Controllers ed Actuars in quanto già trattati nella parte manualistica ed ampliati in diversi articoli.

Continue reading “Simulazione di un ciclo Do while in blender game engine tramite logic bricks” »