Sunday, 11 November 2012

Testing legacy code with Golden Master

As a warm up for SCNA, the Chicago Software Craftsmanship Community ran a hands-on coding session where developers, working in pairs, should test and refactor some legacy code. For that they used the Gilded Rose kata. You can find links to versions in java, C# and ruby here and for clojure here.

We ran the same session for the London Software Craftsmanship Community (LSCC) early this year and back then I decided to write my tests BDD-style (I used JBehave for that). You can check my solution here.

This time, instead of writing unit tests or BDD / Spec By Example to test every branch of that horrible code, I decided to solve it using a test style called Golden Master.

The Golden Master approach

Before making any change to the production code, do the following:
  1. Create X number of random inputs, always using the same random seed, so you can generate always the same set over and over again. You will probably want a few thousand random inputs.
  2. Bombard the class or system under test with these random inputs.
  3. Capture the outputs for each individual random input
When you run it for the first time, record the outputs in a file (or database, etc). From then on, you can start changing your code, run the test and compare the execution output with the original output data you recorded. If they match, keep refactoring, otherwise, revert back your change and you should be back to green.

Approval Tests

An easy way to do Golden Master testing in Java (also available to C# and Ruby) is to use Approval Tests. It does all the file handling for you, storing and comparing it. Here is an example:


For those not familiar with the kata, after passing a list of items to the GildedRose class, it will iterate through them and according to many different rules, it will change their "sellIn" and "quality" attributes.

I've made a small change in the Item class, adding a automatically generated toString() method to it:
The first time the test method is executed, the line:

Approvals.verify(getStringRepresentationFor(items));

will generate a text file, in the same folder where the test class is, called: GildedRoseTest.should_generate_update_quality_output.received.txt. That mean, ..received.txt

ApprovalTests then will display the following message in the console:

To approve run : mv /Users/sandromancuso/development/projects/java/gildedrose_goldemaster/./src/test/java/org/craftedsw/gildedrose/GildedRoseTest.should_generate_update_quality_output.received.txt /Users/sandromancuso/development/projects/java/gildedrose_goldemaster/./src/test/java/org/craftedsw/gildedrose/GildedRoseTest.should_generate_update_quality_output.approved.txt

Basically, after inspecting the file, if we are happy, we just need to change the .received with .approved to approve the output. Once this is done, every time we run the test, ApprovalTests will compare the output with the approved file.

Here is an example of how the file looks like:

Item [name=Aged Brie, sellIn=-23, quality=-44]
Item [name=Elixir of the Mongoose, sellIn=-9, quality=45]
Item [name=Conjured Mana Cake, sellIn=-28, quality=1]
Item [name=Aged Brie, sellIn=10, quality=-2]
Item [name=+5 Dexterity Vest, sellIn=31, quality=5]

Now you are ready to rip the GildedRose horrible code apart. Just make sure you run the tests every time you make a change. :)
Infinitest

If you are using Eclipse or IntelliJ, you can also use Infinitest. It automatically runs your tests every time you save a production or test class. It is smart enough to run just the relevant tests and not the entire test suite.  In Eclipse, it displays a bar at the bottom-left corner that can be red, green or yellow (in case there are compilation errors and the tests can't be run).

With this, approach, refactoring legacy code becomes a piece of cake. You make a change, save it, look at the bar at the bottom of the screen. If it is green, keep refactoring, if it is red, just hit CTRL-Z and you are back in the green. Wonderful. :)

Thanks

Thanks to Robert Taylor and Balint Pato for showing me this approach for the first time in one of the LSCC meetings early this year. It was fun to finally do it myself.

Monday, 5 November 2012

Ratchet & Clank: intervista a Ted Price






Oggi raccontiamo la storia dietro le quinte di un’altra saga iconica del mondo PlayStation, creata dal celebre sviluppatore Insomniac Games. Lo studio di Burbank ha prodotto una marea di titoli per PlayStation memorabili, dall’amato platform per PSone Spyro the Dragon fino al profondo shooter Resistance 3 per PS3. Ma nel 2002 Insomniac è riuscita ad accattivarsi i favori dei giocatori hardcore e di quelli più attenti al canale mainstream con Ratchet & Clank, ibrido shooter-platform dal valore tecnico eccellente che sprizzava stile e carisma da tutti i pori.






