Mass Effect: emozioni ed esplorazione da BioWare

Mass Effect: emozioni ed esplorazione da BioWare

Il gioco di ruolo degli autori di Baldur's Gate, Neverwinter Nights e Knights of the Old Republic propone delle caratteristiche all'avanguardia in ragione di modalità di esplorazione e combattimenti in tempo reale. Un'esclusiva XBox 360 che promette di dire la sua anche nel prossimo futuro.

di pubblicato il nel canale Videogames
XboxMicrosoft
 
  • Articoli Correlati
  • L'era dei sandbox games: Assassin's Creed L'era dei sandbox games: Assassin's Creed A un mese dal rilascio di Assassin's Creed raccogliamo tutte le informazioni diffuse da Ubisoft a proposito del gameplay e del comparto tecnico. Assassin's Creed spinge in avanti i limiti tecnologici, e non solamente per ciò che concerne la grafica, ma anche per l'interazione personaggio-ambiente
  • Halo 3, Master Chief alla conquista del mercato console Halo 3, Master Chief alla conquista del mercato console Faraonico lancio da parte di Microsoft di quello che è a tutti gli effetti uno dei titoli più attesi di tutti i tempi in ambito gaming, ovvero Halo 3, terzo ed ultimo capitolo di una fortunatissima saga che ha fatto la gioia sia dei videogiocatori che di Microsoft stessa
  • ET Quake Wars: id Software ritorna al multiplayer ET Quake Wars: id Software ritorna al multiplayer A pochi giorni dal rilascio definitivo del gioco, facciamo il punto della situazione sulle varie caratteristiche di Enemy Territory: Quake Wars. id Software torna con un progetto ambizioso, seppure non sviluppato internamente, in ambito multiplayer, sfidando gli attuali leader del settore Battlefield e Unreal Tournament.
  • Call of Duty 4: dettagli e intervista a Grant Collier Call of Duty 4: dettagli e intervista a Grant Collier In occasione del GCC abbiamo avuto modo di intervistare Grant Collier, presidente di Infinity Ward e responsabile della serie Call of Duty. Collier ci illustra le caratteristiche di Modern Warfare, con alcune rivelazioni sul futuro. Ne approfittiamo per raccogliere alcune informazioni su Call of Duty 4: caratteristiche di gioco, gameplay e supporto multiplayer
33 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Piero7804 Gennaio 2008, 21:54 #31

Khein84

Non parlo io ma la reltà dei fatti....se vai a pag 3 leggi tutti gli articoli che ho allegato dai siti di videogames e il confronto dei giochi,il cell della Ps3 è stato un flop.La gente ha capito e guarda quanto ha venduto nel mondo la xbox 360:

http://www.gamestar.it/showPage.php...s_articolo.html

E quando uscirà Gears fo War 2 ci sarà da ridere perchè il primo sfruttava solo il 30% del potenziale della 360.Vatti a rileggere a pagina 3 gli articoli,la Ps3 non è stata ciò che tutti si aspettavano ciao.
globemaster07 Gennaio 2008, 17:15 #32
Io vi consiglio di leggerlo è lungo ma vale la pena.

Questa è la traduzione in italiano di un articolo scritto da mterzich, utente del forum AVS:

Proverò ad essere imparziale. Non sono un videogiocatore e non ho interesse di alcun tipo nell’acquistare una console, ma in quanto programmatore sia PS3 sia Xbox 360 mi intrigano.
Quando all’inizio ho dato una prima lettura alle specifiche del processore Cell di PS3 e a quelle di Xenos di Xbox 360 mi è sembrato che il primo avesse un grosso vantaggio sul secondo considerando la possibilità di raggiungere la massima potenza erogabile. Tuttavia dopo un’analisi più approfondita sono giunto alla conclusione opposta, ovvero che il processore Xenos è in grado di esprimersi meglio del Cell in quasi tutte le situazioni.
Entrambi processori derivano dall’IBM 970 PowerPC, ma ciascun core di Cell e Xenos ha una velocità di esecuzione che si attesta attorno alla metà della velocità di esecuzione di un IBM 970 a parità di frequenza di clock. Ciò è dovuto al fatto che mentre l’IBM 970 ha più unità di esecuzione che hanno la possibilità di lavorare in OOO Out-Of-Order (ovvero in parallelo), Cell e Xenos hanno una sola unità di esecuzione che processa i dati in modo sequenziale.
A testimonianza di quanto detto visitate il link seguente, dove viene riportata l’analisi prestazionale di una PS3 a 3.2 GHz e di un Power Mac G5 a 1.6 GHz sotto ambiente Linux:
http://www.geekpatrol.ca/2006/11/pla...3-performance/

