Páginas

miércoles, 29 de noviembre de 2017

MATAMARCIANOS EN GRAN FORMATO

Siento debilidad por los matamarcianos y siempre he tenido la tendencia a intentar jugarlos de la manera más fidedigna posible. He tenido candys japonesas, televisores de tubo de diferentes tamaños...he emulado, he tenido placas originales....

Sin embargo vamos a ignorar todo eso por esta vez para tomarnos una serie de libertades con el tema para conseguir un tamaño de pantalla más grande de lo que suele ser habitual. Si eres muy puritano en este sentido y lo tuyo es jugar en un televisor de tubo o recreativa con monitor de 15 khz para que se vea con la máxima fidelidad, entonces este artículo no está hecho para ti. Pero le puedes echar un ojo.








1- TELEVISOR LCD DE 40 PULGADAS

Un televisor de plasma de 40 pulgadas es lo que he usado en mi caso. Diréis que eso no es un problema ya que es un tamaño habitual, pero el objetivo es rotarlo verticalmente, con lo que se consigue un tamaño de pantalla muy respetable para jugar a shumps verticales. Y esto, ya no es tan habitual.

La cuestión es que dado que puede ser molesto estar rotando cada dos por tres un televisor así, lo ideal es comprar uno barato QUE NO SEA 4K para dedicarlo a esto. Los televisores de 40 pulgadas full hd o incluso HD Ready son muy baratos, por lo que no es descabellado el planteamiento. El problema real es el espacio necesario para albergar algo así. Cuando se rota un televisor panorámico de este tamaño la pantalla se vuelve muy alta y no siempre es fácil encontrarle sitio.

¿Por qué no 4K? los juegos que voy a ejecutar no son en ningún caso de alta resolución, por lo que carece de sentido usar un 4K. Si ya en HD Ready y full HD se desperdicia resolución, imaginaos un 4K. Dado el tipo de juegos que se van a ejecutar, conviene comprar algo con la menor resolución nativa posible y de hecho, aquellos televisores LCD o plasmas de gama baja con resoluciones verticales de 768 líneas son los mejores candidatos. Aun así, el resultado visual en 4K no difiere prácticamente nada, debido al tipo de filtros que se usarán en la imagen que hacen que ésta acabe luciendo de forma similar sin importar la resolución del panel. Pero aun así, es una tontería gastar más en un televisor con una resolución tan alta si no le vas a sacar provecho de alguna otra forma. Las diferencias quizás más importantes se basen en los contrastes, profundidad de negros y viveza de colores de cada tecnología, ya que no es lo mismo usar un plasma u Oled que un LCD. Aun así, creo que en este caso es algo muy secundario.

Evidentemente pueden usarse televisores de mayor tamaño, pero si ya es raro ver a alguien rotando un televisor LCD de 40, ver lo mismo con televisores de 55 o 65 es casi imposible, ya a que estos tamaños suelen dejarse en posición horizontal y estar en las salas de estar. Comienzan a pesar demasiado y es arriesgado rotarlos. Un televisor de 40 sigue siendo bastante grande pero los modelos recientes suelen ser relativamente livianos y rotarlos no es un problema.

Cuando queremos un tamaño de pantalla respetable, los televisores CRT comienzan a estar descartados. Los de formato 4:3 llegan comúnmente hasta 29 pulgadas y de ahí para arriba ya suelen ser panorámicos por lo cual también dejan de ser interesantes. Si queremos algo más grande el CRT deja de ser una opción.
La cuestión es que no existen televisores en producción más grandes que estos porque hubieran sido exageradamente pesados y grandes y no hubieran tenido éxito comercial.
Técnicamente se ha demostrado además que la tecnología CRT está limitada en tamaños grandes. Mitsubishi creó un CRT de 61 pulgadas y el tubo no duró demasiado.
Incluso aunque tengas uno de 32 pulgadas de tubo, a menos que lo rotes y lo deje así, no salen a cuenta por el peso exagerado y al ser panorámico en la mayoría de casos la imagen útil resultante no es demasiado grande.

Si rotamos el televsior y la imagen sin
alterar la relación de aspecto, quedarán
bandas negras superior e inferior con una
pantalla de juego útil de 49 x 66 cm
Cono todos sabéis los televisores actuales LCD son todos 16:9, lo cual es una relación de aspecto que se aleja de los 4:3 clásicos. Los shumps verticales generarán dos bandas negras laterales si lo mantenemos horizontal y superior e inferior si rotamos el televisor verticalmente. Si respetamos la relación de aspecto original, el tamaño de imagen conseguido en vertical siempre es mayor que en horizontal por lo que de entrada siempre compensa rotar el televisor en vertical si nos resulta posible.

