Por curiosidad ¿como se optimiza los juegos? y¿ porque no se sacan drivers para la cpu?

Hola, como los cutreports parecen que van ha estar muy de moda, con watchdogs y ahora el dead rising 3, me pregunto solo por curiosidad sin ser muy técnico como se optimiza un juego de pc. Pienso: eres un estudiante con el unreal engine, hago mi chorri juego pero con mucho paisaje y carga gráfica, no un clon del super mario bros, lo cual va ha exigir potencia, ¿como se optimiza? ¿se divide la carga entre gpu y cpu? por ejemplo las texturas pala gpu, la ia para cpu y asi¿se optimiza con el motor o con otros programas para eso?
Porque no se aprovechan los hilos de la cpu, ¿por motores desfasados o que? ¿en los motores no hay una mágica casilla que ponga clikee para compativilidad con multihilo?.
¿por que no hay drivers periodicos para la cpu, (que estan desaprovechados) y si para la gpu?
Digo yo que el motor del juego deberia aprovechar al máximo los recursos ténicos. Un desarrollador indi deberia de coger el motor para hacer un juego, no para romperse los cuernos en problemas técnicos.
user admin escribió:Hola, como los cutreports parecen que van ha estar muy de moda, con watchdogs y ahora el dead rising 3, me pregunto solo por curiosidad sin ser muy técnico como se optimiza un juego de pc. Pienso: eres un estudiante con el unreal engine, hago mi chorri juego pero con mucho paisaje y carga gráfica, no un clon del super mario bros, lo cual va ha exigir potencia, ¿como se optimiza? ¿se divide la carga entre gpu y cpu? por ejemplo las texturas pala gpu, la ia para cpu y asi¿se optimiza con el motor o con otros programas para eso?
Porque no se aprovechan los hilos de la cpu, ¿por motores desfasados o que? ¿en los motores no hay una mágica casilla que ponga clikee para compativilidad con multihilo?.
¿por que no hay drivers periodicos para la cpu, (que estan desaprovechados) y si para la gpu?
Digo yo que el motor del juego deberia aprovechar al máximo los recursos ténicos. Un desarrollador indi deberia de coger el motor para hacer un juego, no para romperse los cuernos en problemas técnicos.

Interesante tema , a ver si nos iluminan ;)
User admin, según sé, el procesador central no necesita drivers porque ese aspecto recae en la estructura de la placa base (y en la Bios) y en el propio sistema operativo. El procesador central es multiprósito o multi taréa y se comunica directamente con la placa base, a diferencia de la tarjeta gráfica/GPU, que se dirige específicamente a una taréa concreta, y no tiene una relación o comunicación tan estrecha con la placa base, a grandes rasgos creo que esos son los motivos principales para que el procesador no necesite controladores.

Tambien y supongo que sobra decirlo, cuando se programa un juego o cualquier otro tipo de aplicación, se 'depura' y dirige el código para que sea entendible por el procesador, de tal forma que no se desperdicie su capacidad (ciclos). En cierta manera los propios juegos/aplicaciones hacen las veces de 'driver' a la hora de entenderse con el procesador.

Sobre la optimización en los ports de consola a ordenador, no tengo una respuesta pero como ha dicho Leonigsxr1000 es un tema muy interesante que permanece en el punto de mira por todo lo que seguramente se nos viene encima durante esta generación y hasta el año 2018.

Tres enlaces relacionados con este tema que aclaran varios puntos.

http://www.eurogamer.es/articles/2013-1 ... -o-consola

http://www.xataka.com/componentes-de-pc ... procesador

http://translate.google.es/translate?hl ... 6bih%3D696

Al decir, 'la que se nos viene encima', quería hacer alusión a que siendo un poco cínico y derrotista, la perspectiva es que al ser PS4 y Xbox One muy inferiores a la tecnología existente en PC, y deben permanecer de tres a cuatro años en el mercado, a priori eso puede significar tres opciones en función de lo pesimista o no que seamos los usuarios, y salvo la versión más optimista (que en en principio es la más improbable), las otras dos posibilidades no son demasiado alegüeñas.

1- Los juegos/ports en el 90% se van a programar en PC para equipararse a las consolas (es decir, que no se van a optimizar lo más mínimo para inflar los requisitos y soportar así el paso del tiempo necesario para llegar a la siguiente gen en 2018/2019). Llegarán juegos 'punteros' y exclusivos para PC (que más tarde serán adaptados a PS4), pero serán pocos y aparecerán muy tarde, justo un poco antes de que las nuevas consolas sean lanzadas.en 2018 o 2019.

