¿Cómo hacer un diagrama de flujo de elegir desafíos en juegos?

Avatar de Usuario
Tachikomaia
Mensajes: 15819
Registrado: 10 Ago 2011, 20:39
Rango personalizado: 1st Year Class D

¿Cómo hacer un diagrama de flujo de elegir desafíos en juegos?

Mensaje por Tachikomaia »

Es un lío este asunto.

El diagrama lo quiero serio y con todas las opciones posibles, pero como base pueden imaginar algo así:
Imagen

¿Por dónde empezar a hacerlo? Ese empieza en una pregunta, según eso yo debería empezar por plantear una pregunta ¿cual? Se me ocurre:
¿Qué nivel de complejidad quieres que tenga en qué consiste el desafío?
No se refiere a cuan difícil es de cumplir, sino de describir en qué consiste.

Las posibles respuestas yo diría que son números: 1, 2, 3... cada uno indica un nivel.

El nivel 1 debería ser el más sencillo de todos, pero no debe ser "intenta pasar el juego como te de la gana", eso no es un desafío como los que estoy planteando. Se me ocurre que en el nivel 1 se trate de pasar el juego, sólo se tenga en cuenta 1 variable 1 vez (al final del juego), y que sea tomada como tal, es decir no se toma una parte ni característica suya ni se transforma. Así, algunas posibles respuestas serían:
C: Juega de modo que cuando pases el juego la cantidad de cheats activos sea la mínima posible.
L: Juega de modo que cuando pases el juego el LV (nivel) de tu personaje nro1 sea el mínimo posible.
Debería entenderse que en el 1er caso es válido usar cheats hasta casi al final, sólo importa el valor en el momento final. Lo mismo pasa con el LV en el 2ndo caso, podría tenerse cualquiera durante casi todo el juego, sólo importa el valor final.

El nivel de complejidad podría medirse así:
"Es intentar pasar el juego(+1), y sólo se considera 1(+1) variable como tal(*1) 1 vez(*1)."
Los números entre paréntesis indican cuánto lo anterior está sumando a la complejidad.
1+1*1*1 = 2
Es decir, el nivel sería esa ecuación -1, o el nivel 1 podría ser "pásalo como quieras" y el nivel 2 sería este. Mejor así. También puede verse como tipo 1111.

En el nivel 3 se me ocurre que se aumente 1 cosita (sí... chiquita, que sólo con eso ya se poner complejísimo) de las mencionadas, o se aumenta un poquito la complejidad de alguna manera.
Nota: Por practicidad llamaré bugs también a los glitches, aunque de hecho la mayoría no sabemos la diferencia.
Tipo 111210P1: Es intentar pasar el juego(+1), y sólo se considera 1(+1) variable como tal(*1) 2 veces(*2): A(al inicio o luego de modificar el valor mediante algún X(+1 si X es cheat, +1 si bug, +2 si es cualquiera) por última vez) y B(al final, +0), siendo B más prioritario(+1) que A.
Esto es mínimo 1+1*1*2+1+0+1, que es 5, así que es de nivel 5, no va aquí.
Tipo 111210C11: Es intentar pasar el juego(+1), y sólo se considera 1(+1) variable como tal(*1) 2 veces(*2): A(al inicio o luego de modificar el valor mediante algún X(+1 si X es cheat, +1 si bug, +2 si es cualquiera) por última vez) y B(al final, +0), las cuales deben cumplir cierta relación entre sí(+1) sin interacción(*1).
Esto es mínimo 1+1*1*2+1+0+1*1+0, que es 5, tampoco va aquí.
Tipo 111210I11: Es intentar pasar el juego(+1), y sólo se considera 1(+1) variable como tal(*1) 2 veces(*2): A(al inicio o... +1 o +2) y B(al final, +0), las cuales interaccionan de modo simple(+1) sin condiciones(*1).
Mínimo 5 también, no va.
Tipo 112111: Es intentar pasar el juego(+1), y sólo se considera 1(+1) variable como base(*???) 1 vez(*1), sin interacción(*1) ni condiciones(*1). Ejemplos:
H: Juega de modo que cuando pases el juego el largo del HP (puntos de vida) de tu personaje nro2 sea el mínimo posible.
$: Juega de modo que cuando pases el juego la cantidad de tu dinero tenga la menor cantidad de caracteres repetidos posible.
¿Cómo se mediría la complejidad de considerar a una variable "como base", es decir del hecho de obtener un valor a partir de ella? Veremos más adelante.
Tipo 1211P1: Es intentar pasar el juego(+1), y sólo se consideran 2(+2) variables como tales(*1) 1 vez(*1), siendo A más prioritaria(+1) que B.
Mínimo 4, no va.
Tipo 1211C11: Es intentar pasar el juego(+1), y sólo se consideran 2(+2) variables como tales(*1) 1 vez(*1), las cuales deben cumplir cierta relación entre sí(+1) sin interacción(*1).
Mínimo 4, no va.
Tipo 1211I11: Es intentar pasar el juego(+1), y sólo se consideran 2(+2) variables como tales(*1) 1 vez(*1), las cuales interaccionan de modo simple(+1) sin condiciones(*1).
Mínimo 4, no va.
Tipo 2111: Es intentar llegar a cierto punto(+2), y sólo se considera 1(+1) variable como tal(*1) 1 vez(*1). Ejemplos:
M: Juega de modo que cuando venzas al enemigo más difícil el MP (puntos de magia) de tu personaje nro3 sea el máximo posible.
F: Juega de modo que cuando llegues a la ciudad nro4 la fuerza de tu personaje nro5 sea la mínima posible.

