Hometopia
Todos los proyectos

Hometopia

Unity PC 1 de febrero de 2025

Entré como desarrollador UI, sobreviví al colapso del equipo y acabé como programador líder. Reconstruí el multijugador desde cero, arreglé años de deuda técnica y mantuve el juego vivo.

Programador líder Sistemas multijugador Optimización de rendimiento Rescate técnico

El contexto

Entré en Hometopia como desarrollador UI/UX. El juego llevaba cuatro años en desarrollo con múltiples manos técnicas entrando y saliendo. Lo que encontré fue una base de código plagada de deuda técnica, problemas de rendimiento y bugs acumulados durante años de rotación.

Mi trabajo de UI fue bien—mejoras rápidas, buena colaboración con el director del juego y los artistas. Pero los problemas técnicos de fondo eran profundos, y el lanzamiento en Early Access fue complicado.

Luego la cosa empeoró. El liderazgo técnico se fue. La mayoría del equipo fue despedido. Pasamos de 15 personas a 5.

Qué hice

Me quedé. El equipo restante decidió no dejar morir el juego.

Como programador líder de facto, asumí la responsabilidad del rescate técnico:

Rendimiento y estabilidad

  • Ataqué años de deuda técnica acumulada y problemas de rendimiento
  • Implementé object pooling, streaming de LOD, texture atlasing y consolidación de materiales
  • Reduje significativamente el uso de memoria y eliminé los crashes relacionados con ella
  • Arreglé problemas de iluminación y post-procesado que arrastraba el juego

Rescate del multijugador

Cuando la persona asignada al multijugador no entregó, construí todo el sistema desde cero en menos de un mes:

  • Integración de Unity Netcode for GameObjects + Steamworks
  • Sincronización fiable de estado para un juego con miles de objetos colocables
  • Esto marcó un antes y un después en mi experiencia con multijugador

Sistemas y herramientas

  • Reescribí el sistema de guardado con serialización compacta y segura para red (lista para Steam Workshop)
  • Construí herramientas de editor de Unity personalizadas que agilizaron la configuración de items para diseñadores y artistas
  • Implementé Deshacer/Rehacer con un framework de comandos determinista
  • Migré el manejo de input al nuevo sistema de Input de Unity
  • Configuré automatización DevOps con Plastic SCM y Unity Cloud Build

Equipo y proceso

  • Guié a desarrolladores junior durante el período de recuperación
  • Establecí un ritmo de actualizaciones sostenible: actualizaciones grandes cada 1-2 meses, parches entre medias
  • Trabajé con distintas zonas horarias en un equipo distribuido (liderazgo en EE.UU., desarrolladores en EU/Asia)

La realidad

Esto no fue un proyecto desde cero con arquitectura limpia. Fue una misión de rescate—heredar un código problemático, sobrevivir al colapso del equipo, y mejorar las cosas sistemáticamente mientras sacábamos actualizaciones para los jugadores.

El juego sigue en Early Access—al final se retiró la financiación y el desarrollo se detuvo. Pero el equipo que se quedó convirtió un proyecto fallido en algo jugable y estable. A veces la habilidad más valiosa es la persistencia.

Galería