December 23rd, 2006

Con motivo de estas navidades le he puesto el script de dynamic drive a la página, para que así sea navideña e ilegible (jo jo jo), y para que ejerciten algo los abdominales un clásico navideño: Weird Al Yankovic - The Night Santa Went Crazy

La letra, para el que no se sabe este clásico:

Down in the workshop all the elves were makin’ toys
For the good Gentile girls and the good Gentile boys
When the boss busted in, nearly scared ‘em half to death
Had a rifle in his hands and cheap whiskey on his breath
From his beard to his boots he was covered with ammo
Like a big fat drunk disgruntled Yuletide Rambo
And he smiled as he said with a twinkle in his eye,
“Merry Christmas to all - now you’re all gonna die!”

The night Santa went crazy
The night St. Nick went insane
Realized he’d been gettin’ a raw deal
Something finally must have snapped in his brain

Well, the workshop is gone now, he decided to bomb it
Everywhere you’ll find pieces of Cupid and Comet
And he tied up his helpers and he held the elves hostage
And he ground up poor Rudolph into reindeer sausage
He got Dancer and Prancer with an old German Luger
And he slashed up Dasher just like Freddy Krueger
And he picked up a flamethrower and he barbequed Blitzen
And he took a big bite and said, “It tastes just like chicken!”

The night Santa went crazy
The night Kris Kringle went nuts
Now you can’t hardly walk around the North Pole
Without steppin’ in reindeer guts

There’s the National Guard and the F.B.I.
There’s a van from the Eyewitness News
And helicopters circlin’ ’round in the sky
And the bullets are flyin’, the body count’s risin’
And everyone’s dyin’ to know, oh Santa, why?
My my my my my my
You used to be such a jolly guy

Yes, Virginia, now Santa’s doin’ time
In a federal prison for his infamous crime
Hey, little friend, now don’t you cry no more tears
He’ll be out with good behavior in 700 more years
But now Vixen’s in therapy and Donner’s still nervous
And the elves all got jobs working for the postal service
And they say Mrs. Clause, she’s on the phone every night
With her lawyer negotiating the movie rights

They’re talkin’ bout - the night Santa went crazy
The night St. Nicholas flipped
Broke his back for some milk and cookies
Sounds to me like he was tired of gettin’ gypped

Wo, the night Santa went crazy
The night St. Nick went insane
Realized he’s gettin’ a raw deal
Something finally must have snapped in his brain
Wo, something finally must have snapped in his brain
Tell ya, something finally must have snapped… in his brain

Y que el próximo año nos traiga juegos terminados y mas de 4 horas de sueño al día.

December 22nd, 2006

Este tutorial muestra las bases necesarias para crear animaciones simples en OpenGL, incluyendo los conceptos de doble buffer, la coordinación de frames por tiempo y pasos. Al igual que en los anteriores tutoriales se dará un ejemplo aplicativo, aunque en este caso está hecho en Visual C++ Express.

La Animación.

Cualquier forma de animación, bien sea esta al estilo antiguo de Disney (frames hechos a mano), cine, animaciones gif, videos de computadora y videojuegos utiliza una técnica que consiste en mostrar rápidamente, a entre 30 y 60 cuadros por segundo (fps) un conjunto de imágenes que varían de forma ligera, para crear la sensación de movimiento aprovechando una característica de la visión humana llamada persistencia de la visión.

En el caso particular de los videojuegos, los frames se hacen mezclando un conjunto de figuras bidimensionales (sprites) o haciendo complejos cálculos sobre la manera en que se vería una proyección bidimensional de una escena “abstracta” tridimensional (3d), o una mezcla de ambas, y realizando en cada caso un cálculo del pequeño movimiento que debe hacer cada objeto para dar una sensación fluida de animación.

EL BUFFER DOBLE

Se ha mencionado ya que para poder dar la sensación de movimiento es necesario mostrar cerca de 30 cuadros por segundo. El problema es que el computador no genera “instantáneamente” la imagen a partir de los sprites o la escena 3d, por lo que si se posee una sola área de dibujo en la memoria se verán molestos intervalos entre un frame y otro (mientras se hacen los cálculos y se realizan movimientos de memoria). Es en este sentido que la estrategia de múltiples buffers, dos en este caso funciona.

Continuar Leyendo… »

December 19th, 2006

