Cómo Sycoforge impulsa la ideación y la iteración rápidas

La adopción de Unity Version Control acelera el desarrollo de Return to Nangrim, reuniendo a programadores y artistas para aumentar los commits en más de un 300%.
Sycoforge: Un caso práctico de Unity Version Control
¿Cómo garantiza un estudio independiente impulsado por el arte un control coherente de las versiones de una comunidad dispar y muy distribuida de colaboradores creativos? Sycoforge estaba inmersa en un ambicioso proyecto transmedia que incluía Retorno a Nangrimun RPG de aventuras apoyado en componentes multimedia y lingüísticos sofisticados. Sin embargo, su actual sistema de control de versiones (VCS) era una herramienta para programadores. No estaba diseñado para servir al lado creativo del desarrollo de juegos, y Sycoforge necesitaba un cambio.

Unificar todo el entorno de desarrollo de juegos con VCS
El exclusivo modelo de desarrollo de Sycoforgeincorpora comentarios periódicos de una comunidad mundial de desarrolladores, artistas y jugadores. La mayoría de los VCS son complejos, están pensados para ingenieros y no están diseñados para archivos grandes y binarios. Para lograr su visión de un desarrollo impulsado por la comunidad, la iteración rápida era vital. Sycoforge necesitaba una solución sólida que también sirviera a sus artistas y a los miembros no técnicos del equipo. Una adopción rápida y amplia era esencial para lograr su visión, y encontraron su elegante solución en Unity Version Control de Unity DevOps (anteriormente conocido como Plastic SCM).
Los resultados
- Aumento de los commits en un 300% e insignificancia de los conflictos de fusión.
- Migración de Bitbucket a Unity Version Control a mitad de proyecto en menos de una semana.
- Permite a los artistas tomar el control de sus propias versiones sin sobrecargar a los desarrolladores.

Imaginar un universo de fantasía
Los estudiantes de ingeniería Michela Rimensberger e Ismael Wittwer pasaron mucho tiempo en la universidad jugando a juegos de simulación, sobre todo en los mundos fantásticos de la Batalla por la Tierra Media. Inspirados por la idea de construir su propia realidad alternativa, ambos emprenden una ambiciosa búsqueda.
Querían crear un juego con lenguas, culturas, mapas, clanes y otros detalles únicos para una fantasía totalmente nueva, en continuo crecimiento y autocontenida: el Universo Arafinn. Para hacerlo realidad, en 2017 la pareja, ahora CEO y CTO, respectivamente, fundó Sycoforge en Zúrich.
Regreso a Nangrim es el primer capítulo de lo que será una saga de la historia de Arafinn. El juego, una oscura aventura fantástica en primera persona ambientada principalmente en una ciudad enana de montaña, abraza el rico misterio de la Tierra Media de Tolkien. Sin embargo, es mucho más que un juego. Los lingüistas de Sycoforge han creado múltiples lenguas arafinn, y la idea original se ha convertido en una rica colección transmedia de libros de cuentos interactivos y narrados, un mapamundi multimedia en vista de satélite, una novela e incluso cómics.

Superar la pérdida de datos, los conflictos de fusión y los bloqueos por lentitud de carga
El gremio de jugadores es un componente fundamental del ágil flujo de trabajo de desarrollo de Sycoforge, ya que proporciona información casi inmediata sobre el contenido experimental y la jugabilidad. Para gestionar el control de versiones a través de esta red, Sycoforge había estado utilizando un repositorio de código fuente basado en Git diseñado principalmente para programadores.
Sin embargo, el arte de Arafinn es, en una palabra, enorme. Esto significaba que su VCS tenía que gestionar constantemente actualizaciones de archivos gráficos de hasta varios gigabytes, además de cambios de código basados en texto. El proceso era lento y complicado, y la facilidad de uso (o la falta de ella) era el factor decisivo.
"Con todo lo que guardas en la nube, si alguien está trabajando en el mismo archivo en el que está trabajando otra persona, probablemente tendrás problemas", dice Rimensberger. "Cuando se trata de código, cuyo desarrollo y mantenimiento lleva mucho tiempo, no podemos permitirnos perder datos".


Reequilibrio entre la resolución de problemas y el tiempo de creación
Con Git, el equipo técnico perdía tiempo solucionando problemas con la herramienta y resolviendo conflictos de fusión en lugar de desarrollar el juego, y eso creaba ansiedad en el equipo. La gente tenía miedo de comprometerse por si rompían algo, y se sentían frustrados mientras esperaban a que se cargaran los enormes cambios del repositorio.
"La naturaleza de un videojuego, el tamaño de los datos... simplemente no es factible con Git", dice Rimensberger. "Los archivos tan grandes dificultan mucho el trabajo y lleva mucho tiempo esperar los cambios locales".
Al año de empezar el proyecto, Sycoforge decidió que las cosas tenían que cambiar. Para materializar plenamente su visión del juego, necesitaban experimentar con nuevas ideas y asumir más riesgos creativos. Dado que el temor a la pérdida de datos era tan elevado al comprometerse, su VCS no permitía la rápida iteración necesaria para apoyar plenamente el desarrollo impulsado por la comunidad. Migrar a un nuevo VCS a mitad de proyecto puede resultar complicado, pero las ventajas de utilizar un sistema que satisfaga las necesidades específicas del estudio merecen la pena.


