Valve critica le scelte di Sony su PlayStation 3

In un'intervista a GameInformer, Gabe Newell, co-fondatore di Valve, appare molto critico riguardo a molti aspetti della nuova console di Sony.
di Rosario Grasso pubblicata il 16 Gennaio 2007, alle 10:08 nel canale VideogamesSonyPlaystation
258 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoAll'utente finale non cambia niente, allo sviluppatore significa fare una cosa che su Xbox 360 riesci a realzizare in 10 minuti in un'ora. La traduzione è aumento dei costi di produzione che hanno spinto alcuni sviluppatori (anche giapponesi) a trasformare diverse produzioni "esclusive" per PlayStation 3 in titoli multipiattaforma.
Evidentemente è più facile adattare un gioco da PS3 a Xbox 360 che non il contrario.
Questa cosa del risparmiare tempo, quando si parla di programmazione, secondo me è solo un gigantesco abbaglio. Per la qualità finale del prodotto è meglio disporre di un linguaggio più difficile, di livello più basso che permette flessibilità maggiore rispetto ad un linguaggio più immediato, di più alto livello ma più vincolante in quanto meno flessibile. Questo è vero in assoluto, per quanto riguarda, invece, i tool di sviluppo per ps3 e xbox360 non posso dire nulla perché non ho idea in cosa possano differire.
Però abbiamo sotto gli occhi tutti i giorni programmi, portali, siti web, servizi telefonici sviluppati con sistemi che permettono un risparmio di tempo (fittizio) con centinaia di anomalie. Programmare richiede tempo, a volte molto tempo, se si vuole che il risultato sia un buon prodotto, non esistono e non esisteranno mai scorciatoie.
E' stao affermata la volontà di creare un crysis-like, tradotto: un gioco che abbia come storia, estetica e features di contorno simili al gioco originale.
Chi ne mastica un pochino di hw e sw e conosce i retroscena dello sviluppo dell'engine di crysis, sà benissimo che il porting, "ovvero la riadattazione del codice macchina" non è possibile per archietettura e disponibilità hardware delle consolle next-gen totalmente inadeguate ad un pc di fascia medio/alta su cui Crysis è stato progettato, il tutto poi esula dall'utilizzo delle DX9 o 10.
Se il progetto fosse partito pensando ad un ipotetico porting, primo non vedreste su youtube i filmati paurosi che girano, secondo, la CryTech avrebbe assunto gia 1 anno fa gli sviluppatori necessari alla conversione del codice.
Ad oggi, l'annuncio di Job Opportunity è ancora online, nessun porting annunciato ufficialmente (in quanto infattibile) e tra poco il gioco esce pure.
Come con Far Cry faranno una versione apposita per le console diversa da quella pc
Me la spieghi questa? Le altre due dove le hai messe?
Però abbiamo sotto gli occhi tutti i giorni programmi, portali, siti web, servizi telefonici sviluppati con sistemi che permettono un risparmio di tempo (fittizio) con centinaia di anomalie. Programmare richiede tempo, a volte molto tempo, se si vuole che il risultato sia un buon prodotto, non esistono e non esisteranno mai scorciatoie.
il risparmiare tempo qui si intende che per ottenere lo stesso risultato su xbox360 è + semplice..
voi xè si puo programmare in dx9,vuoi perchè ha una struttura + simile alle vecchie console e pc,vuoi perchè io sono un programmatore che deve programmare un giocone e per farlo devo perdere tempo a studiare un processore cell al quale non ho mai messo mano.
le grandi produzioni ci perdono tempo e utilizzano il cell e le sue 6 spe.
le medie case che ogni tanto tirano fuore qualche capolavoro se riescono a sfruttare solo il core centrale di cell è tanto.
Nessuno ha parlato di "risparmiare tempo", ma di "perdere tempo" o meglio ancora di riuscire a ottenere la stessa cosa con più difficoltà. I linguaggi di programmazione si sono evoluti permettendo di eseguire istruzioni più complesse da codice più semplice, al momento la lamentela "tipo" è che PlayStation 3 è più ostica a causa di kit di sviluppo non all'altezza di quelli Microsoft.
Quali siano le differenze effettive "non lo so", posso solo dire che XNA Studio Express è un prodotto veramente carino.
Sia ben chiaro, non mi sto schierando da una parte o dall'altra ma sto cercando di valutare le dichiarazioni fino a oggi rilasciate. Se ci fate caso al massimo dalla parte "Sony" (ovvero software house a favore di Sony) abbiamo sentito affermazioni del tipo "PlayStation è più potente", al contrario da parte di Microsoft oltre ad affermazioni come "Xbox 360 non è meno potente di PlayStation 3" hanno lamentato molti la difficoltà di sviluppare su PlayStation 3.
In sostanza "nessuno" si è mai lamentato di difficoltà di sviluppo su Xbox 360. Di conseguenza, facendo 2+2, è probabile che per quanto magari "esagerano" un pizzico di verità c'è... altrimenti avrebbero potuto rispondere dicendo che è difficile sviluppare anche su Xbox 360. Non si spiegherebbero le "ex" esclusive che a pochi mesi dal lancio stanno diventando prodotti anche per la console di Microsoft.
Non avendo devkit di Microsoft o Sony sotto mano non posso verificare, ma anche stesso penso di non essere all'altezza per capire effettivamente le differenze
Restiamo sempre in ambito generale: nella programmazione avere linguaggi di alto livello significa avere una sorta di macro funzioni che ne raggruppano altre e ti nascondono parte della loro implementazione. Faccio un esempio stupido: per un determinato effetto di luce un tool di sviluppo ti mette a disposizione una libreria che ne constiene la macro funzione "effetto di luce". Chi ha sviluppato la libreria ha accorpato ad esempio 40 istruzioni più semplici per realizzare quell'effetto. Non è mai l'unico modo possibile di ottenere quell'effetto, è uno dei modi possibili di farlo, magari ben pensato ma sempre uno dei tanti.
Se tu usi quelle librerie "risparmi" tempo e ottieni in fretta l'effetto di luce, senza scrivere quelle 40 istruzioni.
Il problema è che il modo migliore di fare una cosa dipende dal contesto. Magari per il tuo motore grafico conviene sviluppare gli effetti di luce in un modo, per un altro motore in un altro modo.
Ecco che i linguaggi di basso livello, con librerie evolute al minimo, non ti fanno "risparmiare" tempo, devi scrivere tu quelle 40 istruzioni base (magari facendoti la tua di libreria) ma hai controllo su ogni singola riga. Lo stesso vale per l'allocazione della memorie, dei puntatori, etc etc.
Così facendo non hai "perso tempo", lo hai speso nell'ottimizzazione e nella stabilità del tuo prodotto.
Questo vale in generale:
linguaggi di alto livello tipo: visual basic, c#, tool XNA (su c#): più funzioni di alto livello, minore possibilità di controllo, meno possibilità di discostarsi dalle funzioni offerte -> meno flessibilità.
linguaggi di basso livello: C, C++: massima flessibilità, minore agilità nella programmazione, nessuna o quasi facilitazione.
XNA non ti evita di perdere tempo, ti fa fare alcune cose, magari più semplici, ma non ti da il controllo completo della piattaforma su cui sviluppi. Per fare un gioco di carte o un platform magari mi va anche bene, per final fantasy o per oblivion serve un controllo maggiore.
Non so e non credo che un programmatore come Carmack si lamenti di questo, so solo che negli ultimi anni, vista la potenza delle schede grafiche, dell'ottimizzazione se ne fregano, a discapito anche della stabilità. Anni fa poi usciva un episodio di una saga ogni 2, 3 anni. Per certi giochi oggi ne esce uno ogni 2, 3 mesi
[QUOTE=PaRRoT]
Sia ben chiaro, non mi sto schierando da una parte o dall'altra ma sto cercando di valutare le dichiarazioni fino a oggi rilasciate. Se ci fate caso al massimo dalla parte "Sony" (ovvero software house a favore di Sony) abbiamo sentito affermazioni del tipo "PlayStation è più potente", al contrario da parte di Microsoft oltre ad affermazioni come "Xbox 360 non è meno potente di PlayStation 3" hanno lamentato molti la difficoltà di sviluppare su PlayStation 3.
In sostanza "nessuno" si è mai lamentato di difficoltà di sviluppo su Xbox 360. Di conseguenza, facendo 2+2, è probabile che per quanto magari "esagerano" un pizzico di verità c'è... altrimenti avrebbero potuto rispondere dicendo che è difficile sviluppare anche su Xbox 360. Non si spiegherebbero le "ex" esclusive che a pochi mesi dal lancio stanno diventando prodotti anche per la console di Microsoft.
Non avendo devkit di Microsoft o Sony sotto mano non posso verificare, ma anche stesso penso di non essere all'altezza per capire effettivamente le differenze
Per carità nemmeno io mi schiero, inoltre, anche se avessi i devkit non sarei minimamente in grado di capirne le potenzialità, almeno credo, quindi non posso nemmeno giudicare quale sia l'eventuale difficoltà.
Sono anche io un programmatore, secondo me tutto dipende da cosa devi fare. Per un platform forse strumenti di alto livello possono andare bene, per un oblivion credo debbano sfruttare al massimo (quindi programmando a basso livello) la piattaforma sottostante.
Con i tool di alto livello, tipo visual studio, se devi fare qualcosa che devia da quanto offerto dalle api, c'è da mettersi le mani nei capelli
Era quello che dicevo, che nulla ha a che vedere con il concetto di porting, infatti; http://www.hwupgrade.it/news/videog...r-pc_19817.html
Non penso che Carmack o chi per lui dica che è più facile raggiungere determinati effetti perché c'è una libreria precotta, ma forse che la piattaforma di sviluppo permetta di sfruttare l'hardware in modo più immediato. Come, non lo so, ma probavilmente si riflette nel fatto che Xbox 360 gestisce il proprio hardware attraverso librerie software (vedi DirectX su Windows) e non sei necessario a scrivere da zero del codice per implementare un effetto per il tuo hardware (come in teoria avviene su PS3).
Nel caso di Doom 3 per Xbox 1 è stato poi dimostrato che dove non bastava XNA era possibile intervenire a meno per sfruttare caratteristiche dell'hardware intrinseco nel chip NVIDIA che i devkit Microsoft non prendevano in considerazione.
Un po' come sta accadendo con God of War su PS2, che sfrutta tutto l'hardware ma perché dopo "anni e anni" si è riusciti a sfruttare ogni micron dell'Emotion Engine.
[quote]Questo vale in generale:
linguaggi di alto livello tipo: visual basic, c#, tool XNA (su c#): più funzioni di alto livello, minore possibilità di controllo, meno possibilità di discostarsi dalle funzioni offerte -> meno flessibilità.
linguaggi di basso livello: C, C++: massima flessibilità, minore agilità nella programmazione, nessuna o quasi facilitazione.
XNA non ti evita di perdere tempo, ti fa fare alcune cose, magari più semplici, ma non ti da il controllo completo della piattaforma su cui sviluppi. Per fare un gioco di carte o un platform magari mi va anche bene, per final fantasy o per oblivion serve un controllo maggiore.
Non so e non credo che un programmatore come Carmack si lamenti di questo, so solo che negli ultimi anni, vista la potenza delle schede grafiche, dell'ottimizzazione se ne fregano, a discapito anche della stabilità. Anni fa poi usciva un episodio di una saga ogni 2, 3 anni. Per certi giochi oggi ne esce uno ogni 2, 3 mesi
Non so, ripeto, forse siamo andati oltre.
Penso che quando parlano di "kit di sviluppo" e "piattaforme di sviluppo" si riferiscano ad altro più che al puro codice C# o C++ o Assembler
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".