¿Cómo se mediría la complejidad de considerar a una variable "como base", es decir del hecho de obtener un valor a partir de ella?
Yo diría que según cuántos valores y condiciones se usen, aunque habría que especificar más.
Por ejemplo:
El largo de una variable se obtiene contando cuántos caracteres tiene, no se especifica algún valor para eso ni alguna condición; como complejidad vale *1. 0 valores: *(0+1).
Contar cuántas veces se repite el caracter 0 implica decir ese valor, como complejidad vale *2. 1 valor: *(1+1).
Valor de la complejidad: *(Cantidad de valores nombrados+1).

En fin, no parece tan complicado, pensé que iba a llegar pronto a la parte complicada, pero me equivoqué, iré a ello entonces. Una interacción entre variables es como una operación: A+B, A*B-C, etc. Una de las posibles interacciones es concatenar las variables. Eso puede dar resultados como 05 (0 y 5); -32-47 (-32 y -47); 0,19,6 (0,1 y 9,6), etc, los cuales parece claro que en cierto punto es necesario transformar en otros, pero es un tanto subjetivo en qué deben convertirse. Tampoco es que deban convertirse justo luego de una concatenación, se puedan obtener características de esos "valores sin sentido", como el valor simétrico más parecido. Y en definitiva, se puede transformar una variable o hacer que algunas interactúen, según condiciones. Así como se puede hacer algo como:
Si A es 01 o 02, etc
__A=0
es decir transformar un valor sin sentido en un número, también se podría hacer algo como:
Si 10 < A y A < 20
__A=11
es decir transformar un número en otro, o incluso en un valor sin sentido ¿para qué? No sé, en el ejemplo si A es la cantidad de enemigos vencidos y se pide que sean el mínimo posible, con esta especificación si se vencen más de 10 entonces se puede vencer hasta 19 sin problema. Es un posible desafío, puede que no tenga sentido, pero como dije puede haber alguna cosa parecida que sí. Convertir números en valores sin sentido puede que sirva para obtener propiedades de ellos como en el ejemplo que di (simétrico más parecido).

Y bueno, a mí me parece complicado porque no veo claro qué es cada cosa ni por dónde empezar.

¿Tomar como base es un tipo de transformación, o una transformación es un tipo de tomar como base, o eso no importa?
Lo que me parece es que ambos procesos usan una variable como base y obtienen un valor partir de eso, la diferencia es que una transformación siempre usa condiciones.

Lo que tenemos a partir de eso es que para ver las posibles transformaciones primero debemos ver las posibles condiciones.
Condiciones -> Transformaciones.

¿Cuales son las variaciones de tomar como base? O dicho de otro modo: ¿Qué valores se pueden obtener de una variable?
El proceso de obtener uno puede implicar condiciones e interacciones (no necesariamente entre variables, puede implicar valores fijos, es decir, no tomados del juego). Pero bueno, se podría empezar por esto, por los procesos de obtener un valor a partir de una variable, sin usar condiciones ni interacciones. Pensaré en ello.

Ahora tenemos:
Condiciones -> Transformaciones.
Condiciones -> Tomar como base.
Interacciones -> Tomar como base.

Las condiciones pueden implicar tomar como base e interacciones. ¿Y transformaciones? No sé, pero si fuera el caso es un problema porque contradice lo de la rayita que puse antes ¿para hacer la lista de A requiero hacer la lista de B y para hacer la lista de B requiero hacer la lista de A? ¿cómo rayos hago entonces?

¿Condiciones <-> Transformaciones?
¡Condiciones <-> Tomar como base!
Interacciones -> Tomar como base.
Interacciones -> Condiciones.

Las interacciones pueden implicar tomar como base, condiciones ¿y transformaciones? No sé.

¿Condiciones <-> Transformaciones?
¡Condiciones <-> Tomar como base!
¡Interacciones <-> Tomar como base!
¡Interacciones <-> Condiciones!

¿Se entiende? ¿cómo puedo hacer una lista de cosas X si para eso necesito una lista Y que para hacerla necesito una lista X? O estoy confundido en algo.
Imagen
Responder