Linux utilizza il core PPE (Power Processing Element) del Cell quindi i risultati dovrebbero essere simili a quelli ottenibili con uno dei tre core PPE dello Xenos visto che entrambe le CPU sono bloccate a 3.2 GHz.

Le somiglianze dei due processori finiscono però qui, visto che Xenos è dotato di 3 core PPE identici mentre Cell si avvale di un solo core PPE e di ben 7 core SPE

Cell Processor
• One general purpose PPE core that is used for the OS and the game application.
• 256 MB of main memory and can be only accessed directly by the PPE core.
• 7 specialized SPE cores. One is used for the OS leaving 6 for the game application.
• Total of 512KB of L2 cache for all 7 SPEs. 73 KB average per SPE.
• 256KB SRAM per SPE. No common memory between SPEs or between PPE.
• Communications between SPEs or to PPE is performed via the Element Interconnect Bus (EIB) by either accessing ports or via DMA.
• SPEs do not have branch prediction capability.

Xenos Processor
• 3 General purpose PPE cores that are used for the OS and game application.
• 512 MB main memory that is shared by all three cores.
• 1 MB of L2 cache that is shared by the 3 cores (333 KB per core average).
• 2 Hardware threads per core.

Programmare su piattaforma Xbox 360
Il sistema operativo non utilizza il core ‘0’, ma usa circa il 3% della potenza del core ‘1’ e il 3% del core ‘2’, quindi il 98% della potenza dei tre core rimane libera e utilizzabile dalle applicazioni videoludiche. Programmare per 360 è abbastanza semplice e diretto grazie alla quantità di memoria principale condivisa, alla dimensione della cache L2 e al fatto che le informazioni passano molto facilmente e velocemente attraverso i differenti threads dell’applicazione con l’uso dei puntatori.
Tipicamente un’applicazione viene inizialmente sviluppata utilizzando un solo thread di un core, poi, una volta sviluppata l’appz, il tutto viene segmentato per utilizzare più core e possibilmente anche più threads hardware per ogni core. Il modo più semplice per operare questa segmentazione è quello di assegnare il codice di controllo del gioco e l’AI ad un core e il codce di rendering grafico ad un altro core. Non appena il codice dell’AI è stato eseguito vengono inviate al core di rendering grafico e informazioni per processare il frame successivo. Quindi il codice di rendering grafico eseguito sul secondo core va a creare il frame corrente mentre simultaneamente l’AI esegue il codice necessario al frame successivo.
Segmentare il codice ulteriormente comincia ad essere molto più difficile. Lo sviluppatore deve anzitutto determinare dove potrebbero formarsi dei colli di bottiglia. Se questi si verificano all’interno del codice AI, dovrà accertarsi che possa essere attuata una processazione parallela (per esempio in un gioco racing, potrebbe essere possibile che il programma principale processi l’AI di 5 auto e un altro core processi l’AI di altre 5 auto sula tracciato contemporaneamnte). Se il collo di bottiglia si verifica invece nel codice della grafica, allora è possibile assegnare parte del codice di rendering in parallelo ad un altro core.
Quando un programma è suddiviso su tre core, uno dei core è attivo per il 100% del tempo mentre gli altri due possono risultare attivi per poco tempo (10%, 20%, 50%, etc.). In tal caso è richiesta maggior segmentazione sul core occupato al 100%, quindi può essere aggiunto un nuovo thread hardware a uno dei core meno attivi per gestire 2 processi allo stesso tempo. Una volta saturati tutti i threads hardware disponibili, se è necessaria una ulteriore segmentazione, possono essere istanziati dei threads software (che sono comunque meno efficienti di quelli hardware) fino a che anche quel core non raggiunge il 100% dell’occupazione.
Una volta che tutti e 3 i core hanno un’utilizo prossimo al 100% saranno stati raggiunti il massimo frame rate, la massima sofisticatezza e dettaglio grafico. Se l’AI propone frames più velocemente di quanto la GPU non possa processarne (massimo 60 fps a 720p o 30 fps a 1080i), possono essere aggiunti ulteriori dettagli.

