Close
Exit

Como ya sabéis hemos nombrado el jueves el día oficial para la serie de ENTREVISTAS de Otogami. Nuestro entrevistado de esta semana es Javier Horacio Rolff: programador en NGD Studios y parte implicada en la implementación de la IA (inteligencia artificial) en el juego “Finn and Jake’s Epic Quest”.

Después de un intenso intercambio de correos electrónicos, este ha sido el resultado. A nosotros que ya la hemos leído (wink wink nudge nugde) nos ha parecido extremadamente interesante, sobre todo para aquellos interesados en los aspectos más técnicos. ¿Preparados?

 ¿De dónde eres y en qué trabajas ahora mismo?

Soy Argentino y hace aproximadamente un año me vine a vivir a España, mas precisamente a Gijón, Asturias. Actualmente estoy trabajando para NGD Studios, un estudio de Argentina, realizando tareas de programación de gameplay e IA, entre otras.

¿Siempre has tenido claro que querías trabajar en la industria de los videojuegos? ¿O es algo a lo que llegaste tras diferentes experiencias laborales?

Desde que tuve mi primer computadora, una Commodore 64, con la que empecé programando en Basic a los 8 años aprox. soñaba con dedicarme a hacer videojuegos. Luego cuando llegó la hora de empezar la Universidad, al no encontrar en ese momento ninguna carrera orientada específicamente a videojuegos pensé que me tendría que conformar con hacer aplicaciones. Pero durante mi etapa laboral, me topé con un proyecto en el que tuve que investigar el motor Unity 3D y me abrió los ojos para ver que ese era el camino a seguir para poder meterme de lleno en esta industria.

¿Cuál es tu formación? ¿Qué estudiaste para llegar hasta donde estás ahora? Imagino que como programador nunca dejarás de formarte.

Así es, la formación es constante para poder estar siempre al tanto de nuevas tecnologías y avances en el área. Soy Técnico Electrónico, y comencé la carrera de Ciencias de la Computación en la Universidad de Buenos Aires (UBA), pero pasada la mitad de la carrera ya comencé a trabajar y se me hacia complicado poder lidiar con las dos cosas, luego cuando descubrí Unity 3D y empecé a meterme en la industria de los videojuegos decidí interrumpir la carrera y dedicarme de lleno a mi profesión.

Y ahora, para la gente que está leyendo esto, y que tal vez quiera dedicarse al desarrollo: ¿recomendarías aprender Unity 3D para iniciarse en el tema?

Sin lugar a dudas, a mi parecer no es difícil de aprender y es muy potente. Y no solo sirve para programadores, lo pueden usar los diseñadores y los artistas entre otros. Tomando prestadas las palabras de los creadores de Unity, es un ecosistema para el desarrollo de juegos. Poseé una tienda propia llamado “Asset Store”, donde hay muchísimo contenido gratis y pago, desde scripts (que son archivos de código), hasta modelos 3D, librerías, texturas, para ser utilizado en tus propios juegos.

¿Cómo se empieza un proyecto con Unity? ¿Qué te da el motor más allá de un entorno gráfico?

Bueno como te decía antes Unity te provee de muchísimas cosas. Por un lado tienes un editor similar a lo que puedes encontrar en cualquier software de modelado 3D, donde vas construyendo tu “mundo”. Esta integrado con un completo conjunto de herramientas muy intuitivas para facilitar el desarrollo, tanto para el manejo de imágenes, animaciones, sonidos, etc. Luego soporta para realizar los scripts, que sería el código que generamos los programadores, C#, Boo y Javascript. Te provee también flujos de trabajo rápido para poder realizar contenido interactivo tanto 3D como 2D. Y por sobre todo tiene una comunidad muy activa a la que puedes consultar.

Antes comentabas que trabajas con temas de IA. Cuando empezáis a trabajar con la IA de un juego, ¿establecéis un punto hasta el que queréis llegar, o es algo en lo que se trabaja durante todo el proceso hasta agotar todas las posibilidades?

Un poco de cada cosa. Siempre se tiene un objetivo en mente al que se quiere llegar, pero a lo largo del proyecto pueden surgir puntos nuevos a tener en cuenta, o bien impedimentos que por cuestiones de tiempo o presupuesto hay que recortar un poco el abarque inicial que se quería. Igualmente depende muchísimo del tipo de juego que se esta construyendo, donde puede tener más o menos peso en el producto final la calidad de la IA.

¿Cuándo y quién decide que se ha terminado un gameplay? ¿Trabajáis con un guión o hay sitio para la improvisación?

Bueno, la palabra final la tienen los creativos. Pero muchas veces hay lugar a negociación, por temas de complejidad, o porque a la hora de llevarlo a la práctica, no resulta tan divertido como se había pensado. No te diría que se tiene un guión en si, al menos no en todos los juegos, pero si se arman escenarios donde se ejemplifica lo que se quiere lograr. Muchas veces y depende del grupo de trabajo y la libertad que haya para improvisar, se evalúa entre los creativos, artistas y programadores que tan factible es realizar determinada funcionalidad.

