Posts Tagged ‘ Programmazione ’

Prove con Android Studio


Android Studio

Girando per internet non sono riuscito a trovare qualcuno che ne scrivesse qualcosa in proposito che non fosse il semplice annunciare che è stato annunciato.

C’era solo un articolo in inglese di un tipo che l’aveva provato, ma in italiano il vuoto assoluto. Così ci ho pensato io.

Android Studio è una figata.

Pulito, immediato, semplice. Rubo il pensiero di quel tale inglese dicendo che “sembra uno strumento fatto apposta per sviluppare su Android”. Di fatto è quello per cui è stato progettato, ed è quello che fa bene.

Eclipse provai ad usarlo tempo fa, ma il mio computer lo reggeva a stento, costringendomi a lasciar perdere.

Android Studio invece va. Non meravigliosamente bene, in quanto a volte si blocca, perché magari ho premuto invio ed è normale che un’azione di tale entità richieda grossi sforzi, oppure quando scrivo troppo velocemente. Ma va bene, mi basta pensare che di 5 ore di lavoro me ne usciranno 3 proficue e 2 ad aspettare i vari caricamenti.

Chiaro che tutto questo non ha a che fare con il suddetto IDE, ma è il mio pc che c’ha problemi e anzi è stato una sorpresa per me trovare uno strumento nuovo che si lascia utilizzare, vista la moda che c’è di appesantire il più possibile i nuovi programmi.

Non starò a specificare le caratteristiche tecniche visto che le trovate ovunque e possibilmente spiegate meglio di quanto potrei fare io. Si aggiungono però tutte ai punti a favore. Che sono tanti!

Parliamo però dei problemi, tenendo sempre in conto che questa è una prima versione di prova, e per lo stadio di sviluppo in cui si trova, offre già moltissimo.

Così se pensate di usarlo sapete già cosa andrete ad affrontare.

Il primo grosso contro è Gradle. Che cosa sia Gradle io nemmeno lo so. So solo che non avevo internet all’inizio e non potevo creare progetti perché doveva essere scaricato. A questo punto potevano inserirlo nel pacchetto contenente IDE e SDK, visto che è necessario.

Gradle viene menzionato anche nella compilazione del progetto. Hai la possibilità di scegliere fra l’utilizzo di un compilatore esterno (questo con Gradle qua) oppure quello interno. Questa opzione prima funzionava, pure. Ovvero io avevo scelto di escludere Gradle e veniva escluso. Col nuovo aggiornamento, ogni volta che chiudi e riapri, Gradle si reimposta. Noiosissimo anche perché all’avvio del programma viene eseguita la compilazione, che quindi avverrà per forza con Gradle.

Il problema del compilare con questo coso qua, è che la compilazione richiede fino a 4 minuti, mentre quella con lo strumento interno non supera mai i 30 secondi, e di solito ne richiede intorno a 5. Capite che se testo 10 volte, compilando con Gradle ci metto (10 * 2 minuti) almeno 20 minuti solo a guardare il pc come un cretino, mentre evitandolo (10 * 5 secondi) non mi succhia nemmeno un minuto intero.

Non mi importa cosa sia e perché esista questo Gradle, però almeno sarebbe utile lasciarmelo disattivare come facevo prima dell’ultimo aggiornamento.

Secondo problema è l’impossibilità di importare moduli esterni non compilati. Proprio non vanno, risultano sempre in errore e fanno crashare l’app. La cosa peggiore è però che ti dice che sono presenti degli errori ma che non te li fa vedere. Voglio dire, lo fa in un modo che è proprio oltraggioso. Si sono verificati X errori, ma col cavolo che ti faccio sapere quali sono.

Ed è tutto. Mi serviva più per sfogarmi che per illustrare bene Android Studio, e direi che sono riuscito nel mio intento.

Dig – raggruppamento icone


Avete il desktop che straripa di icone? Siete stufi di dover avviare ogni volta file e applicazioni andandoli a cercare nei rispettivi labirintici posti in cui li avete messi? Siete ansiosi di vedere finalmente una qualche applicazione creata da me?

Bene, oggi per voi sarà un giorno bellissimo!

DigDig (Desktop Icon Group) è un programma che ti consente di raggruppare più file o collegamenti a programmi su un’unica icona da mettere – genericamente – sul desktop. E da qui il nome.

