Lectura: Los desarrolladores y las consolas.

Xbox, Play Station, Super Nintendo o Atari... Habla de la que tienes aca
Responder

Topic author
Forzabild
Mensajes: 3692
Registrado: Lun Dic 21, 2009 2:45 pm

Lectura: Los desarrolladores y las consolas.

Mensaje por Forzabild »

Este texto es una traducción y recopilación de la siguiente fuente: Link, donde los desarrolladores de juegos comentan sobre trabajar en cada consola, un aspecto poco conocido que no suele ser revelado normalmente. Cada consola tiene sus mañas tanto de software como de hardware.

Playstation 1: Todo es simple y al grano. Con unos pocos años de dedicación, una persona podría comprender todo el PS1 hasta el nivel de bit. Comparada a lo que se podía hacer en los PC de la época, la PS1 era asombrosa. Pero en cada paso del camino uno decía "En serio?, debo hacerlo de esa manera? Joder. Ok...Dame un par de semanas." Efectivamente no tenia un debugger, ejecutabas tu build y veías que pasaba.

N64: Todo mas o menos funcionaba. En la mayor parte, era rápida y flexible, pero tu nunca sentías que la utilizabas bien. Pero eso estaba bien debido a que tus esfuerzos a medias usualmente lucían mejor que la mayoría de los juegos del PS1. Cada megabyte en el cartucho costaba mucho dinero. La N64 tenia un debugger, pero este a veces tenia bugs completamente aleatorios.

Dreamcast: El CPU era extraño (Hitachi SH-4). El GPU era extraño (un predecesor del PowerVR usado en los modernos iPhones). Habia un montón de características que no sabias como usar. Alguna vez Microsoft estuvo por mencionar en configurarla como una caja estilo-PC con DirectX, pero eso no se dio. De todas formas no hubiese funcionado, aunque parecía que iba a ser cool. Pero hombre, el PS2 va a ser mucho mejor!

PS2: Te entregan una pila de 10 pulgadas de grosor de manuales escritos por ingenieros de hardware japoneses. La primera vez que lees, nada tiene sentido del todo. La segunda vez que lees, el 3er libro tiene un poquito mas de sentido debido a lo que leíste en el 8vo libro. La maquina tiene 10 procesadores diferentes (IOP, SPU1&2, MDEC, R5900, VU0&1, GIF, VIF, GS) y seis diferentes espacios de memoria (IOP, SPU, CPU, GS, VU0&1) que todos funcionan de formas completamente diferentes. Hay muchas cosas asombrosas que puedes hacer, pero todo requiere volteretas a través de hojillas invisibles de segfault. Lograr que el primer triangulo aparezca en pantalla le tomo a algunos equipos mas de un mes debido a que involucra routear comandos a través de R5900>VIF>VU1>GIF>GS sin feedback sobre lo que estabas haciendo mal hasta que tengas cada paso hecho de manera correcta. Si estabas dispuesto a retorcer tu juego para que se ajustara a la maquina, podías obtener resultados asombrosos. Habia un debugger para el CPU principal (R5900). Trabajaba bien, para el resto de los procesadores solo tenias que escribir codigo sin bugs.

GameCube: No trabaje mucho con el GC. Parecía muy flexible, Como si pudieras hacer cualquier cosa, pero nada iba a ser terriblemente bueno o malo. El GPU no era muy rápido, sus características fueron trágicamente poco utilizadas comparadas con la Xbox. El CPU tenia RAM de latencia increíblemente baja. Cualquier estructura de datos desordenada o complicada que pudieras imaginar estaría bien (en teoria). Simplemente lo creabas, pero mas de la mitad de la RAM estaba dividida detrás de una barrera de latencia asombrosamente alta. Así que debías organizar manualmente tu data en activa vs bulto. Tenia una SIMD a medio camino que podía hacer 2 floats a la vez en lugar de 1 o 4.

Wii: Wtf RAM. En serio, era difícil crear assets que no sobrepasaran el presupuesto de memoria, gaste un montón de noches haciendo blockfiles que no engordaran para cada nivel pero que tuvieran lo que los diseñadores querían. Los Artistas y Diseñadores te odian cuando ves su trabajo y les pides que compriman todo hasta un milímetro de su vida.

