Blog

Novità, articoli, libri, pensieri e informatica.


sabato 7 novembre 2009

UDK - Unreal Development Kit

Solo oggi ho scoperto che Epic Games ha annunciato il rilascio di UDK, un'edizione gratuita del kit di sviluppo per Unreal Engine 3. UDK è destinato a sviluppatori di giochi, appassionati di motori grafici, studenti, ricercatori, creatori di film digitali o simulazioni 3D. Edizione gratuita ovviamente per fini non commerciali, ma sembra che il costo di una licenza sia drasticamente calato. 


Per maggiori informazioni ecco qualche link:


Incredibile!


lunedì 19 ottobre 2009

Games & Amanita Design's Machinarium

Ho sempre apprezzato due categorie principali di giochi per computer: gli sparatutto e i giochi d'avventura.

Devo dire che gli sparatutto mi hanno dato molta soddisfazione, sia in single player che in multiplayer (online o nei lan party improvvisati a casa di amici ai tempi delle superiori). Per questi giochi oltre all'aspetto del gioco in sè mi attirò anche il lato dello sviluppo che mi portò a creare alcuni livelli 3D ai tempi di Unreal Tournament e con i quali partecipai anche ad almeno un contest organizzato sul vecchio portale flakzone.
I giochi d'avventura invece erano diversi. Non c'era la frenesia del combattimento o la grafica sempre più realistica ad attirare il giocatore.

In questa tipologia di giochi ci sono le ambientazioni e le colonne sonore spesso indimenticabili grazie alle quali ci si può immedesimare nel protagonista di turno che per poter raggiungere il suo obiettivo deve esplorare, conoscere altri personaggi e risolvere enigmi di diversa difficoltà utilizzando logica o nei casi più disperati andando a tentativi.

Negli ultimi anni tra il lavoro e il fatto di voler dare importanza ad altre attività piuttosto che allo stare sempre davanti al computer il tempo che riesco a dedicare ai giochi per computer è calato drasticamente. In una situazione simile secondo me ci si gode solamente la metà di un gioco. Perchè? L'inizio del gioco è piacevole, si apprezza la grafica, la musica, i personaggi, ma verso metà qualcosa cambia. Si realizza quanto tempo è stato fino ad ora impiegato e ci si chiede se è il caso di abbandonare prima di dedicarne altro oppure se cercare di finire il tutto il prima possibile così da "liberarsene" e avere un po' di soddisfazione. Se il gioco piace vale sempre la pena di finirlo.

Detto questo ormai ogni volta che esce un nuovo gioco cerco non farci caso, ma questo week end avevo un po' di tempo libero e ho scoperto che è da poco uscito un nuovo gioco, d'avventura, di nome Machinarium e che attualmente è disponibile solo in digital delivery in quanto in Italia uscirà solamente a fine ottobre, al prezzo di 19,90€. Dai trailer che avevo visto tempo fa il gioco si presentava molto bene, con dei disegni veramente molto belli e una logica di gioco molto semplice ed intuitiva. Si parla di una coppia di robot che sono stati divisi. Obiettivo principale del gioco è di farli riunire. Trama classica, molto semplice, di tantissimi giochi da Donkey Kong in poi, ma dallo stile grafico veramente ricercato.



Visito il sito di chi ha realizzato il gioco: Amanita Design. Vedo che la demo è giocabile direttamente online su adobe flash. Perchè non provarla? La termino in pochi minuti e devo dire che la grafica fine e i pochi semplici enigmi erano già bastati a farmi capire che si trattava di un buon prodotto. Visito la sezione del sito nella quale si può comprare la versione completa del gioco e noto subito che il prezzo è di soli 13,01€ (grazie alla favorevole conversione dollaro-euro) + iva per un totale di 15,62€. La demo è veramente corta, quindi ho pensato che anche il gioco probabilmente non sarebbe stato molto lungo. Un punto a favore! Disponibile solo in digital delivery.. uhm.. la versione scatolata ha sempre il suo fascino, ma il digital delivery consente di avere il prodotto tra le mani direttamente in giornata. Lingua inglese. Nella demo
 se non sbaglio compaiono solo due frasi in inglese, due frasi di spiegazione, poi tutti i dialoghi sono sostituiti da animazioni concise che senza l'utilizzo di parole esplicite lasciano intuire al giocatore quello che ogni personaggio vuole comunicare. Tutti pro, nessun contro, ho deciso di comprarlo. L'interfaccia di acquisto è molto semplice, in due-tre step si conclude il tutto e vengono sia visualizzati che spediti per email gli indirizzi internet ai quali collegarsi per effettuare il download del gioco che comprende le tre versioni pc, mac, linux32 ed anche il pacchetto con la colonna sonora in formato mp3 (fosse sempre così!).