Nella primissima versione tutto quello che faceva era indirizzare a una cartella e, al doppio click, copiare tutto il suo contenuto sul desktop. Avviando l’applicazione una seconda volta il contenuto veniva automaticamente rimosso. Non c’è modo di sapere da quale cartella viene avviato il programma, così l’unica scelta era quella di utilizzare sempre il desktop.

menuRecentemente ho pensato di ampliare le funzionalità e ho aggiunto un simpatico menu che si può vedere nell’immagine. La funzione citata sopra è sempre disponibile, la vedete in grassetto. Inoltre viene attivata se avviate l’applicazione tenendo premuto SHIFT.

Il funzionamento è intuitivo: dal menu scegliete l’applicazione che volete avviare e cliccate. Potete vedere che io ho messo solo programmi, ma nulla vieta di aggiungere file vari.

Spiego come funziona la cosa.

L’applicazione in sé è un eseguibile che potete mettere dove vi pare. Nel desktop ci saranno dei collegamenti a questo eseguibile che, con vari guazzabugli, riescono a dire al programma cosa inserire nel menu da mostrare, dove farlo apparire e roba varia.

interfaccia

Questa qui sopra è l’interfaccia che vi consente di impostare tutti i gruppi. Dai tasti sopra intanto potete aggiungerne, rimuoverne, metterli di lato e riattivarli.
A sinistra ci stanno tutti i gruppi che si trovano sul desktop, a destra quelli messi temporaneamente in una cartella dal programma (quindi disattivati, in un certo senso).
Al centro ci sta tutto l’occorrente per configurare il gruppo:

  • Nome gruppo: è il nome che il collegamento avrà sul desktop;
  • Percorso cartella: è la cartella che contiene i file facenti parte del gruppo. Con il tasto Apri viene aperta e potete inserire/togliere file comodamente. Consiglio di mettere queste cartelle nello stesso posto in cui è situato il programma;
  • Descrizione gruppo: appare quando vi portate col mouse sul collegamento. Nel mio caso è completamente inappropriato, in quanto si riferiva alla prima versione menzionata sopra;
  • Icona: l’icona del collegamento;
  • Programma predefinito: quando trascinate un file sul collegamento, questo file viene automaticamente aperto con un programma da voi scelto. Nel mio caso, trascinando un file sul gruppo Grafica, questo viene aperto col visualizzatore di immagini XnView;
  • menu ad anelloTipo menu: è l’ultima cosa che ho aggiunto, ancora in perfezionamento. Menu classico è quello che vi ho fatto vedere sopra. Il menu ad anello ve lo faccio vedere ora qua a destra. Non che sia questo granché, però rappresenta il fatto che voglio aggiungere menu svariati. La cosa bella è che non c’è bisogno di scegliere tra un tipo di menu o un altro, ma che entrambi possono coesistere. Come vedete fra i miei, per ogni tipo di gruppo c’è la versione normale e quella ad anello. Ovvio che è per test, ma nulla vieta di farlo.

Per dare due specifiche tecniche: il programma non gira in background ma viene avviato quando si avvia il collegamento e chiuso quando viene scelto un elemento del menu o si clicca da un’altra parte. Questo vale anche per il menu ad anello.
Una cosa che non ho detto è che, se non si vuole far chiudere subito il menu ma avviare prima più applicazioni, basta tenere premuto il tasto SHIFT.

I colori e i font non sono scelti da me, ma vengono presi dal vostro tema corrente, per adattarsi il più possibile. Alcuni esempi coi temi che ho io:

Embedded style Human Green HaruGreen

Embedded style

Human green

Haru green

Predefinita XP Predefinita 98 Seven remix

Predefinita XP

Predefinita 98

Seven remix

Ok, più o meno siamo sempre lì e almeno un paio potevo evitare di metterli ma vabè, come vedete ci sono più aspetti che possono essere modificati ma i miei temi ne cambiano massimo due ciascuno.

Dopo aver illustrato il programma, dopo aver dimostrato che a illustrare sono un cane, vi lascio al link per scaricare il programma tanto descritto sperando vi faccia altrettanto piacere: Scarica Dig v 1.8.

Metterò qui in basso i vari aggiornamenti.

30/06/2011: v 1.9

– Fatte modifiche alla grafica, soprattutto al menu ad anello.
– Ripulito codice, ho intenzione di rilasciarlo open.