Sono passati 10 anni da quel 4 novembre che ha visto debuttare Ratchet & Clank su PS2 e PlayStation.Blog ha incontrato Ted Price, presidente e CEO di Insomniac Games, per conoscere i segreti dietro lo sviluppo di questa pietra miliare dell’universo PlayStation. Per saperne di più sull’evoluzione di questa serie classica non perdete la gallery che racchiude 10 anni di concept art creata dal team del blog ufficiale PlayStation americano.








  • PlayStation Blog: Qual è stata l’idea alla base del gioco?



Ted Price, President and CEO, Insomniac Games: Dopo aver scartato il concept che avevamo chiamato “Girl with a Stick”, dovevamo inventarci qualcos’altro, e dovevamo farlo subito. Brian Hastings, il nostro Chief Creative Officer, ci suggerì l’idea di produrre un gioco su un alieno spaziale che aveva un bizzarro arsenale di gadget e armi. Citò Marvin il Marziano come fonte d’ispirazione. L’idea è piaciuta a tutti e abbiamo iniziato immediatamente a sviluppare il progetto.








  • PSB: Vi rendevate conto che stavate lavorando su qualcosa di speciale? Quali sono stati gli stati d’animo che vi hanno accompagnato nel processo creativo – incertezza, fiducia, terrore?



TP: Di solito non ci rendiamo mai conto che stiamo lavorando su qualcosa di speciale fino alle fasi che seguono l’ispirazione iniziale. Certe volte proviamo quella piacevole sensazione di “Sì, funziona!” mentre stiamo sviluppando il prototipo di un gioco, altre volte arriva durante la produzione più avanzata. Con Ratchet, in particolare, abbiamo capito che avevamo tra le mani qualcosa di promettente quando abbiamo sviluppato il livello test di Metropolis – uno dei primi mondi esplorabili nel gioco. C’era Ratchet che correva sulle piattaforme che componevano questa grande città circondato dal flusso del traffico spaziale. Si poteva scegliere di utilizzare il Cannone a Risucchio, l’Inceneritore, l’Artiglio e (mi pare) il Blastatore. Era molto fumo e niente arrosto perché ancora non stavamo utilizzando il motore grafico finale. Non avevamo creato completamente i poligoni degli edifici. Potevi solo visitare il mondo solo per pochi metri. Ratchet aveva una carnagione “bruna” (sembrava quasi un mutante). Se non ricordo male non c’erano neanche i nemici. Ma quello che avevamo fatto fino a quel momento è stato sufficiente per convincere noi e Sony che il prodotto aveva del potenziale.








  • Avete preso ispirazione da qualcosa in particolare per il look del gioco e per la sua atmosfera?



TP: Abbiamo preso ispirazione dalle fonti più disparate. Cartoni animati, film di fantascienza, cultura pop… Sicuramente abbiamo inserito riferimenti giocosi ad altri proprietà intellettuali, nei concept iniziali così come nei giochi successivi. Captain Qwark è stato ispirato in parte a The Tick. Metropolis con le sue automobili volanti e le sue gole cittadine è un riferimento al Quinto Elemento. Courtney Gears di Ratchet & Clank 3: Up Your Arsenal era una presa in giro di Britney Spears che all’epoca era molto popolare. Ma queste sono eccezioni più che regole. Gran parte di quello che vedete nei giochi della serie è il risultato delle intuizioni avute dal nostro team mentre si divertiva a sviluppare un universo con pochissimi paletti e costrizioni.








  • Era un titolo molto ambizioso per l’epoca. Quali sono state le sfide più grandi che avete incontrato durante il processo creativo che vi ha portato a sviluppare le vostre idee originali?



