Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 95 reacties

Electronic Arts-topman John Riccitiello geeft aan dat zijn bedrijf nog altijd problemen heeft met de ontwikkeling van PS3-spellen. EA moet volgens hem een inhaalslag maken om de techniek van de console beter onder de knie te krijgen.

John RiccitielloRiccitiello geeft aan dat de ontwikkeling niet bij alle PS3-spellen problematisch verloopt. Zo liep de ontwikkeling van Burnout Paradise bijvoorbeeld voor op die van de Xbox 360-variant. Toch verloopt de bouw van een Playstation 3-game gemiddeld langzamer dan die van Xbox 360-versies, verklaarde Riccitiello tegenover aandeelhouders. De EA-topman noemt de PS3 een 'uitdagend' platform voor het bedrijf, al zei hij ook dat zijn bedrijf het ontwikkelproces steeds beter beheerst. Het is niet bekend of het uitstel van de spellen Mercenaries 2 en Battlefield: Bad Company te maken heeft met de programmeertechnische nukken van de PS3. Beide games zijn doorgeschoven naar EA's volgende boekjaar, dat op 1 april aanstaande van start gaat.

Moderatie-faq Wijzig weergave

Reacties (95)

Zo liep de ontwikkeling van Burnout Paradise bijvoorbeeld voor op die van de Xbox 360-variant.

Wat wil je hiermee zeggen? Ik denk dat je iets vergeten bent erbij te zetten. ;)
Je interpreteert de zin verkeerd. Het werkwoord is "voorlopen". De ontwikkeling van Burnout Paradise op de PS3 liep vóór. Als in, ze waren sneller ;).

@Dahakon:
Aangezien de Xbox360 een jaartje voorsprong heeft, is het logisch dat het allemaal iets gemakkelijker gaat.
Dat is niet de reden dat het makkelijker gaat. Het platform is gewoon veel toegankelijker dan de PS3, namelijk gewoon 3 generic purpose cores die je alles kunt laten doen en bij al het geheugen kunnen, ipv een Cell architectuur waar je maar 1 generic purpose core hebt en 6 SPUs met 256k local store die wel heel snel zijn maar waarbij het geheugen dus erg gelimiteerd is. Je kunt wel DMA'en van en naar main mem, maar dat moet je dan weer schedulen - het is niet gemakkelijk om simpelweg door grote datastructuren heen te browsen, en dus moet je daar je hele architectuur en denkwijzen voor omgooien. Namelijk het opdelen in veel kleine subtaakjes, ipv het schrijven van seriele monolithische code. Daar komt nog eens bij dat de RSX, de GPU in de PS3, ook nog eens voor veel problemen zorgt.
Welke vele problemen zijn dat dan?
edit: van de RSX bedoel dan

[Reactie gewijzigd door Shiver23 op 1 februari 2008 12:26]

Een paar voorbeelden.

De vertex shader presteert een beetje ondermaats. Dit is af te vangen door de SPUs veel preprocessing te laten doen, daar heeft Sony de Edge library voor uitgebracht. Echter zorgt dit er helaas wel weer voor dat je op dat moment die SPUs niet kunt gebruiken voor andere taken. Als je bijvoorbeeld de depth pass uitvoert (die je als eerste doet, waarbij je alleen je z-buffer vult - deze pass wordt ook gebruikt voor het renderen van de shadowmap) is de GPU dermate snel dat het maar liefst 5 SPUs kost om de GPU bij te kunnen benen. Dat is kostbare CPU tijd, waar je de PC en 360 geen last van hebt omdat op die platforms de vertex shader het zelf goed af kan.

Dan is er nog het bijpatchen van pixelshaders. Je gebruikt pixel shader constants om materiaal-eigenschappen en relevante wereld-data (zoals light-data) in te zetten om de uiteindelijke waarde van de te renderen pixel goed te kunnen bepalen. De RSX ondersteunt geen buffers om die constanten in te zetten - deze staan rechtstreeks in de shaders zelf. Dat betekent dat je voor elke batch polygonen met andere materiaal-eigenschappen of belichtingseffecten, je pixelshader opnieuw moet bijpatchen. Maar dat doe je op de CPU, op de moment dat je dat doet is de GPU wellicht nog bezig met de vorige instantie van de pixelshader of er staat er nog een in de queue, dus je moet een kopie maken. Dit kost kostbare tijd en geheugen. Dit maakt statechanges op de PS3 relatief duurder dan op de 360, waardoor je de content er weer op aan moet passen.
Ik geloof het niet echt:
Kijk maar eens naar de KZ2 demo.
Volgens mij is het gewoon jaloezie vanuit het feit dat tombraider ook de xbox720 ook niet grafisch gaat tippen aan KZ2.

Ik heb gelezen dat het bedrijf achter tomb raider op de xbox360 redelijk onervaren is, ze kregen hun engine namelijk niet eens op resoluties boven de 1024*600, zonder dat de xbox360 erdoor vasthing. Schrijf daar maar eens een leuk verhaaltje over ;)
En vergeet niet de "relevante-wereld data" termen achterwege te laten :D

Ik begrijp dat een bedrijf geen dure programmeurs aan gaat nemen, tomb raider is al jaren lang geen echt succes meer te noemen, nou simpel toch, dan maar een matige ps3 poort, als ze al in staat zijn om code voor de ps3 te schrijven heet dat.
Het bedrijf waar jij het over hebt is Crystal Dynamics (en stiekem weet je dondersgoed dat wij met hen samenwerken ;)), en die is allesbehalve onervaren. Tijdens Legend waren ze idd onervaren met de 360, aangezien dat hun eerste ontwikkeling voor de 360 was. Dat gaat op voor elke eerste releasetitle, voor zowel 360 als PS3. Tegenwoordig doen zij vrij weinig met engine development en ligt het volledig in onze handen. Of dat van die 1024x600 klopt weet ik niet, en als ik het wist mocht ik het sowieso niet bevestigen of ontkennen, maar ik kan je vertellen dat er wel meer games zijn die niet in de native res draaien. Zo doet Halo3 bijvoorbeeld 1134x640. Lekker boeiend :).

