miércoles, 28 de agosto de 2019

Programacion de videojuegos
Si estás considerando convertirte en un programador de videojuegos, aquí te dejamos algunos consejos que quizá puedan ayudarte:
¿Qué hay que estudiar para ser programador de videojuegos?
En este apartado se podría hablar de dos corrientes que no tendrían por qué ser antagónicas sino que se podrían complementar:
  • Estudiar una carrera
La Ingeniria Informatica es el grado que nos dará la base para llegar a donde queremos. En él tendremos asignaturas de Informática Gráfica, con una base muy sólida tanto de programación como de matemáticas aplicadas. La Informática Gráfica crea software para el procesamiento de imágenes y desarrolla interfaces entre el usuario y el ordenador; ofrece los elementos básicos para generar realidades virtuales y entornos artificiales; y desarrolla algoritmos en busca de una visualización realista. Nació como una expresión gráfica de modelos matemáticos y en ello trabaja con gráficas vectoriales.
Al igual que debe de ser autodidactica
En muchos de los casos, las personas que deciden dedicarse a esta profesión han sido auténticos y entregados gamers que quieren hacer de su pasión su trabajo. Pero cuidado, porque ser programador de videojuegos es un trabajo muy exigente.
Tanto si has estudiado Ingeniería Informática como si no (obviamente, tendrás mucho mejor base si lo has hecho) puedes aprender lenguajes de programación por tu cuenta. Una buena forma de comenzar es con la lectura del famoso libro de Jesse Schell, The Art of Game Design, que versa sobre programación C++ en videojuegos y guionismo. Haced pequeños programas interactivos o juegos en Flash y experimentad con los SDK de los títulos de PC o programas 3D, de corte Ogre o Source.
A hecharle muchas horas de trabajo. 
Resultado de imagen para programador
¿Qué lenguajes de programación son los más utilizados?
Los lenguajes utilizados en el mundo de la programación de videojuegos han progresado en los últimos años. Con la aparición de los dispositivos móviles, tablets y demás, debemos hacer una clasificación:
  • Para programar videojuegos para PC o consolas
Deberás empezar programando en lenguaje C#. Es un buen lenguaje para que te inicies en la programación de videojuegos, existen librerías y frameworks muy maduros que te facilitarán el aprendizaje.
  • Para programar videojuegos web 
A pesar de que la mayoría de los juegos de Facebook siguen usando Flash el futuro está en el JavaScript.
El problema de Flash es que Adobe ya no dará soporte a dispositivos móviles y recientemente anunció que no desarrollará ActionScript 4, por lo que aprenderlo tiene cada vez menos sentido.
Para comenzar podéis leer el clásico, JavaScript: The Good Parts, de Douglas Crockford (2008).
  • Para programar juegos para móviles
Para crear juegos para smartphones Android el lenguaje rey es el Javapor encima del Python.
Si tu trabajo se va a centrar más en dispositivos que tienen incorporado el sistema Windows, entonces en lenguaje escogido será el C#, estándar de Microsoft.
Por último, en los iPhones e iPads y su iOS, tendremos que programar en ObjectiveC o Swift, el futuro para la casa de la manzana mordida.
En el desarrollo de videojuegos existen varia áreas, estas son las cinco principales: Diseño, Programación, Gráficos, Audio, Distribución y Marketing. 
  • Diseño. La parte más importante de un videojuego. Historia, Guión, jugabilidad, reglas y demás conceptos que hacen a un juego ser lo que es.
  • Programación. Una vez elaborado un diseño es la parte donde se juntan gráficos, audios y reglas para dar vida a un mundo interactivo. Existen varias disciplinas a su vez dentro de ella como programación gráfica, gameplay o inteligencia artificial.
  • Gráficos. Interfaces, modelos 3D, animaciones y todo lo que “se ve” de el videojuego, existen varias disciplinas tanto en 2D como en 3D.
  • Audio. Efectos de sonido, música de fondo, diálogos. Muy importante para crear ambiente.
  • Distribución y marketing. El arte de publicar y promocionar un videojuego, responsable del éxito o no de muchos productos dependiendo de las estrategias que sigan.
En programación de videojuego los principales equipos y/o disciplinas que puedes encontrar son los siguientes.
Resultado de imagen para programacion
RELACION DE LA FISICA CON LOS VIDEOJUEGOS

La física ha sido fundamental  en el desarrollo de los videojuegos a través del tiempo. Los juegos emplean la física para alcanzar simulaciones realistas y crear efectos especiales espectaculares logrando entregar una sensación lo mas creíble posible al espectador/jugador. De esto nace la necesidad de generar videojuegos capaces de simular la realidad, desde juegos de billar, simuladores de vuelo, entre varios; todos son parte de un proceso de modelamiento empleando los principios fundamentales de la dinámica.


Imaginémonos un vehículo virtual que anda por la carretera, en este preciso momento un módulo del videojuego encargado de desarrollar los eventos de la física, se encuentra constantemente evaluando la posición, velocidad y aceleración de dicho vehículo. En ese mismo instante, el modulo revisa constantemente la distancia entre el vehículo y los obstáculos en el camino (postes de señales, arboles, lo que se les ocurra). Cada choque, giro o derrape del  automóvil es calculado precisamente por dicho modulo y cuando los cálculos son efectivos, los resultados serán semejantes a la realidad.
Los cálculos que el módulo de física realiza, se basan en la teoría del momentum, algo ya estudiado y establecido en el mundo real. Por ejemplo, en el instante en que se presenta una fuerza en función de la velocidad, como en una colisión entre un vehículo y otro objeto, se debe considerar primero que nada la aceleración, luego la velocidad y la posición de los objetos involucrados en base a los valores previos de la aceleración, de modo que todo cálculo se basa en el antecedente previo.
Anteriormente expresé que la implementación de la física en los videojuegos es posible gracias a que las leyes de la mecánica, cinemática, cinética, fuerza, etc. tienen estudios y bases que pueden ser expresados matemáticamente mediante ecuaciones.
La aplicación de las leyes de la física expresadas en ecuaciones matemáticas, hacen posible lo que hoy llamamos obras de arte tanto en el cine como en los videojuegos. Y  gracias a los científicos nosotros somos libres de manipular estas leyes e implementarlas en nuestros propios universos basados en nuestra propia imaginación.
Por ejemplo, la segunda ley de Newton y sus derivadas son suficientes para describir el movimiento lineal completo de cada elemento que forma un objeto de un videojuego.
Gracias a la ley de newton y la ecuación anterior, ya no es necesario hacer cálculos para crear movimientos lineales, ya que mediante algoritmos de programación y las leyes de la física podrás realizar movimientos (por ejemplo) equivalentes a la realidad dentro del mundo virtual que queramos crear.
Cabe destacar que las ecuaciones no son resueltas analíticamente (expresiones sin un valor específico), estas deben manifestarse en números, por lo que se requieren métodos capaces de abstraer la información numérica por medio de métodos iterativos.
En definitiva, si el desarrollador logra dominar el apartado de la física en un videojuego, automáticamente hará que los resultados sean creíbles, eficientes y hasta tal vez divertidos.
Imagen relacionada