Sponsored By

Preparando el Sprawl: Desarrollando la base de código de Lil’ Guardsman

" El rol de programador se debe ver como un acto de servicio: Mi trabajo con este proyecto es en servicio a los escritores, artistas y diseñadores de este proyecto."

Italo Capasso, Blogger

November 7, 2023

6 Min Read

Descansando un poco… ¡Con nuevo trabajo!

Antes de empezar mi trabajo en Lil’Guardsman como programador líder, había estado trabajando sin parar en videojuegos por casi 15 años. Parecía que era el momento de tomarme las cosas con más calma, y descansar un poco. ¡Pues no! Mi último trabajo había sido en Unity dando soporte a estudios utilizando el motor, y extrañaba hacer juegos. ¡Quería entrar una vez más al ruedo!

Me encontré con una oferta de trabajo para un desarrollador líder en el sitio web Work With Indies de un nuevo estudio ubicado en Toronto, Canadá, llamado Hilltop. Sus fundadores Artiom y Scott tenían una visión concreta, pero necesitaban a un programador como yo. Su publicación tenía como descarga un vertical slice (prototipo de demostración) que habían creado con otro desarrollador, para demostrar claramente lo que buscaban. Reconocí inmediatamente que el prototipo tenía mucho potencial así que, incluso antes de obtener el trabajo, empecé a trabajar en cómo diseñar y construir una base de código que pudiera respaldar esa visión.

VertSliceAndNew.png

Los pilares técnicos evidentes en el prototipo de Lil’ Guardsman

Al jugar el prototipo, determiné tres pilares técnicos del juego que necesitaba construir:

Pilar 1. Lil’Guardsman es, sobre todo lo demás, un juego narrativo.

Existen una serie de peculiaridades y requisitos específicos cuando se trata de juegos narrativos. Como el hecho de que involucran PALABRAS…. muchas, muchas, palabras. El juego necesitaría un esqueleto robusto para acomodar su escritura, las decisiones de los jugadores y el despliegue de los resultados. Además de que el sistema tendría múltiples modos de mostrar este mismo texto, tanto gráfico como texto.

Basado en esto, hice la sugerencia de utilizar Yarn Spinner para Lil’ Guardsman. Las herramientas gráficas tienden a tener problemas de escalabilidad, localización y traducción y hacer simples correcciones rápidas de texto. Y a través de una conversación temprana con Scott Christian, el director del juego que además era responsable del equipo de escritores del juego, decidí que Yarn Spinner iba a ser la mejor solución para este proyecto.


Pilar 2. “Papers, Please”... pero basado en turnos.

La jugabilidad de Papers, Please tiene un aspecto de tipo ‘twitch’ (agilidad), debido al hecho de que ocurre en tiempo real, creando una sensación de urgencia y peligro. Desde un punto de vista de programación, es claro que Lil’ Guardsman NO necesitaría elementos en tiempo real como temporizadores. From a code perspective, there are specific.

LG es la versión más linda y acogedora de Papers, Please’s. Es un juego basado en turnos sin tiempo límite, y la tensión sale del jugador teniendo un número limitado de acciones a realizar antes de tener que tomar una decisión. Esto hace de Lil’ Guardsman un juego más lento y en cierto modo más metódico. En vez de tener un tiempo límite que te fuerza a analizar rápidamente documentos, LG permite al jugador encontrar las respuestas a su propio ritmo, lentamente, respirar y reír un poco… para luego decidir el destino de alguien.

Pilar 3. Hecho en Unity

El prototipo estaba hecho en Unity, y aunque ni Scott, ni Artiom son programadores, ya se sentían cómodos respecto del motor, habiendo trabajado un poco con él. Esto no era nada en especial en el gran esquema de las cosas, existen pros y contras para cualquier motor, y puedo ser flexible, pero siempre es una ventaja cuando ya hay una familiaridad al comenzar un proyecto nuevo. Y pues, el hecho de que venía de trabajar en Unity por cinco años ayudando a otros equipos a resolver sus problemas también hacía a Unity una buena opción para mí.

