por paul Actualizado: 12-09-2020 77 👀

¿Podés darnos una breve introducción de quién sos y a qué te dedicás?

Soy Pablo, un Ingeniero Electrónico de Neuquén. Soy socio de una pyme en la que nos dedicamos a proveer servicios de adquisición y telemetría a la industria local, o de provincias vecinas principalmente. Soy también docente de Métodos Numéricos de la facultad de Ingeniería en la Universidad Nacional del Comahue. En mis tiempos libres, hago algo de gamedev, y mantengo una aplicación open source para gamedev llamada Laigter.

¿Cómo te metiste en el desarrollo de videojuegos? ¿Qué fue lo que te atrajo?

Comencé en el desarrollo de videojuegos cuando me encontraba buscando un nuevo hobbie. Toda mi vida tuve hobbies, que encuentro muy necesarios para mantener la cordura. Anteriormente tocaba la guitarra en una banda de rock local, pero los tiempos de trabajo luego de recibirme me hicieron imposible seguir coordinando con el resto de la banda. Toda la vida me interesaron los videojuegos, aunque nunca había intentado programar alguno. Ya recibido, y teniendo experiencia en programación en distintos lenguajes, decidí que mi nuevo hobbie sería el gamedev. Mi primer contacto fue en Noviembre 2018 (hace relativamente poco), y en seguida encontré que programar videojuegos es más divertido que jugarlos.

Esto último que decís, como que termina siendo una realidad una vez que empezás a meterte en el desarrollo. ¿Te pasa que ya no jugás tanto como antes?

En realidad, hacía tiempo que no jugaba casi nada. Por una cuestión de tiempos mientras estudiaba y trabajaba, había dejado de jugar casi del todo. Así que, el gamedev en realidad aumentó la cantidad de horas que juego, aunque suele ser muy poco (un par de hs. a la semana como mucho) ya que el resto del tiempo libre prefiero usarlo para el desarrollo. Pero si comparamos con la cantidad de horas que jugaba durante los primeros años de la facultad, si, es mucho menos. Antes jugaba al menos 3hs diarias.

Otro cambio es que ahora prefiero jugar juegos indies, de corta duración, que juegos AAA, o juegos online. Suelo encontrar, en mi opinión, más elementos útiles o creativos en los juegos indies.

Por los que te conocemos en la comunidad, sabemos que usas Godot para hacer tus videojuegos. ¿Por qué lo elegiste particularmente? ¿Qué te atrajo?

Al ver un showcase de Godot Engine, me impresionaron mucho los efectos de iluminación dinámica de los que era capaz ese engine, entonces decidí investigar y crear una herramienta que ayude a otros devs a lograr esos efectos con facilidad. Así surgió Laigter, y el gamedev se comenzó a transformar en algo más serio que un simple hobbie. Además, lo primero que busco siempre a la hora de elegir un software, es que sea open source. Si no encuentro nada relativamente maduro open source, recién voy por los softwares cerrados. Me pareció que godot era lo más avanzado en cuanto a engines open source. Esta decisión es por dos razones. Principalmente, creo que el open source beneficia a todo el mundo. Por otro lado, te da la oportunidad de colaborar, o solucionar por tu propia cuenta los bugs o problemas que encuentres. Desde que uso godot, hice 6 pull request que fueron mergeadas y están actualmente en la versión estable de godot. Son pocas, y relativamente sencillas, pero pude de esa forma solucionar problemas que otros usuarios encontraban, y con los que yo mismo me encontré en el momento de hacer algún juego. Esa opción no está en los engines cerrados. Además, godot es liviano, y corre perfectamente en linux. Al comenzar con el gamedev, tenía una notebook de 10 años que apenas encendía. Otros engines no corrían.

Hablanos de Laigter. Qué es y para qué sirve.

Laigter es una herramienta libre y gratuita para la generación automática de mapas de normales. Los mapas de normales son texturas que se utilizan para lograr que la luz afecte sobre las superficies como si éstas tuviesen relieves o geometrías más complicadas de lo que el modelo real es. Se puede leer una explicación más detallada en la documentación de la herramienta.

Además, también genera otros mapas, que si bien son menos utilizados en juegos 2D, al usarlos generan efectos interesantes, y aportan más realismo a la iluminación.

¿Y que fué lo que te motivó a crearlo?

Al iniciar a desarrollar algunos conceptos de juegos en godot, me impresionó en gran medida como incluir esas texturas llamadas normal maps aumentaban considerablemente la calidad de la iluminación. Los sprites son planos, no tienen relieve ni volumen. El hecho de agregar una textura a un shader y lograr que parezca un objeto con relieve, me parecía mágico en ese momento. Hasta entonces no sabía nada de shaders, opengl, o cualquier cosa por el estilo. Hacer un normal map a mano, no es fácil, ni siquiera para los artistas. Y aunque el artista pueda hacerlo, no tener una forma de previsualizar el resultado hace que el workflow sea complejo, teniendo que iterar varias veces entre el artista y la prueba, hasta que el efecto sea el deseado. Comencé a buscar generadores automáticos, y con un poco de decepción noté que la mayoría eran pagos (con un valor en u$d inaccesible para la mayoría de nosotros). Los que eran gratis, eran muy básicos, o muy complejos (los complejos orientados a 3D y generar texturas, que no era en lo que yo estaba interesado). Había un solo proyecto que era para 2D, gratis, y bastante profesional en ese momento. Pero solo estaba disponible para windows, y yo soy usuario de Linux. Además carecía de algunas características que yo necesitaba, ya que el desarrollador lo había hecho con las necesidades que requería su juego. Entonces me decidí a aprender lo básico de opengl, aprender algo de shaders, y hacer la herramienta yo mismo, con lo que ya sabía de programación. La herramienta tuvo algo de reconocimiento en algunos lugares, y varios me pidieron si podría hacerla open source para así poder colaborar. Siempre apoyé la filosofía open source, lo único que me frenaba era el pensamiento de que mi código era un desastre y todos lo notarían. Al final decidí liberar el código, y nadie notó el desastre.

