Especiales

Desarrollo tradicional vs Desarrollo de videojuegos [NB Original]

La pregunta que todo mundo hace, pero pocos responden…

Antes y Despues (c) Alebrije Estudios

Hace unos días, platicando con algunos estudiantes de Ingeniería en Sistemas, nos hicieron una pregunta muy interesante: ¿Cuál es la diferencia entre la programación para videojuegos y el desarrollo de software tradicional o aplicaciones?

En este post trataremos de dar una respuesta basándonos en nuestra experiencia y cómo hemos visto se han integrado los programadores tradicionales a la industria de los videojuegos. Para efectos del artículos a toda forma de código diferente a los videojuegos la llamaremos software o aplicaciones.

Debemos recordar que los videojuegos al final del día son una serie de líneas de código como también lo son los sistemas administrativos, las aplicaciones móviles, el software de producción. Los videojuegos también son software y por ende comparten muchas similitudes en el proceso de desarrollo.

De manera general, ambos pasan a través de un ciclo de diseño, desarrollo, pruebas e implementación y por lo mismo utilizan metodologías similares como el SCRUM, AGILE, Extreme Programming entre muchas otras. En ambos casos estas metodologías se adaptan al proceso iterativo de desarrollo pero comparten una base solida.

Orientado a Objetos (c) Alebrije Estudios

Los videojuegos y las aplicaciones comparten la mayoría de los paradigmas de programación, en otras palabras los estilos fundamentales de programación. Mencionar todos estos sería una tarea muy extensa y no nos gustaría dejar alguno de largo, pero mencionaremos los que consideramos los dos más conocidos por todos aquellos que han pasado por algún curso básico de programación.

  1. Programación Orientada a Objetos: Es el estilo de programación estructurada que usa objetos estructurados que contienen métodos y campos de datos. Así como podemos definir en la programación de sistemas un objeto que tenga la información referente a un registro o transacción de igual manera podemos crear objetos que contengan la información de los enemigos o los NPC.
  2. Programación Orientada a Eventos: Es el estilo de programación en el cual el flujo de las aplicaciones está determinado por eventos tanto humanos como de otras partes del software. En todo momento tanto un sistema como un juego está esperando la interacción del usuario con el mouse, teclado o pantalla táctil, y de igual forma esta esperandoa que  otros procesos ajenos al usuario terminen, para realizar otras acciones.

Los videojuegos y las aplicaciones comparten la misma base, ambos nacen de la misma área de conocimiento. ¿Cuál es la verdadera diferencia entre ambos? A grandes rasgos la gran diferencia radica en la cantidad de especialidades que se unen a las ya existentes en la creación de software (matemáticas y diseño) para crear videojuegos.

En otras palabras los videojuegos utilizan de igual manera que el software tradicional las matemáticas, lógica y el diseño pero a estas se le agregan muchas otras disciplinas. Entre ellas se encuentran la física, la inteligencia artificial, la ingeniería de audio, el arte, el  manejo del 3D, y tal vez la más especial la programación del gameplay o la experiencia de juego.

Pong by tcp909 Flickr

La programación para videojuegos es muy particular de entra las experiencias interactivas en general ya  que busca crear una experiencia de reto, destreza, suerte, y juego. Desde el punto de vista de la programación tradicional, este concepto no existe y no agrega valor a un sistema de producción. Es este gameplay el cual agrega una capa particular al desarrollo de videojuegos; de igual manera es el que hace que las áreas extras se integren de mil y un maneras y que se creen problemáticas que no existen en el desarrollo de software.

La pregunta original sin duda va dirigida hacia cómo tengo que modificar mi formación si soy un programador tradicional y quiero desarrollar videojuegos? La respuesta está en todas esas áreas de conocimiento que se agregan cuando hablamos de desarrollo de videojuegos. El conocimiento necesario no vendrá por arte de magia, el camino es la práctica.

Nuestra recomendación es que si te encuentras en esta encrucijada comienza por ponerte tus propios retos y descubrir estas diferencias por ti mismo. Crea un pequeño juego, en la red existen mucho tutoriales para muchos lenguajes que te pueden llevar de la mano en el uso del conocimiento técnico que ya tienes para moldearlo y convertirte en un desarrollador de juegos.

Link: Más artículos de Alebrije Estudios en Niubie

Tags

Lo Último


Te recomendamos