A posteriori posso confermare che:

  • - il gioco nel suo complesso è veramente ben fatto
  • - gli enigmi nel gioco non sono impossibili, ma neanche banali, basta restarci un po' su per capire come risolverli (fantastici certi giochetti dentro al gioco, richiami a giochi storici..  non voglio anticipare niente)
  • - tutti i dialoghi del gioco sono sviluppati nel sistema ad animazioni sopra descritto quindi la localizzazione inglese del prodotto non è affatto un problema
  • - la durata del gioco stimata secondo me si aggira sulle 6-7 ore, ma dipende sempre dall'approccio 
Qualche link:

Caldamente consigliato a tutti gli appassionati di avventure grafiche.


martedì 8 settembre 2009

S3CT0R - N0 D3GUG - N0 L1M1TS

Ebbene sì, mitico Chris, quelle che stai guardando e che ho selezionato nella seguente immagine sembrano proprio essere delle informazioni di debug. 


Speriamo che il programmatore si accorga dell'errore e le rimuova presto. Tra parentesi.. mai sottovalutare la fase di collaudo di un sistema e i tempi che questa richiede, ma vallo a spiegare ai manager..


sabato 5 settembre 2009

Google e i misteri inspiegabili

Ieri (ieri!) ho fatto qualche ricerca relativa alla tematica SEO (acronimo di Search Engine Optimization). Con questo termine si intendono tutte quelle attività finalizzate ad aumentare il volume di traffico che un sito web riceve dai motori di ricerca (it.wikipedia).

Oggi (oggi!) mi si apre la pagina di ricerca di Google nella quale noto subito una nuova immagine dedicata ai misteri inspiegabili.

E' sabato, ho da poco finito di pranzare, la cosa mi ha incuriosito, perchè non cliccarci sopra? Massì, lo faccio. Seguo il primo link e cosa trovo? Qualche riga di cenni relativi ai misteri inspiegabili e il seguente testo (spero non dia fastidio a nessuno, in caso scrivetemi e lo rimuovo subito):

"[...] Oggi Google regala con un logo in prima pagina, la parola chiave "misteri inspiegabili". Ecco, io colgo l’occasione per raccontare questo mistero inspiegabile che è proprio questo motore di ricerca quale Google. A tutti i maestri S.E.O che si occupano di posizionamento nei motori di ricerca, voi davvero pensate che Google è il maggior sito dove acquistare la visibilità? Direi di si. E davvero servono tanti tanti soldi per riuscire ad andare in prima pagina con il proprio sito? Questa pagina è l’esempio di come arrivare primi per una determinata parola chiave, senza un senso specifico e prendere visibilità all’occorrenza e senza spendere cifre astronomiche. Mistero inspiegabile svelato? Anche su questo, direi di si."

Cerco di capire quanto appena letto, guardo un po' la pagina e mi rendo conto che ci sono almeno 2 banner pubblicitari (seppur uguali) più una colonna di annunci di Google - che servono per far soldi. Guardo in alto e vedo circa 1450 utenti online, non pochi! Mi chiedo quanti di questi siano finiti nel sito nel modo in cui ci sono finito io..

Riassumendo, anche solo sfruttando solamente l'argomento del giorno fornito da Google c'è chi riesce a piazzarsi tra i primi posti in un motore di ricerca.

Qualche link più o meno utile:

La mia ammirazione a tutti quelli che si occupano di SEO e web marketing.


mercoledì 8 luglio 2009

Masters of doom

