Supermassive Games

Lo mejor de ambos mundos: Supermassive Games aprovecha el desarrollo AGILE manteniendo el control

El desarrollo AGILE se ha generalizado entre los desarrolladores como un medio para asegurar una rápida salida al mercado de sus productos y servicios. Con Sede en Reino Unido, Supermassive Games ha adoptado Agile como núcleo dentro de la cultura de empresa, delegando la responsabilidad a los individuos y los grupos, al mismo tiempo que protege el entorno de desarrollo mediante el uso de Perforce SCM para todas sus necesidades de control de versiones.

Supermassive Games se creó en 2008 por profesionales experimentados en GAMING. El objetivo de la compañía era adquirir y conservar algunos de los mejores talentos de la industria de los videojuegos al crear un ambiente donde la gente disfrutara de su trabajo y sintiera que contribuía al negocio. Hasta ahora, esta receta ha funcionado para Supermassive Games, que en 2010 lanzó Tumble y Start the Party, dos juegos para el controlador PlayStation en la plataforma de Sony PlayStation 3, además de una serie de kits de nivel para Little Big Planet.

El director de Tecnología, Jonathan Amor, quien ha estado en Supermassive Games desde sus primeros días, dice: "La adopción de desarrollo Agile ha ayudado al equipo a sentirse con voz real en cómo las cosas son desarrolladas en Supermassive. Animando la comunicación cara a cara, trabajando en pequeños equipos interdisciplinares y haciendo 'sprints' de corta duración, Scrum genera esa sensación de que todo el mundo está unido (trabaja armoniosamente) y evita una situación de "ellos y nosotros".

"Source Control Management es una parte importante de nuestro proceso de desarrollo Agile, ya que permite a la gente la libertad para hacer su trabajo dentro de los parámetros establecidos y proporciona importantes controles y medidas. Esto significa que podemos tener confianza en que todo el mundo colabora en la línea principal del trabajo mismo, todo el tiempo. Tenemos alrededor de 20 programadores, 20 artistas y 20 diseñadores, todos ellos utilizan Perforce para apoyar la creación de las compilaciones diarias que revisamos juntos como equipo.


 

  • Todo el código y los recursos son administrados por Perforce SCM

Tanto Jonathan como el director de Tecnología de información Frank Tindle tenían experiencia con Perforce desde sus días en Electronic Arts. Dice Jonathan, "La usamos para todo nuestro código y recursos aquí en Supermassive. Sabíamos que Perforce era lo suficientemente escalable para satisfacer nuestra creciente demanda. Añadir nuevas personas puede aumentar la complejidad de la gestión de los procesos diarios de desarrollo, sin embargo Perforce proporciona un marco que permite que éste sea manejable, independientemente de la velocidad de crecimiento. Ahora tenemos alrededor de 70 personas que trabajan en nuestra oficina del Reino Unido en Guildford y con tantas otras tareas cotidianas para administrar, queremos que el control de código sea el menor de nuestros problemas. Perforce nunca se interpone en el camino y su capacidad para hacer frente a grandes volúmenes de datos binarios y código fuente sin ningún impacto en el rendimiento, es esencial. He trabajado con sistemas en el pasado de manera que, cuando los archivos binarios de gran tamaño fueron introducidos, el rendimiento disminuyó drásticamente o el sistema comenzó a lanzar mensajes de error. No hemos considerado alternativas de código abierto porque no queríamos correr el riesgo: "necesitamos una herramienta de control de código fuente en la que se pueda confiar " En la primavera de 2011, el repositorio de Supermassive para el código y los recursos se situó alrededor de 1,8 millones de archivos, lo que Jonathan estima entre medio y un terabyte de tamaño.

  • La integración Perforce proporciona integración continua

Supermassive también ha integrado Perforce en su sitema de construcción de aplicaciones, desarrollado internamente. "Esta integración nos permite crear compilaciones continuas que son alimentadas con datos de Perforce cada 15 a 30 minutos. Nuestro objetivo es tener un sistema de construcción de aplicaciones continuo, por lo que el sistema de autoconstrucción es vital para el envío de informes de error al equipo si hay un problema. Por tanto, Perforce se utiliza para identificar los datos más recientes que se registran, de forma que los errores se puedan identificar y arreglar inmediatamente. El mismo sistema se utiliza para crear todas las generaciones, desde que se construyen por el equipo de revisión periódica como parte de nuestro proceso de Scrum, hasta la submisión final de la generación de aplicaciones". explica Jonathan.

  • Crear ramas y listas de cambios para apoyar el desarrollo de juegos en línea.

Supermassive Games recientemente también se han lanzado en el área de juego en línea. Jonathan dice: "el desarrollo de juegos en línea es una experiencia muy diferente porque se encuentra en un ciclo continuo de desarrollo. Desde que estábamos añadiendo nuevas características cada pocas semanas,el control de código se convirtió en un mecanismo de apoyo importante para los continuos ciclos de lanzamiento, lo que nos permite mantenernos en la cima del rápido ritmo de cambio".

"El elemento de ramificación dentro de Perforce entra en juego aquí porque nos permite ramificar desde la línea principal para crear diferentes versiones y combinar los cambios de nuevo de forma controlada. La función del gráfico de revisión en Perforce hace de este área potencialmente compleja más fácil de ver y de manejar."

Otra característica útil es la posibilidad de crear listas de cambios atómicos que ayuden a establecer una buena práctica de trabajo. "Fue una revelación hace tiempo, cuando empecé a usar Perforce: Todo lo necesario para realizar una tarea -por ejemplo, una corrección de errores- se puede organizar en un solo lugar, por lo que es menos propenso a errores y más rápido que comprobar los archivos individuales. A los miembros del equipo se les anima a crear listas de cambios con antelación para cada tarea concreta, en lugar de comprobar al azar en archivos individuales", explica Jonathan.

"Mediante el uso de la función de protección también hemos creado grupos definidos por el usuario para que podamos gestionar lo que cada grupo puede y no puede ver. Esto significa que cualquier área en el que uno no esté trabajando, o no sea relevante para ellos, se puede ocultar. Podemos simplificar la vista del usuario evitando una visión compleja, manteniendo el contenido irrelevante oculto".

  • Entonces ¿ cómo se plantea el futuro para Supermassive ?

Dice Jonathan: "No podemos decir mucho acerca de los proyectos que estamos trabajando actualmente, pero hay una serie de nuevos juegos planificados y esperamos seguir creciendo, tanto como empresa como en el tamaño de los proyectos que se están manejando. Tener un sistema de control de código fuente sólido como Perforce significa que confiamos en ser capaces de escalar para cumplir con el reto y ser capaces de trabajar a través de cualquier dificultad potencial de crecimiento causada por el volumen y la complejidad de los datos que manejamos".

Esta solución ha sido implantada por Perforce UK.