Con el televisor en horizontal, un juego vertical en un LCD de 40 pulgadas 16:9 crea dos franjas negras enormes laterales y se genera una imagen de 37 cm de ancho x 49 de alto de forma aproximada. Si rotamos la imagen a modo vertical y rotamos el televisor de la misma forma, ese mismo juego tendrá una anchura de 49 cm de ancho y 66 de alto, lo cual es una diferencia significativa.

49x66 ya supone un tamaño respetable. Si lo comparamos con un televisor de tubo de 29 pulgadas rotado verticalmente, la imagen tiene un tamaño de 41 cm de ancho y 59 cm de alto de forma aproximada. Diréis que aunque el tubo es algo más pequeño ya que no difiere tanto de los 49 x 66 del LCD, al menos la imagen es fiel, pero como veremos más adelante hay opciones para aumentar aún más el tamaño de la imagen en el LCD a expensas de sacrificar un poco la relación de aspecto.


2- MAME UIFX .0.175.1 "13th anniversary" para PC


Dado que vamos a ejecutar los juegos en un LCD, no tiene sentido usar consolas como Wii o la Raspberry junto con el RGB Pi básicamente porque están hechas para usarse con teles de tubo y obtener fidelidad de imagen respecto a los originales. Ya se hizo un artículo extenso sobre la emulación a 15khz en Wii que podéis ver más abajo.

Los juegos se ejecutarán en MAME para PC y concretamente en MAMEUIFX 0.175.1 que es una versión que me gusta especialmente y presenta algunas ventajas como veremos más adelante, La parte mala es que este MAME es un proyecto al que no se le dará continuidad y no encontrarás nuevas versiones más allá de la 0.175.1 pese a que mame como tal ya está en versiones posteriores. Pero todo funciona a la perfección en este emulador, por lo que llega un momento es que las actualizaciones sólo tienen utilidad si han añadido algún juego concreto que te interesa mucho. Para la inmensa mayoría de roms, este MAMEUIFX es más que suficiente.


3- ROTACIÓN

El Panel de control de Nvidia, por ejemplo, permite rotar el
escritorio completo
El primer paso lógico es rotar la imagen.

Hay dos formas de hacerlo una vez tenemos el televisor posicionado verticalmente (y estabilizado de alguna forma si no queréis que se os caiga encima...).

La primera posibilidad es rotar desde el driver de la gráfica con lo que rotamos todo el escritorio Windows y lo pasamos a modo vertical. En ese caso no hace falta rotar la imagen también en el emulador (se deja en "default"). Es lo ideal si queremos dejar el televisor siempre así y es una manera de poder seguir usando el PC aunque no estemos jugando o para movernos más cómodamente por MAME sin rompernos el cuello.

La otra opción es rotar en el emulador
La otra opción es rotar desde el emulador. Basta con ir a "options"--"default game options" y en la sección "display" puede verse la opción "rotation" donde podemos elegir rotación  horaria (clockwise) o antihoraria 
(anti-clockwise) según los que nos interesa más. El problema de hacer esto es que cuando salgamos del juego Windows nos aparecerá horizontal y será complicado movernos. Si te gusta cambiar de juego con frecuencia esto puede ser bastante molesto pero puede ser una opción si queremos realizar una rotación puntual para jugar y después volver a poner el televisor en su posición horizontal habitual.

Es necesario matizar que si usas un portátil con salida independiente de vídeo donde podéis clonar la imagen, no es necesario rotar el escritorio, ya que puedes sacar los juegos rotados en vertical en el televisor y la pantalla del portátil seguirá siendo horizontal para moverte por los menús, etc configuración que yo uso y de la que tenéis una imagen más abajo.


4- FILTROS

No se puede concebir realizar este "montaje" sin aplicar filtros de imagen. Esto va un poco a gustos, pero si queréis acercaros un poco a la estética del tubo y a cómo se veían esos juegos originariamente, es necesario aplicar como mínimo scanlines artificiales. Se dedicó un artículo hace unos años sobre cómo conseguir scanlines con el uso de filtros desde MAME y de otras formas. Sin embargo, esto ha quedado un poco desfasado gracias al uso del HLSL.
Una de las razones de usar MAMEUIFX es que por defecto hace un uso muy interesante del HLSL. Por esa razón, este MAME se anuncia como una versión diseñada para monitores LCD con un montón de características adicionales pensadas para ellos.