Conclusiones del prototipo

Al finalizar el prototipo y pensar sobre el proyecto, compartí mi plan con Hilltop sobre cómo empezaría el proyecto, y me contrataron. ¡Y aquí es cuando la diversión comienza!

Empezando la producción

“Es un proyecto pequeño, un simple juego indie”. ¡Ningún proyecto es tan pequeño como uno piensa! El alcance de Lil’ Guardsman empezó a crecer con velocidad. Para ayudarme a enfrentar esto tuve la suerte de agregar un programador adicional, Adolf, al proyecto. El estaba trabajando en un proyecto de Hilltop distinto, así que cuando terminó se unió a Lil’ Guardsman para ayudarme en la programación. Esto fue un alivio, ya que ser un programador solitario puede ser estresante y causar muchos nervios (además, la mitad del trabajo es inventar de todo desde cero y encontrar las soluciones en el acto ¿verdad?)

El reto de traer un programado adicional, especialmente en la mitad de un proyecto an en producción, significaba que alguien más vería mis ‹trapos sucios (es decir, mi código), y tenía un poco de ansiedad sobre lo que otro programador pensaría de mi código, especialmente si tiene que entrar trabajando lo más rápido posible. Afortunadamente, Adolfo resultó ser un colaborador fenomenal y no tuvo problemas en adentrarse en el sistema. Fue todo un descanso tener otra mano en el lado de la programación del proyecto, y felizmente Adolfo tampoco encontró mi código tan desastroso.

El producto final

Mientras escribo esto, ¡Lil’ Guardsman está muy cerca de estar terminado! /Me siento muy bien sobre cómo ha quedado este proyecto. En la primera impresión parece un juego simple y sin novedades, pero el diseño es ambicioso ¡y muchas cosas geniales pasan! Me siento orgulloso de que la base del código haya sido lo suficientemente estable para manejar la variedad que tiene la jugabilidad. El equipo que convierte el juego a otras plataformas está finalizando su trabajo para llevarlo luego a consolas, y me siento orgulloso de que, a pesar de que hubieron problemas (siempre los hay), fueron mucho menos de lo que creía que iban a aparecer.

A medida de que termine mi trabajo en Lil’ Guardsman, creo que estoy listo para tomar un descanso… ¡ESTA VEZ EN SERIO! Mi hijo nació hace unos meses durante la producción de este juego, y me quiero concentrar en tomar un descanso para dedicarme a mi esposa y mi hijo. Tengo el privilegio de poder tomarme un tiempo fuera del desarrollo de juegos, but veremos que pasa… ¡de pronto me dan ganas otra vez!

Yo siempre he dicho que el rol de programador se debe ver como un acto de servicio: Mi trabajo con este proyecto es en servicio a los escritores, artistas y diseñadores de este proyecto. Es mi trabajo asegurarme que el concepto genial y divertido que es nuestro juego llegue a las manos de los jugadores para que puedan disfrutarlo. A pesar de que nada en un juego funcionará sin nosotros, la programación es un tipo de trabajo que debe ser invisible Si nada se rompe, es un buen producto. Espero que las personas descubran y se entretengan con nuestro juego gracioso, ingenioso y conmovedor. Y si al jugarlo descubre algunos errores, bueno, es ahora problema de Adolfo, ¡yo estaré ocupado con mi hijo!

Italo Capasso es un desarrollador de juegos viviendo actualmente en Bogotá, Colombia. El y su esposa Diana Pacheco hacen juegos con su compañía Glitchy Pixel. Ha trabajado como desarrollador de soporte en consolas para Unity por cinco años, antes de volver a su pasión por crear videojuegos con Lil’ Guardman. Italo también es profesor de diseño y programación de juegos en la Universidad de Los Andes en Bogotá, Colombia, y en la iniciativa de ARKDE.

Read more about:

Blogs
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like