El diseño de las cantidades de daño de Diablo III

El diseño de las cantidades de daño de Diablo III

Trabajar en desarrollo de software significa asumir que los problemas sencillos no siempre tienen soluciones sencillas. Este análisis en profundidad y entre bastidores de la «sencilla» revisión del sistema de los números de combate en el parche 2.4.0 debería servir para aclarar algunas de las facetas menos conocidas del diseño de juegos.

Quien trabaja en desarrollo de software, ya sea por negocios, por entretenimiento o porque se trata de su videojuego favorito, sabe que los problemas sencillos no siempre tienen soluciones sencillas. El desarrollo de juegos es, en una palabra, complicado. Está formado por miles de engranajes en los que un mínimo detalle puede ocasionar semanas de cambios revertidos y retrocesos. Al observar desde fuera, resulta muy tentador hacerse la pregunta «¿por qué no lo arreglan?», que es un poco como preguntarle a un panadero por qué no sustituye el azúcar por la sucralosa. Ambas preguntas pueden responderse de forma similar: «No es tan fácil».


¿Cómo funcionan los números?

En Diablo III, el jugador recibe muchísima información. No hay más que pensar en los números: ¡están en todas partes! En vuestro equipo, en vuestros perfiles de personaje, flotan alrededor de la cabeza de vuestro nephalem cuando estáis en combate... Detrás de cada uno de esos dígitos hay un montón de tecnología que hace que se comporten de la forma en que lo hacen.

Nos han llegado muchos comentarios de jugadores debido a que los números de combate estaban empezando a resultar apabullantes y difíciles de comprender durante el juego inmediato. Hubo un tiempo en que era emocionante ver números grandes porque destacaban entre los demás. ¿Cómo recuperar ese encanto emocional sin que los jugadores sientan que han perdido poder?

En el parche 2.4.0 se han introducido un par de nuevas características relacionadas con esto. En primer lugar, hemos incluido una nueva opción en el juego para acortar los números y mostrarlos abreviados. En segundo lugar, hemos añadido una opción completamente nueva que resalta en otro color algunas de vuestras cantidades de daño más grandes. Estos añadidos traían consigo sus propios retos a la hora de implementarlos: algunos estaban relacionados con problemas de diseño y otros creaban dificultades de localización. Y, decidiéramos lo que decidiésemos, al final el resultado tenía que ser digno.

En un principio, tuvimos la idea de resaltar el 5% de las mejores cantidades que se hubieran obtenido en los últimos segundos. El primer problema que surgió a raíz de este enfoque fue que todas las configuraciones de personaje son diferentes, especialmente cuando se trata de la forma en que cada uno inflige daño. Con algunas configuraciones, los números se muestran en pequeñas explosiones flotantes cada cierto tiempo; con otras, la pantalla queda inundada de un torrente constante de información. Otro problema que surgió durante nuestras primeras pruebas fue que, de esta manera, no quedaban reflejadas las fluctuaciones esperadas del daño infligido. Por ejemplo: cuando termina un pilón de poder, que aumenta el daño temporalmente, uno sigue queriendo saber cuándo inflige más daño de lo normal.

Con el tiempo, hemos desarrollado nuestro algoritmo para que tenga en cuenta estas excepciones, y hemos establecido las siguientes reglas para determinar qué números aparecen en naranja:

  • Las cantidades de daño deben ser superiores a 10 000.
  • Si la cantidad de daño es mayor que la última que se mostró en naranja, debe mostrarse esta nueva cifra en naranja.
  • El valor de la cantidad mayor decae un 3% cada segundo.
    • De esta forma será menos probable que pase mucho tiempo sin que aparezcan números resaltados.
  • Las 10 primeras cantidades grandes se ignoran.
    • De esta forma, el sistema se calibra solo.
  • El sistema se reinicia si no se ha infligido daño en 10 segundos.


Retos de la localización: ¿y los billones?

Si habéis jugado al último parche, puede que ya hayáis visto las nuevas abreviaturas de daño. Nos han llegado muchas preguntas, principalmente del público angloparlante, sobre por qué se miden las cantidades de daño en millones pero no en billones, palabra usada en el mundo anglosajón para expresar «mil millones».

Hay unas cuantas razones, pero la localización es la más importante. Diablo III es un juego global publicado en 13 idiomas diferentes, de modo que, cuando tomamos una decisión que afecta a la palabra escrita (o, en este caso, al número escrito), debemos tener en cuenta lo que significará ese cambio en todas las versiones del juego. Aunque puede parecer que los números son lo más fácil de traducir, no hay nada más lejos de la realidad.


Izquierda: Cantidades en la versión en inglés. Derecha: Cantidades en la versión en coreano.

Este es un ejemplo de una traducción que parece simple pero puede volverse complicada. Algunos idiomas, como el español o el francés, no utilizan normalmente un término exclusivo para el billion inglés. En vez de eso, se refieren a la cantidad exacta «mil millones». Etimológicamente, esto es resultado de la evolución de la palabra billion tanto en inglés americano como británico, que ha pasado de significar «un millón de millones» (su significado original) a «mil millones».

El tema se complica aún más con idiomas como el coreano o el chino, en los que los números grandes se agrupan en una escala diferente. En inglés, por ejemplo, la nomenclatura de un número cambia cada tres cifras: miles, millones, billones y demás. En coreano, la convención a la hora de nombrar un número cambia cada cuatro cifras a través de un método de miríadas, ya que en coreano los números se agrupan cada diez mil en lugar de cada mil.