Bovendien onderschat je Crystal behoorlijk. Ze hebben TR weer volledig op de kaart gezet (na het prutswerk wat Core Design heeft afgeleverd met Angel of Darkness), en hun Legacy of Kain serie wordt behoorlijk geprezen. Ze zijn zeker geen kleine speler in de gamesmarkt, en het budget van TR gaat ver boven dat van de gemiddelde game in de industrie.

Waar je "jaloezie" vandaan haalt zou ik niet weten. Wat ik noem zijn problemen waar verschillende developers in de industrie tegenaan lopen. Wij ontwikkelen voor allebei, dus in dat opzicht kan ik goed het verschil zien tussen beide platforms. Het boeit me geen ene zier wat andere PS3 games doen. Ook zeg ik niet dat de PS3 een kutplatform is (ik vind de Cell juist een hele uitdaging). Iets er mooi uit laten zien is trouwens iets wat vooral in handen ligt van de artists. Ook is het natuurlijk handiger om je te concentreren op 1 platform (zoals bij KZ2 het geval is), dat geeft veel meer mogelijkheden om je content op het platform af te stemmen. Ook moet je niet vergeten dat Guerilla een 1st party developer is, en dat ze dus vanaf dag 1 enorme support van Sony hebben gehad. Dat viel voor 3rd party developers nogal tegen.

Maar waar het vooral op lijkt, is dat jij het niet trekt als ik terechte kritiekpuntjes noem over het platform wat jij lijkt te aanbidden :). En die punten kan ik voor de 360 net zo goed noemen hoor (vaak genoeg gedaan) maar daar gaat dit nieuwsartikel niet over en is ook niet relevant in de discussie. Dat jij daarvoor 'onder de gordel' wenst te reageren door projecten erbij te halen waar ik aan werk doet niets af aan de dingen die ik noem en zegt meer over jouw gebrek aan discussiekunde dan de geldigheid van mijn argumenten.

En ik hoop dat Guerilla idd iets impressives weet te maken van KZ2. Altijd fijn als er goede developers zijn die Nederland op de kaart zetten in de gamesindustrie :). En of dat er nou beter of minder goed uit gaat zien dan Tomb Raider: Underworld boeit me eigenlijk niet zo.

En Xbox 720 :?

[Reactie gewijzigd door .oisyn op 1 februari 2008 16:14]