2- El PC estará 'lastrado' durante tres años por las consolas hasta que en 2017 lleguen uno o dos títulos rompedores estilo Crysis 1, que saquen partido en realidad de la tecnología disponible en PC; Los juegos en ordenador estarán bien optimizados en un 60/70%, pero se nutriran de una buena cantidad de ports directos de consola, donde sólo se podrá aumentar la resolución y la calidad gráfica dentro de los parámetros fundamentales (calidad de texturas y filtros), y manteniendo en algunos casos unos requisitos elevados en relación a la capacidad de las consolas.

3- Los juegos/ports estarán notablemente optimizados en 2015, y a partir de 2016 se programarán versiones 'exclusivas' para PC, que no se limitarán a elevar la resolución/calidad de las texturas y usar filtros respecto a las consolas. Tambien llegarán muchos títulos exclusivos que exprimiran las nuevas tarjetas gráficas y procesadores.

La primera teoría es demasiado negativa, la tercera creo que optimista en exceso, pienso que el camino va a ser más parecido a la segunda versión, pero sin duda espero equivocarme..


Un saludo
el_fumador_2008 escribió:User admin, según sé, el procesador central no necesita drivers porque ese aspecto recae en la estructura de la placa base (y en la Bios) y en el propio sistema operativo. El procesador central es multiprósito o multi taréa y se comunica directamente con la placa base, a diferencia de la tarjeta gráfica/GPU, que se dirige específicamente a una taréa concreta, y no tiene una relación o comunicación tan estrecha con la placa base, a grandes rasgos creo que esos son los motivos principales para que el procesador no necesite controladores.

Tambien y supongo que sobra decirlo, cuando se programa un juego o cualquier otro tipo de aplicación, se 'depura' y dirige el código para que sea entendible por el procesador, de tal forma que no se desperdicie su capacidad (ciclos). En cierta manera los propios juegos/aplicaciones hacen las veces de 'driver' a la hora de entenderse con el procesador.

Sobre la optimización en los ports de consola a ordenador, no tengo una respuesta pero como ha dicho Leonigsxr1000 es un tema muy interesante que permanece en el punto de mira por todo lo que seguramente se nos viene encima durante esta generación y hasta el año 2018.

Tres enlaces relacionados con este tema que aclaran varios puntos.

http://www.eurogamer.es/articles/2013-1 ... -o-consola

http://www.xataka.com/componentes-de-pc ... procesador

http://translate.google.es/translate?hl ... 6bih%3D696

Al decir, 'la que se nos viene encima', quería hacer alusión a que siendo un poco cínico y derrotista, la perspectiva es que al ser PS4 y Xbox One muy inferiores a la tecnología existente en PC, y deben permanecer de tres a cuatro años en el mercado, a priori eso puede significar tres opciones en función de lo pesimista o no que seamos los usuarios, y salvo la versión más optimista (que en en principio es la más improbable), las otras dos posibilidades no son demasiado alegüeñas.

1- Los juegos/ports en el 90% se van a programar en PC para equipararse a las consolas (es decir, que no se van a optimizar lo más mínimo para inflar los requisitos y soportar así el paso del tiempo necesario para llegar a la siguiente gen en 2018/2019). Llegarán juegos 'punteros' y exclusivos para PC (que más tarde serán adaptados a PS4), pero serán pocos y aparecerán muy tarde, justo un poco antes de que las nuevas consolas sean lanzadas.en 2018 o 2019.

2- El PC estará 'lastrado' durante tres años por las consolas hasta que en 2017 lleguen uno o dos títulos rompedores estilo Crysis 1, que saquen partido en realidad de la tecnología disponible en PC; Los juegos en ordenador estarán bien optimizados en un 60/70%, pero se nutriran de una buena cantidad de ports directos de consola, donde sólo se podrá aumentar la resolución y la calidad gráfica dentro de los parámetros fundamentales (calidad de texturas y filtros), y manteniendo en algunos casos unos requisitos elevados en relación a la capacidad de las consolas.

3- Los juegos/ports estarán notablemente optimizados en 2015, y a partir de 2016 se programarán versiones 'exclusivas' para PC, que no se limitarán a elevar la resolución/calidad de las texturas y usar filtros respecto a las consolas. Tambien llegarán muchos títulos exclusivos que exprimiran las nuevas tarjetas gráficas y procesadores.

La primera teoría es demasiado negativa, la tercera creo que optimista en exceso, pienso que el camino va a ser más parecido a la segunda versión, pero sin duda espero equivocarme..


Un saludo


Pues estoy contigo en la primera teoría. Los ports de consola a PC que nos van a llegar van a ser (excepto casos concretos) una basura. Si no que negocio van a hacer las compañias de videjuegos (portar ahorrando costes) y las de hardware (sacando cada año gráficas y cpus nuevas) si se optimiza todo tan bien que en un ordenador de 2010 (igual de potente que las consolas y en algunos casos muy por encima) funcionan los juegos perfectos y no hay ni que renovar hardware ni comprar consolas con sus respectivos juegos a 60 €...
En primer lugar hay dos tipos de optimizaciones, por así decirlo:

