Curso Python DGA 2011/pygame/introduccion

¿Por qué programar videojuegos?

 * ¡A todos nos gustan!
 * Es un desafío muy divertido.
 * Además es un reto porque los videojuegos son a veces complejos de programar.
 * Son un buen recurso para el aprendizaje porque estimulan la actividad del estudiante.

{{Conocimiento_previo| TOCdepth=2| Title=Algunos conCeptos básicos de programación en 2D|

Superficies
Las bibliotecas gráficas 2D se basan en el concepto de superficie (surface). Una superficie es un espacio en memoria donde guardar una imagen.

Blit
Las superficies se copian en otras superficies (blit) en una posición (coordenadas)

Flip
Las imágenes se componen por blit en un buffer en segundo plano, con flip se actualiza el monitor.
 * Si se dibuja directamente sobre la pantalla, se verá un parpadeo por retraso en el refresco vertical (VSINC)
 * Doble buffer
 * Se copian las imágenes sobre una superficie y después se dibujan sobre la tarjeta gráfica


 * '''Dirty Rectangles
 * Se copian sólo las áreas de la pantalla que han cambiado

Sprites
Un Sprite es cualquier objeto que aparece en nuestro videojuego. Normalmente suelen ser sus personajes. Todo sprite tiene una imagen y una posición. Las imágenes de los Sprites suelen tener una parte transparente, que se marca con el canal alfa (un buffer que indica qué partes de la imagen son transparentes y cuáles opacas). También se puede utilizar un color key, o color base, que se interpretará como transparente.

Pixel
Es el elemento mas básico en la programación gráfica: un elemento de una imagen que representa la unidad mínima que esta puede contener, básicamente lo podríamos definir como un simple punto que forma parte de una imagen definida que tiene asociado un color.

BITMAP (Mapa de Bits)
Un Bitmap básicamente es una cuadricula de pixeles que tiene atributos como ancho y alto (la cual se mide en numero de pixeles) y tiene asociado algún formato ya sea bmp, png, jpg, gif, etc. La diferencia entre los formatos se da por algunos parámetros tales como calidad y tamaño de archivo, por ejemplo si queremos mantener tamaño/calidad, los formato que se ajustan son png y jpg, pero acarrean un problema, ya que usan algoritmos de conprecion trabajar directamente con ellos consume mucho recursos por lo que se debe hacer una conversión a un formato mas simple da el caso del bmp, tif, etc.

BPP (Bits por Pixel)
Otra características de las imágenes es la profundidad de colores. (números de bits que se usan para representar un color en particular), el numero de bits que podemos utilizar es de 2, 8, 16, 24, 32 (como ven todo en potencias de 2) siendo 32 bits la mas alta resolución posible. El numero de combinaciones posibles se calcula de la siguiente forma: }}