Giovanni Capuano Blog


I videogiochi sono una forma d'arte

Scritto da Giovanni Capuano il giorno 05-03-12 alle ore 20:03:53 nella categoria Pensieri.

In questi giorni si è riacceso il dibattito dopo quasi un decennio: I videogiochi possono essere considerati una forma d'arte?

Già nei primi anni del 2000, con il rilascio di Ico per l'immortale PS2, se ne discuteva.
Ma partiamo col definire l'arte, e per questo facciamoci aiutare dall'ottima Wikipedia:

L'arte, nel suo significato più ampio, comprende ogni attività umana – svolta singolarmente o collettivamente – che porta a forme creative di espressione estetica, poggiando su accorgimenti tecnici, abilità innate e norme comportamentali derivanti dallo studio e dall'esperienza. Nella sua accezione odierna, l'arte è strettamente connessa alla capacità di trasmettere emozioni, per cui le espressioni artistiche, pur puntando a trasmettere "messaggi", non costituiscono un vero e proprio linguaggio, in quanto non hanno un codice inequivocabile condiviso tra tutti i fruitori, ma al contrario vengono interpretate soggettivamente.


Ebbene, tra le molteplici "discipline artistiche" che ci presenta l'enciclopedia, possiamo trovare l'architettura, il teatro, la danza, la musica, la poesia, il cinema... e i videogiochi!

Ma dunque, perchè secondo i più i videogiochi non possono rientrare in questa categoria? Non rispecchiano forse le caratteristiche insite all'arte? Cosa avrebbe in più un film?
Ogni videogioco è un'esperienza per la persona.
Il videogioco racconta una storia capace di far emozionare e di far mutare lo stato d'animo del giocatore, dal farlo commuovere a fargli provare una forte scarica adrenalinica.
E per fare ciò il videogioco fa uso di trame leggendarie raccontate da personaggi con una grande caratterizzazione, dal passato il più delle volte oscuro, di cui ne veniamo a conoscenza avanzando per i livelli; colonne sonore epiche, commposte da vere e proprie orchestre; ambientazioni che vanno dal reale al surreale, che ci presentano città con vicoli e vicoletti, con personaggi vivi che svolgono le loro quotidiane mansioni, ma anche luoghi suggestivi, come foreste stregate o lande desolate.

Ma in più il videogioco permette al fruitore di immergersi in esso, e di impersonare il protagonista dell'avventura, e viverla insieme a lui.

E di esempi ne posso fare a bizzeffe: The Legend of Zelda, God of War, Final Fantasy, Ico e Shadow of the Colossus (che iniziarono, appunto, il sopra citato dibattito) e Journey (che lo sta alimentando in questo periodo).

Ma finchè ci sarà disinformazione da parte dei media o individui come un tale Camillo Regina, ci vorrà ancora una generazione o due perchè i videogiochi possano essere messi al livello di libri o cinema.
E non solo sulla carta.


ModificarePS3 passa sul blog!

Scritto da Giovanni Capuano il giorno 22-02-12 alle ore 14:02:36 nella categoria Blog.


Razor skin

Scritto da Giovanni Capuano il giorno 21-11-11 alle ore 0:11:07 nella categoria Blog.

Buonasera,
ecco qui che vi porto come skin di default la nuova Razor :D
Essa è scritta in HTML5 e CSS3 con il framework Blueprint, con i contenuti all'interno di un container e basato su colori scuri ed eleganti con il menù in cima.
Se volete ritornare alla vecchia skin o volete provare le altre, registratevi (se non l'avete già fatto) e dopo aver effettuato l'accesso scegliete la vostra preferita nel pannello di modifica del profilo.
Razor è disponibile anche per Ocarina2 (ho pure aggiornato i pacchetti se vi servono :).

In caso di problemi sto qui, a presto!


Nuova skin per Ocarina2: Zen

Scritto da Giovanni Capuano il giorno 07-11-11 alle ore 17:11:12 nella categoria Ocarina CMS.

Buonpomeriggio,
da oggi gli utenti registrati potranno fare uso della nuova skin chiamata `Zen`, attivabile tramite il pannello `Modifica profilo` messo a loro disposizione.
La skin è scritta in HTML5 (validato W3C) e CSS3, è di colore bianco, i contenuti sono estesi per tutta la larghezza della pagina e non sono presenti nè pubblicità nè il bottone di PayPal.
In alto a destra potete vedere il logo raffigurante il simbolo zen, con un effetto fade tutto in CSS3 (ringrazio per questo meh.).
Concludo sperando vi piaccia, e informandovi che troverete la stessa skin anche nel repository di Ocarina2.
Alla prossima :)