1) Aprovechar al máximo las características del sistema, para hacer juegos con mayor calidad gráfica, más capacidad para cargar los mapeados, mejor fluidez, etc

2) Permitir que el juego sea funcional y jugable en otras plataformas, utilizando la menor cantidad de requisitos posibles.



Siendo estrictos, la optimización sería únicamente el segundo punto. Un juego que fuese capaz de moverse igual en un ordenador actual que en un ordenador de hace varios años, sin necesidad de machacar gráficos.

Digo esto porque se comete un gran error al pensar que tal juego o tal otro solo están bien optimizados cuando muestran gráficos de última generación. ERROR. Eso no es necesariamente una buena optimización, solamente lo será si ese mismo juego permite ser jugado también en ordenadores que no sean necesariamente de última generación. Aquí entrarían los llamados "requisitos mínimos" que deberían ser los justos para que el juego funcione adecuadamente, pero que en muchos juegos actuales son los mínimos para que puedas ver el juego moverse a golpes, con lo que en todas esas situaciones serían malas optimizaciones.


Y aquí entramos en la otra gran mentira referente a este tema: "las consolas lastran al PC". Algo tremendamente falso, que es la burda escusa de las grandes compañías para no hacer bien su trabajo, puesto que si eso fuese cierto, y tomando como cierto que "las consolas no tienen potencia de esta generación", entonces cualquier juego que saliese para las consolas actuales debería poderse mover perfectamente en ordenadores no tan nuevos, y eso es algo que no ocurre, porque en pocas ocasiones se hacen buenas optimizaciones.
Jester_agr escribió:En primer lugar hay dos tipos de optimizaciones, por así decirlo:

1) Aprovechar al máximo las características del sistema, para hacer juegos con mayor calidad gráfica, más capacidad para cargar los mapeados, mejor fluidez, etc

2) Permitir que el juego sea funcional y jugable en otras plataformas, utilizando la menor cantidad de requisitos posibles.



Siendo estrictos, la optimización sería únicamente el segundo punto. Un juego que fuese capaz de moverse igual en un ordenador actual que en un ordenador de hace varios años, sin necesidad de machacar gráficos.

Digo esto porque se comete un gran error al pensar que tal juego o tal otro solo están bien optimizados cuando muestran gráficos de última generación. ERROR. Eso no es necesariamente una buena optimización, solamente lo será si ese mismo juego permite ser jugado también en ordenadores que no sean necesariamente de última generación. Aquí entrarían los llamados "requisitos mínimos" que deberían ser los justos para que el juego funcione adecuadamente, pero que en muchos juegos actuales son los mínimos para que puedas ver el juego moverse a golpes, con lo que en todas esas situaciones serían malas optimizaciones.


Y aquí entramos en la otra gran mentira referente a este tema: "las consolas lastran al PC". Algo tremendamente falso, que es la burda escusa de las grandes compañías para no hacer bien su trabajo, puesto que si eso fuese cierto, y tomando como cierto que "las consolas no tienen potencia de esta generación", entonces cualquier juego que saliese para las consolas actuales debería poderse mover perfectamente en ordenadores no tan nuevos, y eso es algo que no ocurre, porque en pocas ocasiones se hacen buenas optimizaciones.

Creo que la teoría de la conspiración dice que como el hardware pcero avanza más rápido que las generaciones de consolas se hacen malas optimizaciones de los juegos multiplataforma aposta para obligar a la gente a cambiar los componentes del ordenador cada poco tiempo. Yo realmente creo que muchas malas optimizaciones son mezcla de vagancia y patrocinio de las compañías de tarjetas gráficas.
Es la cuarta vez que empiezo el mensaje [+risas] Porque realmente no es algo sencillo ni que se explique en una sola manera.
Alrededor hay mas de lo que parece. Pero voy de nuevo a empezar a ver si ahora acabo, con otro enfoque.

Optimizar, ¿Qué es?. Bueno, pues recurriendo al simil que es el auxilio cuando no se pueden usar tecnicismos y se quiere explicar algo entendible para cualquiera.

Todos sabemos (o casi todos) lo que es resumir un texto, verdad? Recordais esos ejercicios de literatura en que nos daban una parrafada y nos pedian que lo resumieramos hasta una o dos frases, sin que se perdiese el mensaje primordial del texto? Pues ESO ES OPTIMIZAR.

Asi de "sencillo".