Otra opinión del Wii: Tiene una versión adornada de OpenGL. Corre el hardware gráfico a 4x del Gamecube. Nada especial para ser franco.

Otra opinión del Wii: Pero no importaba que tan bueno fuera tu renderizado...todo se ponía borroso dos veces antes de llegar al televisor, y muchos detalles se perdían. (Scaling de la salida Wii desde el Framebuffer y luego scaling de TV a resolucion HD). No es una plataforma agradable para trabajar, Pipeline gráfica fácilmente crasheable mientras todos los demás se divierten con shaders!.

Otra opinión del Wii: Mi trabajo con el Wii fue una pesadilla, que RAM tan pero, tan pero, tan pequeña para una consola.

PSP: Tampoco hice mucho aca. Se la jugaba como una PS2 rebajada, pero por dentro parecía mas bien una PS1 abultada. Intentaron agregarle algunas partes para hacerla menos dolorosa al trabajarla, pero estas partes se sentían torpes comparadas con el diseño original. El tener el rasterizador del PS2 a full velocidad significaba que no debías preocuparte sobre pixeles en blending.

DS: Extraña. El DS es como dos consolas en una debido a que parcialmente es un GBA, y el GBA es efectivamente un SNES. Así que habían convenciones viejas que ya no se ven mas, como uso hardcore de paletas. Y no VRAM, siempre se nos agotaba la VRAM.

Otra opinión del DS: "Y entonces para que es la otra pantalla?" No hay mucha diversión...el hardware 3d mas loco de una consola (parece mas bien un motor de sprites mejorado que verdadero hardware 3d). Siempre deseaba que estuviésemos haciendo un buen juego 2d en ves de un juego 3d feo.

3DS: "Es tan potente! Oh espera, olvídalo. Que disfrutes intentando sacarle buenos gráficos mientras mantienes soporte del efecto 3d".

Xbox: Huele como a PC. Habían unos trucos que podias aplicar para exprimir la maquina. Pero en la mayor parte era una suficiente bendición el tener una especificación consistente de PC para desarrollar. El debugger funcionaba! realmente funcionaba! PIX fue entregado a mano por ángeles.

Xbox360: Aparte de las cosas Big-Endian, realmente huele a PC, hasta que profundizas. El GPU es genial --excepto que la EDRAM limitada significa que tienes que dibujar dos veces la escena para cumplir con el requerimiento de anti-aliasing? WTF! santa madre hay un montón de registros SIMD! 4 floats x 128 registros x 6 bancos de registros = 12K de registros! te dan DirectX9 y todo funciona recién sacado de caja. Pero si excavas mas, encontraras mejores formas de hacer las cosas. excavas mas y mas. Eventualmente tu código no se ve nada como PC-DX9 y trabaja mucho mejor que antes! el debugger es genial! PIX! PIX! te beso!

Otra opinión del X360: Preciosa, tan agradable, DX9++, tiene el framework familiar del DX9 con capacidades nuevas geniales. El hardware scaler de 720p a 1080p es realmente bueno, oh y PIX, use Windows PIX por un tiempo y era genial, pero el Xbox PIX? mi dios. Es fenomenal.

PS3: Una caja de 95 libras se muestra en tu escritorio con una impresión de las instrucciones de 24 pasos para encenderla por primera vez. Todos lo intentan, la mayoría de la gente no lo logra. Eventualmente un sujeto llega y configura las maquinas de todos. Solo hay un CPU. Pareciera que puede hacer de todo, pero no puede. Los SPU parece que deberían ser geniales pero no para cualquier cosa que tu o que los demás estén haciendo. El debugger del CPU trabaja bien, no hay debugger para los SPU. Al principio no había nada como PIX, eventualmente algunos desarrolladores 1er party de Sony se hartaron y crearon su debugger estilo PIX para el GPU. El GPU es muy decepcionante...la mayoría de la gente se enfoca en trabajar con el CPU, pero no puede con la carga. Unos pocos excavan en los SPU y santo dios, son rápidos! Desafortunadamente ellos se dan cuenta que los SPU tienen que ser dedicados casi a tiempo completo para compensar las debilidades del GPU.

