Devlog #2 – Football Legends: jugadores con cara y ojos (literalmente)
Hoy quiero hablar de un aspecto visual de Football Legends que puede parecer menor, pero que tiene un gran peso: las caras de tus jugadores.
Haciendo números rápidos
Vamos con unas cuentas para poner las cosas en contexto:
- 10 países
- 8.192 equipos por país
- 25 jugadores por equipo
Eso nos da 2.048.000 jugadores en plantilla principal.
Y si sumamos un equipo juvenil por club, con, digamos, 18 jugadores más, la cifra sube a 3.522.560 jugadores. ¡Y no estoy contando las caras de los empleados!
Sí, más de tres millones y medio de caras únicas.
Y aquí surge la gran pregunta:
¿Cómo demonios genero 3,5 millones de imágenes diferentes?
Una vieja idea, una nueva solución
Por suerte, me vino a la cabeza una técnica que aplicabamos hace años en un proyecto de animación. En aquel caso, se usaban imágenes planas de ojos y bocas para formar expresiones faciales, colocándolas como si fueran “pegatinas” sobre un modelo base.
No era exactamente lo que necesitaba… pero fue el punto de partida perfecto.
También investigué cómo abordan este tema en otros juegos, y todo encajó: era la solución ideal.
¿Cómo lo aplico en Football Legends?
La solución fue dividir cada cara en distintas partes intercambiables, y generar variaciones de cada una. Después, combino esas piezas siguiendo una serie de reglas al generar un nuevo jugador para asegurar diversidad y coherencia.
Estas son las partes que uso actualmente:
- backface
- headbase
- facehair
- hair
- eyebrows
- eyes
- nose
- mouth
- facedetails
👉 Aquí puedes ver algunos ejemplos en Illustrator:
Importancia de la organización
Cada imagen tiene un nombre con una estructura muy clara:
partName_skinTone_variantNumber_hairColor.png
Esto permite varias cosas muy útiles:
- Aplicar reglas específicas para ciertas combinaciones (por ejemplo, los jugadores pelirrojos son muy raros en algunos países).
- Controlar qué tipos de rasgos aparecen más o menos según la nacionalidad del jugador.
- Automatizar todo el sistema de generación y gestión de imágenes.
Ventajas del sistema
- Ligereza: Cada parte ocupa entre 2 y 15 KB, así que incluso con miles de combinaciones el espacio en disco se mantiene razonable.
- Facilidad para escalar: Crear una nueva variante es tan sencillo como diseñarla, nombrarla correctamente y exportarla con un script. Después, solo hay que subirla al servidor y el juego podrá usarla automáticamente.
¿Cuántas variantes tengo?
No tantas como me gustaría. Sé que el sistema ahora mismo es limitado visualmente, pero lo importante es que ya funciona y es ampliable sin problemas.
Solo hace falta tiempo para seguir sumando variantes y enriquecer las caras de los jugadores / empleados.
Y en lo personal, me siento bastante orgulloso del resultado. Lo que empezó como un problema abrumador terminó siendo un sistema flexible, ligero y preparado para escalar.
Cuéntame que te parece y si tienes alguna sugerencia al respecto estaré encantado de escucharla.
¡Nos vemos en el próximo devlog!