Tenemos un texto largo y extenso, denso, lo leemos una primera vez, y notamos que hay artificios que no aportan nada al mensaje fundamental, asi que los eliminamos. Lo leemos de nuevo, y nuevamente encontramos otra serie de plabras, expresiones o frases que no aportan realmente nada fundamental al mensaje principal, asi que las suprimimos. Encontramos ademas frases que no tienen sentido, con letras intercaladas a boleo, formando palabras que no significan nada, las eliminamos. Y asi con cada pasada, cada vez que releemos el texto, somos capaces de dejarlo mas diafano, limpio, sencillo, y conciso, sin que pierda en absoluto su significado ni el mensaje que quiere transmitir. Asi hasta que lleguemos a un limite, donde ya no es posible pulir el texto mas, sin que pierda su mensaje.

Eso es Optimizar un programa, depurar su codigo, mejorarlo, hacerlo mas facil de tratar para el conjunto del hardware que lo va a interpretar. Ademas para hacerlo, hay que tener en cuenta como funciona ese hardware, como "lee", en que idioma, etc. Siguiendo con el simil, seria como tener en cuenta si ese texto lo estamos resumiendo para un niño pequeño, para una persona con baja cultura, o para un experto cientifico. Porque en cada caso, las posibilidades que tenemos a la hora de realizar la tarea son diferentes, unos podrian comprender el significado de una palabra que nos ahorra usar una expresion de tres palabras, y otros necesitarian por narices la expresion de tres palabras porque desconocen o no entienden el significado de la palabra que vale por tres.

Espero que se esté entendiendo algo [+risas]

Los malos ports, son malas "traducciones", y como el mensaje que transmiten no es claro y resulta dificil de entender para el hardware que lo interpreta, éste no es capaz de comprenderlo con soltura, le cuesta, no lo lee bien, sino que se atasca, farfulla, duda, tartamudea,...

Esa traducción lleva tiempo, y requiere un cierto esfuerzo. El tiempo y el esfuerzo que la compañia o estudio en cuestion ponga en realizar esa traducción , asi como la habilidad que tenga para hacer ese tipo de traducciones, dará como resultado un mejor o peor producto, un mejor o peor port, un texto con mas o menos sentido, y mejor o peor "resumido (optimizado)".

Luego hay juegos exclusivos que sin ser ports, estan mal optimizados, mal programados,...son textos mal escritos, confusos, enrevesados, sin sentido en muchos puntos, que dificultan la comprensión del lector (el hardware) y hacen que pierda recursos intentando entender lo que lee, y exponiendo el mensaje que le trasmiten.

Asi que no tiene nada que ver que sea un port, para que sea un mal programa. Si está mal hecho está mal hecho, sea porque se hace mal de base en esta plataforma o aquella, sea porque está mal traducido.


Otro tema que habeis tratado es lo de que las consolas lastran al PC. POR SUPUESTO QUE LO LASTRAN.

Lo lastran porque fijan UN ESTANDAR OBVIO, muy visible para cualquiera, SIN NECESIDAD DE ESTAR PUESTO EN EL TEMA. Si le pregunto a mi señor padre a sus 70 y algunos, asi al atraco, "ey, dime cual es el mejor videojuego que existe"...Aunque no tiene ni pajolera idea del tema, es muy posible que ahora me contestase "el Destiny ese". Mas que nada porque sale 30 veces al dia en anuncios, y ya sabemos que para el gran rebaño, lo que dice el pastor va a misa sin cuestionarlo...

Lo voy a ilustrar con otro simil que no deje opcion a custionar el tema. Pongamos una clase de alumnos, de secundaria mismo. Son 100, y de ellos resulta que en los examenes, 95 sacan normalmente en torno al bien, y solo 5 sacan sobresaliente.

¿Creeis que hay algun tipo de incentivo o presion en esos 95 para querer sacar un sobreslaiente?????????

NO

Porque el estandar establecido es el bien, si sacas bien todos contentos, los profes te felicitan, los padres te felicitan, los compañeros te felicitan, el mundo te felicita (porque ahora vamos a suponer que este estandard es mundial), y todo está bien. Luego para qué cojones te vas a tú a molestar en buscar nada más allá del bien.

Quien saca sufi o suspende ya ocupa el lugar del fracaso (los juegos cutres en general y en consola en particular) y quien saca notables o sobresalientes no importan nada, porque son bichos raros, se les ve muy poco, y muy poca gente les hace caso ni les felicita por sus logros, luego se les margina todo lo posible, se les trata de "borrar" tanto como es posible. Al que saca sobresaliente no se le hace fiesta, pero al que saca bien alto se le monta una megafiesta de la hostia polluda por todo lo alto, ancho y largo del mundo.

-¿Que tú sacaste sobresaleinte? A bien, muy bien pero que mas da, yo saqué BIEN ALTO y mirame, la gente me ama!!-

