Passa al contingut principal

Cómo empezar a programar videojuegos

Partes programación de videojuegos


Últimamente ha surgido un boom de desarrollo de videojuegos indie, videojuegos hechos por pequeños estudios o grupos de personas sin los millonarios presupuestos de las grandes compañías, pero que a veces consiguen verdaderas obras maestras.


Muchos ven en esto un modelo de negocio y quieren saber cómo empezar a programar videojuegos. Otros simplemente por curiosidad, diversión o un poco de todo, en cualquier caso vamos a ver que necesitamos para empezar en este mundo de la programación de videojuegos.


¿De verdad lo que quieres es programar videojuegos?


Parece una tontería de pregunta, pero es clave. En el desarrollo de videojuegos existen varia áreas, estas son las cinco principales: Diseño, Programación, Gráficos, Audio, Distribución y Marketing. Vamos a pasar a analizarlas brevemente.



  • 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.


Como vemos la programación solo es una parte del proceso y nunca un todo, si aún crees que la programación de videojuegos es tu área vamos a analizarla a fondo.


Programar videojuegos, sus áreas


Los grandes estudios tienes varias decenas de programadores, especializados en diferentes áreas. En programación de videojuego los principales equipos y/o disciplinas que puedes encontrar son los siguientes.



  • Programación del motor. Son los encargados de implementar la base sobre la que se sustenta el videojuego. Comunicación con el sistema operativo, gestión de memoria, gestión de cadenas, gestión de recursos, etc. Son necesarios grandes conocimiento de la plataforma para la que se programa, algoritmia y complejidad, opimización y gestión a bajo nivel.

  • Programación gráfica. Su misión es lidiar con las diferentes apis gráficas como DirectX y OpenGL. Conocimienos de dichas apis, y matemáticas sobre todo álgebra y geometría.

  • Programación de física. Se encarga de emular los comportamientos físicos del videojuego. Conocimientos de matemática vectorial y física dinámica y mecánica.

  • Programación de inteligencia artificial. Es la encargada de hacer nuestros enemigos (o nuestros aliados) inteligentes. Conocimientos de lenguajes de script, matemáticas y algoritmos de IA como pathfinding, máquinas de estados finitos o redes neuronales.

  • Programación de red. Se encarga de la parte multijugador, servidores y todo lo que sea conectar una máquina con otra.

  • Programaición de Gameplay. El equipo que se encarga de programar la lógica del juego, sus reglas. Conocimientos de lenguajes de script y uso de las partes desarrolladas por los otros equipos.


Estas son las principales áreas en las que se dividen los grandes estudios pudiendo variar en muchos de ellos, pero estas son las principales disciplinas de la programación de videojuegos. Vale, lo tengo claro, ¿Por cual empiezo? Por todas y por ninguna.


Cuando uno empieza ninguna de las áreas tiene un alto grado de complejidad y el programador indie debe aprender a lidiar con todas las áreas, las especializaciones es bueno tenerlas en cuenta de cara a un futuro, pero para empezar te tocará aprender un poco de todo.


Ahora sí, por donde empezar a programar videojuegos


Ahora que quedan claros los diferentes niveles que existen y el grado de complejidad que puede alcanzar cada área no te asustes, vamos a empezar por el principio.


Cuando uno se mete por primera vez en el desarrollo de videojuegos lo primero que le da por hacer es un clon de su Final Fantasy, GTA o MMORPG preferido y sucede lo que tiene que suceder: fracasa estrepitosamente. Todos los que un día empezamos pasamos por eso y es bueno para ver el nivel de complejidad de esos proyectos y lo que significa tal obra de la ingeniería de software.


Una vez superado este trauma inicial y con los pies en el suelo llega la primera regla: olvídate del 3D, al menos, de momento. Tus primeros juegos deben ser clones de los clásicos del 2D: Pong, Breakout, Pacman y cuando te sientas con confianza, incluso un juego de plataformas.


Aunque estoy suponiendo demasiadas cosas y una de ellas es que ya sabes programar así que vámonos más atrás aún.