Ovvero come due ragazzi hanno creato un impero e trasformato la cultura pop. Nell'ultima settimana ho letto questo libro biografico scritto da David Kushner i cui protagonisti sono nientemeno che John Romero e John Carmack, due grandi programmatori di videogiochi. I due John sono stati definiti come il caos e l'ordine, "the rocker and the rocket scientist". Insieme hanno realizzato - tra gli altri - il gioco Doom, da cui prende il titolo il libro, che li ha resi milionari. Difficoltà, successi, e ancora difficoltà. Padri del genere videoludico chiamato FPS, first person shootes, pionieri del gioco online (con la modalità deathmatch in Doom) e della diffusione delle demo (inizialmente si parlava di shareware). id software, la compagnia che i due protagonisti fondarono per prima lasciava inoltre agli appassionati la possibilità effettuare delle modifiche ai giochi prodotti. Versioni modificate di giochi si chiamano mod. Alcuni dei più bravi sviluppatori di mod furono poi coinvolti direttamente nello sviluppo dei giochi di id software.


Oltre alla storia di per sè, sono molto interessanti le descrizione delle dinamiche interne dell'azienda id software (dal caos negli uffici al rapporto tra le persone) e della loro evoluzione nel tempo.

Inoltre durante la lettura del libro si percepisce l'importanza del duro lavoro e il significato delle due seguenti parole
: "crunch mode". Infine, per non dimenticarla (perchè mi è piaciuta), riporto una frase che compare nell'epilogo: "Se ci sono due persone di uguale talento, ed una lavora il doppio dell'altra, quella persona se ne andrà sicuramente via dopo un po'.".

Consigliatissimo a tutti gli appassionati di videogiochi e di tecnologia.

Link interessanti:


lunedì 6 aprile 2009

Guest book

Lascia un tuo messaggio nel guestbook !


lunedì 23 marzo 2009

Dottorato presso I.M.T. di Lucca?

Non senza borsa di studio.

Nel periodo dicembre 2008 - febbraio 2009 tentai di essere ammesso all'IMT di Lucca, prestigiosa scuola dottorato. La selezione si basa sulla valutazione dei curriculum e su un'intervista nella vengono analizzate le attitudini alla ricerca del candidato. Erano disponibili 15 posti, ma non altrettante borse di studio (che comprendono vitto e alloggio). In graduatoria sono arrivato complessivamente decimo per cui sarei stato ammesso, ma senza borsa di studio. Andare comunque o non andare? Una scelta difficile che alla fine è ricaduta sulla seconda opzione.

Qui di seguito riporto il mio research statement così come lo avevo consegnato per la prima fase di selezione. E' scritto in inglese (un po' maccheronico) ed è stato realizzato in due giorni da mezzanotte all'una e mezza, per cui la qualità non è sicuramente il massimo. Per scriverlo mi sono basato sulle due materie che mi avevano affascinato di più durante i miei studi presso la facoltà di Ingegneria: Sistemi multi agente e Linguaggi e modelli computazionali.

Research Statement

Today’s computational systems are changing. We are in the middle of a transition from standalone-computing to distributed-computing. This transition leads to an increase of complexity in terms of physical distribution, temporal distribution and causes unpredictable scenarios.What do we need? To answer to the needs of new distributed systems we have to research new meta-models, new methodologies (to analyze, to project and to develop), new technologies and new abstractions. Many scientific fields are involved in these changes: programming languages, software engineering, parallel and distributed computing and robotics. Almost every field use the term agent to represent a computational entity that is autonomous and that encapsulates his state so that no one else can directly modify it. Hence every system that contain a set of agents is called MAS: multi agent systems. MAS get contributes from all above areas for modelling his agents and for building the needed middleware that permit to continue to use existing technologies, but with a higher level of abstraction. Agents can be viewed as the members of a society of agents, every one with his state and his objective to achieve. Distributed systems interactions between agents (in terms of communication, coordination and competition) assume a primary role in the modelling of these societies. As human usually do to model behaviours of a system we can observe the nature to take some inspirations (for example Von Neumann model can be also viewed as a ultra simplified brain with a part designed for memorize information and another used for his processing). Hence, MAS researcher have began studying interaction between agents from the point of view of (human) psychology and distributed cognition supporting the idea that information is not situated only in one agents, but in many. We need to search a ways to let these agents to interact with each other in the better and autonomous way as possible. Thank to MAS researchers contribute we can take in consideration also the Activity Theory that focus on human activity in a social contest in which their actions are based on artefacts. An artefact can be viewed as a mediator that allow actions and interactions. In theory, a generic agent can create his personalized artefact that facilitates objective achieving.