Wat moet hij nog meer zeggen?
Riccitiello geeft aan dat de ontwikkeling niet bij alle PS3-spellen problematisch verloopt. Zo liep de ontwikkeling van Burnout Paradise bijvoorbeeld voor op die van de Xbox 360-variant.
Aangezien de ontwikkeling van de PS3 versie voor liep op die van de Xbox360 gaan ze er van uit dat de ontwikkeling daar niet problematisch verliep (correct me if I'm wrong).

Verder vraag ik mij af wat de PS3 nu zo ingewikkeld maakt om te programmeren.
Ik heb al veel zaken gehoord over beperkt werkgeheugen. Maar voor de rest?
Verschil zit hem in de multicore architectuur tussen Xbox360 en PS3. De eerste werkt met synchroon parallelisme (caching), en de PS3 met asynchroon parallelisme.
Bij de PS3 moet je het asynchrone karakter zodanig veel *zelf* programmeren om balans te krijgen in de dynamiek van een spel, wat op elk abstract niveau van een spel een uitdaging is.
Xbox360 is synchroon hetgeen betekent dat je als programmeur al geholpen wordt met data overdracht tussen CPU en GPU en andere zaken. De ingebouwde cache lost dit voor je op. Weliswaar is het een relatief kleine cache maar ze hebben zaken ingebouwd die onnodig cache overflow tegengaan.
De 6 beschikbare Cell cores in de PS3 hebben geen cache hetgeen betekent al dat cache mechanisme om dataoverdracht correct te houden, de programmeurs allemaal *zelf* moeten doen. PS3 heeft maar 6 beschikbare cores voor applicaties: 1 is er fysiek uitgeschakeld en 1 continue in gebruik voor het OS. Tenminste dat was zo.
Trouwens de Xenos van de Xbox360 heeft 16 shadereenheden ook hardwarematig uitgeschakeld, anders had de GPU 64 uniforme shadereenheden (in blokken van 16) in plaats van 48 in dit geval...
Is het niet zo dat de PowerPC-cpu verantwoordelijk is voor het OS, en dat de PS3 7 SPE's ter beschikkingen heeft + 1 uitgeschakelde SPE?
De eerste werkt met synchroon parallelisme (caching), en de PS3 met asynchroon parallelisme.
Ik denk dat dit symmetrisch resp. asymmetrisch moet zijn, aangezien t hele doel van meerdere rekenkernen of cpu's in 1 systeem hebben asynchroniteit is ;)

Verder ben ik het wel met je eens, maar toch vraag ik me af of deze moeilijkheden niet kunnen worden opgelost door een soort van "low-level engine" speciaal voor de PS3 te maken, waar de game engine en de game zelf dan bovenop komen.
1 SPE is zo en zo uitgeschakeld omdat bij het productieproces van de Cell processor de kans groot was dat er 1 kapot was. Om minder kosten te maken hebben ze besloten om ook de cell processors te gebruiken waar er 1 SPE kapot is. Best lame, dus als iemand dit verhaal tot broodje aap kan verklaren, go ahead!
Precies. Je moet in de gaten houden dat de PS3 slechts een enkele 'multifunctional' CPU heeft en acht hulp-processoren die vooral goed zijn met cijfers en dergelijke. Een programma zodanig schrijven dat het daarop goed werkt en goed gebruik maakt van die zooi (denk ook aan een goeie balans vinden tussen gebruik ervan) kost blijkbaar nogal veel moeite.

Maar de 360 heeft daarintegen een drietal Power CPU's, ik vraag me af of er echt veel verschil in zit.

Misschien leuk om een onderzoeksproject daarover op school te beginnen oid.
"vooral goed met cijfers" :9 een cpu is altijd goed met cijfers

De moeilijkheid van de PS3 ligt in het parallellisme, het werk moet telkens verspreid worden over 7 cores (de Cell-processor van de cpu heeft er maar 7 + 1 lichte PowerPc cpu voor de coördinatie).
Nog een moeilijkheid is dat de uiteindelijke code tussen machine-taal en assembler ligt, probeer daar maar eens een deftige compiler voor te ontwikkelen... Ermee rekening houdende dat de branch prediction niet al te sterk is, en dat die PowerPC cpu enkel maar simpele bewerkingen kan uitvoeren.
+ het feit dat iedere core maar 256MB geheugen heeft
Ik had begrepen dat 1 van de SPUs is gereserveerd voor het OS, dus games kunnen er maar 6 gebruiken.

Maar idd, de PS3 heeft meer dan 2x zoveel processors als de XBox 360, en die 6 SPUs zijn dan ook nog vrij specialistisch (SIMD architectuur). Ontwikkelaars zijn nog niet zo gewend aan het gedistribueerd programmeren, dus met drie threads balanceren (XBox 360) gaat nog wel, maar met zeven is een stuk moeilijker. Alhoewel ze er uiteindelijk natuurlijk wel aan moeten, PCs hebben tegenwoordig vaak al 4 cores en dat wordt alleen maar meer.

Wat je bedoelt met dat ‘de uiteindelijke code tussen machine-taal en assembler ligt’ snap ik niet helemaal. Machinetaal is de bytes die door een Assembler gegenereerd worden uit Assembly-code. Dat is een rechtstreekse vertaalslag, daar zit niks tussen, het enige verschil is dat de machinecode begrijpelijk is voor een CPU terwijl Assembly begrijpelijk is voor mensen.

Overigens heeft de XBox 360 ook een PowerPC CPU.
Je bedoeld natuurlijk 256kb per SPU.
Zit em in 't programmeren voor de multi-core architectuur van de Cell processor.

Rockstar heeft soortgelijke probleempjes met de PS3 versie van GTA4.
Aangezien de ontwikkeling van de PS3 versie voor liep op die van de Xbox360 gaan ze er van uit dat de ontwikkeling daar niet problematisch verliep (correct me if I'm wrong).
Wat ook goed aan het spel af te zien is, zag Burnout van de week bij iemand draaien op de PS3 en de framerate is echt fantastisch. Vergeleken bij alle andere PS3 spellen die ik heb gezien duidelijk een slag beter inelkaar gezet.
Die zin is voor mij toch wel duidelijk. Wat gezegd wordt is, dat ondanks dat ontwikkelen voor de PS3 over het algemeen iets uitdagender is dan voor de Xbox360, het toch niet zo is dat het extreem veel moeilijker is en dat er zelfs games zijn waarbij de ontwikkeling voor de PS3 sneller/gemakkelijker gaat dan voor de Xbox360.

Overigens is het natuurlijk zo dat, hoe langer een console op de markt is, hoe meer ervaring er opgedaan wordt met het ontwikkelen van spellen, hoe sneller het ontwikkelproces verloopt. Aangezien de Xbox360 een jaartje voorsprong heeft, is het logisch dat het allemaal iets gemakkelijker gaat.
Uitdagend staat tussen haakjes, dat betekent niet letterlijk bedoeld en zeer waarschijnlijk vinden zij het eerder pijnlijk dan "uitdagend"

Echt de enige reden waarom ontwikkelen op de PS3 uberhaupt sneller kan gaan is omdat die specifieke spellenmakers of first party ontwikkelaars zijn of Sony minded zijn.
Neem dat maar van mij aan. Wat denk je waarom UT3 voor de PS3 vooruitgeschoven is? Toch echt wel door een zak geld van Sony. Er worden vaak vuilere opmerkingen gedaan dat MS spellenontwikkelaars en spellenrechten opkoopt, maar ik weet zeker dat Sony nog vuiler is.
Niet alleen is de voorsprong van de ontwikkelsoftware op de Xbox360 dusdanig groot, maar het asynchrone parallelisme is de grootste boosdoener van de PS3, daar kom je niet onderuit. Elke keer dat men iets wilt programmeren voor zo'n architectuur kan men zijn/haar borst natmaken.
Asynchroon parallelisme? Is dat niet een soort van tautologie? Ik denk dat je asymmetrisch parallelisme bedoelt, maar misschien heb ik zelf iets gemist.
Nee klopt het betere woord is (a)symmetrisme, maar denk persoonlijk dat (a)synchronisme ook wel kan, haha.
Sony vuiler?? Welnee man... De oorlogskas van Microsoft is groter dan de gehele waarde van Sony.
Ze kunnen Yahoo kopen, en ze kunnen ook Sony kopen (als 't niet nu is dan wel over een paar jaar).
Er worden vaak vuilere opmerkingen gedaan dat MS spellenontwikkelaars en spellenrechten opkoopt
"vuile opmerkingen" kan je op twee manieren opvatten. Nl. dat MS vuile spelletjes speelt, of dat jij die betreffende opmerkingen niet vind kloppen. (Als een opmerking klopt (dat 't laakbaar gedrag betreft), is ie eigenlijk niet meer vuil maar is 't gewoon de waarheid.)
Dit staat vrijwel los van het feit dat de 360 langer uit is. Het is voornamelijk de hardware architectuur waar veel ontwikkelaars last mee hebben. Het zelfde zag je al bij de ps2.
"Dit staat vrijwel los van het feit dat de 360 langer uit is."
Waarom?
"Het is voornamelijk de hardware architectuur waar veel ontwikkelaars last mee hebben."
Omdat die hardware architectuur relatief nieuw (en anders) is lijkt me.
"Het is voornamelijk de hardware architectuur waar veel ontwikkelaars last mee hebben."
Omdat die hardware architectuur relatief nieuw (en anders) is lijkt me.
De PS3 DevKits waren al vrij lang in handen van developers voordat de PS3 uit was, en niet eens zo veel later dan de eerste 360 DevKits. Dus de nieuwigheid is zeker niet de enige factor.

Overigens is het *niet* zo (zoals veel mensen posten) dat het probleem zo zeer is dat de architectuur complex of moeilijk is om te leren. In feite is er niks moeilijks aan: je hebt een min of meer normale CPU en een aantal DSP's die heel snel vectorberekeningen kunnen doen, en autonoom stukken geheugen kunnen ophalen en wegschrijven naar main memory, met belachelijk hoge bandbreedte. Het probleem voor spel-ontwikkelaars is meer dat al hun bestaande code (engines, libraries, etc) voor andersoortige architecturen zijn gemaakt en dus een totaal andere functionele opdeling en data partitionering hebben (meestal op symmetrische multi-core architecturen gebaseerd).

Dus de moeilijkheid zit hem erin code te maken die zo flexibel is dat er makkelijk voor verschillende architecturen verschillende taakverdelingen, geheugenpatronen etc. gebruikt kunnen worden. Dat betekent vaak stukken re-writen, en dan is het economisch interessanter om tegelijkertijd gewoon door te werken aan de 'gewone' (PC/XBox360).

Ander puntje is trouwens dat je bij het ontwikkelen voor de PS3 heel erg moet letten op de patronen van je geheugentoegang. Op een PS3 kan de timing van DMA operaties van en naar de SPE's het verschil maken tussen 'aardig snel' en 'bizar snel'. Dit is per definitie mensenwerk, een compiler kan je hier niet bij helpen, en er zijn vaak meerdere code/profile/tweak/profile cycles nodig om erachter te komen of je code wel efficient omgaat met zijn DMA transfers. Een volledig hand-optimized FFT implementatie is op die manier letterlijk 40x zo snel als een Power5 op 1.6Ghz of een C2D op 2 Ghz (heel toevallig gisteren iets over gelezen).

[Reactie gewijzigd door johnbetonschaar op 1 februari 2008 13:22]

Ik heb trouwens gelezen in een Dr.Dobbs artikel dat het optimalizeren voor de cell gepaard gaat met een source code explosie van een factor 20!
Dus met wat je wint aan performance ben je veel meer geheugen kwijt...
Maakt het ontwikkelen op PS3 nog "gevaarlijker".

Heb trouwens ook gelezen dat het cache mechanisme van de Xbox360 (symmetrisch parallelisme), zodanig te programmeren is dat het assymetrisch kan werken.
Omdat de architectuur voor een ontwikkelaar zeer complex is. je zal dus een hoop moeten uitzoeken. de xbox360 draait gewoon een versie van DX10, zal veel makkelijker voor te programmeren zijn
Niet DirectX 10, DirectX 9.
Xbox360 Xenos (GPU) is meer DX10 dan DX9.
RSX van de PS3 IS alleen DX9
De xenos ondersteund geen DX10 functies ook enkel DX9 functies ;) dus beide zijn gewoon DX9 gpu's...
PS3 gebruikt opengl geen directX
Volgens mij heeft het ook te maken met de tools die MS beschikbaar stelt aan developers. Die zijn erg prettig in het gebruik. Sony heeft pas onlangs nieuwe dev tools beschikbaar gesteld aan ontwikkelaars die het programmeren moeten vereenvoudigen.
Titel EA: ontwikkeling Playstation 3-spellen blijft lastig

Bericht : Riccitiello geeft aan dat de ontwikkeling niet bij alle PS3-spellen problematisch verloopt.

Spreekt elkaar tegen is mijn mening. Er wordt vooral door Tweakers erg negatief gedaan over Sony's ontwikkelingen. Tweakers gaat gewoon mee met de mening van de menigte.
De moeilijkheidsgraag van spellen ontwikkelen, ligt aan de gegeven hardware en software en vooral aan de programmeerkennis van het personeel. Zelf ben ik werkzaam ik ook deze sector en er zullen vast mensen die dit topic lezen die ook in dezelfde development sector werkzaam zijn. Toen ik voor het eerst begon met programmeren was ook alles moeilijk. Heel "blogland" en de noobs die meeroepen bleren het is moeilijk om te programmeren op de ps3. Als jij alleen gewend ben om pc en 360 games te ontwikkelen, dan is het idd wat lastiger om over te stappen op sony's black box. Ander framework en een andere taal. Maar ook de 360's heeft zijn beperkingen ook de Wii en ja ook de PC.

Moreel van het verhaal, het is moeilijker of makkelijker, beter of slechter, programmeren op een andere console is anders.
Spreekt elkaar tegen is mijn mening. Er wordt vooral door Tweakers erg negatief gedaan over Sony's ontwikkelingen. Tweakers gaat gewoon mee met de mening van de menigte.
De moeilijkheidsgraag van spellen ontwikkelen, ligt aan de gegeven hardware en software en vooral aan de programmeerkennis van het personeel.
John Carmack is niet "de menigte" en het ontbreekt hem denk ik niet aan programmeerkennis...vermoed ik zo.
Carmacks mening als "man of industry" heeft gewicht.
Daarbij is vaker in interviews aangegeven dat ontwikkelen voor de PS3 "lastiger is dan voor de Xbox360". Dat wil niet zeggen dat dat per definitie negatief is over Sony.
Maar je kan wel zeggen dat men zeer positief is -als in: positiever - over de dev-kit van Microsoft's Xbox360.

Daarbij is Carmack vanuit zijn verleden erg 'un-biased' (blijft stug OpenGL gebruiken als de hele wereld dat niet doet) en geeft Microsoft ook een flinke veeg uit de pan als het moet...ik denk hierbij aan de 1e versies directX die toch vooral finaal afgeschoten werden door juist Carmack.

"gebrek aan programmeerkennis bij devs" is de wereld op zijn kop en wat mij betreft een non-argument.
natuurlijk is men positief over de dev kit van 360
puur het feit dat dit een win - win situatie

als je als student aanmeld bij imagine cup van mickysoft
kan je meedoen om een 360 game te maken

als je een simpele game maakt, bijvoorbeeld een pac man variant
voor de 360 dan doet die het bijna ook gelijk voor de pc (je moet nog wel een paar veranderingen maar niet veel)

ps3 maakt geen gebruik van directx of de framework van microsoft wat erg logisch is.
want het is een hele andere architectuur.

maar ik vind het gewoon raar om te lezen dat er steeds van die berichten komen op de ps3 is lastig spellen ontwikkelen. Een spellenmaker zoals Hideo Kojima hoor je ook nooit klagen toch? De man achter Devil May Cry toch ook niet?
En nog maffer is, EA gebruikt de ps3 als lead development console.
Van programmeren weet ik weinig, maar is dit niet altijd hetzelfde liedje bij een nieuwe console met nieuwe hardware? Dit vergt gewoon tijd om het onder de knie te krijgen, als gameontwikkelaar moet je er gewoon voor zorgen dat het goed gaat als je games wil uitbrengen op de betreffende console.
Het duurt altijd een tijd voordat het ontwikkelen pas echt begint met pracht en praal (hoewel Uncharted aangenaam vroeg is ;) )

Daarnaast is Sony volgens mij ook sterk bezig om studio's te helpen met 'het begrijpen van de cell-architectuur'.

Daarnaast was volgens mij het verschil in programmeren tussen Xbox en Xbox360 veel kleiner dan PS2 en PS3, logisch dat het dus wat tijd kost. Laat EA maar eens bewijzen dat ze het kunnen!
Helemaal mee eens inplaats van te huilen van ja het is moeilijker dan de Xbox360 ja nogal logisch de ps3 is veeel nieuwer kwa alles ( inside ) niogal logisch de structuur van de opbouw van een spel totaal anders moet

Laat ze maar bewijzen ze het kunnen bedoel MS zou met een nieuwe Xbox denk ik ook anders te werk gaan en dan krijgen ze het zelfde :)

zeg niet het werk simpel is maar denk EA het wel voor mekaar krijgt :D
ja nogal logisch de ps3 is veeel nieuwer kwa alles ( inside )
:D. Wat een onzinnige opmerking. Wat is er dan zoal nieuwer (ivm de 360) dat voor ontwikkelproblemen zorgt? Ik kan alvast verklappen dat Blu-ray niet anders is dan gewoon DVD. Sure, wat verschillen in access times e.d., maar het programmeert niet anders ofzo. De RSX dan? Die ligt kwa nieuwigheid onder die van de Xenos in de 360 (omdat Sony te laat bij nVidia aanklopte en hun console al enorm over-budget was), dus dat is het ook niet. De SixAxis controller dan? Kwestie van API calls doen, je hebt wat extra inputs dus daar ligt de ingewikkeldheid ook niet echt. Blijft de Cell over, wat idd een vrij nieuw concept is. Maar om nou te zeggen dat alles veel nieuwer is, nee, dat gaat er bij mij niet in :)
Nee , maar bedoel ook inderdaad acces times , controller functies de Cell werkt totaal anders als de Ps2 Xbox360 , verder natuurlijk niks nieuws maar tis toch een andere basis om te starten