TP: Rimanere nei binari del progetto iniziale è stata (ed è ancora) la nostra sfida più grande. Stavamo sviluppando una nuova IP su una nuova piattaforma e avevamo poco tempo per farlo. Sapevamo che dovevamo produrre un gioco ambizioso per farlo emergere dalla massa dei giochi di quel periodo; ma sapevamo anche che se avessimo messo troppa carne al fuoco il gioco sarebbe risultato pericolosamente sciocco. Fare i conti con questo vero e proprio terno a lotto non è facile ancora oggi: le aspettative dei giocatori sono sempre altissime ogni volta che sviluppiamo un nuovo titolo.










  • Quanto si avvicina il gioco finito alle vostre idee di partenza?



TP: Non lo so con sicurezza. Qualcuno di noi considera “Girl with a Stick” una parte importante della genesi di Ratchet. Sicuramente Ratchet deve qualcosa a quel concept in termini di meccaniche ed idee. Detto questo, sia Ratchet che Resistance hanno subito dei cambi drastici durante lo sviluppo che li ha portati ad essere dei prodotti finiti. Anche se la versione finale di Ratchet su PS2 ha avuto cambi meno pesanti rispetto al normale. Ratchet ha cambiato aspetto durante lo sviluppo. Quando mi capita di vedere il modello originale vedo una grande differenza rispetto al modello definitivo. Abbiamo anche continuato ad aggiungere elementi nel gioco mentre cercavamo di capire cosa funzionasse e cosa no.








  • Di quali elementi di gioco siete maggiormente orgogliosi?





TP: Le armi folli! Venendo da Spyro, una serie in cui il protagonista non poteva usare delle armi (esclusi il suo fiato infuocato e le sue corna), credo che molti di noi non vedevano l’ora di tornare nel regno delle armi distruttive e fuori misura. Avevamo già visitato quel mondo grazie a Disruptor ma poi ci siamo persi quattro anni di pausa per studiare i quadrupedi viola. Abbiamo utilizzato lo stratagemma delle armi anche per far risaltare Ratchet rispetto agli altri platform, inclusi Spyro 1 & 2, genere che sembrava perennemente legato ai salti, ai colpi in testa e ai pugni. Infine, secondo me, creare delle armi che non rispondevano alle regole del mondo reale ci dava la possibilità di creare a ruota libera – che è l’obiettivo a cui molti nella nostra industria aspirano. Non importava di che TIPO fosse l’arma, l’importante era che fosse soddisfacente e divertente da usare. Questi erano gli unici due parametri che rientravano nel mondo di gioco.








  • Come vuoi che venga ricordato Ratchet & Clank? Cosa ha portato al mondo dei videogiochi?



TP: Ratchet è ancora vivo e vegeto, visto che Full Frontal Assalut uscirà fra qualche settimana. Molti alla Insomniac sono orgogliosi del fatto che Ratchet & Clank sia uno degli ultimi platform esistenti e ancora in piena forma. Pensiamo che Ratchet abbia contributo allo sviluppo dei platform e gli action game in generale usciti nell’ultima decade e mezzo. Per fare un esempio, vedere un menu radiale per la selezione rapida delle armi negli altri giochi è un complimento per noi, perché credo che Ratchet sia stati il primo gioco ad averne uno (ma potrei sbagliare). E sto ancora aspettando di vedere il Pecorator in un altro gioco. Ad essere sinceri, credo che Heretic (1994) ed Hexen (1995) siano stati i primi giochi ad avere armi che trasformavano i nemici in animali da fattoria.








  • Quale personaggio di Ratchet & Clank ti è rimasto nel cuore?





TP: Captain Qwark. Lo amo perché è un personaggio esagerato, sempre sicuro di sé al 100%, e di solito si sbaglia. Mia moglie dice che conosce delle persone così. Sto ancora cercando di capire di chi stia parlando.

Saturday, 3 November 2012

Speciale: i 10 videogiochi più venduti nella storia della prima PlayStation