I am particularly interested in the MAS philosophy and in its applications. Unfortunately most of today’s hardware and software industries use the term agent only because it is in fashion. They all need to understand the potential of designing a system from a MAS point of view because computers (or better computational entities) are almost everywhere, they can potentially interact with each other and they need to be always more autonomous in order to simplify human works and lives.

An interesting branch in MAS research is relative to self-organization. Self organization is a rather fascinating concept that enables systems consisting of huge numbers of autonomously acting subsystems to perform a collective task. With a self organization approach every agent try to achieve an objective in autonomy and self sufficiency and from individual interaction emerge a complex desired behaviour. Self means that one or more parts of the system work without external input. Organization tells that the relationship is between the parts of the system in terms of structure and interaction. It’s obviously needed that we desire properties emerging and also that not-desired side effects are avoided. An example of self-organization application can be seen in sensor networks. Here it became possible to operate with a huge number of collaborating subsystem, even in case of unreliable communication and massive failures of single system. As side effects we have the increasing of complexity of the system and a non deterministic behaviour.

For the study of concurrent processes an algebraic approach can be useful. Process algebra can be used to model and to simulate a system composed by concurrent processes. In particular it exists a formal model/language developed by Robin Milner and called Pi-calculus that allow us to model a systems in terms of a list of processes and a list of rules that lead transitions from one admissible state to another. A Pi-calculus stochastic extension can simulate the behaviour of a (modelled) system at design time. It is potentially permitted to tuning all project’s parameters so that the desired properties of a self-organized system can emerge. I am fascinated by bio-inspired systems and in the understanding the “relationship between local and global behaviour”. How does robust collective behaviour arise from many locally interacting agents, and how can we implement the local interactions of simple agents to achieve the desired global behaviours?

A note regarding Pi-Calculus. During my M.S. studies I was inspired by the Microsoft’s Stochastic Pi-Calculus Machine (SPiM) so I decided to work to a Prolog implementation of a (partial) stochastic Pi-Calculus engine for final project of the course of languages and computational models. My implementation allows to simulate simple biological processes. Thank to this experience I understood the importance of simulation of a complex biological process and that more work and more research is needed in order to simulate complex reactions. Simulation are always important especially when we have an experiment that use expensive materials or when the quantity of needed materials is limited so we cannot repeat it every time we want.

I’m also interested in human-machine interactions and in realizing reliable software, a battle I consider not yet won. How can we design reliable software? What do we need? Is it possible to achieve a good compromise? How can we avoid error critical situations? Can self-organization methodologies really help in this?

The steps to be followed for better understanding all these issue can be summarized in:

  • analyze current studies in: Multi Agent System, Self-organization, Bio-inspired MAS, Bio-inspired Distributed Systems in Robotics and Sensor Networks, Stochastic Pi-Calculus modelling approaches for modelling concurrent systems.

  • study new ways to improve the efficacy and the efficiency of existing systems using new concepts or improving existing ones

  • discuss ideas with other experts in these fields

  • build software prototypes for testing research results (hoping in some real context) always without underestimate possible limits of current technologies as bandwidth capacity in networks, response time, computation complexity limits, agent localization problems in a distributed environment (in mobile systems) and so on.

Tutto sommato è stata una gran bella esperienza che mi ha permesso di conoscere seppure con un po' di fretta la città di Lucca (e le sue strade disastrate nelle quali le pozzanghere assumono dimensioni enormi) e altri ragazzi che come me tentavano di entrare alla scuola di dottorato: G.D.T. - E.C. - J.B. (che si è rivelato un ottimo cicerone improvvisato).

Alla prossima!