Scarica Dig v 1.9.

L’ultima versione è sempre l’ultima.

Un test su un nuovo livello di gameplay


Iniziamo a parlare di gameplay, di making, di software engineering e tutte quelle cose fighe che faccio ma di cui non vi ho mai informati perché sospettavo non ve ne fregasse una mazza.

Perché allora ora ve ne parlo? Perché ho capito che invece vi interessa? No! Semplicemente perché ‘sta cosa che ho fatto voglio pubblicarla in più posti possibile, in ambiti più svariati in modo da trovare personalità diverse e ottenere più responsi possibile.

Ho già fatto una prima pubblicazione qui, in questo sito dedito al game making amatoriale, ottenendo discreti risultati. Ora pubblicherò la stessa roba sul mio blog, chiedendovi di provare ‘sta demo e farmi sapere cosa ve ne esce fuori. Magari è l’occasione per chi mi segue in silenzio per dire qualcosa che saprà per certo che mi interesserà. O magari è l’occasione per me di capire che in silenzio non mi segue nessuno. Eccovi il copincolla:

Mi interessava sapere se era possibile giungere a caratteristiche psicologiche del giocatore unicamente tramite l’uso che questo fa del controller (nel nostro caso la tastiera o, per i più audaci, il joystick).
A parte roba riguardante marketing e cose commerciali che non ci interessano, a parte la semplice curiosità, che questa cosa sia possibile, potrebbe aggiungere una variabile nel gameplay stesso, se non addirittura esserne la componente principale.
Per esempio, determinando lo stato d’animo del giocatore, potrebbero esserci personaggi che rispondono in una determinata maniera o in un’altra.
Potrebbero esserci personaggi che devono dare informazioni importanti ma lo faranno solo se il giocatore sarà dello stato d’animo giusto. Magari se sei nervoso nessuno ti parla. Se sei particolarmente allegro saranno gentili con te.
Potrebbe cambiare la ‘scenografia’ a seconda dell’umore.
Gli attacchi potrebbero essere più o meno potenti.
E tante altre cose minori che messe insieme creerebbero quel livello in più.

E questo è un po’ quello che ho pensato. Ora ovvio che, anche se, non andremo tutti a creare giochi con la componente umorale del soggetto, però mi è andato di fare uno script che testa alcune caratteristiche.
La demo che potete provare contiene questo script e il progetto è criptato onde evitare violazioni della privacy. Vi chiedo di provarlo e postare poi il risultato che uscirà fuori, quanto c’è di vero e come dovrebbe essere stata la risposta giusta qualora fosse sbagliata.

Questa demo iniziai a farla un po’ di tempo fa, prendendo ispirazione da un test su Facebook che dava un risultato in base alle direzioni che sceglievi.
Considerate che di psicologia ho solo qualche stralcio e, le risposte, oltre ad essere carenti su questo piano, sono anche scritte con i piedi.

Per esprimere un po’ il mio parere, io non so se essere scettico o no.
Da quello che sapevo e ho applicato nella valutazione del risultato, teoricamente, questa cosa dovrebbe essere possibile.
Dai risultati (pochi, effettivamente) che vengono fuori quando fai il test, praticamente, mi sembra un po’ una stupidaggine. Un po’ come dire che il sole è caldo o che lo zucchero è dolce, i risultati sembrano dire cose scontate.

Concludo. Più persone provano la demo e postano risultati, più possibilità ci sarà di affermare con certezza l’una o l’altra ipotesi.
Se la cosa funziona, con l’aiuto magari di uno che studia psicologia, potrei rilasciare uno script che semplicemente imposterebbe una variabile “Umore” a un numero. E il resto sarebbero eventi.

Ma è tutto da vedere.

Demo

P.S.: si può notare che ho usato termini quali “script” e “variabile” noti prettamente all’interno di community dedite a questo genere di cose. Dove non vi è chiara qualcosa, semplicemente, sorvolate. L’importante è il vostro feedback. Grazie.

La grafica SVG


SVG sta per Scalable Vector Graphic, Grafica Vettoriale Scalabile (non ci voleva tanto) che, in parole umane, significa che praticamente non funziona a pixel come tutti gli altri tipi di grafica, ma a forme (Vettoriale) che, quindi, quando vengono rimpicciolite e ingrandite, non perdono di qualità né si deformano come tutte le altre immagini (Scalabile).

