Perfil de molécula: Amy Phillips
Amy Phillips responde al título de Alta Sacerdotisa del Código de Herramientas, que obviamente queda genial en una tarjeta de presentación. Su título real, programadora de herramientas jefa, aunque no tan grandilocuente, es igual de importante, porque ella y su equipo tejen cualquier herramienta que puedan necesitar los diferentes equipos del estudio. Hoy charlamos con ella sobre su amor por los puzles, sobre resolver los problemas de la gente y sobre la clásica aleatoriedad de Mm.
¡Hola, Amy! ¿Qué haces en Media Molecule?
Soy Amy Phillips. Soy la alta sacerdotisa del código de herramientas en Media Molecule. Obviamente, y por desgracia, no es el nombre verdadero de mi trabajo. En realidad viene de cuando fui a la GDC (Game Developers Conference) hace siete años. Tenía que hacerme unas tarjetas de presentación y fueron tan tontos de dejarme escoger el nombre de mi puesto. Así que escogí "alta sacerdotisa del código de herramientas". En realidad soy programadora de herramientas en el lenguaje de estudio adecuado jefa, si usamos la denominación correcta del estudio, pero me gusta eso de ser la alta sacerdotisa. Suena poderoso y elegante a la vez.
¿Y qué supone eso en el día a día? ¿Trabajas para mejorar las herramientas que usas en Dreams?
No. Entiendo que puedas pensar eso, pero no hacemos las herramientas que los jugadores usan en Dreams. Básicamente, el equipo de herramientas se compone de cuatro de nosotros y, en vez de hacer las herramientas que usan los jugadores, hacemos las herramientas que usan las moléculas. Esto puede incluir crear o conseguir soluciones para arreglar cualquier cosa que se interponga en el camino de las moléculas para hacer su trabajo. Así que tengo que hablar mucho con las moléculas y averiguar qué les está causando problemas, qué está ralentizando su trabajo y qué les impide alcanzar un ritmo de trabajo fluido, y luego descubrir si hay algo que podamos hacer para ayudarles. De modo que trabajamos haciendo compilaciones para una integración continua, así que, cuando un programador añade nuevo código, tenemos sistemas que compilan ese código y avisan rápidamente al programador si ha roto algo, ¡lo que es muy útil y bastante fácil de hacer! Estos sistemas pueden compilar el nuevo código rápidamente y ofrecérselo a los encargados del control de calidad o a los creadores de contenido, o a cualquiera que quiera esa compilación.
Y también hemos creado algunas pruebas automatizadas, de modo que, cuando llega el código, le hacemos una serie de pruebas para averiguar si hemos roto algo. También ayudamos con la traducción, tomando el juego y traduciendo el nuevo texto, para que puedas jugar en francés o español y asegurándonos de que todo esté traducido. Y hay un montón de mover datos de un sitio a otro, debido a disputas por la gestión del código. Es el sistema que usamos para conocer el estado del código en todo momento y asegurarnos de saber qué ha cambiado y por qué se ha cambiado. Nos permite volver a compilaciones anteriores de una determinada versión, para poder reproducir una versión que hayamos enviado a los jugadores, por ejemplo. Cualquier cosa que no tiene una asignación clara es para herramientas, lo que es genial porque eso genera mucha variedad y nos lleva a hablar con un montón de gente diferente de todo el estudio.
¿Recibes muchas solicitudes de herramientas comunes, o todas son bastante diferentes, dependiendo de lo que se necesite?
Suelen ser bastante variadas. Como trabajamos con muchos departamentos de todo el estudio, las solicitudes que recibimos pueden ser muy diferentes. Hemos estado intentando actualizar nuestra documentación sobre cómo ocuparnos de las diferentes solicitudes que recibimos, porque hay algunas que se repiten mucho. Cosas como, "Tengo el típico error fatal y quiero símbolos para él, porque estoy intentando descubrir qué demonios está pasando". Así que ese es bastante común. Pero tenemos todo tipo de cosas aleatorias.
¿Y qué tipo de herramientas creas cuando la gente te hace peticiones?
A menudo, las moléculas necesitan poder tener compilaciones rápidamente. Cuando empezamos a trabajar desde casa, en 2020, perdimos la red del trabajo, que era muy rápida. En la oficina podías descargar una compilación muy rápido. Pero todos nos fuimos a trabajar a casa, con conexiones a Internet de diferentes calidades, así que tuvimos que trabajar en un puñado de mejoras en nuestra herramienta para distribuir compilaciones, para que usase menos ancho de banda. De modo que tuvimos que diseñar un puñado de código para intentar usar lo que ya tienes en el disco duro y descargar de la red solo lo que necesitas realmente. Hay montones de cosas técnicas, pero soy una programadora, así que me gustan todos los chismes técnicos. Antes era programadora de redes y trabajaba en todo tipo de problemas complejos e interesantes. Eso fue sobre todo cuando trabajaba en los juegos de carreras Burnout e intentaba que los coches tuvieran el mismo aspecto y el mismo comportamiento en la red.
¿Cómo terminaste trabajando en herramientas con unos conocimientos de programación de redes?
Bueno, al principio empecé como una especie de programadora general, y luego estuve un tiempo como programadora de IA, antes de pasar a la programación de redes propiamente dicha. Eso fue cuando hicimos [en Criterion Games] Burnout 3 y lo llevamos al modo online. Y luego pasé a Media Molecule, donde era programadora de red en los primeros días de LittleBigPlanet. Después de un tiempo, me tomé una baja por maternidad y cuando volví, quería trabajar a tiempo parcial, dos días a la semana. Por desgracia, el puesto de programador de red no se ajustaba a esa semana de dos días, así que busqué otras cosas que hacer, y me di cuenta de que había varios problemas que no se ajustaban a ningún departamento del estudio. Así que empecé a seleccionar esas tareas, y resultó muy útil que la gente tuviera alguien a quien acudir cuando necesitaba algo.
En realidad, el puesto evolucionó a partir de ahí. No hay que reinventar la rueda sino encontrar cosas que no funcionan especialmente bien y retocarlas para que funcionen mejor. Es muy gratificante porque puedes ver la reacción de la gente al momento. Por ejemplo, si mejoras la distribución de una compilación para que la IU (interfaz de usuario) sea más bonita y puedes escoger tus compilaciones favoritas para ponerlas en lo alto de la lista, la gente te dará su opinión al momento; si alguien hace algo bonito, siempre te darán las gracias, lo que resulta adorable.
¿Estudiaste en la universidad para aprender a programar o lo aprendiste por ti misma?
Curiosamente, entré un poco por casualidad. Al principio, fui a la universidad para estudiar Matemáticas, y es lo que estudié el primer año, pero era muy difícil. Así que me cambié a Física durante el segundo y el tercer año, que era un poco más fácil. Sin embargo, no sé... No me resultaba interesante. Así que, tras el tercer año de Física, me cambié de nuevo y estudié informática durante un año. Y tuve la enorme suerte de que mi universidad fue superflexible con lo que hice. Así que acabé estudiando Informática y me gustó mucho, y de alguna forma, encajó.
Me gradué en Informática y luego un amigo mío, que trabajaba en Big Blue Box Studios, en Fable, en ese momento, quería que le visitase en Guildford. Así que fui de visita un fin de semana, y tuvo que ir a la oficina, porque tenían que cumplir un plazo, así que fui a la oficina con él y conocí a sus amables y simpáticos compañeros, y vi que tenían una scooter y chucherías en la oficina y fue genial. Y yo pensaba, "Oh, vale, videojuegos. Podría ser para mí". Así que envié mi CV a todas las compañías de videojuegos de Guildford, y me respondieron de Criterion, de modo que terminé consiguiendo un trabajo allí. Así que sí, tuve muchísima suerte y casi me topé con ello.
¿Qué te parece lo más interesante de trabajar en Mm?
Sin duda, la gente. Me encanta trabajar con la gente de Mm. Son un grupo de personas muy inteligentes, pero también muy amables y adorables, sobre todo muy creativas. Cuando hablas con la gente de Mm, siempre hablas con ellos primero como personas y luego sobre su puesto laboral, así que los consideras tus iguales. Me gusta mucho la atmósfera de que todos seamos primero personas, y luego personal laboral, y que cada uno pueda debatir sobre cómo van las cosas y qué problemas está teniendo y qué está pasando. Y, en realidad, como programadora de herramientas, resulta muy útil, porque generalmente, si alguien acude a ti y dice, "Quiero esto", es probable que no sea lo que realmente quiere. Así que tienes que retroceder un poco y preguntar, "Vale, ¿para qué quieres esto? ¿Qué quieres hacer? ¿Cuál es el contexto general de esta petición?". Porque entonces, cuando tienes el contexto, puedes averiguar si otras personas también querrán eso y cuál es la mejor forma de implementarlo, y qué quieren hacer realmente, en vez de lo que te han pedido.
Como llevas en Mm casi desde el principio, ¿cuál ha sido el proyecto en el que has trabajado y que más te ha gustado?
Tiene que ser el primer LittleBigPlanet, porque fue todo un desafío. No sabíamos muy bien qué estábamos haciendo, así que todo se iba creando a medida que avanzábamos. Para ser honesta, no entiendo muy bien cómo se juntó todo para hacer un solo producto, porque había un montón de ideas interesantes y un puñado de experimentación. En ese momento aún era programadora de redes, pero me encantaba la naturaleza experimental aleatoria; aunque creo que el equipo aún tiene esa aleatoriedad, en cierta medida.
Así que esa sería otra de mis cosas favoritas de Mm: que nos ponemos y empezamos a hacer cosas creativas interesantes que además, se sienten colaborativas. Nunca sientes que es una persona con una gran idea. Hay una especie de núcleo de lo que intentamos hacer, pero también, todos pueden aportar y contribuir con cosas que encajan en ese núcleo. Creo que es muy raro que en un estudio de videojuegos todos los miembros de la compañía tengan la posibilidad de ser creativos.
¿Tienes algún consejo o truco para alguien que podría tener interés en entrar en la programación de herramientas?
Bueno, un título resulta útil porque un título en algo relacionado con la programación, como informática, te enseñará un puñado de conceptos fundamentales que te ayudarán cuando intentes entender por qué tu código se comporta como lo hace. Si puedes entender el algoritmo que has escrito, o la estructura de datos que estás usando, y cómo eso usa la caché y por qué estás teniendo extraños problemas de rendimiento, el proceso de descubrir el fallo en tu código será mucho más simple.
Pero también creo que las jams de juego son una oportunidad genial para conocer personas y hacer contactos, además de probar cosas y entrenar tus habilidades creativas. Y si soy honesta, darse cuenta de lo difícil que es terminar un juego es una verdadera revelación para saber si quieres permanecer en esta industria o no. Es muy fácil empezar a hacer un juego, pero muy difícil terminarlo. Supongo que es un poco más fácil en la universidad, porque alguien ha diseñado el curso para enseñarte las cosas que necesitas saber, pero si estás aprendiendo por tu cuenta, tú tienes que encargarte de descubrir lo que tienes que saber y luego aprender sobre ello.
El personal de Mm parece tener un montón de objetos interesantes en sus mesas. ¿Qué hay en tu mesa ahora mismo?
Hmmm. No tengo nada demasiado interesante que haya en mi mesa. ¿Qué tengo? Bueno, tengo un libro de puzles - Journal 29: Oblivion. Es básicamente un libro de puzles y son algo complicados porque son, esencialmente, puzles de pensamiento lateral. Primero tienes que averiguar cuál es el puzle para poder resolverlo. Pero son muy buenos si te gustan los puzles. También tengo una postal de un amigo cuya página web actualicé a cambio de un libro con una postal dentro, y tengo mi Kindle y un pin cualquiera de Mm. Diría que lo más interesante de mi escritorio es mi adorable taza. Mi taza mola mucho: se llama Copa de valor y tiene frases motivacionales, como Tú puedes. No tengas miedo. Sé un soldado, no un sudado. Ve a tu ritmo. Eres más fuerte de lo que crees. Y un unicornio que dice, "Eres mágica y valiosa". Los unicornios hacen que todo sea mejor.
La Guía de usuario de Dreams es un trabajo en curso. Permanece atento a las actualizaciones porque añadiremos más artículos y recursos de aprendizaje con el tiempo.