Desde ese momento me encuentro activamente manteniendo y agregando características a esa aplicación. Incluso recibí una Mega Grant de Epic Games para continuar con el desarrollo.

Muy bueno lo de Epic Games. Una gran ayuda y un gran reconocimiento. También tenés los patreones que te dan una mano. En internet hay varios reviews y showcases, inclusive de Youtubers conocidos como GamesFromScratch. Es un gran incentivo ver el reconocimiento de la comunidad, ¿no?. Es el termómetro para saber que lo que estás haciendo va por buen camino.

Si, el reconocimieto de gente que seguís hace tiempo, como el caso de GamesFromScratch es muy gratificante. Si alguién con tanta experiencia decide mencionarte, te da una idea de que lo que estás haciendo es relativamente útil. Por otra parte, los Patreons, o la gente que decide dejar algo de plata en itch por Laigter, siendo que pueden adquirirla gratuitamente, también es un indicador de que tu herramienta les sirve. Otro indicador es que personas pertenecientes a proyectos más grandes colaboren con tu proyecto. He tenido PRs de core developers de godot, que a pesar de estar ocupados con su trabajo en el engine (algunos de ellos full time) deciden invertir un poco de su tiempo para ayudar a que Laigter mejore. Eso es muy gratificante también y estoy muy agradecido con ellos por su ayuda.

¿Estás también en algún otro proyecto?

En este momento, me encuentro desarrollando dos proyectos personales. Uno es un juego 2D, sidescroller, de plataformas y un poco de puzzles. El nombre clave por ahora es Ineth, y estamos intentando terminar una demo este año. Se trata de un juego en el que jugás como una bruja que fue encerrada en una prisión para resguardar a la humanidad de sus poderes. Tu objetivo es simple, tenés que escapar. En el camino, habrá que superar trampas, escenas de plataformas de cierta dificultad, y algunos puzzles, así como un poco de combate (aunque esto último es secundario). Para ello, durante el juego vas obteniendo items y hechizos que te permiten sortear las distintas dificultades que van apareciendo. La historia de fondo se irá descubriendo durante el desarrollo del juego.

Además, estoy en un proyecto freelancer, programando por hora en un juego que debería lanzarse dentro de poco. En ese proyecto estoy haciendo tareas menores igual, ya que hay otro programador que hace la mayoría del trabajo. Y, si las cosas se dan, voy a estar participando como freelancer además de un grupo que hace tutoriales de gamedev. Si sale todo bien, seguramente dentro de poco lo comente por el server con más detalles.

También siempre intento ayudar a los demás con lo que se. Participo activamente del foro de Q&A de godot donde estoy rankeado en puesto 12 en este momento. También suelo intentar ayudar en el canal en español de godot, o en el de gamerev, de discord.

Ineth. Jugué una demo y está quedando muy bueno. Se nota que tiene mucho laburo y atención al detalle. ¿Lo estás haciendo vos sólo o tenés a alguien que te dé una mano?

El juego lo estoy desarrollando con un amigo de toda la vida, Andrés, que hace el arte. Yo hago la programación y level design. Las decisiones de mecánicas y game design en general las hacemos entre ambos. Para la demo, la música la haría yo, pero luego de la demo pensamos buscar a alguien que lo haga de forma más profesional.

Imgur

Tenés un montón de proyectos. Sumado a las clases que también dictas ¿Cómo te organizas para no descuidar nada? ¿Seguís algún tipo de programa o vas medio tanteando le terreno día a día? A más de uno le explotaría el bocho.

Día a día. El único proyecto que sigo con una organización un poco más detallada es Ineth, pero porque trabajo también con otra persona. Para todo lo demás sencillamente, cuando tengo un rato, elijo trabajar en el proyecto en que tenga más ganas de trabajar en ese momento. Lo que sí tomo como una regla, es que ningún día sea un día 0%. Es decir, todos los días, aunque sea, tengo que hacer algo mínimo de alguno de mis proyectos. Así sean 5 minutos, y solo llegue a organizar las carpetas de algún proyecto, o escribir alguna tarea para no olvidarme más adelante. Esto se convierte en rutina y luego ya no te cuesta dedicarle tiempo a los side-projects. Al menos así es en mi experiencia. También, cuando no tengo ganas de programar, me pongo a tocar la guitarra, o a hacer algún dibujo imaginándome usarlo en algún juego futuro, pero realmente solo para practicar. En definitiva, trato de mantenerme activo todos los días.

Conocé más sobre Azagaya:

Comentarios

Logueate o registrate para poder comentar.