Mostrando entradas con la etiqueta multimedia. Mostrar todas las entradas
Mostrando entradas con la etiqueta multimedia. Mostrar todas las entradas

Una revisión de entornos de aprendizaje virtuales

Presentación de Ruth Martinez, administradora de una gran comunidad educativa en Second Life. Para avivar la imaginación y pensar hacia el futuro. Atención a la diapositiva 22.



Más información en el blog de la autora.

Desarrollo de Juegos

Mi nombre es Nicolás Castagnet. No soy parte directa del plan Ceibal, sin embargo, una de las áreas en que trabajo es en el desarrollo de juegos y hace algunos fines de semanas atrás estuve en el Ceibal Jam probando las XO y la plataforma PyGame para hacer videojuegos. Les escribo para compartir mi experiencia...

Experiencia en el primer Ceibal Jam
Uno de los temas que despertó el interés en varios de los participantes fue la creación de juegos. Estos pueden brindar un camino para acercar más las computadoras a los niños, y a través de actividades divertidas trasmitirles conocimientos que los ayuden a formarse y educarse.

Dentro de los asistentes al Jam se observó la preocupación en algunos profesores y padres de que los niños puedan instalar juegos con violencia dentro de las XO, sin embargo, no necesariamente todos los juegos son malos, y tampoco la educación tiene porque ser aburrida. Así que siendo un poco creativos tal vez podamos encontrar motivos para que los niños se diviertan y al mismo tiempo aprendan algo nuevo. En definitiva, a quien no le gustaba jugar cuando era niño!

Dentro del Jam, se tocaron distintos temas relacionados con juegos:

  • Se instaló GBrainy en una XO (un juego que ayuda a desarrollar el pensamiento lógico). El mismo se pudo instalar y ejecutar sin ninguna dificultad. Quedó pendiente traducirlo de inglés a español.
  • Uno de los grupos se dedicó a aprender PyGame (una librería para hacer juegos con Python) y desarrollar un prototipo de un juego, el cual consistió en desplegar varias imágenes y seleccionar cuál es no es de la misma categoría. Al final del domingo el grupo mostró en una de las XO un prototipo funcionando desarrollado enteramente en el Jam.
  • El grupo en que estábamos nosotros se ocupó de trasladar a las XO un prototipo que desarrollamos con PyGame en una computadora convencional y explorar cómo se comportaba (abajo se comenta la experiencia).
  • También hubo otros grupos que trabajaron en escribir código y trasladar juegos ya construidos en PyGame a las XO.
Desarrollando juegos en las XO
Construir un juego no es una tarea fácil, requiere de equipos multidisciplinarios que combinen artistas, músicos, programadores y también diseñadores que logren hacer juegos divertidos. En esta sección se describirá únicamente el aspecto técnico narrando nuestra experiencia al correr en las XO un prototipo de juego hecho en PyGame.

Al desarrollar un juego hay varios aspectos técnicos que tener en cuenta, como la velocidad con que va a correr el juego, cuánto espacio ocupará, cuando tiempo se necesitará para descargarlo, etc. Las computadora de hoy día han avanzado mucho, y si hacemos juegos sencillos no es tan difícil resolver estas dificultades. Sin embargo, la XO nos impone niveles de exigencia mayores, ya que el juego debe correr en una computadora con un procesador más lento, además es deseable que se pueda bajar por Internet y no requiera mucho espacio para que entre junto con otras aplicaciones en la memoria Flash de 1GB de la XO.

A muchos de nosotros que no somos niños, el Ceibal Jam nos brindó la oportunidad de tener en nuestras manos una XO y jugar con ella. Así que a la mañana del sábado llegamos con un notebook, un pequeño prototipo desarrollado en PyGame y varias preguntas: ¿tendremos que hacer cambios para que ande en las XO?, ¿funcionará rápido?, ¿se tendrán que instalar paquetes adicionales para correr PyGame?

Imagen del prototipo

La primera experiencia fue muy grata. Básicamente, copiamos el prototipo a un PenDrive, lo enchufamos en uno de los puertos USB de la XO, abrimos una línea de comando en la ruta del PenDrive, ejecutamos "python main.py" y el juego estaba andando!. Las librerías de PyGame ya vienen instaladas en las XO, y no fue necesario hacer ningún cambio para correr el mismo código que corre en Linux y Windows dentro de las XO. Si bien el juego funcionaba más lento que en nuestro notebook, corría a una velocidad muy buena (180 frames por segundo).