Asi que sí, las consolas lastran al PC, en tanto en cuanto se entiende que los que sacan ese Bien, no es por vagos (vagos son los que sacan menos), sino que es porque su intelecto no da para mas, es imposible, por mas que piensen, estudien, se concentren, no van nunca a sacar mas del bien alto, es literalmente IMPOSIBLE,...pero son el estandard que anula la valia del sobresaliente. Y por eso son un lastre, del mismo modo ademas que ahora las "old gen" son un lastre para las "new gen". Asi que por esto es muy gracioso leer a consoleros defendiendo que "no lastran" para despues descubrirles en otros mensajes diciendo que "esque el juego es cutre porque lo lastra la old gen, es "trasgen".

Querer opinar, o debatir, sobre la topografia mundial cuando solo se han visto y conocido la mitad de los continentes del mundo, es de ser un estupido, con perdon, no por usarlo como insulto, sino por el significado de la palabra en si. Es una estupidez. Sin embargo es algo que la gente "fan" de las consolas hace a diario, a menudo, y con una asombrosa behemencia en aquello que piensan es la realidad, a pesar de desconocen totalmente la mitad o mas de esa realidad...


Y ale, perdon por este texto tan mal "optimizado", aunque confio en que será facilmente entendible por la mayoria del "hardware", jejeje.




PD: Y queria acabar añadiendo que me parece este un tema artificial que se está creando, este del mal port y el juego que no funciona bien, como otros tantos que se han creado y se mantienen, y otros que se crearon y ya por suerte pudieron ser desterrados, en torno al PC. Veo ya a mucho borrego sumando a su catalogo de "topicos para protegerme ante la realidad del PC" añadir lo de "los juegos no estan optimizados"....y de que cojones hablamos? El PC de mi firma es un PC MUY MODESTO y yo juego a TODO, sobradamente, en calidades iguales o POR ENCIMA de lo que estamos jugando ahora en consolas. No entiendo tanto debate con la optimización, lo que si advierto es un cierto perfil en la gente que mas incapie hace en este tema, y lo que me da por deducir es que mas que mala optimización, lo que hay es usuarios faltos de experiencia....y conocimientos quizá. En general, en general, los juegos que vienen a PC de consolas y los juegos exclusivos de PC, a dia de hoy estan bien o muy bien optimizados, siendo los casos negativos una minoria ridicula. Que me da la risa viendo las firmas de los PCs de algunos que se quejan....si yo juego a Arma3 cada dia, y me quedo embobado sacando screens, como va nadie con una 780 a quejarse de la optimizacion del juego? Está mal optimizado, es cierto, pero no es algo relevante en realidad a la hora de disfrutarlo y jugar.

Ah, y por si alguien no lo pilla, aclaro que el "bien alto" sería el mejor juego tecnicamente posible en consolas, y el sobresaliente el mejor juego tecnicamente posible en PC.
A ver si tengo tiempo y me leo bien todo el post....que es muy interesante y foreros aportando cosas son geniales ;)

La mala noticia es la de siempre.....la optimizacion y sus repercusiones......que a veces te gastas 700 euros en una grafica y luego tienes unos bajones inexplicables.....y no mueven lo prometido a veces :(
Es muy interesante este tema. Y estoy de acuerdo con lo que dice battman80. Muy buena explicación y buenos ejemplos. Aunque creo que falta un factor importante. Y es que los pcs son todos diferentes. Existen muchas diferencias de potencia entre ellos. Y de configuraciones. No solo es que haya pcs poco potentes, sino también pcs con CPUs potentes y gráficas medias, y al revés. También con más o menos RAM a diferentes velocidades, diferentes marcas núcleos y de todo en los pcs.
Creo que eso lastra igual o más a los pcs que los ports de consolas.

No digo esto negando tu opinión, si no complementándola.
sahaquielz escribió:Es muy interesante este tema. Y estoy de acuerdo con lo que dice battman80. Muy buena explicación y buenos ejemplos. Aunque creo que falta un factor importante. Y es que los pcs son todos diferentes. Existen muchas diferencias de potencia entre ellos. Y de configuraciones. No solo es que haya pcs poco potentes, sino también pcs con CPUs potentes y gráficas medias, y al revés. También con más o menos RAM a diferentes velocidades, diferentes marcas núcleos y de todo en los pcs.
Creo que eso lastra igual o más a los pcs que los ports de consolas.

No digo esto negando tu opinión, si no complementándola.


Para eso esta la fase de testeo. Una vez que la aplicacion o juego esta acabado, se pasa a los betatesters para que comprueben que la aplicacion funciona mas o menos.

Y despues si quieres sacas una beta para que la gente compruebe que el juego funcione correctamente.

Por su puesto todo eso se puede reducir, sacar el juego con el minimo testeo posible y que sean los usuarios que lo compren que lo testen.
sahaquielz escribió:Es muy interesante este tema. Y estoy de acuerdo con lo que dice battman80. Muy buena explicación y buenos ejemplos. Aunque creo que falta un factor importante. Y es que los pcs son todos diferentes. Existen muchas diferencias de potencia entre ellos. Y de configuraciones. No solo es que haya pcs poco potentes, sino también pcs con CPUs potentes y gráficas medias, y al revés. También con más o menos RAM a diferentes velocidades, diferentes marcas núcleos y de todo en los pcs.
Creo que eso lastra igual o más a los pcs que los ports de consolas.

No digo esto negando tu opinión, si no complementándola.


Muy bien complementado mi mensaje, pero date cuenta que ya lo he dicho yo con otras palabras ;) . Es a lo que me referia con que igual no es en realidad un problema de lo optimizados que estan los juegos, sino de lo mal cerrados que estan algunos PCs, o como lo he dicho yo, de usuarios con falta de experiencia o conocimientos.

