sábado, 28 de noviembre de 2009

Creación de game engine y editor de niveles.

En el mundo de los videojuegos la creación de un game engine no es una tarea sencilla, ya que para poder implementar un motor se requiere de conocimientos en diversas área técnicas, tales como el manejo de APIs gráficas (OpenGL, DirectX), sonidos, física, inteligencia artificial, y muchas otras.

A nivel de desarrollo amateur muchas veces conviene hacer uso de uno de los múltiples motores disponibles para poder llevar a cabo la implementación de un videojuego. Sin embargo, para las personas que desean hacer del desarrollo de juegos una actividad profesional (por ejemplo, como Ingeniero de Desarrollo), es altamente recomendado el poner en práctica los conocimientos de programación y de diseño de interfaces para programar un game engine y un editor de niveles.

Es así como desde hace algunos años he destinado tiempo de mis ratos libres para trabajar en un proyecto personal de desarrollo de un game engine 3D orientado a juegos en tercera persona. A pesar de haber estudiado Ingeniería Civil en Computación, esto me ha servido para refrescar y profundizar mis conocimientos en el área de modelamiento geométrico, física newtoniana, inteligencia artificial (máquinas de estados finitos, lógica difusa), y muchos otros conceptos que si bien pueden llegar a sonar un poco complejos y/o abstractos, se entienden muy bien al momento de aplicarlos en el computador y observarlos de forma visual.

A continuación publico una imagen del editor de niveles que he desarrollado, el cual permite entre otras cosas cargar modelos 3D en distintos formatos (COLLADA, 3DS/MAX, MD5, OBJ, etc), los cuales pueden ser posicionados en un mundo tridimensional (coordenadas X, Y, Z), y esta información es almacenada en formato XML como parte de un nivel de un juego.





Como dato final, puedo decir a modo personal que una de las cosas más complicadas en la creación de un editor de niveles es la usabilidad de las herramientas que uno dispone para que sean utilizadas por los diseñadores de los juegos, ya que la idea es que el editor sea lo más cómodo, fácil de usar y que no sature al usuario con múltiples barras de herramientas, botones y otros artefactos, pero siempre teniendo en cuenta que el editor no debe sacrificar el potencial de las múltiples funcionalidades que están disponibles para diseñar el videojuego.

1 comentario:

  1. Wholas Milko! Acabo de conocer tu blog, así que ahora tendrás un nuevo lector :)
    Te felicito por tu engine (al que le has dedicado mucho esfuerzo) veo que lo has avanzado mucho.
    Parece que ya tendrás una sección de downloads :)

    ResponderBorrar