Comprometiéndose con Unity Version Control
"Estudiamos varios VCS, pero Unity Version Control era claramente diferente", afirma Andi Arcaro, programador de Sycoforge. Version Control se creó para permitir la colaboración en todo un entorno de desarrollo de juegos. Sycoforge valoró los dos flujos de trabajo distintos de Version Control: el flujo de trabajo completo Developer, para programadores familiarizados con los VCS tradicionales, y Gluon, un modo simplificado y muy gráfico para colaboradores menos técnicos.
Sycoforge migró a mitad de proyecto de Git a Version Control en menos de una semana sin apenas problemas, lo que tuvo un efecto inmediato en el rendimiento del equipo. Los programadores descubrieron que impulsaba la colaboración, y los artistas se sintieron fortalecidos por su manejo de archivos de imágenes colosales. Como resultado, la tasa de compromiso de Sycoforge se disparó más de un 300%.
"Version Control nos ayuda a probar cosas más arriesgadas que de otro modo no haríamos, porque podemos recurrir fácilmente a datos que ya hemos almacenado", dice Rimensberger. "Cuando trabajas con Git, te da miedo hacer un commit porque, ¿y si se rompe algo? Eso no ocurre con Version Control. La gente está dispuesta a comprometerse más a menudo, lo que también nos permite reducir el tiempo dedicado a resolver conflictos de fusión (que ahora son bastante insignificantes). Incluso los artistas pueden resolver por sí mismos la mayoría de los conflictos de fusión con la interfaz de Gluon, porque es muy fácil de usar. Es a prueba de balas, a prueba de fallos".

Encontrar una solución schlicht al estrés del control de origen
Cada estudio tendrá sus propias necesidades y flujos de trabajo, y el pan de cada día de Version Control es la flexibilidad que ofrece a los equipos para amoldar la herramienta a sus necesidades. Para los que acaban de empezar, el planteamiento de Sycoforge fue empezar a utilizar la interfaz de usuario de Gluon, incluso los programadores, y sólo conceder acceso a las herramientas profesionales de Plastic a los desarrolladores senior y principales.
Rimensberger describe Gluon como schlicht, palabra alemana que literalmente significa "sencillo", pero que connota una elegancia limpia. "La funcionalidad está toda ahí, pero sólo estás expuesto a lo que realmente necesitas a un nivel básico", dice. "Te hace la vida más fácil introducir a todo el mundo en Gluon, y luego los que necesitan toda la gama de capacidades pueden tenerlas".
Para un equipo pequeño que trabaje con muchos autónomos, este enfoque es el que más sentido tiene para ellos. Al ofrecer sólo la interfaz Gluon a la mayoría del equipo, se reduce gran parte de la asistencia que tendrían que prestar si abrumasen a la mayoría de los miembros no técnicos con toda una gama de capacidades y posibilidades, sólo las que más necesitan. Esto libera a su puñado de desarrolladores más experimentados para orquestar el proyecto utilizando funciones como el explorador de ramas de Version Control y algunas de las herramientas más robustas.

Acercar al equipo
Con Version Control, Sycoforge reforzó su proceso de desarrollo ágil, estandarizó los flujos de trabajo y respondió más rápidamente a los comentarios de la comunidad. Rimensberger afirma: "Con Version Control, las notificaciones de commit aparecen ahora regularmente en nuestras bandejas de entrada; son lo primero que compruebo por las mañanas". Sin embargo, para Sycoforge, el desarrollo racionalizado no es más que un medio para alcanzar un fin muy gratificante.
"El hecho de que nuestra comunidad haya empezado a hablar y a saludarse en nuestra lengua enana, de que estén creando nuevas palabras, de que estén buscando pistas y easter eggs, eso es lo que recompensa a nuestro equipo", dice Rimensberger. "Forasteros de todo el mundo se reúnen en nuestra taberna de Discord para beber cerveza enana virtual y pasar un buen rato. ¿Acaso construir este tipo de comunidad no es la esencia de los juegos?".


Crea sin concesiones con Unity DevOps
Unity DevOps de Unity Gaming Services proporciona VCS basado en la nube y funcionalidad CI/CD que se adapta específicamente a los desafíos del desarrollo de juegos. Esta herramienta está diseñada para trabajar fácilmente con archivos binarios y de gran tamaño, además de ofrecer flujos de trabajo específicos para artistas y programadores.
¿Estás listo para dar el siguiente paso? Pruébelo gratis.