jueves, 26 de noviembre de 2015

Una introducción a la programación de videojuegos

En esta entrada hablare sobre la información que vengo recopilando desde ya hace un tiempo sobre este complejo tema, como los lenguajes predominantes en la programación de juegos y por que algunos no lo son, también mencionare algunos de los motores gráficos mas recomendables, señalando algunas de las funcionalidades que todo novato debería conocer.

Para compensar empezaré desde lo mas superfluo y asta los un poco mas específicos hasta este punto ya deberíamos tener claro que necesitamos un lenguaje de programación..

Bueno para compensar claros y concisos tengo que decir que lenguaje por excelencia usado en la historia del desarrollo de los videojuegos profesionales ha sido C y desde la última es C++, debido a las ventajas que este posee, ya que hace uso del paradigma de la programación orientada a objetos, aunque también podemos usar características de la programación procedimental de C, además de esto hay que tener en cuenta c++ es un lenguaje de programación de bajo nivel por lo tanto llega al hardware mucho antes que un lenguaje de alto nivel como Java por lo que c++ termina dando resultados mucho más fluidos.

Hoy en día disponemos de un conjunto de bibliotecas que nos facilitan el uso de estructuras de datos en nuestros programas, estamos hablando de la biblioteca STL (Standard Template Library), la cual ya es un standard de C++, y lo podemos encontrar en todos los compiladores actuales.

Lo siguiente que necesita un desarrollador especialmente si va en solitario es un buen "Game engine" o "Motor de juegos" que nos facilitaran una gran cantidad de rutinas básicas y avanzadas que serán comunes y repetitivas en cualquier proyecto que vayamos a realizar, como por ejemplo al momento de cargar imágenes.

Hoy en día existen una gran variedad de motores completos y motores gráficos como OGRE 3D que es un motor gráfico gratuito con "open-source" para que el usuario pueda crear aplicaciones desde el lenguaje C++. OGRE 3D su propósito principal es proveer una solución general para el renderizado de gráficos. A pesar que incorpora otras características (clases de vector y matrices, manejo de memoria, etc.), son consideradas suplementarias. No es una solución todo-en-uno desde el punto de vista del desarrollo de juegos o simulación ya que no provee soporte para físicas y audio pero ante esto se puede acotar que OGRE como un motor gráfico otorga a los desarrolladores la libertad de usar librerías de física, entrada, audio y otras que deseen.

http://m.youtube.com/#/watch?v=obWkjRIVvBQ

No cuenta con interfase gráfica pero puede ser fácilmente integrado a otros compiladores de c++ como CodeBlocks, Dev c++ inclusive al visual c++ en el visual studio.

http://m.youtube.com/watch?v=xtSW4tHgH48

Además de este motor de código libre existe una gama inmensa de motores de juegos que nos facilitan mucho la tarea, también se encuentran los muy complejos ahí libres como hay de pago pero pero muchos de estos nos veremos en posteriores entradas.

2 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Un lenguaje de programación que esta bolbiendose popular actualmente es python y hay un buen gane engine que aprovecha este lenguaje.

    ResponderEliminar