en ja wat is alles snap wel wat je bedoeld ;)
Hangt wel sterk af van de SDK. Nu is het wel zo dat de PS3 gewoon echt veel geavanceerder is dan zijn voorganger en dat zal idd veel meer tijd kosten om onder de knie te krijgen. Zeker als je allemaal nieuwe dingen ter beschikking zou krijgen.

Bij andere dingen zou dit veel minder van toepassing kunnen zijn. Zou kan de compiler ook invloed hebben. Ik moet zelf nog eens stoeien met Lazarus (een gratis variant van Delphi waarmee ik wel programeer). Die kan itt Delphi wel compilen naar x64 en apps ook voor Mac OS X en Linux geschikt maken. Waarschijnlijk zla ik daar weinig extra moeite voor heoven doen op een paar afwijkende dingen na misschien. Daar zorgt de Compiler er gewoon voor dat dezelfde code goed wordt omgezet voor zowel Windows, linux en Mac OS X in zowel PPC, x86 en x64.
Ik denk dat het hier bij de architectuur van de Cell toch meer zit in het "Goed" programmeren voor al die cores. Multithreaded programmeren is sowies al niet echt makkelijk, laat staan als je zoveel cores hebt en die niet eens dezelfde capaciteit heeft als de ander. Het vereist een hele andere manier van programmeren en ook van denken.
Een moderne game niet multithreaded programeren lijkt mij juist moeilijk.