Quali sono i 10 videogiochi più venduti nella storia della prima PlayStation? Guardando i dati di VGChartz possiamo scoprire che nella Top 10 dei giochi più venduti su PlayStation, un gioco è stato
rilasciato nel 1996, tre sono stati rilasciati nel 1997, altri tre sono stati
rilasciati nel 1998, e tre sono stati rilasciati nel 1999.

 





Sommando questi primi 10 giochi più venduti su PlayStation si ottiene un totale di 79.080.000 copie! Solo un gioco, Gran Turismo, è riuscito a superare la soglia dei 10 milioni di unità vendute. Tuttavia tutti i 10 titoli hanno facilmente superato i 6.000.000 di unità vendute. E' possibile notare anche la perfetta parità numerica tra i titoli First Party e i titoli Terze Parti. I cinque giochi First Party hanno però piazzato un totale maggiore di copie con ben 42.040.000 di unità o il 53,2% del totale, mentre i cinque giochi Terze Parti hanno piazzato 37.040.000 di unità o
il 46,8% del totale dei giochi venduti nella top 10.

 

Gran Turismo, Final Fantasy e Crash Bandicoot sono stati i tre brand più importanti per il
successo di PlayStation. La serie Gran Turismo riesce a primeggiare con i suoi due capitoli presenti nella Top 3 per un totale di 20.510.000 di unità o 25,9% del totale dei giochi venduti nella top 10. I due Final Fantasy presenti nella top 10 hanno invece venduto un totale di 17.580.000 di unità o il 22,2% del totale. La serie Crash Bandicoot appare nella top 10 con tutti e tre i capitoli principali riuscendo a superare nel complesso anche la serie Gran Turismo con un totale di 21.530.000 di unità o il 27,2% del totale dei giochi venduti nella top 10.









Analizzando le vendite di software PlayStation in generale, possiamo segnalare che ben altri 18 giochi hanno superato i cinque milioni di unità ed altri 66 hanno venduto due milioni o più di unità. Altri 206 giochi hanno superato il milione o più di unità e altri 383 giochi hanno venduto 500.000 o più unità. Infine 730.73 milioni di giochi sono stati venduti su PlayStation e tra questi ben 212.51 milioni appartengono a titoli First Party, cioè realizzati da Sony.

Wednesday, 31 October 2012

Hello!

Just a quick post to say that the 10 or so testers that kindly gave up their time to put Apple Jack through it's IBM compatible paces have done an excellent job, and left me with a long list of things to do before I can finally release it.

The first attempt was a bit of a non-starter, since it failed to install properly on all but one computer.

The second version ran properly for the most part but generated the aforementioned list of shame, which I shall work through over the coming weeks.

No more testing is needed now. Thanks to everyone who helped out or offered help once I already had enough helpers; names will be added to the credits menu before release and I'll send the finished games to you once I know better where they are going to end up.

Saturday, 27 October 2012

Syphon Filter: intervista a John Garvin


E’ facile dimenticare che “tactical espionage action” è una innovazione relativamente recente nel mondo dei videogiochi. Gli apripista del genere, Metal Gear Solid e Syphon Filter, emersi alla fine degli anni 90, hanno ricevuto grandi consensi di critica e di pubblico, e hanno fatto scuola.





Un approccio più realistico e aperto verso il combattimento ha toccato presto il genere action, portando avanti gli sviluppi dell’intelligenza artificiale, del level design e della narrativa – spianando la strada ai successori del genere, da Sly Cooper ad Assassin’s Creed.





Syphon Filter si è avvicinato molto di più all’estremo action-adventure della categoria, anche se anch’esso ha lasciato un segno indelebile nel genere grazie al approccio realistico al combattimento. I nemici si chinavano per ripararsi dietro agli oggetti, un vasto arsenale di gadget dava ai giocatori la possibilità di cambiare le strategie di lotta, e gli headshot freddavano gran parte degli avversari all’istante.






La storia scottante di Syphon Filter è l’emblema di quello che stava accadendo all’epoca nel videogame design: mescolare temi contemporanei (virus programmabili, misteriose reti terroristiche) con un super spia intraprendente – Gabe Logan.