Fotografía del efecto scanline. Aun así HLSL va más allá y mejora otros
aspectos que en la imagen no son demasiado apreciables
Por si no lo sabéis, HLSL son un conjunto de parámetros aplicados a la imagen a través de Direct3D que tienen como objetivo simular la estética de un televisor de tubo en una pantalla LCD. Estos parámetros van más allá de aplicar simplemente scanlines.

HLSL es una opción relativamente reciente de MAME y se agradece su implementación para poder garantizar en el tiempo que esa estética se pueda mantener en televisores modernos.

Evidentemente si eres purista esto no sustituye al tubo, pero los resultados son realmente sorprendentes y en mi caso incluso hacen replantearme la necesidad de tener un mastodonte CRT de 29 pulgadas de 1 tonelada de peso.

Para activar HLSL basta con ir a la sección "Advanced" de la venta de propiedades de los juegos  y marcar la  casilla " Enable HLSL".

Hay muchas configuraciones de HLSL en internet, que se consiguen editando el fichero MAME.INI en el bloc de notas y sustituyendo estas líneas:

#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable               1
hlslpath                  hlsl
hlsl_prescale_x           4
hlsl_prescale_y           4
hlsl_preset               -1
hlsl_write                1
hlsl_snap_width           1024
hlsl_snap_height          768
shadow_mask_alpha         0.0
shadow_mask_texture       aperture.png
shadow_mask_x_count       320
shadow_mask_y_count       240
shadow_mask_usize         0.09375
shadow_mask_vsize         0.109375
curvature                 0.03
pincushion                0.03
scanline_alpha            0.5
scanline_size             1.0
scanline_height           0.5
scanline_bright_scale     0.4
scanline_bright_offset    0.2
scanline_jitter           0.0
defocus                   0.0,0.0
converge_x                0.3,0.0,-0.3
converge_y                0.0,0.3,-0.3
radial_converge_x         0.0,0.0,0.0
radial_converge_y         0.0,0.0,0.0
red_ratio                 1.0,0.0,0.0
grn_ratio                 0.0,1.0,0.0
blu_ratio                 0.0,0.0,1.0
saturation                1.0
offset                    0.0,0.0,0.0
scale                     0.95,0.95,0.95
power                     1.2,1.2,1.2
floor                     0.05,0.05,0.05
phosphor_life             0.0,0.0,0.0



Para activar HLSL basta con marcar la casilla "Enable
HLSL" en las propiedades
En Mame UIFX se puede tener acceso a estas opciones para cambiarlas en tiempo real, en vez de editar a mano el archivo mame.ini, si una vez ejecutado el juego pulsas tabulador y entras en las opciones "Slider control". Desde ahí puedes cambiar los valores y observar los efectos en la imagen. Se pueden cambiar parámetros como la curvatura para simular el tubo, tamaño de scanlines y separación, efecto reflejo, brillo y saturación de los colores y un largo etc.

Cada cual puede configurarlo a su gusto, pero la implementación que por defecto tiene MAME UIFX me ha gustado bastante y los cambios que he realizado para probar no me han convencido, por lo que por ahora lo he dejado tal cual están. Pero podéis investigar si en vuestro televisor en concreto os gusta más otro tipo de configuración.




5
- RELACIÓN DE ASPECTO

Comentábamos antes que los juegos arcade son originariamente 4:3 por lo que al rotar verticalmente el televisor observaremos dos franjas negras superior e inferior en la imagen siempre y cuando hayamos respetado la relación de aspecto 4:3 y por tanto tengamos marcada la opción "Enforce aspect ratio" de la sección "Display" de las propiedades. En caso contrario, MAME escalará a pantalla completa ignorando el formato 4:3 y pasándolo a 16:9.
Considero que hay que dejar algo de franjas superior e inferior, ya que ocupar todo el tamaño vertical del televisor 16:9 implica estirar en exceso la imagen y quizás sea complicado aceptar tanta deformación, pero esto es algo opcional.

Menú screen para la relación de aspecto
En MAME resulta posible cambiar un poco la relación de aspecto para estirar levemente la imagen y aprovechar un poco más el tamaño vertical del LCD pero sin llegar al extremo de ocupar toda la pantalla (aunque si no te importa el estiramiento excesivo, eres libre de hacerlo).
Realizar esta modificación NO IMPLICA que haya que desmarcar la opción "enforce aspect ratio", ésta debe estar activa o de lo contrario será pantalla completa siempre hagamos lo que hagamos.