Moet je echt alles op een core mappen of doet de compiler dat voor je? In hoeverre wordt er nog in machinetaal geprogrammeerd?
Sommige dingen worden nog wel in assembly gedaan, maar alleen nadat ze eerst high-level zijn geïmplementeerd en het een goede plek voor optimalisaties bleek. Maar dat is de issue niet. Vrijwel alle imperatieve talen zijn seriëel - jij geeft een reeks opdrachten, en die opdrachten moeten in die volgorde worden uitgevoerd. Het is voor een compiler erg lastig om dat om te zetten naar meerdere threads en dat doen ze dus ook niet. Er zijn wel wat compiler extensions, zoals bijv. OpenMP, maar dat vereist nog steeds dat je zelf aan moet geven wat er geparallelliseerd moet worden.

Goed geparallelliseerde software schrijven is moeilijk en vereist een heel ander paradigima. Bovendien loop je tegen allerlei problemen aan die je eerst niet had, zoals synchronisatie en race conditions.
Dan ben je echt geen programmeur.

Het liefst hebben ALLE programmeurs 1 waanzinnig snelle processor die alles achter elkaar afhandelt, want dan blijft het concept van alle abstracte lagen van een applicatie overzichtelijk, begrijpelijk en beheersbaar.

HET probleem van multithreading zijn de state changes en de data overdracht tussen de threads. Als 1 thread bezig is om data te bewerken mogen alle andere threads er niets mee doen. Zie dat maar eens voor elkaar te krijgen.
Daarnaast is het debuggen van multithreaded applicaties erg moeilijk. Uberhaupt is een dynamische applicatie het lastigste te debuggen om fouten eruit te halen.