Il PlayStation Blog è andato a trovare il Creative Director di Bend Studio, John Garvin, per sapere di più sulla creazione di questo classico PSone.












  • Qual è stata l’idea alla base del gioco? E’ stato concepito come risposta a Metal Gear Solid o come concept originale?




John Garvin: Metal Gear Solid non ha avuto niente a che fare con la genesi di Syphon Filter. Non ne avevamo mai neanche sentito parlare ai tempi delle fasi iniziali dello sviluppo del nostro gioco. L’idea venne ad un produttore di 989 Studios (all’epoca sotto Sony) che scrisse una sinossi di una pagina che chiamò “Syphon Filter”. Questa sinossi non aveva significato compiuto, nel senso che non c’era alcuna trama, nessun personaggio, nessun intreccio, c’erano solo sprazzi di idee sugli ambienti, sulle meccaniche di gioco e sul gameplay. Sin dall’inizio il titolo è stato pensato come uno “stealth action” (sin dai tempi in cui questo genere non esisteva) che si focalizzava molto sulle armi, gadget e, appunto, azione stealth. Volevamo che il giocatore si sentisse una super spia. Il nostro Lead Designer era stato molto influenzato da GoldenEye di Nintendo, forse all’epoca il titolo più vicino alle dinamiche di un gioco come Syphon Filter.








  • Vi rendevate conto che stavate lavorando su qualcosa di speciale? Quali sono stati gli stati d’animo che vi hanno accompagnato nel processo creativo – incertezza, fiducia, terrore?




John Garvin: Principalmente terrore. E’ stato un progetto difficile in termini di sviluppo, per molte ragioni. Non c’erano giochi, o forse pochissimi, a cui potevamo attingere per cercare ispirazione. Gran parte del team non aveva esperienza nello sviluppo di un gioco come il nostro. I ragazzi di Eidetic avevano appena concluso Bubsy 3D, quindi avevano già lavorato nel campo degli action game in terza persona, ma Bubsy era un platform cartoonesco quindi non era esattamente un titolo da cui attingere in termini di bagaglio d’esperienza.





Sono entrato a far parte del progetto Syphon Filter dopo la produzione del primo prototipo (un semplice segmento di gioco con protagonista una sparatoria in metropolitana); anche io avevo lavorato a tutt’altro genere di titoli fino a quel momento, ad esempio MissionForce: Cyberstorm (uno strategico) e Bouncers per Sega CD, gioco per cui ho ricoperto il ruolo di Art Director. Nessuno di noi sapeva aveva l’esperienza necessaria per produrre uno shooter realistico a tema spionistico.





Il primo Syphon Filter ha attraversato alcuni momenti difficili ed è stato anche vicino alla cancellazione più volte perché non riuscivamo a rispettare le date di scadenza, facevamo aggiustamenti continui alle meccaniche di gioco, cambiavamo l’ordine dei livelli, modificavamo la storia, in poche parole stavamo cercando di capire in corsa cosa diavolo stessimo facendo. Connie Booth, il produttore di 989 affidato al nostro progetto, e il suo boss Kelly Flock, avevano grande fiducia in questo gioco appartenente al nuovo genere “spionaggio”. Abbiamo lavorato a ritmi forsennati per circa un anno, perché stavamo cercando di produrre un gioco all’altezza delle aspettative di tutti.





Ci siamo accorti di aver lavorato a qualcosa di speciale solo quando abbiamo consegnato il gioco e le vendite sono esplose, andando oltre ogni più ottimistica speranza. Credo che il titolo abbia venduto più di un milione di copie nel primo anno. E’ stato incredibile. I giocatori avevano dimostrato di apprezzare il nuovo mix di meccaniche che avevamo proposto – sgattaiolare furtivamente, combattere i terroristi schivando vagoni della metropolitana, sparare il taser per la città, far bruciare un terrorista tra le fiamme. I giocatori non avevano mai provato niente del genere in passato. Questo genere di cose è abbastanza comune ora, ma prima molto innovativo.








  • Avete preso ispirazione da qualcosa in particolare per il look del gioco e per la sua atmosfera?