Conocimientos básicos necesarios para programar videojuegos



  • Conocimintos de matemáticas. En principio no son muchos y dependerán básicamente del tipo de juego, pero suelen ser esenciales conocimientos básicos de trigonometría y geometría.

  • Conocimintos de física. Como las matemáticas depende del tipo de juego, para juegos de plataforma con conocimientos básicos de cinemática es suficiente.

  • Conocimintos de programación. Se debe saber programar y conocer bien un lenguaje de programación el lenguaje elegido es lo de menos siempre que sea popular y con una amplia comunidad y colección de bibliotecas.


Si se poseen estos conocimientos lo siguiente es buscar una biblioteca para el desarrollo de videojuegos de tu lenguaje. Aquí van algunas de las para los lenguajes más populares.



Como vemos el lenguaje es lo de menos en todos existen buenas bibliotecas 2D para empezar a desarrollar videojuegos. Lo importante es que aprendas las técnicas de la programación en tiempo real y eso es aplicable a cualquier lenguaje.


Lo más importante, haz juegos


Esto es lo más importante de este artículo, si quieres ser programador de videojuegos: haz juegos, muchos juegos. Escribir código y probar y probar es la única forma de aprender y mejorar lo demás vendrá poco a poco con paciencia y empeño.






via Genbetadev http://www.genbetadev.com/programacion-de-videojuegos/como-empezar-a-programar-videojuegos

Comentaris

Entrades populars d'aquest blog

10 alternativas a Cuevana para ver películas online

10 alternativas a Cuevana para ver películas online : Durante este último tiempo, en Cuevana se sucedieron varios “problemas” por los cuales hubo que ajustar algunas cosas antes de tiempo (como el rediseño del sitio), que dejaron a algunos usuarios ciertos problemas para acceder a las películas o series del portal. Pero realmente esto es algo que no incumbe a los usuarios y, como sabemos, existen muchas otras alternativas a Cuevana dando vueltas por Internet, que intentaremos presentar aquí mismo. Los sitios que repasaremos funcionan del mismo modo que Cuevana, mediante la instalación de un plugin que permite visualizar los videos de Megaupload o WUShare, entre otros servicios, en una calidad de imágen realmente excelente. Tal como sucede con el más popular servicio, todos ellos tienen publicidad que en algunos casos resulta insoportable, pero como dice Federico en DotPod “a caballo regalado no se le miran los dientes”. Alternativas a Cuevana 1. Moviezet Posiblemente el mejor clon d...

Learn Composition from the Photography of Henri Cartier-Bresson

“Do you see it?” This question is a photographic mantra. Myron Barnstone , my mentor, repeats this question every day with the hopes that we do “see it.” This obvious question reminds me that even though I have seen Cartier-Bresson’s prints and read his books, there are major parts of his work which remain hidden from public view. Beneath the surface of perfectly timed snap shots is a design sensibility that is rarely challenged by contemporary photographers. Henri Cartier-Bresson. © Martine Franck Words To Know 1:1.5 Ratio: The 35mm negative measures 36mm x 24mm. Mathematically it can be reduced to a 3:2 ratio. Reduced even further it will be referred to as the 1:1.5 Ratio or the 1.5 Rectangle. Eyes: The frame of an image is created by two vertical lines and two horizontal lines. The intersection of these lines is called an eye. The four corners of a negative can be called the “eyes.” This is extremely important because the diagonals connecting these lines will form the breakdown ...

Más de 50 de las mejores herramientas online para profesores

No es una exageración afirmar que hay ciento de aplicaciones educativas por ahí por la red, para todos los gustos y de todos los colores, por lo que es difícil tratar de recogerlas todas en un listado. Sin embargo, algunas destacan más que otras por su innovación y por su capacidad para conseguir adeptos, y esas son las que protagonizan la presente recopilación. Son 50 interesantes herramientas online basadas en las recopilaciones de EduArea , las muchas ya tratadas en Wwwhat’s new y las destacadas por la experiencia. 1. Dropbox : Un disco duro virtual con varios GB gratuitos y al que se accede desde casi cualquier dispositivo. Sin embargo, es muchísimo más que eso, de hecho ya comentamos 20 razones . 2. Google Drive : La evolución de Google Docs que suma a sus múltiples herramientas de creación de documentos, un considerable espacio virtual gratuito. 3. CloudMagic : Una extensión y una app multidispositivo para buscar información simultáneamente en Gmail, Twitter, Facebook, Evernote ...