Dan nog, als wat programmeurs het multithreading verhaal op het laagst functionale niveau van een applicatie voor mekaar hebben, zeg maar in balans draait, dan moeten de synchronisaties op de hogere softwarelagen ook nog in elkaar gezet worden.

Etc. etc.
Veel mensen vergeten dat er meer dan 1 probleem is

1) Waarom Moeilijk doen? Microsoft is 1 bedrijf en heeft dus 1 set regels waaraan een game moet voldoen. Gek genoeg is Sony dat niet... Sony heeft best wel veel last in het feit dat de interacties tussen de 3 devisions Sony(Japan, America, Europe) ervoor zorgt dat éénzelfde game verschillende requirements heeft.

2) XNA vs. ??? Microsoft heeft op dit ogenblik de superieure programming interface. Microsofts XNA (http://msdn2.microsoft.com/en-us/xna/default.aspx), deze is zelfs multiplatform waardoor je relatief eenvoudig zowel voor XBOX360 als PC kan developpen zonder veel extra overhead. Sony heeft op dit ogenblik niets dat zelfs in de buurt komt.

3) Engines juist omdat XNA bestaat, is het ook veel eenvoudiger om een goede engine te schrijven voor die de XBox360 zijn capaciteiten optimaal benut, op dit moment bestaan er in verhouding veel minder echt geoptimaliseerde engines die in staat zijn om de mogelijkheden van de PS3 echt te benutten (Ik denk hierbij aan bvb de White knight & Unreal engine)

4) Memory Tegenwoordig zijn programmeurs het niet meer gewoon om zuinig met resources om te springen, dit is vooral het geval voor memory. De XBox360 heeft 512MB ram beschikbaar dat hij moet verdelen tussen zowel OS, Game als Graphics, de PS3 heeft 256MB Ram dedicated video memory en 'maar' 256MB ram beschikbaar dat hij moet verdelen tussen game en OS. (Ook schijnt de PS3 zijn OS nogal memory-hungry te zijn maar Sony is eraan aan het werk) Ik kan me voorstellen dat dit voor bepaalde delen van de game moeilijk werkt, vooral als je weet dat de bandbreedte van de PS3 naar zijn cores relatief beperkend is.

5) Het is zeer moeilijk om te programmeren naar CPU's die niet identiek zijn, idereen weet dat de PS3 zijn CELL 7 beschikbare cores heeft, doch deze cores zijn niet evenwaardig. De cores van de XBox zijn dat wel en kunnen dus elk alle taken even efficient aan.

Dit is dus geen betoog welke machine beter is, maar daar waar sony sterk is in hardware en de PS3 echt wel een vernieuwende machine is, is Microsoft zeer sterk in het aanleveren van ontwikkeltools en het supporteren van developers. Dit zal in de loop van de tijd wel egaliseren als Sony meer tijd & geld in support van development tools en developers steekt, maar dat is nu eenmaal niet de corebusiness van sony, en microsoft staat echt niet stil.

edit: Besluit toegevoegd

[Reactie gewijzigd door Ryaka op 1 februari 2008 12:16]

Over je XNA punt: hoeveel games (niet live arcade) ken jij die gemaakt zijn met XNA? Volgens mij is het aantal developers dat XNA gebruikt voor hun development op 1 hand te tellen. Ik ken zelf geen enkel bedrijf in de industrie dat van XNA gebruik maakt - ze zweren stuk voor stuk bij C++ en het direct aanspreken van de hardware, iets wat met XNA niet mogelijk is.

Daarnaast maakt XNA het helemaal niet makkelijk om de capaciteiten van de 360 volledig te benutten. De 360 kan veel meer dan XNA exposed, en je kunt de hardware bovendien sneller aanspreken als je het zelf doet (omdat je zelf weet wat je bedoelingen zijn, een API moet dat maar destilleren uit de manier hoe je die API aanroept).