John Garvin: E’ stata quasi tutta farina del mio sacco. Molti giochi di questo periodo hanno un look buio, essenziale, monocromatico, mentre i giochi cui giocavo verso la fine degli anni 90 erano tutti molto colorati e non così realistici. Guardate le immagini di Unreal, Turok 2, o Rainbow Six, giochi sicuramente realistici ma con una palette di colori che sembra quasi senza capo né coda. Ricordo di essere stato ispirato da Salvate il Soldato Ryan – che è uscito nella seconda metà del 1998, credo – e Half Life.





Era un titolo molto ambizioso per l’epoca. Quali sono state le sfide più grandi che avete incontrato durante il processo creativo che vi ha portato a sviluppare le vostre idee originali?


Non si è trattato di sviluppare le nostre idee originali, perché le abbiamo create man mano che ci venivano in mente. Sapevamo di volere un action game in terza persona e che volevamo avverare le fantasie di tutti coloro che volevamo vestire i panni della super spia. E per raggiungere il nostro scopo siamo stati anche disposti ad inserire elementi di qualità leggermente “infima”.





Per esempio le nostre sequenze in computer grafica renderizzata erano abbastanza “low budget”. Non avevamo neanche creato delle mani con delle dita visibili. Tutti i nostri personaggi avevano delle mani “a scatola”, ma questo non ci ha impedito di fare filmati in computer grafica perché c’era una storia che volevamo raccontare. Il nostro motto era “meglio un film brutto che non fare il film per niente”. Lo stesso è accaduto per le sequenze di gameplay.





C’era un livello in cui Gabe, la super spia protagonista del gioco, doveva indossare uno smoking ed infiltrarsi all’interno di una serata di gala per spiare un obiettivo. Oggi l’intera sequenza verrebbe realizzata in maniera molto costosa, sfruttando set, extra, costumi, molto motion capture e animazioni; all’epoca abbiamo colorato in maniera diversa i personaggi non giocabili, tutti dotati dello stesso modello, e realizzato animazioni low budget in cui erano intorno ad un tavolo a bere dei cocktail.





Iniziato il livello, il giocatore poteva ascoltare il loop audio di un party, ma non poteva entrare nella stanza in cui c’era davvero il party. Questo genere di espedienti non funzionerebbero al giorno d’oggi, ma in passato ci siamo trovati a sfruttare ogni genere di scorciatoia per aumentare l’intensità dell’esperienza senza preoccuparci troppo delle raffinatezze. Solo il gioco era importante.








  • Quanto si avvicina il gioco finito alle vostre idee di partenza?




John Garvin: Di nuovo, Syphon Filter non è stato sviluppato in maniera convenzionale. Solo l’idea di mettere il giocatore nei panni di una super spia è rimasta sempre la stessa, sin dalle prime battute, ma tutto il resto è stato pensato e realizzato man mano che procedevamo con lo sviluppo. E’ un modo folle di creare un gioco, ma non abbiamo potuto fare altro perché il nostro team era composto da soli 13 membri, circa.





Ecco alcuni esempi: quando sono entrato nel team, la storia di Syphon Filter trattava di alcuni scienziati rapiti e portati in un complesso sotterraneo per sviluppare una macchina del tempo per conto di uno scienziato cattivo o del governo. Sono stato ingaggiato come Art Director, ma ho iniziato a dare i miei consigli per migliorare la storia e renderla più al passo con i tempi, più rilevante.





Ai dirigenti dello studio è piaciuta la mia idea così, a metà dello sviluppo del gioco, ho riscritto tutto da capo, partendo dall’idea che Syphon Filter fosse una parola in codice per un letale virus “programmabile”. Non era niente di innovativo, la fantascienza e il cinema hanno esplorato questo tema per anni, ma per il mondo dei videogiochi era ancora fresco.





