Domanda da ignorante assoluto in materia: la PS3 è davvero così ostica da programmare o è solo un luogo comune dettato dal non esaltante posizionamento sul mercato?
La verità sta nel mezzo. Le lamentele sono dettate sia dal fatto che in questo momento la Playstation 3 è la console con la più piccola base di utenti tra le tre, sia dal non facile sfruttamento del suo hardware. Non ho mai avuto modo di programmare su console, ma ho studiato architetture di calcolatori all'uni e ne so un pochino per cercare di intuire le lamentele dei programmatori a proposito delle "difficoltà" di programmazione su PS3. Il problema più grosso lo incontrano soprattutto gli sviluppatori che realizzano titoli multipiattaforma (per PS3 e 360, e per PC, per esempio), in quanto non è sufficiente fare un "porting" del codice dall'una all'altra (da PS3 a 360, o viceversa, per esempio) visto che non solo l'architettura è diversa (il che implica che è necessario scrivere un codice diverso, in quanto la "logica" dell'hardware della PS3, con le sue SPU, è diversa dalla logica dell'hardware della 360 per esempio), ma si ha anche a disposizione una libreria di funzioni diversa (e nel caso della PS3 pare sia anche ridotta). Se ci fate caso i titoli che ritardano su PS3 sono quasi sempre proprio i multipiattaforma, perchè per il team di sviluppatori è necessario prendere tempo per riscrivere intere parti su misura per l'hardware della console, mentre le esclusive subiscono ritardi "nella norma" (come accade anche per i titoli sulle altre piattaforme).
Di per sè la PS3 non dovrebbe essere ostica (Ratchet&Clank ed Heavenly Sword sono lì a dimostrare cosa è in grado di fare), il problema è che i publisher impongono agli sviluppatori delle tempistiche da rispettare, e quando si ritrovano a dover realizzare un titolo multipiattaforma per PS3 ci vuole più tempo del solito per riadattare correttamente il codice, per via del fatto che l'architettura è completamente diversa. Questi problemi in genere non si verificano su 360 perchè la console Microsoft, oltre ad avere un'architettura molto simile a quella di un PC, giova del fatto di condividere praticamente le stesse librerie, il che vuol dire che fare un porting da PC a 360 (o viceversa) è molto più rapido e più semplice. Questo problema di portabilità del codice esisteva anche all'epoca della PS2, ma non veniva sottolineato quasi mai per il semplice fatto che la PS2 era la console che dominava il mercato, e di conseguenza i publisher concentravano i loro investimenti principalmente o quasi unicamente su di essa. Se ci pensate non si è mai vista una conversione fatta bene di un gioco PS2 su PC, proprio perchè non si poteva fare un semplice porting ma era necessario riscrivere e riadattare il codice, cosa che ovviamente richiede tempi troppo lunghi, e che faceva sì che molte delle conversioni PS2->PC fossero lavori abbastanza approssimativi e sbrigativi.
Ora invece abbiamo tre console che bene o male si spartiscono quasi equamente il mercato, e di conseguenza i publisher si ritrovano "costretti" ad investire quasi equamente su tre fronti, costringendo gli sviluppatori a rilasciare titoli multipiattaforma e a rispettare tempistiche per cercare di far uscire le varie versioni nella stessa finestra temporale (cosa che spesso non viene rispettata, vedi i ritardi per Stranglehold per PS3, per esempio). Gabe Newell forse ha usato un tono troppo "duro", ma probabilmente quello che voleva sottolineare è che ora come ora, per i programmatori e i publisher interessati a realizzare titoli multipiattaforma, la PS3 rappresenta una piccola spina nel fianco perchè in un modo (librerie diverse) o nell'altro (architettura e logica diversa) costringe i programmatori a "rallentare" il ritmo di marcia per dover adattare (o riscrivere) il proprio codice per la versione per PS3. Sotto questo punto di vista bisognerebbe capire in che modo Newell e la Valve, e anche altri sviluppatori, affrontano lo sviluppo di un titolo multipiattaforma. Di recente mi vengono in mente le parole di Carmack a proposito del titolo sul quale sta lavorando, Rage, dove aveva affermato che per la prima volta stavano programmando il gioco da zero "contemporaneamente" su tutte e tre le piattaforme, con tre team separati ognuno concentrato su una piattaforma, anzichè invece sviluppare il titolo su una e successivamente "convertirlo" sulle altre piattaforme. Probabilmente quest'ultimo è l'approccio che (sviluppo principale su una, conversione sulle altre) al momento molti sviluppatori usano per i titoli multipiattaforma, e che porta ai vari ritardi per la versione PS3 quando questa non è la versione "di partenza".