Memory - heeft echt geen zak met programmeurs te maken. De hoeveelheid geheugen die wordt gealloceerd voor game-zaken is echt minimaal. De dingen die het meeste geheugen vreten zijn content resources zoals textures en voices. Als er wordt gezegd dat het geheugen gelimiteerd is op de PS3, dan heeft dat meestal te maken met het feit dat je te weinig videogeheugen hebt om al die high-res textures in op te slaan. Niet omdat programmeurs nou zo slordig met hun datastructuren omgaan (ik wil niet zeggen dat dit nooit gebeurt, maar dat is over het algemeen niet de issue)
Memory - heeft echt geen zak met programmeurs te maken. De hoeveelheid geheugen die wordt gealloceerd voor game-zaken is echt minimaal.
Je hebt een punt, er is een zeer interessant artikel hierover op: http://blogs.guardian.co....t_of_ps3_programming.html
(When I'm wrong, I'm wrong, no harm in admitting it...)

You can get your code running on eight processors on a PS3 - it's not massively different. There is a small 'gotcha' in there though. The main processor can access all the machine's video memory, but each of the seven SPE chips has access only to its own 256k of onboard memory - so if you have, say, a big mesh to process, it'll be necessary to stream it through a small amount of memory - you'd have to DMA it up to your cell chip and then process a little chunk, then DMA the next chunk, so you won't be able to jump around the memory as easily, which I guess you will be able to do on the Xbox 360."

[Reactie gewijzigd door Ryaka op 1 februari 2008 13:23]

Goed verhaal. Waar ligt de kracht van beide bedrijven? MS heeft de roots in software. Sony heeft de roots in hardware.
Vergelijk even de hardwarekwaliteit van de PS3 en 360 met elkaar. Beiden bedrijven hebben hun sterke en zwakke punten. Nu is Sony goed op weg met nieuwe tools en heeft MS het grootste deel van de hardwareproblemen onder controle.

[Reactie gewijzigd door Shiver23 op 1 februari 2008 14:51]

Laten we eerlijk zijn: EA is de Aldi onder de gameontwikkelaars.
Ze hebben 1 filosofie

Less effort, most profit

Ze waren in het begin vooraanstaand met hun sportspellen maar sinds een paar jaar doen ze niet anders dan de boel een beetje upgraden en oppoetsen. EA hardcore programmers? Laat me niet lachen.
Naast hun gepoets van oudere games kopen ze kleine gameontwikkelaars af die innovatieve games maken om onder hun hoed het spel te distrubiteren. Verder hangen ze enkel de big boys uit. Neem daarbij nog hun nauwe banden met Microsoft, en dit bericht is helemaal geen verassing en is het bediscussieren of ze gelijk hebben helemaal niet waard.

Mister Big Shot Riccitiello mag mij anders uitleggen waarom kleinere ontwikkelaars prachtige spellen ontwikkelen op de PS3. Moet ik aannemen dat EA met hun budget dat niet kunnen? Zijn ze oncapabel?
Tuurlijk niet. Het is te duur.

Square enix: FF13 is is het eerste spel dat gebruik maakt van alle SPEs.
EPIC: "We know the secrets of the Cell processor now."
Bethesa: Oblivion op de PS3 is de beste consoleversie.
Infinity ward: "We hebben onze beste developers aan het werk op de PS3. De PS3 is superieur."
Konami: "We need 50GB for MGS4."
Namco: "We use the Cell processor to power our machines."
Insomniac: Ratchet and Resistance 2...
Guerilla: "KZ2 will match target render. Prepared to be blown away."


Need to say more?
EA is hun bezieling in het maken van spellen allang kwijt. Hun bedrijf is een groot economisch spel.
En dit bericht is enkel om de oorlog tussen de 2 consoles, xbox360 en PS3, te voeren in het voordeel van hun "vriendjes".

[Reactie gewijzigd door Grijze staaf op 1 februari 2008 13:50]

Het druipt van je af dat je Sony aanhanger bent en er NIEt tegen kunt dat de Xbox360 TE goed is.

"Square enix: FF13 is is het eerste spel dat gebruik maakt van alle SPEs.". En dan? Een zoveelste remake van een uitgemolken RPG?
Misschien herinner je het debakel van LAIR? Genomineerd als een van de meest slechte games (TOP 10), en geloof ook nog aller tijden...

"EPIC: "We know the secrets of the Cell processor now.". Welke secrets? Secrets zodat ze wat "makkelijker" kunnen programmeren en minder geld kwijt zijn aan een overdosis aan programmeurs die niet nodig zijn?

"Bethesa: Oblivion op de PS3 is de beste consoleversie.". Wat denk je wel niet, de versie op de Xbox360 was slecht geimplementeerd en een JAAR later natuurlijk verbeterd. Dat ligt echt NIET aan de PS3.

"We hebben onze beste developers aan het werk op de PS3. De PS3 is superieur.". Ze zijn Sony biased dan zeg je dat makkelijk. En ze MOETEN wel hun beste programmeurs erop zetten anders bakken ze er niets van. Zegt me meer over de moeilijk programmeerbare asynchrone architectuur die NIET optimaal geschikt is voor games.

"Konami: "We need 50GB for MGS4.". En dan? Wordt het nog wat? Tot nu wat multiplayer van MGS4 gezien, het zag er niet uit!

Namco: "We use the Cell processor to power our machines.". En dan?

"Insomniac: Ratchet and Resistance 2...". En dan?
Ik kan straks lekker genieten van GEARS OF WAR 2.
Need I say more????

