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” »

Python – Salvataggio automatico

Hai visto negli articoli precedenti come salvare e caricare i dati usando alcuni Sensors Keyboard per inviare l’impulso positivo al Controller Python che esegue lo script da te creato per salvare o caricare i dati che hai deciso di usare. In questo articolo invece vedrai come è possibile lanciare la stessa procedura usando, invece dei Sensors Keyboard, degli eventi che fanno parte del gioco, come la collisione con oggetti che determinano un momento chiave del gioco, come la fine del livello oppure un momento in cui si vuole salvare prima di affrontare un’area difficile del gioco (tipo combattere con un Boss). Come ho scritto altre volte le applicazioni sono molteplici ed è difficile coprirle tutte, infatti con questi tutorial cerco di dare una base per farti comprendere al meglio le funzionalità del motore di gioco di Blender e permetterti di creare il tuo gioco senza dover impazzire, il cammino è ancora lungo e gli argomenti sono tanti per cui iniziamo. Per questo articolo ho creato un file di partenza che puoi scaricare QUA, ti consiglio di estrarre i file in una cartella, l’importante è che siano separati da altri file. Continue reading “Python – Salvataggio automatico” »

Python – Save e Load

Introduzione

In questo tutorial andrò a toccare uno degli argomenti più discussi e richiesti, il salvataggio e il caricamento dei dati di gioco. Il tutorial richiede una minima conoscenza di programmazione, non specificatamente del Python anche se sarebbe logico, a tale proposito puoi trovare diverse risorse in rete da dove attingere materiale, ti propongo alcune pagine che ti serviranno per capire di cosa sto parlando, perché questo tutorial non è un corso di Python. Continue reading “Python – Save e Load” »