Programmare su piattaforma PS3
Programmare per PS3 è molto più difficile di quanto non lo sia su Xbox 360. In un certo senso PS3 è stata progettata in modo simile ai sistemi multi processore utilizzati in ambiti specifici, per esempio al NASA Ames Research Center. Il concetto si basa sul principio che vede un enorme quantità di dati matematici che si ripetono e che possono essere processati in parallelo o sequenzialmente ma spezzettati (per esempio un core moltiplica due array di 10000 numeri e poi passa l’array risultante a un altro core che opera divisioni sui singoli elementi dell’array e ne passa il risultato a un altro core che provvederà ad atre operazioni sui dati e così via; dopo che il primo core ha terminato l’operazione, acquisisce nuovi dati e prosegue su questi con la stessa operazione.
Così come avviene per Xbox 360, anche qui l’applicazione viene inizialmente sviluppata utilizzando il core PPE. A questo punto sarebbe lecito pensare che la PS3 (come la 360) sia in grado di segmentare il codice assegnando a un core il codice di controllo dell’AI e ad un altro il codice di rendering grafico. Questo non è possibile! Dal momento che il codice vero e proprio di un’applicazione si attesta sui 100 MB e che la memoria di ciascun SPE è di soli 256KB solo 1/400 del codice totale può essere depositato nella memoria di uno SPE. Inoltre poiché in uno SPE non c’è capacità di branch prediction (http://it.wikipedia.org/wiki/Predizi...le_diramazioni) , le diramazioni andrebbero fatte il più piccole possibili. Pertanto il programmatore deve trovare codice che sia inferiore ai 256KB (incluso lo spazio necessario per i dati) prchè questo possa essere eseguito in parallelo.
Se assumiamo che lo sviluppatore sia in grado di individuare sufficienti segmenti di codice tali per cui tutti e 6 i core SPE vengano utilizzati, adesso dovrà prodigarsi per bilanciare il carico di lavoro tra i cores. Come con Xbox 360, non è detto che i core siano sempre occupati ma è possibile che alcuni o tutti vengano utilizzati solo in minima parte. Aggiungere nuovi thread hardware non è possibile dal momento che ciascun core dispone di un solo thread hardware e agiungere threads software sarebbe probabilmente controproducente vista la memoria limitata. A questo punto l’unica opzione possibile è quella di uno schema che vede il core PPE trasferire nuovo codice agli SPE attraverso DMA, una volta terminate le operazioni sulla tranche di dati precedenti. Questa è ovviamente una procedura che richiede parecchio tempo.

Conclusioni
Ho seri dubbi sul fatto che molti sviluppatori programmeranno sui core SPEs della PS3: la complessità è enorme, i tempi di sviluppo sono molto lunghi e c’è un’elevata probabilità di sviluppare software buggato. Sospetto che Gears of War stia già sfruttando le potenzialità del sistema multiprocessore ma che stia solo usando il 50% della potenza realmente disponibile. Alla luce di ciò e di quanto detto sopra mi riesce difficile immaginare che un gioco PS3 possa risultare migliore di uno per Xbox 360.

Riferimenti esterni:
http://dpad.gotfrag.com/portal/story/35372/?spage=1
http://www.hardcoreware.net/reviews/review-348-1.htm
http://en.wikipedia.org/wiki/Synergi...cessor_Element
http://en.wikipedia.org/wiki/Xenos
http://arstechnica.com/cpu/03q1/ppc970/ppc970-2.html
Marko9107 Gennaio 2008, 19:33 #33
Originariamente inviato da: globemaster
]cut

Innanzitutto quoto Ratatosk, e in secondo luogo contesto totalmente l'analisi fatta il quel post, ma non è questo il thread adatto a parlarne, ci sono molti post nella sezione Console.
In terzo luogo, Mass Effect è un gioco che graficamente è interessante ma soffre di molti problemi su questo comparto. Nel resto è un gioco assolutamente magnifico, mi sta piacendo moltissimo.

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".

La discussione è consultabile anche qui, sul forum.
 
^