Importancia de la programaci贸n de los videojuegos
Escrito por Balbino Aylagas CEO ART CODE
Hoy en día, el tema de desarrollo de videojuegos en nuestro país está tomando más fuerza gracias a las oportunidades del mercado global y la disponibilidad de herramientas profesionales para todo aquel que quiera hacer juegos. A esto se suman los esfuerzos locales de parte del gobierno y la empresa privada por desarrollar esta industria, quienes están impulsando iniciativas como los premios Pixels, debido al alto potencial de crecimiento económico que representa esta actividad
para un país.. Pero ¿Qué son los videojuegos? ¿Cómo funciona uno de sus pilares más importantes: la programación? ¿Cuáles son las cualidades que debe tener un programador de juegos? A continuación, contestaremos a estas interrogantes. ¿Qué es un videojuego? Un videojuego o juego de video es un juego electrónico en el que una o más personas interactúan, por medio de un
controlador, con un dispositivo dotado de imágenes de vídeo. Este dispositivo electrónico, conocido genéricamente como «plataforma», puede ser una computadora, una máquina arcade, una videoconsola o un dispositivo portátil (un teléfono móvil, por ejemplo). Los videojuegos son, hoy por hoy, una de las principales industrias del arte y el entretenimiento. (Referencia: https://es.wikipedia.org/wiki/Videojuego ) ¿Cuáles serían algunos ejemplos de videojuegos por género? Acción: Arkanoid, Double Dragon, Street Fighter, Mortal Kombat, Super Smash Bros, Dota, League of legends, Super Mario bros, Megaman. Shooter: Wolfenstein 3D, Doom, Revolution X, Space Invaders, Ghost Recon, Rainbow Six series, House of the dead, Gears of War. Acción/Aventura: Metal Gear Solid, Mark of the Ninja, Hitman, Splinter Cell, Silent Hill, Resident Evil. Horror Psicológico: Enola (creado en El Salvador y disponible en la plataforma de juegos de PC, Steam). Aventura: Dreamfall Chapters, The Wolf Among Us, Amnesia: The Dark Descent, L.A. Noire, Heavy Rain. RPG (Role Playing Games): Final Fantasy games, Mana games, Xenoblade Chronicles, Mass Effect, Elder Scrolls, Fallout games, Deus Ex, World of Warcraft, Runescape.
¿Cuáles son los pilares importantes de la producción de videojuegos? Los pilares fundamentales son diseño, programación, creación de niveles, arte y pruebas. (Referencia: https://en.wikipedia.org/wiki/Video_gam e_development#Design) ¿Qué es la videojuegos?
programación
de
La programación de videojuegos es un sub tema del desarrollo de videojuegos. Esta es el desarrollo de software de los videojuegos. La programación de juegos requiere una gran cantidad de conocimiento en la ingeniería de software, así como en la especialización en una o más de las siguientes áreas, que se entrelazan fuertemente con la creación de un juego: simulación, gráficas de computadora, inteligencia artificial, física, programación de audio y dispositivos de entrada. (Referencia: https://en.wikipedia.org/wiki/Game_pro gramming) Esta es manejada por uno o más programadores de juegos. Ellos desarrollan prototipos para probar sus ideas, muchas de las cuales puede que nunca lleguen al juego final. Los programadores incorporan nuevas habilidades solicitadas por el diseño de juego y arreglan muchos errores generados por el mismo proceso de desarrollo. Hasta usando una herramienta de juegos (motor de juegos) se requiere una gran cantidad de programación para crear todo el juego.
(Referencia: https://en.wikipedia.org/wiki/Video_gam e_development#Programming) ¿Qué cualidades debe tener programador de videojuegos?
un
1. Ser apasionado sobre el desarrollo de software La pasión es importante porque será nuestro combustible cuando encontremos dificultades y barreras que sean difíciles de pasar, claro que son difíciles no imposibles. La pasión le ayudará al programador a mantenerse enfocado, buscar ayuda, tener paciencia de resolver errores y avanzar en las tareas de su juego. Sin esta pasión podrás ser el mejor programador del mundo, pero aun así no podrás terminar un juego decente, ya que en las primeras barreras es posible que te frustres y alejes. 2. Ser fluido en el lenguaje programación que se utiliza
de
Ser fluido en el lenguaje de programación te da rapidez de trabajo y efectividad de crear un buen código que haga lo que tu mente está imaginando. Claro, ningún juego sale o nace idéntico de cómo inicialmente lo pensó un programador o un diseñador. Al final son los usuarios los que al jugarlo te van dando recomendaciones y mejoras. Normalmente, tus juegos deberían estar bien optimizados, hacer lo correcto o lo que se espera, ser robusto y sobre todo fácil de mantener y modificar en caso de encontrarse un error.
3. Hay que estar preparado para aprender de otros Es cierto que existen los lobos solitarios que hacen juegos, los venden y se hacen millonarios, pero no nos engañemos son muy muy pocos y los juegos que ellos crean no son de la industria triple A. La mayoría de los estudios de juegos que ganan año con año grandes dividendos son aquellas en donde tienen grandes grupos de personas, equipos multidisciplinarios que realizan todos juntos un esfuerzo de crear mejor contenido. Imagina un Halo, Call of Duty, Destiny, Starcraft 2, etc. como juegos de la industria triple A o grandes títulos. En estos equipos se aprende todos los días algo nuevo, se platican entre ellos. Los artistas y programadores encuentran puntos medios, se muestran técnicas de cómo mejorar gráficos y hasta dónde puede llegar la programación. Un súper experto de muchos años puede aprender algo sobre alguna técnica de un joven recién graduado de la academia. Estas interacciones son las que hacen de nosotros mejores programadores. 4. Hay que jugar videojuegos cuando estás fuera de la oficina Es importante tener esto muy presente como una opinión personal: yo considero que es bueno que un creador de videojuegos juegue algún tipo de videojuego fuera de la oficina. Existen desarrolladores de juegos que no lo hacen pero muchos de los videojuegos creados por ellos les faltan un algo que se percibe de primeras. El jugar distintos tipos de juego da experiencia y perspectiva, y permite ponerte en los
zapatos de los usuarios que son quienes comprarán tus productos. Esta última parte es importante porque es muy difícil saber lo que busca un jugador, mucho más si tú mismo no lo sabes. Así que como recomendación: jueguen y aprendan, tomen referencia de buenos ejemplos. 5. Hay que cometer muchos errores, pero cometerlos solo una vez Es importante que el inicio de la programación de juegos sea uno que te permita ir creciendo y aprendiendo. Una analogía sería la del taekwondo con su sistema de cintas. La blanca denota un completo principiante mientras que la negra simboliza experiencia, destreza, disciplina y muchos son ya considerados como maestros. Con tus primeros juegos, sencillos, debes aprender a caerte, recibir errores, pasar problemas y tal vez que la gente te lo critique; pero todo esto servirá para crecer como programador y crear mejor código. Referencia: http://www.doolwind.com/blog/qualities -of-a-good-game-programmer/ Experiencias reales en programación En mi caso particular, fui programador de aplicaciones por 8 años. Eso es mucho tiempo.Y estaba bien familiarizado con todo lo que tenía que hacer y lo que implicaba hacerlo. Ya no representaba tanto reto el hacer una aplicación
web, claro que siempre era divertido hacerlo. En noviembre del año 2012, vino a mí el interés de la creación de videojuegos. Me pareció un mundo tan nuevo, misterioso y lleno de retos que no pude soportarlo. A las pocas semanas tomé la decisión de dedicarme a hacer juegos a tiempo completo. Por supuesto, mi rama siempre ha sido la programación y me iba a especializar siempre en la programación de juegos, ya que realmente no me interesaba saber nada más. Así pasé casi dos años y medio, revisando motores de juegos, lenguajes de programación para juegos, técnicas y buenas prácticas. En diciembre 2014 ingresé a una competencia mundial, un “Game Jam” llamado Ludum Dare 31 para crear un juego en 3 días (viernes a domingo), quería ponerme a prueba en lo que había logrado aprender. En ese tiempo no logré hacer nada, me presioné, tanto que no supe dónde empezar. Entonces, el sábado de ese fin de semana me di por vencido y no entregué nada, aunque sin quererlo había aprendido bastante, más de lo que me di crédito en ese entonces. El 17 de abril de 2015, ingresé a esta
competencia de nuevo, Ludum Dare 32. En esta oportunidad sí logré iniciar con mi juego, realicé tareas de diseño, creé un pequeño documento, tenía historia, tenía enemigos, así que comencé con un poco de la parte gráfica y la programación. Cuando llegue al sistema de armas del personaje principal, quería que fuera algo muy interesante y que destacara, así que me concentré en esto. Me tomó tanto tiempo de la competencia dejarlo bien que no tuve oportunidad de terminar el juego, aunque esta vez sí le puse menú principal y varias otras cosas importantes, pero el juego en sí no tuvo tanto sentido porque fallé en crear los enemigos. No quedó tan bien pero al menos entregué algo y la experiencia fue buenísima. Realmente sentí un cambio muy distinto en mí. Me sentí más confiado como programador y sentí que fue mucho más fluido todo el proceso que la competencia anterior.
Conclusión La importancia de la programación de los videojuegos es como una de las extensiones de un trípode, ya que sin la programación no tendríamos juegos. Es un área tan llena de retos, complicada. A veces puede ser brutal para tu paz, pero al final está llena de gratificación y de una gran confianza profesional. No cualquiera puede ser un programador y no cualquiera se convierte en un buen programador. Esta industria creciente en nuestro país lo demanda, necesita y pide a gritos. Creo que nuestros jóvenes necesitan que los empujemos y ayudemos a encontrar su camino por este rubro. Confió que en pocos años, veremos juegos de gran calidad, producidos en estudios de videojuegos salvadoreños.
Edición: Gabriela Vásquez Técnico en Contenidos Digitales y Comunicaciones Dirección de Innovación y Calidad Ministerio de Economía