Pero el mito de la no-optimizacion en PC debemos desterrarlo ya entre todos, o nos va a perseguir por los debates durante los proximos 7 años, o mas [+risas] Un PC compensado mueve con normalidad y sin problemas la gran mayoria de juegos, y seguramente el ratio de juegos "problematicos" en PC es similar al de consolas, lo que pasa que cuando se saca este tema siempre se olvida lo pesimamente mal que funciona en consolas dark souls,....por citar uno de entre unos cuantos ejemplos. Y en esos casos como dije no se trata de que no se optimice, se trata de que se programa mal y punto. Se trata de incompetencia.
Voy a tratar de responder siendo breve, pero claro.
La cpu no necesita actualizar drivers por que la cpu no necesita drivers. Dicho rápido y sin ser excesivamente estricto, los drivers los usan los componentes para comunicarse con la cpu (no es así, pero es una aproximación, ya que un driver puede ser muchas cosas, pero siempre es un trozo de código residente). En cualquier caso, es necesario conocer como funciona una cpu realmente para tratar estos conceptos. Si tienes curiosidad te recomiendo libros básicos como el de fundamentos de computadoras de Floyd o el de arquitectura de computadoras de Patterson y Hennessy. Son parte de la bibliografía de la ingeniería informática y son muy interesantes.

Y lo de la optimización? Pues es una respuesta más sencilla que todo lo que comentáis. En todos los trabajos hay gente buena y gente mala, normalmente más mala que buena. Y en la programación, lo malo se nota mucho y lo bueno pasa desapercibido. no hay más

Un saludo!

PD: Comentas que el motor del juego debería preocuparse de esas cosas y tal. No. De hecho, no son motores de juego, son motores gráficos. Estos motores te dan cosas hechas y preparadas para facilitarte las cosas, pero es tarea de los desarrolladores hacer un código óptimo. De hecho en Unreal 4 puedes hacer juegos sin escribir ni una sola línea de código (c++ en el caso de Unreal) y que pasa con esto, que es muy sencillo, pero está 0 optimizado obviamente.
Yo quiero romper una lanza a favor de los desarrolladores (no de todos, porque hay auténticos vagos). Optimizar parece la palabra mágica de estas dos últimas generaciones. Lo que no sabe la gente es que optimizar es tremendamente complejo. Cualquiera a quien le guste el software sabe lo difícil que es optimizar cosas básicas como operaciones algebraicas o búsquedas o cualquier ejemplo tonto que te ponen en un primer año de carrera.

Ahora, traslademos ese tedioso proceso a millones de líneas de código que están siendo desarrolladas en paralelo por decenas o cientos de personas. ¿Optimizar? Los cojones xD. Cualquiera de nosotros estaríamos más que contentos con que se resolvieran los bugs, entonces no conoceríamos la palabra optimizar. El problema es que nos comemos código de mierda, no código mal optimizado.

Seamos realistas, vende más una tarjeta gráfica a 200€ (o más) y un procesador al mismo nivel que un juego cuidado al detalle a 60€. ¿Qué van a hacer entonces los desarrolladores? Aprovechar esa inversión de los jugadores en hardware y que sustituye a la que le dan a ellos de comer: software. Actualmente sobra potencia, pero la gente paga como borregos.

Si actualmente hay juegos de mierda no es por las consolas (que son adalides de la optimización tan ansiada por muchos usuarios de PC) ni por la optimización en sí: es porque la gente compra BF4 con bugs, Watch Dogs con bugs, Dark Souls 2 con bugs... O en su defecto, juegos en fase alpha a través de financiación conjunta que no llegan ni a beta.

Y sin embargo, cuando sale un juego pulido, trabajado, sin grandes bugs, es posible que se le ignore o se espere a unas rebajas del 75% para obtenerlo.

Yo creo que programar en PC es por amor al arte, a los orígenes, a la potencia. Por lo demás, un desarrollador va a elegir consola, porque allí suele ser rentable (económicamente hablando) su trabajo, incluso si es malo.
Donde más se optimiza a día de hoy es en los shaders a bajo nivel. La idea de optimizar es simplemente llevar a cabo la tarea que realiza el shader original es un menor tiempo y/o usando menos recursos de la GPU.