Android: Lento. Muy lento para lo mayoría de lo que quieras crear. Tienes que escribir un montón de código para manejar diferentes resoluciones. No tiene mucho soporte SDK mas alla de lo básico, pero soportaba todo lo que nuestro equipo quería sacar aquella vez.

Otra opinión de Android: El asunto con Android (de mi experiencia) es que el 90% de los dispositivos alla afuera apestan. Programar para lo ultimo te dará el rendimiento que buscas, pero no para el publico.

PC: Mucha mas abstracción, así que mayormente lidias con APIs del sistema operativo. Y tienes SSE para cosas SIMD.

Otra opinión del PC: No hay mucha comparación, el codigo entre consola y pc es casi idéntico, con un juego como Prototype ellos agarran el código, lo reconstruyen para pc, toman las mismas texturas y modelos que se usaron en Xbox y listo. No hay mas optimización que eso, o es "rearma todo y lanzalo" o "entonces no lo lances". Tienes un equipo que toma el motor gráfico, lo hace funcionar en DX9/10/11 dependiendo de cuanto esfuerzo le apliquen, lo prueban en ciertos sistemas con ciertos drivers y lo lanzan. Tienes problemas con lentitud de fps, bugs serios y mal soporte porque todo eso suele estar relacionado a algo especifico y ridículo con las computadoras de la gente. Problemas que son muy difíciles de rastrear y que pueden tomar semanas para estabilizar. Especialmente para un estudio que no hace muchos lanzamientos en Windows. Cualquier cosa por encima y mas alla de eso depende de cuanto dinero quiere gastar la casa productora en el port de PC, y de cuanto tiempo tienen para hacerlo comparado con Xbox360/PS3, y aun así gastar mas dinero no puede y no podrá resolver todos esos problemas.
Core i3-2100
ECS H67H2M3
2x4GB DDR3 Patriot
GTX 650 Evga
Fuente Cooler Master 500w EPP

torque
Mensajes: 1138
Registrado: Dom Sep 13, 2009 7:08 pm
Ubicación: Maracaibo Edo. Zulia, Venezuela

Re: Lectura: Los desarrolladores y las consolas.

Mensaje por torque »

Buenísima lectura forza, creo que debería estar en la pagina principal como un reportaje.

Ya sabemos el porque de la mayoría de los port son un asco, porque usan el mismo código y lo adaptan a PC, es como agarrar un motor de un carro y colocarle soportes modificados para meterlo en otro carro, claro esta que la PC tiene configuraciones infinitas y hay vienen los problemas, no como consola que es todo igual para todo el mundo y con desarrolladoras que no les interesa mucho el mercado para PC (UBISOFT) no van a gastar mas dinero buscando el problema.
Imagen
Thermaltake Overseer RX-I
ECS P67H2-A MB
Intel Core i5 2500K
EVGA Superclock Cooler
Patriot Sector 5 8GB
AMD Radeon 6950 CF Mod a 6970
WD black 640GB, Samsung Spinpoint F3 500GB
TT Toughpower Grand 850W 80+ Gold

Topic author
Forzabild
Mensajes: 3692
Registrado: Lun Dic 21, 2009 2:45 pm

Re: Lectura: Los desarrolladores y las consolas.

Mensaje por Forzabild »

torque escribió:Buenísima lectura forza, creo que debería estar en la pagina principal como un reportaje.
Gracias. Lo de los port mas o menos lo entiendo así:

La versión principal del juego se desarrolla en el Xbox 360, los programadores la aman y adoran.

Luego viene el port de PS3, los desarrolladores detestan y odian esta consola, pero igual sacan el juego porque la consola es popular y si no perderían muchas ventas.

Finalmente sale el port para PC, simplemente agarran el codigo Xbox 360 y lo recompilan para PC, le agregan unos coroticos graficos para que lo gamers crean que aprovechan su hardware carisimo, y listo.

Si sacan un port para Wii o consolas portátiles, generalmente se lo pasan a otro estudio que este mas especializado en ellas, que no tengan remordimiento en rebajar gráficos a niveles hiper-low.
Core i3-2100
ECS H67H2M3
2x4GB DDR3 Patriot
GTX 650 Evga
Fuente Cooler Master 500w EPP

sixor
Usuario Baneado
Mensajes: 4343
Registrado: Mié Jul 29, 2009 11:15 am
Ubicación: caracas