¿Quién decide las dinámicas de juego? Es decir, ¿quién decide cómo nos divertiremos en un videojuego?

Depende muchísimo de quién sea el propietario del juego. Te puede tocar que la idea que tiene en mente no esté sujeta a cambios y obviamente hay que hacerlo de esa manera. Por suerte no me paso nunca, más allá que si hay un responsable que toma la decisión final, en eso es válido el aporte de todas las áreas y necesario a mi entender. Es bueno que estén todos involucrados, una observación o sugerencia que puede hacer que sea mucho mas divertido y con un costo muy bajo puede venir tanto del creativo, del artista, el programador o el tester.

Traducido en tiempo, ¿cuántas horas tienes que pasarte pegado a la pantalla para que el usuario pueda disfrutar de un juego “redondo” cuando lo compra? Me imagino que dependerá también del tamaño del producto en el que estés trabajando.

Si, depende totalmente del producto y del equipo de trabajo. Tienes desde juegos muy simples que se pueden realizar en un par de días con grupos de trabajo muy pequeños, hasta proyectos que llevan varios años con equipos de cientos de personas.

¿Cómo entregas tu trabajo? ¿Utilizáis algún tipo de documentos?

En mi caso particular, el código generado se sube o bien a un SVN, que es un software de versionado, o usando el Asset Server que provee Unity. De esta forma se mantiene un control de los archivos en los que se trabaja y esta disponible para todo el equipo de trabajo. Dependiendo de la empresa, antes de poder subir una versión al trunk hay que pasar por revisiones para el control de calidad del código. También utilizamos documentos de word y excel. En general son documentos de diseño y planillas con asignación de tareas.

¿Es fácil trasladar a código todo lo que los diseñadores y artistas han creado para un videojuego?

No siempre es fácil, muchas veces se negocian cosas para poder llegar con el tiempo a lo que se quiere, ya sea cambiando algún detalle de lo que pensaron con alguna alternativa mas simple de implementar. Depende mucho también en qué etapa del proyecto se está. Suele pasar que con el proyecto ya empezado se agreguen funcionalidades que requieren un gran cambio en todo el juego.

¿Lo tuyo es un trabajo de oficina o teletrabajas?

Vengo trabajando con la misma gente en Argentina desde hace 2 años, al mudarme para España se convirtió en un teletrabajo. En la industria en si, ambas son factibles, aunque lo mas normal es que sea un trabajo de oficina, mas que nada porque es mucho mas práctico estar junto con los diseñadores, artistas y programadores para la comunicación del día a día, mas allá que internet permite estar comunicado desde cualquier parte del mundo. Por otro lado, a la hora de coordinar también es mas fácil estando en el mismo lugar, simplemente acercarse al puesto de trabajo de la otra persona y ver cual es el problema o que es lo que se quiere lograr es mucho mas rápido que tener que llamarlo o bien escribirle mensajes, tal vez compartir la pantalla, etc.

¿Resulta complicado coordinar a tanta gente en un solo proyecto? Al fin y al cabo, además de programadores hay testers, diseñadores y mucha más gente implicada en la creación de un videojuego.

No es complicado siempre que esté bien organizado, sobre todo en proyectos muy grandes donde la coordinación es primordial. Como bien decís interviene gente de muchas áreas distintas en la creación de un videojuego incluso podés contar con actores, músicos, etc. Lo importante es tener bien definidas las responsabilidades y una comunicación fluida entre áreas.

¿Utilizáis algún tipo de metodología de trabajo? ¿Alguna herramienta concreta? ¿Cómo os organizáis? ¿Establecéis un número de hitos?

Últimamente en las empresas que trabaje utilizamos metodologías ágiles. Scrum es lo más común, cada empresa toma determinadas cosas de scrum y las adapta a las necesidades del proyecto. Hay varias herramientas en el mercada para el manejo de los sprints y la asignación de tareas. Nosotros nos manejamos mucho con documentos en excel para la planificación de los sprints y para realizar los gráficos pertinentes para medir el progreso. Utilizamos una herramienta llamada Mantis para el seguimientos de bugs o futuras funcionalidades a implementar. Otra herramienta que he utilizado similar es JIRA. Basándose en Scrum, al crearse un proyecto, se define una lista del producto o Product Backlog. Ahí se anotan todas las funcionalidades, y tareas necesarias para la finalización del producto. Al ser una metodología ágil, esa lista no es cerrada, sino que puede cambiar a lo largo del proyecto, ya sea con nuevas tareas o bien dejando algunas de lado. Luego el proyecto se divide en Sprints de una duración prefijada por el equipo que por lo general son de 1 o 2 semanas. Al principio de cada sprint se toma un conjunto de tareas del backlog y se estiman para que entren en ese sprint. Las tareas que no pudieron ser finalizadas en un sprint vuelven al backlog y son tomadas en sprints siguientes. Lo bueno de definir estos sprints siempre de la misma duración es que te ayuda a aprender la velocidad con la que trabaja un equipo y en base a eso poder hacer estimaciones cada vez mejores. En caso de que la velocidad no sea la esperada, también sirve para notar problemas de forma temprana y tomar medidas para solucionarlos.

