[Olpc-uruguay] Sobre Pygame

Francisco Castro fcr en adinet.com.uy
Mar Ene 19 01:28:07 EST 2010


2010年 01月 18日 月曜日 14:16:50 UYSTに、Fernando Sansberro - Batovi Games Studioは書きました:
> Hola Flavio, Fabian y todos,
> 
> La resolución del juego Super Vampire Ninja no fue pensada para XO (por 
> eso el borde negro). Este juego se hizo pensando en PSP y al portarlo a 
> XO duplicamos los gráficos de tamaño y aún así sobraba espacio. Sino 
> tendríamos que haber hecho los gráficos nuevamente para XO.
> Es verdad que la resolución de esta máquina es enorme para la velocidad 
> que tiene. No se porque habrá sido así esto. Si se pudiera setear una 
> resolución mas baja como en los PCs viejos 320x240 o 640x480.... habrían 
> terribles juegos disponibles y todos los emuladores, pero no.
> 

En realidad la tarjeta de video de la XO soporta escalado por hardware
si se usa la extensión XVideo, y de hecho por más que el nombre lo
sugiera, existen otros programas además de todos los reproductores de
video que utilizan esta extensión, a modo de ejemplo se me viene a la
mente un emulador llamado Visual Boy Advance.

La principal restricción al usar éste método, es que los datos tienen
que estar y/o generarse en algún formato YUV que esté soportado por la
computadora, en caso contrario los mismos tienen que convertirse por
software. Para saber qué formatos son soportados, se puede utilizar el
programa: xvinfo

Varios links pueden ser de ayuda para comprender más en detalle estos
formatos:

http://en.wikipedia.org/wiki/YUV
http://www.fourcc.org/yuv.php

Acá se puede ver el código de rutinas capaces de convertir RGB a varios
formatos de YUV, líneas 3150 en adelante, usadas en el emulador
mencionado:

http://vba.cvs.sourceforge.net/viewvc/vba/VisualBoyAdvance/src/sdl/SDL.cpp?revision=1.18&view=markup

Para ver ejemplos de código que genera YUV directamente y sin convertir
nada, se pueden ver algunas rutinas del OSD (on screen display) del vlc:

http://git.videolan.org/?p=vlc.git;a=blob;f=src/osd/osd_widgets.c;hb=HEAD

Y para utilizar todo esto por medio de SDL y sin mayores complicaciones,
se puede utilizar:

http://sdl.beuc.net/sdl.wiki/SDL_Overlay

> Una solución buenísima es hacer el juego en 600x450 y duplicar con una 
> rutina en assembler como hace Trojan Chicken en el juego de Detectives 
> (y que ya estamos por implementar nosotros).

Capaz que es hasta obvio mencionar que escalando por software, por más
que se utilicen rutinas super optimizadas en assembler, no se obtiene el
mismo rendimiento que escalando por hardware.

De paso al utilizar escalado por hardware ganás antialiasing de yapa.

-- 
Francisco Castro
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/pgp-signature
Tamaño     : 197 bytes
Descripción: Digital signature
Url        : http://lists.laptop.org/pipermail/olpc-uruguay/attachments/20100119/b2a5cf2d/attachment.pgp 


More information about the Olpc-uruguay mailing list