Pattern Observer: Concetti fondamentali, casi d'uso e creazione di un'applicazione in Java

Scritto da Giovanni Capuano il giorno 02-11-11 alle ore 0:11:42 nella categoria Programmazione.

Concetti fondamentali

Nell'ingegneria del software, un design pattern (schema di progettazione) può essere definito "una soluzione progettuale generale a un problema ricorrente".

Observer è un design pattern nel quale un oggetto, chiamato soggetto, mantiene una lista dei suoi dipendenti, chiamati osservatori, e notifica loro automaticamente di ogni suo cambiamento di stato.
[...]È principalmente usato per la distribuzione degli eventi.


Chi meglio, corrispettivamente, di Wikipedia in lingua italiana e Wikipedia in lingua inglese (con mia traduzione:) poteva esprimersi meglio?
Insomma, se non si fosse capito, il pattern Observer ci permette di creare in nostro software secondo il paradigma ad eventi, associando ad ogni stato un'azione.

Questo concetto dovrebbe essere molto familiare a chi ha alle spalle esperienze di programmazione di applicazioni dotate di interfacce grafiche.
Infatti ogni qual volta che al nostro programma aggiungiamo un componente grafico, come ad esempio un bottone, associamo ad esso un evento (onclick, onfocus, e così via) che allo scatenarsi di esso invoca un metodo oppure una procedura.

Ma vediamo i passi per crearci un nostro sistema ad eventi, che vale per qualsiasi linguaggio orientato ad oggetti.
1. Creazione del soggetto, ovvero l'oggetto che verrà tenuto sotto osservazione dagli osservatori;
2. Creazione della classe che individua gli stati che il soggetto può assumere;
3. Creazione dell'osservatore, che come già detto precedentemente, osserva il soggetto e invoca un metodo non appena gli viene notificato un determinato status.

È importante dire che non vi è alcun limite al numero di osservatori da creare, quindi ogni osservatore potrà agire in un determinato modo anche allo stesso status che assume il soggetto.

Casi d'uso

Detto questo, diamo un pò di idee sull'uso che possiamo fare di questo pattern.

•Caricamento risorse: possiamo osservare una classe Loader in modo da segnalare all'utente quale risorsa si sta caricando al momento e la percentuale di completamento;
•Plugin: Possiamo venire a conoscenza se tutti i plugin lanciati siano stati eseguiti con successo;
•Invio pagina al blog: Quando una pagina viene inviata al nostro CMS, i vari osservatori possono reagire in vario modo: avremo quindi quello che invierà la pagina al database, quello che aggiornerà la sitemap, quello che informerà gli spider e così via, magari ritornando dei vari stati di completamento.
•Creazione componente grafico: Beh, chi ci dice di usare gli oggetti che ci mette a disposizione la nostra libreria grafica? :D

Questi sono i primi casi d'uso che mi sono venuti in mente, ma chissà a quanti altri potrete applicarci il pattern Observer!

È giusto fare una precisazione però.
Tutto ciò che facciamo tramite il pattern Observer è fattibile benissimo senza.
Infatti come definito ad inizio articolo da Wikipedia, un pattern è uno `schema di progettazione`, rendendo quindi il nostro codice quanto più pulito è possibile.

Il pattern Observer in pratica

Di seguito una semplice applicazione in Java, commentata ogni qual volta faccio uso del pattern, che legge un file riga per riga, notificando i vari status in cui si viene a trovare.

Clicca qui per visualizzarlo con evidenziazione e conteggio righe

Conclusioni