De todos los aspectos que tocas en tu trabajo (IA, interfaces gráficas, persistencia de datos, etc., ¿con cuál disfrutas más?

Definitivamente tareas de IA o gameplay son las que mas disfruto. Por lo general son las más desafiantes y donde se puede poner más creatividad por parte de uno. Pero no reniego tampoco de otro tipo de tareas, todas son parte de un mismo producto e igualmente necesarias.

¿Y hay algún aspecto en el que aún no hayas trabajado pero que te gustaría experimentar?

Por suerte tuve la oportunidad de trabajar en muchos aspectos. Desde roles de programación a roles de liderazgo, incluso supliendo un poco funciones de scrum master. Siempre me pareció interesante la parte de modelado 3D y animaciones, pero lamentablemente conozco mis limitaciones y definitivamente no es lo mio.

De todos tus proyectos, ¿cuál te ha resultado más gratificante? Ya sea por lo que aprendiste, lo que disfrutaste realizándolo… cuál ha marcado un hito en tu carrera profesional.

Por suerte puedo decir que de todos los proyectos he aprendido cosas. Pero seguramente entre los proyectos que marcaron un hito en mi carrera se encuentran por un lado “Amazing World”, donde comencé trabajando como programador y tuve la oportunidad de terminar como líder de desarrollo, coordinando equipos con gente de Canadá y Argentina. Y por otro lado el juego recientemente publicado en Steam, “Finn and Jake’s Epic Quest”, donde pude meterme de lleno con la implementación de la IA y el gameplay en general y con el que disfruté muchísimo al programarlo.

¿Qué le aconsejarías a los que sueñan con dedicarse a lo mismo que tú?

Antes que nada que tengan bien claro a qué rama de la industria de los videojuegos quieren dedicarse. Pueden dedicarse a programar como es mi caso, pero también hay lugar para gente con habilidades artísticas, tanto a nivel gráfico como de redacción, y para los que les gusta pasársela jugando pueden ir por el área de testing de juegos (ojo, no es todo jugar,  ¿eh?). Hay que escribir documentos con casos de test, identificar tipos de errores, hacer miles de pruebas. Pero es una industria donde hay lugar en muchas áreas. Lo más importante es aprender lo más que se pueda. Informarse que tecnología o herramienta se está utilizando y utilizarla para sus propios proyectos. Obviamente una carrera universitaria acorde al área es altamente recomendable, aunque no es imprescindible siempre suma. Y por último y no menos importante, aprender inglés. Eso les abre las puertas a muchísimos mercados y por otro lado hoy por hoy es “el” idioma a nivel tecnología en occidente.

Y ahora cambiando de tercio… ¿a qué estás jugando ahora mismo? ¿Eres de consola o prefieres los juegos de PC? O lo mismo nos sorprendes y eres un adicto a jugar en tu teléfono móvil… ¡aquí no juzgamos a nadie!

Bueno, ¡me gusta jugar a todo! Hoy por hoy cada vez tengo menos tiempo para dedicarme a jugar. Igualmente me las ingenio para hacerme un rato en la semana. Juego tanto juegos de PC, consola, en particular PS3 y juegos con el celular. En PC en estos momentos cada tanto juego algunas partidas del “League Of Legends”, “DOTA2″ y “Hearthstone”. En PS3 lo ultimo que jugué hasta terminarlo fue el “Borderland 2″. Después juego cada tanto con amigos alguna partida del “PES” o me siento con el volante a correr unas carreras con el “Gran Turismo”. Con el celular juegos más casuales cuando tengo que matar el tiempo, cosas como “Candycrush” o “CSR Racing”.

Y por último, ¿qué echas en falta en la página web de Otogami? ¿Qué te gustaría que incluyéramos?

La verdad que esta muy completa, pero viendo esta serie de entrevistas a la gente de la industria, tal vez no estaría mal poner alguna sección de talleres, desde programación, modelado 3D, etc.

  • Javier

    Muchas gracias a todo el equipo de Otogami. Ha sido un honor participar en la entrevista

    • http://www.bonillaware.com David Bonilla

      Gracias a ti Javier, por dedicarnos tu tiempo y ayudar a la gente a conocer un poco más como el día a día real del desarrollo de videojuegos.

  • Darío

    Muy buena sección la de las entrevistas, esperemos que haya muchas más.

    Ha sido inevitable recordar cuando hace años jugaba con asiduidad a Regnum Online, un juego MMO de ¡NGD Studios!

  • César Ruiz

    Muy buena!
    Me encanta saber que hay empresas en las que se curra bien y se da facilidades a los trabajadores para trabajar.

    Más entrevistas chicos! A mi me mola!

Go top