El uso de la puntuación también juega un papel importante, ya que no todos los idiomas utilizan comas para indicar los espacios entre números. Algunos utilizan puntos, lo que es muy común en Europa, y otros no utilizan ningún tipo de puntuación.


Izquierda: cantidad de oro en la versión en coreano. Derecha: cantidad de oro en la versión en francés.

Cuando los números de Diablo III crecieron y decidimos añadir puntuación numérica, necesitábamos una forma elegante de «traducir» dónde y cuándo aparecería esta puntuación para cada idioma. Nuestro código utiliza una biblioteca llamada ICU, International Components for Unicode (Componentes internacionales para Unicode), que proporciona una gran cantidad de apoyo para la localización de software. ICU puede usarse de muchas formas, pero para esta opción explotamos su capacidad de tomar como entrada un número y una variedad lingüística (como el inglés de Estados Unidos, el francés o el coreano) y devolver un número con el formato correcto para esa variedad lingüística, con sus puntos, comas o lo que corresponda. Además, nuestro equipo de localización tiene una tabla que muestra los números que cada región quiere publicar y el aspecto del resultado final.


Ejemplo de una de nuestras tablas de localización para señalar por dónde acortar en cada idioma.

Algunos idiomas han escogido abreviar más o menos, sobre todo según sus preferencias culturales. Hay auténticos estudios psicológicos detrás de la satisfacción de los jugadores y el tamaño de los números que se ven, y las preferencias de los jugadores cambian dependiendo de su cultura y su personalidad. En inglés, por ejemplo, se ha optado por no abreviar en los primeros millones porque ver «1,000,000» es mucho más satisfactorio que ver «1M». Lo mismo ha ocurrido con los miles de millones (o el billion inglés), ya que es mucho más emocionante ver «1,000M» que «1B». El tamaño del número tampoco es lo único que hay que tener en cuenta: el aspecto visual, los colores y el movimiento también desempeñan un papel importante.


Que se vean los números: un aspecto visual acabado

Es importante que el jugador comprenda inmediatamente lo que significa un número en el momento de verlo. En el parche 2.4.0, nuestro objetivo era proporcionar todavía más información sobre el combate que antes: de ahí vinieron las cantidades de golpes críticos resaltadas.

¡Qué crítico tan magnífico!

Cambiar el color era una de las muchas formas de las que podíamos haber presentado esta información. Nos hicimos muchas preguntas sobre cuál sería la mejor forma de representar estos tremendos golpes. ¿Íbamos a aumentar el tamaño de los números? ¿Cambiar su trayectoria? ¿Hacer que parpadearan, o que se quedaran más tiempo en pantalla? ¿Íbamos a cambiarles el color, sin más? ¿Cómo podíamos saber cuál de estas opciones era la correcta?

Nos inclinamos por el color, porque nos permitía presentar esta nueva información a los jugadores de una forma totalmente diferente y que solucionaba otros aspectos relacionados con la accesibilidad del usuario. Los números en naranja llaman la atención; no es algo que se haya visto antes, así que se les presta atención casi sin reparar en ello.

El naranja también es adecuado para el daltonismo. En una rueda de colores, el naranja está en un reino distinto a los colores que usamos actualmente para indicar otra información. De esta forma, ¡también los jugadores daltónicos se darán cuenta de que hay algo nuevo!

Cuando nos planteamos cambiar colores en nuestra interfaz, nuestros artistas se fijan en tres opciones para dar variación: el matiz, la saturación y la luminosidad. Estas opciones forman parte del modelo de color HSL, una estandarización digital habitual de la rueda de color. Cada uno de los aspectos es clave para evocar una emoción diferente, o generar una nueva respuesta por parte del jugador. ¿Queremos evocar un estado de ánimo diferente? Si es así, ajustaremos el matiz. Si queremos que una imagen deje de ser llamativa y se vuelva más llana, la saturación es lo más importante. Por último, si queremos atraer o distraer la atención sobre algo, recurriremos a la luminosidad.

Por ejemplo, una información muy importante en el juego es la curación que estáis recibiendo. Se trata literalmente de vuestra fuerza vital y queremos que sea muy visible; por eso es uno de los detalles más brillantes del juego. También queríamos que la información sobre golpes críticos fuera muy visible, así que jugamos mucho con los niveles de luminosidad para asegurarnos de que siempre tengáis claro cuándo infligís un daño colosal.


Trabajo conjunto

Cuando hablamos del equipo de Diablo III, es fácil pensar primero en nuestros desarrolladores, que retocan el funcionamiento de una clase o un objeto o presentan nuevas opciones geniales que explorar. Esas son las cosas con las que interactuáis directamente y que más os llaman la atención. Sin embargo, hay muchas cosas en funcionamiento más allá de la ropa o las armas de vuestro héroe: nuestros artistas, ingenieros, expertos en localización y muchos otros más nos ayudan a asegurarnos de que todo funciona de la mejor forma posible para todos los jugadores del mundo.

Esperamos que hayáis disfrutado de este vistazo en profundidad a las entrañas de una pequeña característica que en realidad es mucho más grande de lo que parece. Es todo un privilegio venir a trabajar cada día en este juego, hasta cuando se trata de sus más pequeños detalles. ¡Gracias por leernos!