Abbiamo cambiato l’ordine dei livelli anche a poche settimane dalla consegna definitiva del gioco, per cercare di rendere il tutto il più omogeneo possibile. Abbiamo cambiato location e concept in corsa: la battaglia contro il boss Gyrdeux doveva avvenire in un parcheggio, ma ricordo che pensai che fosse difficile per l’epoca costruire tutte quelle macchine e rinchiudere il giocatore in uno schema chiuso come un parcheggio… senza contare che molto probabilmente il nostro motore grafico non avrebbe retto lo sforzo.





Quindi sono tornato a casa nel weekend e ho costruito la stanza col monumento commemorativo, dotata di quella scultura a muro che decorava tutta la parete. Si è rivelata una soluzione dall’ottimo impatto visivo e facilmente realizzabile.





Fino al sequel non abbiamo avuto una visione d’insieme del gioco. L’intera squadra ha avuto una settimana di pausa e il sottoscritto insieme al co-creatore del gioco, Richard Ham, abbiamo scritto lo script di Syphon Filter 2. Credo di aver impiegato un weekend a scrivere l’intera sceneggiatura. Rich mi ha aiutato a revisionare la seconda metà del gioco, e ha introdotto tutta la faccenda di Mosca, rendendo la fine della storia più eccitante e confacente ai canoni classici dello spionaggio. Al ritorno dalle vacanze del team, abbiamo impiegato un anno per realizzare esattamente quello che avevamo scritto. Quella è stata la prima volta che abbiamo avuto una visione globale di quello che dovevamo fare e l’abbiamo seguita dall’inizio alla fine.








  • Di quali elementi di gioco siete maggiormente orgogliosi?




John Garvin: Personalmente, sono molto orgoglioso degli elementi cardine della storia. In quei giorni non c’erano molti videogiochi che trattavano argomenti al passo con i tempi – armi biochimiche, terrorismo, agenzie segrete che agiscono al di fuori della legge.





Ricordate che stiamo parlando di prima dell’11 settembre. Stavamo facendo qualcosa che non si vedeva all’epoca nei videogiochi: Teresa Lipan, la mente dell’agenzia, era una donna di stirpe indo americana… Lawrence Mujari, il biologo, era un maschio afroamericano, Lian Xing, una donna cinese, e così via… ci siamo sforzati il più possibile per rendere i personaggi diversi e fuori dagli stereotipi. Abbiamo cercato anche di iniettare il più alto livello di realismo mai visto prima in un gioco.





Spesso durante lo sviluppo di un gioco (anche oggi) qualcuno esclama “Che importa? E’ solo un gioco!”. Quel modo di pensare mi ha sempre disturbato. Volevo che i personaggi avessero motivazioni autentiche, obiettivi di livello che avessero senso, da incastrare nell’arco degli eventi della storia, location dal feeling reale e con dettagli accurati.





Abbiamo inserito cose folli nella storia, oggi non so se la scamperemmo. Per esempio (spoiler!), ad un certo punto nel gioco, Gabe salva dei soggetti e inietta loro un vaccino. Solo più tardi scoprirà che non li sta salvando ma li sta uccidendo perché il vaccino era in realtà un veleno; dopodiché gli scienziati circondano e costringono alla resa Gabe e lui per difendersi è costretto a sparargli. E stiamo parlando di gente disarmata – beh, erano pur sempre scienziati cattivi.





Abbiamo fatto saltare una metropolitana di Washington DC per mano di alcuni terroristi – potremmo farlo oggi? Sono tutti temi scottanti per gli standard di oggi, ma nel 1999 parlarne in un videogioco ti coglieva di sorpresa. Oh, poi c’era il taser. Abbiamo amato il taser.









  • Come vuoi che venga ricordato Syphon Filter? Cosa ha portato al mondo dei videogiochi?




John Garvin: Per quello che è stato: il primo esponente del suo genere, un mix di stealth, azione, realismo, temi contemporanei, armi realistiche e gadget, con elementi della storia davvero taglienti. Chiunque lavori nel mondo dei videogiochi sa che essere originali è molto difficile, avere idee innovative, nuove meccaniche e nuovi modi di giocare. Syphon ha fatto tutto questo e ha dato origine ad un genere; molti giochi usciti dopo il nostro sono stati semplici variazioni sul tema. Per molti versi, siamo stati i primi.








  • Quale personaggio di Syphon Filter ti è rimasto nel cuore?