El problema de la optimización, como ya se ha comentado, es el tiempo. Mejorar todos estos shaders es muy costoso y en desarrollos multiplataforma apenas se tienen en cuenta, simplemente se hacen optimizaciones generales para cada plataforma y si existen problemas en alguna plataforma en concreto se solucionan de otras formas.
Pues visto desde mi punto de vista desde fuera como jugador pues parece que mucho avance en lo fisico y poco en los programas, lo ideal seria pues como digo trabajar con el motor y ese motor tenga las herramientas y procesos standar y más avanzados para hacer un juego que los programadores tengan que solucionar en problemas tecnicos lo minimo.
Que la empresa del motor saque parches de compatibilidad con el jarware para que se aproveche lo mas posible desde un 2 a 8 núcleos, tampoco comprendo porque un juego nuevo de pc no aproveche 8. Tendria que ser más potencia más rendimiento y siempre aprovechar a tope.
Si los motores funcionaran bien o fueran más standad pues no se veria los casos de usando un mismo motor una misma empresa o diferente hace dos juego uno bien y otro con muchos bugs y poco rendimiento.
Cosas como esta textura es muy pesada pues se hace más pequeña, este humo chupa mucho pues se hace menos denso, eso si, pero eso de depurar el motor , lineas de código...anda que se vayan a dormir. Y si una gráfica no es compatible llamo a los de unreal y que parcheen ellos no los programadores.
Todo lo que he dicho antes es en plan coloquial y de coña, todo se resumen en:
Los Indies hacen un juego, uno le dice al otro:
Ehy tio que me he dicho mi primo que en su six core no le va fino, no le aprovecha del todo, que no le van al 99.9% todos los hilos. Pues llamamos a Unreal haber que nos dicen.
Indies: ALOooo, ¿SI?, ¿unreal?, que los six cores no los aprovechan.
Unreal: Estamos trabajando en ello, en 3 meses lo tienes.
Y todos felices para siempre.
EDITADO:
richomincho ESCRIBIO:
De hecho en Unreal 4 puedes hacer juegos sin escribir ni una sola línea de código (c++ en el caso de Unreal) y que pasa con esto, que es muy sencillo, pero está 0 optimizado obviamente.
Mi respuesta:
Es que asi se deberia hacer los juegos, diciendolo de un modo simplista como en esos juegos que tienen su editor de mapas, yo hago el mapa y dependiendo de mi ordenador pongo más elementos o menos, y si hay una situacion de gran caida de fps por demasiados elementos se rebajan, eso seria el testeo y poco más.
user admin escribió:Pues visto desde mi punto de vista desde fuera como jugador pues parece que mucho avance en lo fisico y poco en los programas, lo ideal seria pues como digo trabajar con el motor y ese motor tenga las herramientas y procesos standar y más avanzados para hacer un juego que los programadores tengan que solucionar en problemas tecnicos lo minimo.
Que la empresa del motor saque parches de compatibilidad con el jarware para que se aproveche lo mas posible desde un 2 a 8 núcleos, tampoco comprendo porque un juego nuevo de pc no aproveche 8. Tendria que ser más potencia más rendimiento y siempre aprovechar a tope.
Si los motores funcionaran bien o fueran más standad pues no se veria los casos de usando un mismo motor una misma empresa o diferente hace dos juego uno bien y otro con muchos bugs y poco rendimiento.
Cosas como esta textura es muy pesada pues se hace más pequeña, este humo chupa mucho pues se hace menos denso, eso si, pero eso de depurar el motor , lineas de código...anda que se vayan a dormir. Y si una gráfica no es compatible llamo a los de unreal y que parcheen ellos no los programadores.
Todo lo que he dicho antes es en plan coloquial y de coña, todo se resumen en:
Los Indies hacen un juego, uno le dice al otro:
Ehy tio que me he dicho mi primo que en su six core no le va fino, no le aprovecha del todo, que no le van al 99.9% todos los hilos. Pues llamamos a Unreal haber que nos dicen.
Indies: ALOooo, ¿SI?, ¿unreal?, que los six cores no los aprovechan.
Unreal: Estamos trabajando en ello, en 3 meses lo tienes.
Y todos felices para siempre.
EDITADO:
richomincho ESCRIBIO:
De hecho en Unreal 4 puedes hacer juegos sin escribir ni una sola línea de código (c++ en el caso de Unreal) y que pasa con esto, que es muy sencillo, pero está 0 optimizado obviamente.
Mi respuesta:
Es que asi se deberia hacer los juegos, diciendolo de un modo simplista como en esos juegos que tienen su editor de mapas, yo hago el mapa y dependiendo de mi ordenador pongo más elementos o menos, y si hay una situacion de gran caida de fps por demasiados elementos se rebajan, eso seria el testeo y poco más.