Quello che si denota principalmente in una immagine SVG è l’essenzialità del contenuto (insomma non ci sono troppi ombreggiamenti o dettagli microscopici), particolari giochi di sfumature e ombre e, generalmente, una specie di morbidezza. Quello che non si vede invece è che l’immagine aperta con Blocco Note, non contiene una serie di caratteri indecifrabili, ma del codice, che compone l’immagine stessa e che, se ottimizzato al meglio, consente di ridurre veramente di parecchio la dimensione (il peso) dell’immagine, non perdendo mai niente in qualità.

Insomma il mio parere sulle immagini SVG è parecchio positivo, tanto che ho cominciato ad usare InkScape, un programma gratuito per fare questo tipo di grafica, e adesso non mi ferma più nessuno. Mi sono disegnato tutte le icone dei programmi sul desktop (visto che ho Windows 7 e le icone sono più grandi rispetto a quelle contenute nella maggior parte dei programmi) e sono parecchio soddisfatto, anche se di grafica io non sono un granché.

La grafica SVG non ha molto utilizzo come immagine diretta, spesso viene esportata in altri formati (.png, .ico) e quindi non possiamo sapere se un’immagine è stata creata pixel per pixel o così, però sapendo come vengono fuori le immagini in SVG, possiamo capirlo. Forse un campo dove questa grafica si trova nella sua forma originale è solo il web e ambienti open source (Ubuntu), infatti su Windows le immagini SVG vengono aperte direttamente su Internet Explorer. Il motivo che non si trovano in .svg, credo sia quello di mantenere riservato il codice. Qualcuno potrebbe obiettare che è anche per il fatto che, insomma, Internet Explorer per vedere le immagini non è il massimo, però non credo, visto che nel programma di Anteprima da Windows Vista in poi non si vedono più le GIF animate e tocca aprire col browser anche queste. In ogni caso, sono in molti ad usare la SVG e credo ne valga la pena provarla: è una bella esperienza :)

Volendo concludere con un vero incitamento a disegnare con questo programma, annuncio che sicuramente inizierò un breve corso di quello che ho imparato. Inizierò dallo spiegare le funzioni principali arrivando poi a come si fa questo e come si fa quello. Tutto quello che so l’ho imparato da me a tentativi, quindi posso garantire anche una certa ineditità dei contenuti.

Quando crei


A volte quando hai voglia di creare qualcosa non è tanto una scelta, ti senti obbligato a farlo, sottostai al tuo lato creativo.

All’inizio lo vedi come un passatempo, quando non hai da fare è il momento buono per metterti lì a lavorare al tuo progetto, che sia un disegno, un’opera musicale, una forma di testo, un software, una scultura, un qualcosa insomma.

Hai da fare le tue cose, ma nei momenti liberi avrai questa cosa a cui dedicarti, così non ti annoierai.

Giusto, no? No.

La cosa che stai creando inizia a diventare sempre più importante. Quando ci lavori e la vedi svilupparsi ti senti fiero, hai un senso di pienezza e di vuoto allo stesso tempo che ti fa sentire come poche altre cose possono farti sentire.

Più guardi la tua opera più questo senso aumenta e più aumenta più hai voglia di creare e più hai voglia di creare più avrai motivo di sentirti fiero di essa.

Vorresti lasciar perdere ma la cosa migliore per il tuo stato d’animo è star lì, con la tua creazione, l’opera delle tue mani.

Quando questa cosa arriva ad un certo punto, puoi vedere che è bella, che ti piace un sacco, perché l’hai fatta tu, perché rappresenta meglio di qualsiasi cosa quello che tu vuoi, quello che senti.

Quando crei qualcosa, vorresti dire al mondo intero quanto ti piace, quanto sei soddisfatto.

Quello che vuoi non sono complimenti, vuoi solo che gli altri provino quelle belle sensazioni che stai provando tu.

Ma gli altri non lo sanno. Non sanno tutto quello che c’è dietro. E non provano nulla.

E quando i tuoi amici, le persone a cui tieni di più, ti diranno che quello che hai fatto è una fesseria, che puoi spendere il tuo tempo in un modo migliore, una parte dentro di te muore. Quella stessa parte che ti ha fatto provare quelle belle emozioni cessa di esistere.

E, come del resto tutto in questo mondo, non tornerà. Mai più.