SourceForge.net es sin duda una de las mas grandes paginas donde se encuentran alojados proyectos Open Source en desarrollo, terminados y sin duda es una mina de oro para el desarrollo de videojuegos, ya que permite encontrar herramientas que de otro modo desfondarían los bolsillos de desarrollador StandAlone o de pequeños grupos. He aquí algunos proyectos interesantes que sirven de soporte para el desarrollo de videojuegos (seguro que me hacen falta):

  • Inkscape: Dibujador vectorial al estilo del Adobe Ïlustrator, CorelDraw, claro esta mas sencillo
  • K-3d: Un modelador 3d, no será el reemplazo de Blender o 3ds Max, pero tambien es bueno
  • Wings 3d: Otro modelador por subdivision, a este le tienen mucha estima en las comunidades y se dice que es mejor que Blender para modelamiento
  • Gimp: Ya se que gimp no está dentro de SourceForge, pero si es cierto que tiene bastantes proyectos relacionados adentro, aquí uno, el gimp para Windows. La página principal de este proyecto es http://www.gimp.org/
  • Crystal Space 3D SDK: Motor gráfico de los mas antiguos y mejor conservados. Se ha utilizado para hacer proyectos como el Mmorpg PlaneShift y el rpg aventura Bonez.
  • Cal3D - 3d character animation library: Una libreria de animación de personajes basada en la tecnologia de huesos.
  • OGRE (O-O Graphics Rendering Engine): Tal vez uno de los proyectos de motor gráfico Open Source mas reconocidos, principalmente por ser OO e incorporar muchas características que se pueden ver en otros motores comerciales.
  • Irrlicht Engine: Un motor gráfico que ha venido cobrando fuerza principalmente por su simplicidad, tecnología reciente y buena cantidad de caracteristicas.
  • Audacity: Editor de audio, nunca lo he probado pero es bueno saber que está ahí para cuando se le necesite.
  • Open Dynamics Engine (ODE) Otro anciano proyecto, es una librería de simulación física muy completa y eficiente, aunque algo compleja.
  • Allegro game programming library: Una libreria que provee muchas funciones utilitarias para la programación de videojuegos, muy utilizada entre personas que quieren aprender a hacer videojuegos sin complicarse demasiado.
  • Boost C++ Libraries Un buen agregado a las librerias estandar de C++, permitiendo hacer cosas que de otra manera eran tediosas (serialización en C++, oh si).
  • MinGW - Minimalist GNU for Windows Un compilador GNU de C++ para windows, muy utilizado por los IDE openSource.
  • Dev-C++ Un IDE para C++ mas bien pequeño y no muy de mi gusto, pero a otros les encanta, así que hay que mencionarlo. Puede utilizar GCC, Mingw o Cygwin como compiladores.
  • Code::Blocks Un IDE para C++ bastante bueno (hay que ver que al Visual Studio le falta mucho para ser Eclipse, a este le falta menos). Buena cantidad de plugins y una buena comunidad que soporta el proyecto.
  • Nullsoft Scriptable Install System: Para los que saben que es Winamp o lo ha utilizado recordará ese instalador tan particular que tiene, la gente de Nullsoft ha decidido ponerlo Open Source para que todo el mundo pueda usarlo y modificarlo a su antojo.

Esos son todos los proyectos de los que tengo referencia en SourceForge.net relacionados con el desarrollo de videojuegos, si alguien tiene mas no dude en agregar un comentario al respecto.

December 17th, 2006

Endorphin screenshot

Hace poco mas de una semana que DevMaster.net y otros canales anunciaron la disponibilidad de la Version 2.7 de este software, al mismo tiempo que la apertura a una version educativa del mismo (Endorphin Free Learning Edition). Creo que la primera vez que escuché acerca de este software fué en un programa de Discovery Channel (Beyond Tomorrow creo) donde se le denominaba de “sintesis de movimiento” o “dobles de riesgo virtuales”.

La síntesis de movimiento, particularmente en Endorphin, en es una forma de animación que combina técnicas convencionales por frames, datos provenientes de la captura de movimiento (motion capture), simulación física e Inteligencia Artificial aplicada a actores virtuales, lo que permite crear una variedad de animaciones para los personajes, que de otra manera sería muy riesgoso realizar por motion capture o muy dispendioso a través de frame-to-frame.

Para utilizar la versión educativa de este producto basta entrar a la página, descargar el software (41 mb) y registrarse en la comunidad para obtener la clave de instalación del producto. El software tiene las mismas funcionalidades del comercial, no tiene restricciones de tiempo, pero como es usual en las versiones educativas,no puede ser usado con fines comerciales y los datos resultantes de las simulaciones no pueden ser exportados a otros formatos.

Por supuesto ya me descargué la versión educativa y la he estado probando un par de días, cabe anotar que para las personas que están acostumbradas a la animación frame-to-frame la interfáz resulta intuitiva, es similar a la del Flash Professional, con la salvedad de que no se agregan poses a los distintos componentes de la escena, sino que los actores se mueven de acuerdo a propiedades físicas, datos de moCap que se le asocian al ragdoll y diferentes “motivaciones” que se le agregan al personaje de IA. Existen unos ejemplos bastante curiosos, donde los pobres ragdolls son embestidos por automóviles, caen de edificios, se le dispara con flechas, etc.

Es una opción interesante para aprender de esta “nueva” técnica de animacion de personajes, pero si está pensando utilizarla con fines comerciales, pues es mejor que tenga listos los cerca de $10.000 dólares que vale la licencia, o los $1.200 que vale el “alquiler” mensual del producto.