Aunque hubo un aspecto que saltó a primera vista. El juego se veía chico, utilizaba sólo 1/4 de la superficie de la pantalla. Al desarrollar el prototipo asumimos que la resolución de las XO a color es de 600x450, sin embargo el juego corría a 1200x90. Así que en el resto del Jam nos dedicamos a intentar solucionar este problema.

Luego de observar más detalladamente la documentación cómo es soportado PyGame para las XO descubrimos que sólo se soporta el modo 1200x900 y no se puede utilizar otro modo. Así que si queremos trabajar en esta plataforma tendremos que hacer juegos a esta resolución. Esto puede parecer bueno, ya que al menos en mi notebook no puedo correr un juego a esa resolución en pantalla completa, sin embargo, introduce un problema de almacenamiento y eficiencia. Hacer un juego a 1200x900 implica que si vamos a utilizar imágenes (.jpg, .png, .gif) vamos a tener que almacenarlas con resoluciones altas y esto puede requerir mucho espacio. Otra alternativa es escalar las imágenes con PyGame a través de programación, esta última fue la alternativa que seguimos y los resultados fueron muy satisfactorios. Es decir, tomamos las imágenes para 600x450 y duplicamos su resolución en tiempo de ejecución. Ahora el juego pasó a aprovechar toda la pantalla, sin aumentar el tamaño de las imágenes almacenadas y sin defectos visuales notorios. El único deterioro fue en la velocidad, pasó a funcionar a 60 frames por segundo, sin embargo, sigue siendo una velocidad buena para el prototipo que se probó.

Conclusiones de la experiencia de correr PyGame en las XO
Python brinda un lenguaje sencillo y adecuado para hacer juegos. Con poco código se puede tener rápidamente un juego funcionando. Uno de los cuestionamientos que se le hace a Python como plataforma para desarrollar juegos es que pueda introducir problemas de eficiencia por ser un lenguaje dinámico. Sin embargo, el mayor uso de tiempo de procesamiento generalmente está en las librerías gráficas, y PyGame brinda una alternativa eficiente al estar basada en la librería SDL implementada en C/C++. En síntesis, la combinación Python + PyGame brinda una plataforma potente y eficiente para desarrollar juegos en las XO (además se puede contar con un entorno de desarrollo moderno utilizando Eclipse + PyDev).

Las XO tienen una resolución alta (1200x900), lo cual implica que se debe tener cuidado en cómo es manejan los gráficos, ya que las computadoras tienen un espacio de almacenamiento limitado (menos de 1GB) e idealmente las aplicaciones deberían poderse descargar de Internet. En la experiencia se probó expandir las imágenes utilizando las librerías de PyGame y se obtuvieron buenos resultados tanto visuales como de almacenamiento y eficiencia.

Aquí se deja el código completo del prototipo que se desarrolló: Código

Si quieren hacer consultas adicionales o compartir experiencias pueden comunicarse conmigo en: nico@trojanchicken.com

Adicionalmente, este articulo quedó publicado en forma de wiki en http://wiki.laptop.org/go/Ceibal_Jam/DesarrolloJuegos para que también otros puedan hacer aportes.

Algunas aplicaciones educativas con XO

La campaña "Un computador por niño" (UCPN) de Chile viene trabajando activamente buscando convencer a su gobierno de que comience un proyecto 1:1, en lo posible con laptops XO. En este sentido, han tenido un resultado alentador recientemente, según nos cuenta uno de sus impulsores, Pato Acevedo:

Como UCPN hemos obtenido de parte de nuestro Gobierno la apertura a la posibilidad de testear computadores educativos en modelos 1:1. Pretenden hacer un estudio simutaneo con Classmates, EEE asus y OLPC, donde un consorcio de Universidades y Fundaciones propondría los modelos. Tomamos contacto con Brigstar en Chile para ver si pueden conseguir los equipos para el estudio, pues desde OLPC no hay muchas ganas al parecer.
Felicitaciones a los compañeros chilenos por sus avances. Y también por los materiales educativos en los que han estado trabajando, de los cuales incluyo 3 videos a continuación:

1. Sintetizador de voz.


Ver más información en blog de UCPN.

2. Cuestionarios en el laptop.


Ver más información en blog de UCPN.

3. Animaciones interactivas


Ver más información en blog de UCPN.

Todos estos programas se pueden descargar de la página de Actividades de OLPC (por el momento solo en inglés).

Entradas anteriores sobre tema: multimedia

A continuación se linkean los posts anteiores al 21 de Mayo de 2007 marcados con el tag: multimedia.