En los últimos años los motores gráficos han avanzado mucho en ese sentido, pero no es todo tan sencillo como tu imaginas. De hecho, que existan motores cómo unreal, es una maravilla de la ingeniería tal, que, comparando con algo más comprensible, sería como si los coches volasen y fueran alimentados con energía limpia.

Por ponerte un ejemplo, para hacer una búsqueda en una tabla, hay muchos algoritmos diferentes y en unos casos, funcionan mejor unos y en otros funcionan mejor otros. En estos motores se busca una solución intermedia a nivel de algoritmos, asi que al final termina dependiendo de la calidad del programador.

Otra cosa que lastra el rendimiento es la poca reutilizacion de texturas, muchas veces por pereza
Un ejemplo es el hammer, que aunque no es un motor, ni un creador de juegos, es un editor de niveles ( mapas ) , magnifico, permite a gente inexperta crear mapas complejos muy realistas y jugables sin saber nada de programación.
user admin escribió:Pues visto desde mi punto de vista desde fuera como jugador pues parece que mucho avance en lo fisico y poco en los programas, lo ideal seria pues como digo trabajar con el motor y ese motor tenga las herramientas y procesos standar y más avanzados para hacer un juego que los programadores tengan que solucionar en problemas tecnicos lo minimo.
Que la empresa del motor saque parches de compatibilidad con el jarware para que se aproveche lo mas posible desde un 2 a 8 núcleos, tampoco comprendo porque un juego nuevo de pc no aproveche 8. Tendria que ser más potencia más rendimiento y siempre aprovechar a tope.
Si los motores funcionaran bien o fueran más standad pues no se veria los casos de usando un mismo motor una misma empresa o diferente hace dos juego uno bien y otro con muchos bugs y poco rendimiento.
Cosas como esta textura es muy pesada pues se hace más pequeña, este humo chupa mucho pues se hace menos denso, eso si, pero eso de depurar el motor , lineas de código...anda que se vayan a dormir. Y si una gráfica no es compatible llamo a los de unreal y que parcheen ellos no los programadores.
Todo lo que he dicho antes es en plan coloquial y de coña, todo se resumen en:
Los Indies hacen un juego, uno le dice al otro:
Ehy tio que me he dicho mi primo que en su six core no le va fino, no le aprovecha del todo, que no le van al 99.9% todos los hilos. Pues llamamos a Unreal haber que nos dicen.
Indies: ALOooo, ¿SI?, ¿unreal?, que los six cores no los aprovechan.
Unreal: Estamos trabajando en ello, en 3 meses lo tienes.
Y todos felices para siempre.
EDITADO:
richomincho ESCRIBIO:
De hecho en Unreal 4 puedes hacer juegos sin escribir ni una sola línea de código (c++ en el caso de Unreal) y que pasa con esto, que es muy sencillo, pero está 0 optimizado obviamente.
Mi respuesta:
Es que asi se deberia hacer los juegos, diciendolo de un modo simplista como en esos juegos que tienen su editor de mapas, yo hago el mapa y dependiendo de mi ordenador pongo más elementos o menos, y si hay una situacion de gran caida de fps por demasiados elementos se rebajan, eso seria el testeo y poco más.


Eso que dices es tan utopico como el anarquismo funcionando como sistema politico XD y te lo digo como ingeniero, eso no va a ocurrir.
Bajate Razer cortex, vas a flipar.
offtopic, si es como el Raxer booster que lo prove y no vi ganancia de fps en mi pc, no lo pruebo.
En términos generales:

El PC es una plataforma abierta. Por una parte se la considera un sistema de recursos "ilimitados" por ésto, lo que hace que la optimización objetivo sea conseguir que funcione correctamente en la mayoría de equipos destino. No puedes controlar que con cierto componente en concreto baje en un momento el framerate.

Optimizar para consola es una necesidad por tener un hardware cerrado (o lo que viene a ser lo mismo, limitado).


Respecto lo que alguno ha comentado de que lo normal sería poder hacer que todo funcionara en cualquier equipo pero a resoluciones menores, pues es complejo.

Por una parte la carga poligonal, tamaño de texturas... y si ya interviene post-procesado, físicas avanzadas y demás ni te cuento.
Eso tratando un juego 3D, que en mayor o menor medida, si se tiene en cuenta desde un inicio se modela de menor a mayor low-poly (funcional, se entiende, siempre es de menos a más si es para in-game).
Si el juego es 2D con principal destino equipos de gama media-alta, es evidente que van a ser sprites grandes con muchos frames. Y sí, la reducción de tamaño es posible, pero hacer esa animación fluida visualmente implica re-dibujar para una cantidad de frames inferior, no basta con cargarse los frames intermedios porque no resulta bien.
20 respuestas