Si vamos a la sección "Screen" de la ventana de propiedades y vamos a la opción "Aspect ratio" desmarcamos la opción "auto" e introducimos un valor personalizado. Valores interesantes son por ejemplo 16:10 que estirará un poco la imagen vertical sin que ello tenga un gran impacto estético. El valor 16:11 la estirará un poco más y es aceptable pero empieza a notarse de forma más evidente el estiramiento.

Si marcamos la opción "Use non integer scaling" en la sección "Display" nos aseguraremos de que se aprovecha al máximo la pantalla sin deformar la imagen, ya que si no marcamos esta opción nos pueden aparecer también franjas en los laterales.

Considero que el máximo tamaño a conseguir es el obtenido con la relación de aspecto 16:11 y el "Non integer scanling" activado. Está estirado y hay dos bandas negras pequeñas superior e inferior, pero el aspecto final es bueno. Si consideráis que no es aceptable en vuestro caso, entonces el máximo es 16:10 pero el desaprovechamiento de la pantalla será mayor.

Esto es válido si rotas la imagen desde el emulador, pero si lo has hecho desde la gráfica rotando todo el escritorio, debes usar otros valores. Por ejemplo, para conseguir algo equivalente a 16:11 es necesario usar el valor 4:6.

Comparativa de estiramientos. De izquierda a derecha: 16:11, 16:10 y 4:3
original, todos con "use non-integer scaling" activado y rotación en el emulador
Es evidente que estiramos la imagen, sin embargo en la práctica esto no tiene el impacto que podría parecer. Si realizamos una comparativa directa como en la imagen anterior, es evidente que notaremos que la nave es más alargada al igual que los enemigos. Sin embargo, no se puede decir de ninguna forma que en la versión 16:11 llame la atención por deformar de forma exagerada. La nave, aunque algo más alargada, luce bien y no llama negativamente la atención al igual que los decorados, los enemigos o las letras. Si te acostumbras a jugar de esta forma y no realizas comparativas directas en 4:3, acabarás asumiendo que los juegos se ven correctamente y disfrutarás de una pantalla muy grande y espectacular en 40 pulgadas con los shumps.

Esta deformación, es el precio a pagar por aprovechar un poco más el formato 16:9. En los matamarcianos verticales los juegos siguen luciendo muy bien. Hacer lo mismo en juegos horizontales considero que tiene un impacto estético mayor, debido que los elementos de los juegos se ven "achatados" o "aplastados" en horizontal lo cual causa más rechazo que alargar un poco los elementos, razón por la que los shumps, a mi modo de ver, no llaman tanto la atención al estirarlos y salen beneficiados. Además la jugabilidad no se siente alterada en ningún aspecto.


6- OTRAS OPCIONES DE MAMEUIFX QUE DEBEN ACTIVARSE

Para evitar pérdidas de rendimiento o efectos raros en la imagen o el sonido, es recomendable activar (marcar) siempre las opciones de MAME:

- Triple buffer
- Enforce aspect ratio (a excepción de que quieras pantalla completa total)
- Start out maximized
- Throttle
- Sync to monitor refresh
- Wait for vertical sync
- Refresh Speed
- Use non-interger scaling (comentado en el apartado anterior)
- Enable HLSL (del que ya hemos hablado).


Desmarcar alguna de esas casillas implicará algún tipo de alteración en la emulación. Por ejemplo, si desactiváis "sync to monitor refresh" perderéis la sincronización vertical y os parecerá que la imagen "se rompe", es decir sufriereis de tearing.

Lo que NUNCA debe hacerse es activar el filtro bilinear, ya que éste vuelve la imagen más borrosa, algo que no tiene sentido con el uso de HLSL. Sólo es útil cuando NO se usa HLSL y queremos disimular la pixelación al escalar.


7- DISTANCIA DE VISIONADO

Usar un televisor de 40 pulgadas en vertical para shumps implica la necesidad de alejarse del televisor para tener cierta visión global. Jugar demasiado cerca es espectacular pero no es posible ver la totalidad de la imagen debido a la gran altura que adquiere el televisor y esto puede provocar que sea más fácil morir porque cuesta más ver venir los proyectiles y hay que mover los ojos hacia arriba o hacia abajo para ver la parte superior e inferior de la imagen. A menos que crees una pantalla de juego más pequeña que permita ver todo mejor. Pero en ese caso ¿Qué gracia tiene hacer todo esto si al final la zona útil del juego es reducida y no se aprovecha el televisor?.

