Mañana sábado, Taller de creación de juegos de mesa en la UCAB

Mañana sábado 25 de mayo a las 8AM estaré en la UCAB de Caracas dictando un taller sobre creación de juegos de mesa, orientado principalmente a los participantes del concurso Premio a la Creatividad, organizado por la Línea Pedagógica de la universidad.

A pesar de que el concurso está orientado a los estudiantes de la universidad, el taller es abierto y es de entrada libre. La cita es en los salones de Proyección Social, Planta Baja del Edificio Centro de Educación Comunitaria – Parque Social Manuel Aguirre (es el área que está opuesta a la UCAB, caminando la pasarela).

El Concurso Premio a la Creatividad es un concurso para los estudiantes de la Universidad Católica Andrés Bello, en el que se pueden ganar dos becas de un semestre haciendo un juego de mesa para la ludoteca para la comunidad de Antímano. Si eres estudiante de la UCAB, revisa más información en la página del concurso o en su Twitter @premiocreativi.

Desarrollando videojuegos con cocos2d-html5 (5): Implementando los controles

Este artículo es la parte 5 de 6 de la serie Desarrollando videojuegos con cocos2d-html5

cocos2d-tutorial-5

Implementando los controles

En esta parte del tutorial veremos las tres formas básicas de controlar un juego. Veremos el código que hay que agregar para que un juego soporte el control del mouse (para navegadores de escritorio), para control con touch (para navegadores móviles, incluyendo multitouch), y soporte para el teclado.

En la sección anterior vimos cómo usar un tipo muy específico de nodo, el botón, que tiene una interacción limitada. A veces necesitamos hacer más con la entrada del jugador, y eso es lo que haremos hoy. Sigue leyendo Desarrollando videojuegos con cocos2d-html5 (5): Implementando los controles

Un currículum para C y C++ de bajo nivel en #AltDevBlogADay

#AltDevBlogADay es uno de los mejores blogs de desarrollo/programación de videojuegos que existen y debería formar parte de tu lectura habitual. Actualmente están publicando una serie de artículos que hablan sobre lo que deberías aprender para entender bien los fundamentos de implementación a bajo nivel de C y C++, más que enseñarte a ser programador de bajo nivel. Si eres capaz de entender estos conceptos, tendrás menos probabilidad de crear bugs y mayor facilidad en rastrearlos. Hasta ahora van doce artículos, así que tómate tu tiempo para leerlos, no son lecturas sencillas.

  1. Introducción
  2. Tipos de datos
  3. La pila
  4. Más sobre la pila
  5. Aún más sobre la pila
  6. Condicionales
  7. Más sobre condicionales
  8. Mirando ensamblador optimizado
  9. Loops
  10. Tipos definidos por el usuario
  11. Herencia
  12. Herencia múltiple

Unity básico ahora permite exportar gratuitamente a Android y iOS

Varias personas me han enviado los enlaces de Edgadget y Gamasutra sobre la noticia de esta mañana, que Unity ahora permitirá a los usuarios de la versión básica de su software exportar a estas dos grandes plataformas móviles. Anteriormente cada plataforma costaba 400$, por lo que representa una bajada de la barrera que muchos desarrolladores recibirán con agrado.

Las licencias Pro para estas plataformas siguen costando 1500$, y los usuarios de las licencias Pro de Unity las pueden comprar para exportar utilizando las características avanzadas de estos plugins.

Así que si no lo has probado, te recomiendo que descargues Unity y juegues un rato con él.

Modern GPU

Nvidia ha publicado en su cuenta de Github un manual sobre programación con el GPU llamado Modern GPU. Una suerte de librería, libro de algoritmos, tutorial y guía de mejores prácticas para el uso de CUDA, el framework para trabajar programación de propósito general con el GPU.

Recordemos que Nvidia ha publicado gratuitamente el contenido de su libro GPU Gems 1 para aprender la clase de cosas que se pueden hacer con buena programación para la tarjeta gráfica.

Zynga portea cocos2d-x a emscripten

ParticleTest-2 En el blog de Zynga revelan que han logrado portear cocos2d-x para que use emscripten. Hace unos días había mencionado unas láminas que hablaban de la posibilidad de correr código escrito con C++ sobre Javascript. Emscripten es el puente que hace este enlace, y que ahora haya la posibilidad de utilizar una librería tan eficiente como cocos2d le da mucho valor a esta plataforma. Ojalá salgo interesante de todo esto.

Signals and Slots con Boost (C++)

boost

Una de las herramientas más útiles que tengo a la hora de comunicar eventos que ocurren en una clase a otros sitios es el patrón de Observador, que en ActionScript 3 se manifiesta con el sólido sistema de eventos que forma parte de la librería básica de este lenguaje.

Lamentablemente, el sistema de eventos es prácticamente único dentro de AS3. Portear código basado en eventos a otras plataformas que no tengan esto incorporado no es sencillo. Así que una manera que he encontrado de trabajar más naturalmente ha sido los AS3 Signals, de Robert Penner, o su homólogo en Javascript, por Miller Medeiros. Basado en el sistema de Signals and Slots de la librería QT, se definen los signals como miembros públicos que se colocan dentro de un objeto. Otros objetos se suscriben a estas señales con una función de llamada de vuelta, que es llamada cuando la señal se emite. A estas funciones se les conoce como slots.

Esto es muy parecido a como funciona el sistema de eventos, pero a diferencia del de ActionScript 3, no requiere un sistema central que maneje los eventos. Cada señal mantiene registro de las funciones a las que debe llamar.

En C++ he conseguido que la implementación de signals con Boost, llamada signals2, es igualmente de útil y flexible que sus símiles en AS3 y JavaScript. Además de esto, la librería es thread-safe y se comporta bien con muchas plataformas, por lo que el código resultante es bastante porteable.

Boost es un compendio de librerías extremadamente grande, y que apenas estoy comenzando a explorar. El objetivo de este artículo es simplemente explorar lo que se puede hacer con signals2 para facilitar la comunicación entre clases. No está de más decir que necesitas comprender medianamente bien C++ para entender el tutorial. Sigue leyendo Signals and Slots con Boost (C++)