Beh, spero che sia stato chiaro nella spiegazione e spero altrettanto che vi sia utile per le vostre future applicazioni, siano esse destinate per il desktop, per il web o per i server.
Per qualsiasi cosa basta un commento, ci conto!


Webstorage

Scritto da Giovanni Capuano il giorno 17-10-11 alle ore 16:10:13 nella categoria Senza categoria.

Nuovo video dimostrativo per il mio Webstorage :)
Cliccate il seguente bottone per visualizzarlo!


Pubblicato JPong

Scritto da Giovanni Capuano il giorno 14-10-11 alle ore 23:10:10 nella categoria Senza categoria.

Buonpomeriggio a tutti,
con questa breve news, volevo giusto informarvi che ho appena rilasciato JPong, un clone del leggendario gioco Pong.
JPong è scritto in Java, è multipiattaforma, è rilasciato sotto licenza GNU/GPLv3 e gira sull'engine GTGE.
Spero vi piaccia, fatemi sapere, alla prossima!

Se vi sembra che questa news sia identica alla precedente, mi spiace dirlo ma vi sbagliate, è tutta impressione.
Saluti!


Edit:
Aggiornato il pacchetto con la nuova versione.
Changelog: Codice migliorato nella OOP e possibilità di gestire entrambe le racchette contemporaneamente.


Pubblicato Space Conqueror

Scritto da Giovanni Capuano il giorno 12-10-11 alle ore 16:10:46 nella categoria Java.

Buonpomeriggio a tutti,
con questa breve news, volevo giusto informarvi che ho appena rilasciato Space Conqueror, un clone (anche se possiamo dire che lo è solo per il tema e per il gameplay) del leggendario gioco Space Invaders.
Space Conqueror è scritto in Java, è multipiattaforma, è rilasciato sotto licenza GNU/GPLv3 e gira sull'engine GTGE.
Spero vi piaccia, fatemi sapere, alla prossima!


Blog aggiornato ad Ocarina2

Scritto da Giovanni Capuano il giorno 03-10-11 alle ore 19:10:45 nella categoria Blog.

Eccoci qui!
Ho approfittato del fatto che ormai Ocarina2 è quasi pronto e del rinnovo fatto pochi giorni fa dell'hosting per aggiornare il blog dal CMS Ocarina1 a Ocarina2, tramite un piccolo script che permette di effettuare l'upgrade senza perdere nulla (se non gli utenti, per un motivo di sicurezza).
Cosa c'è di nuovo? Tutto ciò che vedete e che vedrete non appena vi registrerete :)
Solo un piccolo problema: in alcune news (con le sezioni ho già risolto :) vedrete dei simboli strani al posto degli eventuali caratteri accentati, derivati da un bug di codifica dello script che si occupa dell'aggiornamento.
Inoltre, potrebbero esserci in giro dei link non funzionanti (ma solo quelli relativi alle sottosezioni, come ad esempio PHP, che è una sottosezione di Tutorial), ma che potrete facilmente raggiungere grazie ai link presenti nell'archivio.

Bene, quest'è tutto, fatemi sapere per qualsiasi cosa! :)


Preview del mio nuovo progetto

Scritto da Giovanni Capuano il giorno 20-09-11 alle ore 17:34 nella categoria Happy hacking.

Bene, di seguito un piccolo video che riprende le fasi d'uso di base del mio nuovo progetto, un webstorage gratuito, scalabile in base alle esigenza, dove poter caricare tutto ciò che si vuole dal proprio computer, condividerlo o renderlo privato, ma che integra anche un social network, con un sistema simile a GitHub per seguire i vari repository, che contengono i propri files.
Il tutto è stato fatto utilizzando come "framework" il CMS Ocarina2 (ebbene si :D), e tramite l'uso di jQuery, con annesso AJAX e JSON.
Cosa manca al webstorage? Beh, una grafica e un TODO/TOFIX ancora lungo, ma vi farò contenti, dandovi al momento della registrazione qualche centinaio di megabyte gratuiti (quello che vedete in basso a sinistra è giusto temporanea) :D

---Visualizza il video---