(c) Alebrije Estudios
Como mencionamos, en ésta serie de post tocaremos cuatro áreas importantes en el desarrollo de Videojuegos; hoy hablaremos de la programación. El camino de un programador de videojuegos está lleno de dudas, tribulaciones, cambios, éxitos, derrotas, entre muchas cosas, y no hay solo una vía para llegar a que tu nombre aparezca en los créditos de un videojuego. Empecemos por el principio…
¿Qué es programación?
¿Qué es programación y como se relaciona al desarrollo de videojuegos? En la industria de los videojuegos los programadores e ingenieros son responsables de todo el código que se encuentra en el “core” de los videojuegos ya sea para consola o PC. Toda la matemática, lógica, rendering de gráficos, interface de usuarios, física, sonido, Inteligencia Artificial (AI), etc, depende en gran medida de los programadores y recae sobre ellos la usabilidad del juego. Dentro de la mayoría de los estudios el área de programación representa la actividad con mayor mano de obra.
Los programadores, desde el punto de vista más básico, escriben el código que hace todo posible dentro de los videojuegos. Son responsables de conectar todas las acciones de los usuarios con las acciones que se realizan en pantalla, pasando por todas aquellas acciones que los NPC realizan y la Inteligencia artificial que es responsable de hacerte la vida imposible. Siendo los responsables del código final de un videojuego tienen que trabajar junto con las áreas de arte, diseño, producción, sonido y calidad y hacerlo de tal manera que todas las experiencias se transformen en unos y ceros.
Código Heights para Flash (c) Alebrije Estudios
Scripting vs Programación:
Dentro del área de programación existen muchos puestos: como ingeniero de redes, ingeniero de sonido, ingeniero gráfico, ingeniero de herramientas e ingeniero de inteligencia artificial; cada uno de ellos está muy ligado a otra área creativa, como su nombre lo indica. Hablaremos de cada uno en los siguientes posts. Pero hay que hacer la distinción entre un programador y un scripter.
El primero es responsable de crear, seleccionar, adaptar, etc., las herramientas (engine) que se utilizarán en el desarrollo de un juego. El Scripter es aquella persona cuya función es utilizar estas herramientas (engine) para poner cada uno de los objetos interactivos y enemigos dentro de cada nivel. El scripter controla cuantos enemigos se enfrentarán al jugador, donde se complicará el juego dentro de un nivel, y cómo se comportarán los NPCs, etc.
En otras palabras un scripter es un diseñador de niveles y el programador es quien codifica las herramientas que este utilizará. Muchas veces un programador puede tomar la función de un scripter pero siempre asesorados por el área de diseño, el que un scripter se vuelva programador es más complicado más no imposible. Dentro de estudios de desarrollo pequeños, las funciones de un scripter son absorbidas por el área de programación pero son constantemente asesoradas por un diseñador de niveles.
Scripting en el Chrome Engine 4 (c) World of Level Design
Conclusiones:
El ser un programador de videojuegos requiere de un alto conocimiento técnico en desarrollo de software, sistemas operativos, compiladores, APIs, etc. y abarca áreas de conocimiento cómo matemática, física, redes, lógica, etc. Es importante diferenciar entre un programador y un scripter siendo el primero de ellos el creador de las herramientas para crear un videojuego muchas veces llamadas Engines y el segundo el usuario de éstas.
Un scripter debe de mezclar el conocimiento técnico en programación y los conceptos creativos del diseño de juegos. Debe ser capaz de interpretar código, ser creativo, conocer a fondo el objetivo del juego, el mercado al que apunta y la mecánicas de la jugabilidad, saber balancear los obstáculos con las recompensas., entre muchos otros detalles.
Te invitamos a enviarnos tus preguntas con respecto a este tema, a compartir con nosotros tus experiencias y tus dudas. Entre más preguntas nos envíes más temas tendremos en esta serie de posts y tendremos una conversación más enriquecedora.
Más artículos de la serie: