August 30th, 2006

You Know your game is in trouble when

Gracias a gamedev.net hace algún tiempo me encontré con esta graciosa pagina donde desarrolladores terminan la frase de “You know your game is in trouble when…” (sabes que tu juego esta en problemas cuando…), eh aquí la traducción de algunas de mis favoritas:

- … cuando jesus aparece en tus mapas de textura.
- … cuando uno de los ingenieros pregunta “¿es una explosión o un árbol?”.
- … cuando el manager dice que licencio la engine de quake 3, y el juego es un 2d plataforma…
- … cuando terminas el diseño, te sientas por un momento y te preguntas “¿por que esto me suena familiar?”
- … cuando terminas el juego y te das cuenta que tu compañía no hara mas juegos
- … cuando los desarrolladores de software empiezan a llevarse a casa todas sus pertenencias.
- … cuando has dormido 2 horas las ultimas 3 noches sobre el escritorio y te empiezas a dar cuenta que es muy cómodo.
- … cuando el artista principal dice “hey, intentemos este juego 3d”
- … cuando el programador principal pregunta “hey, ¿cual es la diferencia entre una función y una macro?”.
- … cuando preguntas al productor por la IA y el responde “esos generadores de números aleatorios pueden hacer cualquier cosa” en una voz apagada.
- … cuando el diseñador mira el editor de mapas del juego y dice “hey, ¿se da cuenta que el juego no sera basado en tiles?”.
- … cuando el productor dice “a mi esposa no le gusto eso, así que vamos a cambiarlo”.
- … cuando el jefe insiste que se necesitan agregar 300+ polígonos al busto del personajes femenino porque “… los jugadores no juegan con personajes cuadrados”.
- … cuando el jefe de programadores pregunta “¿que es un vector?”.
- … cuando la publicidad del juego utiliza el 99% del presupuesto.
- … cuando el diseñador del juego le pregunta al programador principal si el juego al fin es 3d o no.
- … usted es el programador. Ellos despidieron al productor. Ellos no tienen intención de contratar uno nuevo. Usted ahora se reporta directamente con el jefe de Marketing. Usted esta en el Infierno.
- … cuando usted se pregunta si optimizando el contador de fps podrá optimizar los fps (nota: fps, frames per second, frames por segundo).
- … y usted dobla sus fps haciéndolo.
- … cuando su artista principal es reemplazado por una persona cuyo titulo anterior fue “conductor de camión”.
- … cuando la IA dice, en una voz calmada y tranquilizadora, “Temo que no puedo dejarte hacer eso, Dave…”.
- … cuando a mitad del desarrollo el jefe dice “bueno, el juego no sera por turnos, será en tiempo real”.
- … cuando el motor del juego no funciona, a menos que este en modo depuracion.
- … cuando usted piensa que el juego sería mas comercial, ofreciendolo como un salva pantallas.
- … cuando el equipo de desarrollo empieza a racionar el cafe.
- … cuando el productor se compra una bolsa de dormir.
- … cuando el programador principal acude al exorcismo para eliminar bugs.
- … cuando el computador sufre un daño grave y se pierden todos los datos del juego y el desarrollo … y todos se sienten aliviados.
- … cuando se dan cuenta que la experiencia previa del programador principal es programar bases de datos RPG (no Role Playing Games).
- … cuando correr el juego se convierte en una forma sencilla de reiniciar el computador.
- … cuando el programador GUI habla de como hace las cosas Office.
- … cuando el programador principal ve a “Aprenda usted mismo c++ en 10 minutos” como una referencia completa.
- … cuando el coprogramador pregunta “¿que significa v-a-r-i-a-b-l-e?”.
- … cuando lo máximo que se pueden obtener son 20 fps, cuando no se dibujan los polígonos.
- … cuando el productor dice “sabemos que el juego apesta, pero ya no podemos cambiarlo”.
- … cuando a la edad de 23 empiezas a soñar con retirarte.
- … cuando el programador principal decide dos meses antes de la entrega borrar todo y empezar desde cero.

August 27th, 2006

Lightwave 9
Hace un par de meses NewTek lanzo al mercado la nueva versión de Lightwave, la versión 9.0 con nuevas promesas para la industria del CG, pero al parecer muy pocos avances para los desarrolladores en tiempo real como es el caso de los modeladores - animadores 3d para videojuegos. Estas son algunas de la nuevas características en Lightwave 9:

- Cambio de la interfaz: Realmente solo cambiaron de lugar algunas cosas, quitaron el “load object from layer” por ejemplo, que aparece en la versión 8.5.

- Optimizacion del render: Según prometen en la pagina, las escenas que usen raytrace y volumétricos aumentaran sensiblemente en su velocidad de render, algunas pruebas que he hecho efectivamente muestran mejoras significativas. También optimizaron la renderizacion de escenas complejas, mediante el uso de de un algoritmo bsp/kd (mejora la velocidad al eliminar polígonos ocultos de los cálculos)

- El modeler ya no se queda estancado en un ángulo muerto, gracias a que ahora las rotaciones se hacen por quaternions

- Ahora se pueden editar y animar los lados de los polígonos (al fin)

- Hay un manipulador de tiempo para hacer efectos estilo slow-motion(bulletime por ejemplo), o fast-motion.

- Ahora se pueden previsualizar mas cosas en el Layout, gracias a la implementación de OpenGL 2.0.

- Algunos shaders extra como el sub-surface scattering.

A pesar de mi preferencia por este paquete 3d, hay que aceptar que con el pasar del tiempo LightWave no ha mejorado su acogida entre los desarrolladores de videojuegos, menos aún frente a un 3ds max que mejora a pasos gigantes su soporte a la industria, aportando herramientas para modelado y animación muy eficientes a la hora de desarrollar juegos. Lightwave 9 a pesar de todo lo prometido parece un producto sacado demasiado aprisa, falto de mejoras reales frente a su versión anterior, la 8.5.

August 19th, 2006

starUML Logo

StarUML es una herramienta para el modelamiento de software basado en los estándares UML (Unified Modeling Language) y MDA (Model Driven Arquitecture), que en un principio era un producto comercial y que hace cerca de un año paso de ser un proyecto comercial (anteriormente llamado plastic) a uno de licencia abierta GNU/GPL.

El software heredó todas las características de la versión comercial y poco a poco ha ido mejorando sus características, entre las cuales se encuentran:

* Soporte completo al diseño UML mediante el uso de.

- Diagrama de casos de uso
- Diagrama de clase
- Diagrama de secuencia
- Diagrama de colaboración.
- Diagrama de estados
- Diagrama de actividad.
- Diagrama de componentes
- Diagrama de despliegue.
- Diagrama de composición estructural (UML 2.0)

* Definir elementos propios para los diagramas, que no necesariamente pertenezcan al estándar de UML,

* La capacidad de generar código a partir de los diagramas y viceversa, actualmente funcionando para los lenguajes c++, c# y java.

* Generar documentación en formatos Word, Excel y PowerPoint sobre los diagramas.

* Patrones GoF (Gang of Four) , EJB (Enterprise JavaBeans) y personalizados.

* Plantillas de proyectos.

* Posibilidad de crear plugins para el programa.

En definitiva esta es una de las mejores alternativas gratis que hay en Internet para el modelamiento de software y probablemente una gran ayuda a la hora de programar juegos.

August 15th, 2006

Game Developer Magazine

Pagina oficial del Game Developer Magazine, una de las mas importantes y tal vez mas antiguas (con continuidad claro) revistas para desarrolladores de videojuegos. Las secciones de esta revista abarcan bastantes temas de desarrollo, como son diseño, programación arte, negocios y temas de conexion con la industria actual. Personalmente me gustan los postmorten de juegos, algunos de los cuales se consiguen en gamasutra.com , como este postmortem de Diablo II (necesita estar registrado).

Actualmente ofrece versiones alternativas a la revista impresa, pudiendo incluso comprarse las revistas desde el año 1994 en edición digital (cd-rom) o la edición digital actual a cerca de 4 dolares. Tambien es posible conseguir el codigo fuente de la columna de programación en este enlace , organizados por el mes y el año en que aparecieron.

August 13th, 2006

Este tutorial hace un breve repaso de tres conceptos importantes en la realización de aplicaciones con OpenGL, las convenciones del API, los tipos de datos manejados por este y los estados, con los cuales se controla gran parte del proceso de render.

TIPOS DE DATOS

Al igual que c, c++ y todos los lenguajes de programación definen unos tipos de datos básicos para representar valores de verdad, enteros, flotantes, bits y caracteres, OpenGL define sus propios tipos de datos que permiten trabajar de manera mas uniforme sobre el API en diferentes compiladores y sistemas operativos. Los tipos de datos en OpenGL son los siguientes:

Continuar Leyendo… »