Si decides rotar un televsior tan grande, debes poder alejarte un poco, al menos 1,5 metros o no podrás jugar con cierta comodidad.  Doy por hecho de que si tienes un televisor de 40 pulgadas ya lo estas viendo a cierta distancia. El tema es que hay gente como es mi caso que tienen un 4K de 40 pulgadas como monitor y lo vemos de cerca, pero en vertical y para juegos esto no es posible.

8- EL PC


Fotografía del "montaje" No se pueden distinguir las scanlines pero sí
que están aplicadas
Personalmente no puedo usar el mismo PC que uso normalmente porque el televisor vertical está en otro lugar de la estancia además de que al dejar rotado siempre el televisor no resulta cómodo usarlo de forma habitual.

En mi caso esto se ha solucionado usando un portátil con salida HDMI. En teoría es un i7 a 2,5 GHz lo cual es suficiente para mover prácticamente todo pero la gráfica es una Intel HD 4400. He podido comprobar que si tenia configurado el escritorio a 1080p y lanzaba los juegos, sufría de una bajada de velocidad de los mismos por debajo del 100%. Se solucionaba pasando el escritorio a 720p. Para comprobar que vais al 100% de velocidad en el juego y no se ralentiza basta con pulsar F11 durante la emulación. Si marca por debajo de 100% entonces tenéis un problema de rendimiento en algún sentido. La experiencia empeora, ya que los juegos no funcionan correctamente por debajo del 100% de su velocidad original. Podéis sufrir parones, frameskip  (eliminación de frames para compensar la falta de velocidad lo que implicará pérdida de su suavidad en scrolls y sprites al moverse), sonido con interrupciones y otras alteraciones como consecuencia de no poder sincronizarse bien con la acción ,etc.

Dado que HLSL usa Direct3D, no podemos usar un PC que no disponga de la posibilidad de usar esta API por alguna razón. Una de ellas sin ir más lejos es la de carecer de una gráfica con aceleración ya sea dedicada o integrada.

Ordenadores demasiado antiguos puedan sufrir en algún sentido, aunque por normal general prácticamente cualquier PC puede ejecutar los juegos de MAME,al menos los 2D. A menos claro está que el procesador sea tan antiguo que sea incapaz de mover los juegos con fluidez pero en ese caso probablemente tampoco tendrá gráfica con aceleración 3D por lo que el problema es doble.

Es necesaria cierta potencia gráfica para que direct3D funcione adecuadamente y elegir una resolución de salida baja cuando en este sentido el PC vaya más justo. Las gráficas integradas un poco antiguas pueden sufrir un poco (la hd4400 de mi portátil por ejemplo) pero se soluciona fácilmente configurando Windows a resoluciones más bajas.

Lo que no podemos hacer es elegir resoluciones por debajo de 720p ya que estaríamos usando una resolución no compatible con el estandar 16:9 y nada de lo que hemos comentado aquí seria aplicable. El propio Windows dejará franjas negras para mostrar el escritorio y en el emulador deberíamos usar otros valores de relación de aspecto para conseguir encuadrar la imagen como nos interese pero será imposible si el escritorio ya no se muestra completo.

9- UN ARCADE STICK ES IMPRENCINDIBLE

Es recomendable comprar un buen arcade stick si haceis lo que se comenta en este artículo para disfrutar los shumps en todo su esplendor.  Preferiblemente de cierta calidad.


10
- UNA BUENA AMPLIFACIÓN DE AUDIO ES ACONSEJABLE

Si dedicais una pantalla de este tamaño para conseguir una imagen grande, el audio no debería ser menos. El audio de los televisores deja mucho que desear, por lo que es interesante comprar un amplificador y dos altavoces aunque sean sencillos como mínimo para potenciar este aspecto.



3 comentarios:

Reiul fitness dijo...

Menudo tutorial. Está genial el artículo, a ver si me pongo y lo pruebo,pero de entrada promete y mucho. Si consigues que un purista como yo cambié de opinión te debo un café, porque me ahorras mucho espacio. Aunque me va a costar deshacerme de mi CRT. Un saludo crack!

José Manuel Suárez dijo...
Este comentario ha sido eliminado por el autor.
José Manuel Suárez dijo...

Excelente tutorial, como amante de los shoot em' ups te digo que nunca antes se me había ocurrido esto, solo juego con filtro CRT y nada más, pero haré la prueba con mi monitor de 22".