Re: Lectura: Los desarrolladores y las consolas.

Mensaje por sixor »

interesante pero no me gusto mucho el articulo, hablando del ds y 3ds fue muy chimbo, osea el carajo super tecnico y derrepente habla paja todo surfer cuando no sabe de otra consola
3570k@4.4@1.25, 8gb corsair 1600, gigabyte 270x@1200/1550, gigabyte z77x-ud3h, corsair vx550w, raiod0 ssd crucial m4 64gb, samsung f3 500gb, envision19" + lg32", hyper212+, 1360x768
Imagen
Imagen

Vertex04
Mensajes: 859
Registrado: Mié May 16, 2012 10:26 pm
Ubicación: Caracas, Montalban 3.

Re: Lectura: Los desarrolladores y las consolas.

Mensaje por Vertex04 »

Forzabild escribió:
torque escribió:Buenísima lectura forza, creo que debería estar en la pagina principal como un reportaje.
Gracias. Lo de los port mas o menos lo entiendo así:

La versión principal del juego se desarrolla en el Xbox 360, los programadores la aman y adoran.

Luego viene el port de PS3, los desarrolladores detestan y odian esta consola, pero igual sacan el juego porque la consola es popular y si no perderían muchas ventas.

Finalmente sale el port para PC, simplemente agarran el codigo Xbox 360 y lo recompilan para PC, le agregan unos coroticos graficos para que lo gamers crean que aprovechan su hardware carisimo, y listo.

Si sacan un port para Wii o consolas portátiles, generalmente se lo pasan a otro estudio que este mas especializado en ellas, que no tengan remordimiento en rebajar gráficos a niveles hiper-low.
La mayoria de las veces suele ser Xbox 360 > PS3 y despues Xbox 360 > PC ya que la mayoria les da fastidio trabajar con OpenGL (Creo que esto es una desventaja para el PS3, ya que al carecer de DirectX y su codigo que "Es un dolor en el culo para trabajarlo y exprimirlo" lo suelen dejar de lado y estoy seguro de que esa es la razon por la que en 2008/2009 los juegos solian verse y correr mejor en Xbox 360.

Para 2011/2012 algunos devs entienden mejor la arquitectura y el codigo del PS3 y imo es la razon por la que estan saliendo mejores ports a PS3. Algunos han hasta cambiado a PS3 para Lead platform y hacen el pport a 360/PC (BF)

Aunque hay devs super flojos (Sledgehammer para dar un ejemplo) que no le paran casi nada e' bola al PS3 si no la ganancia. Ellos saben que con la fama que tiene el Call Of Duty pueden hacer el juego mas mierda del siglo (Y en mi opinion fue la mayor decepcion del año) y aun asi vender mas que BO/MW2 juntos. Cuando veias la diferencia 360/PS3 con ese juego (MW3) te dabas cuenta cual le prestaron atencion.

No se quien hizo 007 Legends, pero si veias ese juego te dabas cuenta de lo que es un port bien mal hecho. El mismo caso fue con un juego como el Most Wanted.

Hard Reset es un exclusivo de PC y corre genial en muchos tipos de hardware.
Vertex04 viene de antes de los SSDs. Confía en mi, soy un delfín.

AsusTek P8Z68-V Gen 3///GIGABYTE Radeon HD 7970 WindForce 3X
I5 2500K///Thermaltake TR2 700w
8GB DDR3///Thermaltake V3

ALMNET
Mensajes: 665
Registrado: Mar Abr 24, 2012 10:33 pm
Ubicación: Maracaibo, Par coño viejo

Re: Lectura: Los desarrolladores y las consolas.

Mensaje por ALMNET »

Y yo que pensaba que programar micros en assembler era ladilla cuando te vas quedando corto de memoria.

Buen articulo, un tema del que poco se habla.
Rig: Canaimita Refurbished version Counter Strike guerra económica Reloaded
Avatar de Usuario

Agamenon
Mensajes: 294
Registrado: Lun Feb 07, 2011 11:27 am
Contactar:

Re: Lectura: Los desarrolladores y las consolas.

Mensaje por Agamenon »

UNa buena experiencia de desarrollo tiene el tipo, le metio a todo.
Responder