July 1st, 2006

Core Techniques and Algorithms in Game Programming
Este libro es bastante extenso (888 paginas) , porque abarca una gran cantidad de temas relacionados con la programacion de videojuegos, pero por esto mismo no los trata a profundidad (existen capitulos cuyo tema generalmente es tratado por varios libros). Aun asi es importante destacar que el libro da un panorama técnico amplio de los conocimientos para hacer un videojuego, hay que decir, de manera algo desordenada.

El libro trata los temas de arquitectura, estructuras de datos, patrones de diseño, input, ai, scripting, redes, graficos 2d, 3d, render de interiores, exteriores, cinematografia en videojuegos, shaders, textures, particulas, renderizacion orgánica, procedual, algoritmos geométricos, rendimiento, OpenGL, DirectX y matemáticas , ¡un increible promedio de 32 hojas por capítulo! (contando los apendices).

Vale la pena, como apunte final, que este libro no es para principiantes, pero tampoco es para avanzados en el tema de la programacion de videojuegos, mas bien es un compendio de algoritmos sobre diversos temas para aquellos que ya han explorado un poco el terreno.

June 23rd, 2006

Este articulo parte desde el punto en que existe una idea definida de un videojuego, con suerte ya existe algo escrito al respecto (asi sea en una servilleta de papel) y realmente no pretende explorar esta parte de la creación de un videojuego.

Las etapas propuestas en este articulo se refieren a lo que algunos autores recomiendan y un poco a la aplicacion en la realidad , por tanto no deben ser tomados como pasos absolutos, sino como una guia. Ademas el artículo esta mas orientado hacia la creacion de videojuegos en grupos pequeños y cuyas aspiraciones no sean aún comerciales, por lo que no se habla del manejo financiero,marketing del proyecto ni el outsourcing de partes del desarrollo.

La primera pregunta que generalmente ocurre a las personas que se estan iniciando en el desarrollo de videojuegos es precisamente ¿Por donde empiezo?:

Continuar Leyendo… »

June 20th, 2006

SoftwareEngineering

Al contrario de lo que pueda sugerir para algunos el titulo de este libro, no se trata solo de programacion de videojuegos. De hecho este libro es un buen complemento para libros de corte puramente tecnico o puramente gerencial por su orientacion hacia el proceso, pero desde la perspectiva del desarrollador.

El libro comienza con las fases de preparacion y diseño, marcando especial importancia en la búsqueda de requerimintos (el libro se “salta” la fase donde se desarrolla el documento de diseño del juego y lo da por hecho), seguido por un repaso de UML, diseño de software en general, el reuso ( especialemente en c++), la orientacion a objetos, y por ultimo sobre esta misma temática, los patrones de diseño.

Los capitulos siguientes se enfocan mas en el proceso de desarrollo, cubriendo los temas de análisis de riesgo, diseño iterativo, manejo de versiones, pruebas, métricas , manejo de grupos , mejora de procesos, plan de lanzamiento (alpha, beta, produccion estable y mantenimiento) y documentacion.

El ultimo capitulo ( el numero 19) hace una reflexion sobre el desarrollo de la industria en general, sobre la calidad de los productos, los procesos y hasta sobre la ética para los desarrolladores de software (segun IEEE).

June 17th, 2006

En el mundo real todas los objetos al ponerse en “contacto” reaccionan: chocan, se deslizan, rebotan, se rompen y todas los otros comportamientos que observamos a diario. En el caso de los videojuegos es muy importante tener un método (o varios) para saber cuando ocurre esto y actuar de manera adecuada, puesto que como se trata de una aplicación en tiempo real, no podemos precalcular en la mayoría de casos dichos eventos. Cuando estemos implementando propiamente un método es importante tener en cuenta los siguientes factores:

  • Uso de recursos: Se refiere a cuanta memoria y uso de procesador requieren las operaciones que estamos realizando para calcular si existe o no la colisión.
  • Colisiones falsas: Cuando utilizamos aproximaciones a las colisiones puede que estas no sean correctas gráficamente, aún cuando el algoritmo reporte una colisión.
  • Colisiones faltantes: El algoritmo fallará al intentar hallar estas colisiones (no las reporta).
  • Escalabilidad: Qué numero de objetos puede llegar a abarcar el algoritmo sin que falle en alguno de los casos anteriores.

Continuar Leyendo… »

June 10th, 2006

Por Camilo Alvarez.

Recientemente el grupo al que pertenezco se vio enfrentado a una falta de espacios y tiempos comunes para el desarrollo de proyectos de videojuegos. La solución que mas se ajusto fue el uso de internet para comunicarnos, especificamente se hicieron intentos a través de servicios de chat como Microsoft messenger, sitios de trabajo para grupos como Yahoo groups, Google groups y tambien el uso directo de correo electrónico.

Los chats presentan la desventaja de requerir tiempos en comun y no tienen herramientas diseñadas para el trabajo de grupo, mientras que los groups tienen un diseño orientado a una colaboracion muy general entre grupos, finalmente el correo es engorroso, porque generalmente se ve mezclado con otros tipos de actividades.

Navegando un poco en Internet se encontro una opcion mas viable y que se podia adaptar con facilidad a un trabajo de grupo tan especializado como la creacion de videojuegos, los GroupWare. Un GroupWare es una herramienta interaccion de grupo a traves de una red (Internet o Intranet), que funciona mediante un conjunto de aplicaciones de comunicacion, colaboracion y coordinacion. Dentro de esta categoria caben de cierta manera las aplicaciones estilo wiki y los foros.

Algunas opciones de GroupWare son:

 

Continuar Leyendo… »