"Guerilla: "KZ2 will match target render. Prepared to be blown away.". Ik dacht het toch echt niet! Ten eerste ben veeleisend wat beeldkwaliteit betreft: de special FX vind ik tot nu toe FLETS. En verder: het is GEWOON een FPS!

Een aantal first party games developers zijn bang voor Sony en zullen altijd pro-Sony uitspraken doen.
Sony heeft veel onwetende mensen voorgelogen door hun systeemspecificaties de hemel in te prijzen terwijl de PS3 dat niet kan halen.
Dat zul je alleen begrijpen vanuit technologies standpunt.

Need I say more?
Het artikel zoals hier in het kort getoond wordt mist wel een behoorlijk belangrijk detail:

Elke game die de PS3 als basisdevelopmentsystem gebruikt heeft GEEN problemen, De meeste games die eerst op een ander systeem zijn ontwikkeld en daarna pas 'geport' worden na de PS3 hebben wel problemen...
Dat is dus ook de reden dat Burnout Paradise op zowel de PS3 als 360 fantastisch draaien. De PS3 was voor dat spel nl het ontwikkelplaform.
Maar goed, al met al is de PS3 tot op de dag van vandaag grafisch gezien nog niet wat je je er bij voorstelde toen het werd gepresenteerd.

Jammer voor Sony dat de X360 makkelijker te programmeren is, maar dat is wel real-life. Ik hoop voor hen dat de volgende console én goed presteert qua rekenkracht, én makkelijk te programmeren is. (Lees: dat er makkelijk(er) van de aanwezige kracht gebruik gemaakt kan worden).
Dat is juist het punt. Andere ontwikkelaars beweren dat het verschil er helemaal niet is. Wie ben jij dan om klakkeloos deze stelling van EA over te nemen als al duidelijk is dat EA niet meer wat het geweest is en ze ook 2 handen op 1 buik zijn met MS?
Is het je naieviteit? Of neig je te veel naar 1 console dat je een vooropgestelde mening hebt?

En me dunkt dat de PS3 nog niet heeft laten zien wat je er bij voorstelde. Misschien voor jou maar als je Ratchet and Clank speelt lijkt het alsof je met een Shrek-achtige film kwaliteit een spel speelt. Heb ik op de xbox360 nog niet gezien.
Persoonlijke smaak.
Ratchet en Clank vind ik niet echt noemenswaardig!
waarom kunnen ontwiklaars zoals Infinity Ward wel voorelkaar krijgen maar niet EA?
EA moet volgens hem een inhaalslag maken om de techniek van de console beter onder de knie te krijgen.
Ofwel, ze investeren niet genoeg in opleiding mbt de PS3. En als de ontwikkeling op de PS3 al lastiger is, dan kun je het opleidingsbudget voor XBox360 ontwikkelaars en die van PS3 ontwikkelaars niet gelijk trekken.
Omdat daar niet dezelfde mensen werken ;)
EA zegt niet dat ze het niet voor elkaar krijgen. Enkel dat het lastiger is om te doen. En daarom is het ongetwijfeld duurder en gaat het langzamer. Ook EA zal wel leren van haar fouten en bepaalde technieken aanpassen, maar EA geeft al aan dat de PS3 gewoon altijd redelijk lastig zal blijven. En dat betekent dat je zelfs voor "simpel" werk ervaren mensen zult moeten blijven inzetten. Iets wat natuurlijk niet de bedoeling is.
Tjah ze kunnen beter eens bij zichzelf kijken. Een hoop ontwikkelaars lukt het toch zonder problemen. Ze moeten ook moeite doen om wat fatsoenlijk te krijgen en niet verwachten dat het "automatisch" gaat.
Waar haal jij vandaan dat ze verwachten dat het automatisch gaat? De een leert nu eenmaal sneller dan de ander. Er staat ook in dat het ze steeds beter onder de knie krijgen, maar voor de PS3 programmeren is gewoon heel anders dan bij de voorgaande architecturen net als de 360.
Dan vind ik dat een bedrijf dat jaarlijks zo veel winst maakt zich wat beter mag inzetten. De anderen zullen ook tegen dezelfde problemen aanlopen, toch hoor je hun niet zo klagen hierover. Ze moeten gewoon minder zeuren en meer hun best doen klaar.....
Dat ze niks van zich laten horen betekend niet dat het programmeren hun makkelijk en soepel verloopt.
lastiger misschien, maar je haalt op deze manier wel mogelijk meer performance uit de hardware.

kijk ook maar eens even naar de PS2, en wat ze uit een 299mhz chipje hebben kunnen krijgen vs de 733mhz xbox1 die zelfs pixel shading had.
PS2 is ook voor 10 jaar vs 3/4 jaar voor de xbox, net als de PS3 die meer op de toekomst gericht is dan de xbox360, Microsoft geeft niet 10 jaar ondersteuning voor hun consoles.

[Reactie gewijzigd door stewie op 1 februari 2008 11:43]

Da's natuurlijk appel met peren vergelijken. Een Pentium 4 had met een zelfde kloksnelheid een veel lagere performance dan een Athlon XP...
de PS2 was per klok inderdaad stukken trager dan de P3 in de xbox1.
dus inderdaad niet.

per klok is de xbox1 ongeveer 2 tot 5% sneller in totaal 40% tot 50% sneller, maar dankzij inefficiënte software word er geen goed gebruik van gemaakt.
7 jaar life-time voor de xbox360.

But the plan for 360 was for a 7 year life cycle before the next console.
http://www.xbox-scene.com...ep/EkpEluEFuyGnAwYfVT.php

Lopen ze straks misschien wel 4 jaar voor met de '3rd-gen'.
Je bedoelt de 8e generatie: klik
:P

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True