John Garvin: Del primo Syphon Filter, sicuramente la star in persona, Gabe Logan. Il modo in cui le sue battute sono state doppiate da John Chacon è unico, per usare un eufemismo. Gabe ha impersonato il modello dello stoico eroe d’azione… ma con un cuore. Mi piace anche Mara Aramoy… come si fa a non apprezzare quella risata? Dei giochi successivi, sceglierei Teresa Lipan o forse Stone ma no, nessuno è come Gabe Logan.

Friday, 26 October 2012

Freemium Games on iOS, by Category

This is a brief follow-up to my previous post, in which I showed that freemium games in the Android ecosystem, despite doing well overall, haven't (yet) dominated all game categories. Racing, sports and puzzle games all feature a healthy number of paid games in their top-grossing lists, while the action, casino and "casual" categories are thoroughly dominated by freemium games.

I performed the same calculations for the iOS App Store. Categories are much more fluid in the App Store, there are more of them and games can (and do) show up in multiple categories. On top of that, users have to hunt around a little more to see games broken down by category, making the distinction between categories much less important.

Nonetheless, a comparison between iOS and Android might still be worthwhile. I wanted the to have the closest thing to an apples-to-apples comparison between iOS and Android that I could. To do so, I had to combine some iOS game categories to make them better correspond to Android game categories. The Action and Arcade categories were averaged together, as were the Card and Casino categories to come up with the following charts.  Note that there is no "Casual" category for iOS games, so it is omitted.



These figures are similar to what we saw on Android. The only major difference is in the Action and Arcade categories, where paid apps do much better on iOS. I'm at a loss to explain why, but feel free to leave a comment if you have an idea.

Wednesday, 17 October 2012

Freemium (Mostly) Dominates on Android

Freemium. It has been the "it" business model for games ever since Apple and Google introduced in-app purchases (IAP) to the App Store and Google Play, respectively, last year. Investors love it, purists hate it and the media seems convinced that game developers that don't buy into it are losing out in a big way.

At first glance, it does indeed look grim for the traditionalists. Only three out of the top 30 grossing iPad games are not free-to-play (as are 26 out of the top 100). On Android it is even worse. There, only one (Minecraft) out of the top 30 grossing games require up-front payment, as do just eight out of the top 100. (All figures are as of time of posting. Also, since my devices are older some games aren't shown to me, but what's left should be a reasonably representative sample).

So are the days of paid games numbered? Are mobile gamers doomed to an endless sea of ads, gold coins and slowly-replenishing energy bars? It actually depends on the category of game, and by a wide margin at that. I took a look at the top-grossing games on Google Play by category, and sorted them by free-to-play vs paid. Here are the results:

Almost all of the money made in the arcade/action, card/casino and casual categories gets made by free-to-play games. Just three paid arcade/action games crack the top 30. The casual and card/casino categories see only one paid game each in their top 30 lists.

It is another story, however, in the three remaining categories. Brain/puzzle, racing and sports games all have more-or-less parity between freemium and paid in their top 30 grossing lists. This same dynamic holds for the top 100 grossing games, though within this less exclusive scope paid games do better overall:

Sports and especially racing games appeal more to traditional gamers. This is a segment of players who, as a whole, are probably not strangers to paying $50 or more for a console or computer game. Contrast them to most casual gamers who have never paid a cent to play Bejeweled or Farmville, and the above starts to make a lot of sense. I suspect that Brain and Puzzle games appeal to an older audience which has less patients for the ads and simplistic gameplay usually associated with freemium titles.

While freemium has been a hot topic, the news is not all bad for fans and developers of traditional pay-to-play games. Those developers creating puzzle, racing or sports games for Android shouldn't assume at all that freemium is the only viable revenue model of the future. On the other hand, developers creating casual, casino or arcade games will want to seriously consider freemium if they haven't committed to it already.