Autor Tema: Topologías discretas vs continuas  (Leído 770 veces)

JaviCepa

  • Socio
  • Mega Jammer
  • ****
  • Mensajes: 433
  • Molas: 45
    • @JaviCepa
Topologías discretas vs continuas
« en: 28 de Agosto de 2015, 11:45:41 am »
Un método que utilizo frecuentemente para hacer más accesibles y claros mis juegos es discretizar en la medida de lo posible el mayor número topologías.

Después de este alarde de términos ingenieriles, traduzco al castellano: discretizar es "hacer que algo que puede tomar infinitos valores pase a tomar sólo unos pocos". También vale que algo que tome valores infinitos, siga tomando valores infinitos, pero menos, es decir reducir sus grados de libertad.

Pongo algunos ejemplos para que se vea más claro:
  • Utilizar casillas en un tablero en lugar de un espacio continuo
  • Reducir el movimiento de un juego de naves de dos dimensiones a una sola
  • Cambiar un sistema de vida con decimales a uno basado en enteros
  • Cambiar un juego en tiempo real a uno por turnos
  • Utilizar una paleta de colores limitada o algún otro tipo de restricción sobre el color (p. ej: escala de grises)

El motivo de hacer esto es hacer que el jugador entienda antes y mejor el juego. Por naturaleza estamos fabricados para buscar patrones y cuando los patrones son discretos nos resultan más accesibles.

El resultado de hacerlo: mucho más engagement desde el minuto cero.

Con todas las herramientas y metodologías hay que saber no abusar. Cuando se utiliza en exceso la discretización, se puede limitar en exceso el espacio de probabilidades (la cantidad de escenarios de juego posibles) y caer en un diseño demasiado lineal o predecible.

La clave es discretizar en la medida que el juego pida y saber mantener un equilibrio adecuado entre progresión y emergencia, pero de eso ya hablaré en otro post ;)

Algunos ejemplos de juegos que discretizan mucho y aún así mantienen un gran espacio de probabilidades:

Espero que os haya gustado el tema, porque tengo planeado quedarme una temporada en la villa del Game Design y os torturaré más a menudo en esta sección.

JuDelCo

  • En evolución
  • Socio
  • Super Jammer
  • ***
  • Mensajes: 240
  • Molas: 35
  • The Game
    • Twitter
Re:Topologías discretas vs continuas
« Respuesta #1 en: 28 de Agosto de 2015, 07:49:18 pm »
Así que lo he hecho yo para reducir los posibles angulos a un eje de 8 direcciones para temas de rotaciones en mi juego se llama discretizar...

Pues ya que estoy comparto el trozo de código que se encarga de ello. La idea es que tu partes de un ángulo dado (entre 0 y 360º) y el script se encarga de devolverte un valor entre los posibles valores dados (en este caso los ángulos que forman las 8 posibles direcciones que buscaba)

Discretizando que es gerundio:
Código: [Seleccionar]
static readonly int[] possibleValues = { 0, 45, 90, 135, 180, 225, 270, 315, 360 };

float searchValue = 38.25f; /* Valor actual a discretizar, en este caso un ángulo entre 0-360 */

var currentNearest = possibleValues[0];
float currentDifference = Mathf.Abs(currentNearest - searchValue);

for(int i = 1; i < possibleValues.Length; ++i)
{
float diff = Mathf.Abs(possibleValues[i] - searchValue);

if(diff < currentDifference)
{
currentDifference = diff;
currentNearest = possibleValues[i];
}
}

// currentNearest tendrá el valor más cercano entre el conjunto de posibles valores, en este caso 45