Abel rolon
de paso lo empecé a incrementar en sumas además de lo demás
public void AumentoSuma() { candies = new int[] { 1 + 10, 2 + 20, 3 + 30, 4 + 40 }; Probabilidad = new int[id];
}
Convierte un puzzle tipo match en una experiencia adictiva ajustando probabilidades, objetivos y puntos. Con un sistema de pesos, la distribución de Poisson, metas claras y combos con factor multiplicativo, el gameplay se vuelve más profundo, estratégico y divertido.
¿Cómo diseñar probabilidades con pesos y distribución de Poisson?
Crear caramelos con la misma probabilidad limita la variedad. Usar pesos por tipo de caramelo permite que unos sean más comunes y otros más raros. Además, la distribución de Poisson ayuda a que aparezca un caramelo muy probable, otro menos probable y así sucesivamente, generando acumulaciones naturales de comunes y raros en el tablero.
¿Por qué duplicar en el array de prefabs no es útil?
¿Cómo aplicar un sistema de pesos en caramelos?
¿Qué logra la distribución de Poisson en el tablero?
¿Qué objetivos de nivel mejoran el gameplay y el game over?
Pasar de “tienes 30–50 movimientos” a sistemas basados en objetivos enriquece la experiencia. Puedes pedir destruir caramelos raros (si usas Poisson) o activar niveles por tiempo (ej.: 60 segundos) donde la puntuación manda. El cambio es sobre todo de configuración en el graphical user interface manager y en el control de game over.
¿Cuáles son las variantes de objetivo más efectivas?
¿Cómo se implementa en el graphical user interface manager?
¿Cómo escalar el sistema de puntos con combos y factor multiplicativo?
Salir del “10 puntos por caramelo” y premiar combos con multiplicadores (x2, x3, x5, x10) hace que los puntos “se disparen” y que el jugador planifique mejor. Es habitual en juegos de social casino y en puzzles estilo Candy Crush: los movimientos sensatos generan combos adicionales y una sensación de progreso.
¿Qué es el factor multiplicativo en el manager del tablero?
¿Qué comportamiento del jugador incentiva?
¿Te animas a aplicar pesos, objetivos y multiplicadores en tu tablero? Comparte tus avances, retos y mejores combos con la comunidad y en redes.
Hello! Vine a actualizar el status de como llevo el juego. Me demoré en terminar el curso pensando como aplicar la parte de probabilidad y lo he logrado de una forma sencilla y dinámica.
Este es el resultado:
La probabilidad la maneje de la siguiente manera: Tengo dos Arrays Nuevos. .
En una funcion se debe recorrer el arreglo de CandyProbabilities y obtener el número de veces que saldrá el caramelo (moves). Luego realicé otro for para los (moves) y los agrego al array de tableProbabilities. También lleno unas variables que uso para saber cuál es el caramelo que tiene mas probabilidades de salir y tomo su id. .
private void SetCandiesProbabilities(){ int moves = 0; int k=0; highProbability = 0; int bestCandy = -1; for (int i = 0; i < candiesProbabilities.Length; i++){ moves = candiesProbabilities[i]; if(highProbability < moves){ highProbability = moves; bestCandy = i; } for (int j = 0; j < moves; j++){ if(k<probabilitiesTable.Length) probabilitiesTable[k++] = i; } } candyGoalId = bestCandy; }
. Por último al generar el board inicial y consultar el Id del candy, este debe tomarse aleatoriamente del nuevo arreglo tableProbabilites. Ejemplo: En este caso si colocaste un 3 para el sol, eso representa el 30% de probabilidades de que salga al general el board inicial. En este sentido el 30% para 60 celdas, es aproximadamente 18 candies. . Cabe resaltar que no es perfecto y por las propias reglas del juego a la hora de no repetirse caramelos a los lados en el inicio, los números pueden variar. Pero si hace su función. . Bueno esa es la respuesta al reto. Espero que a alguien le pueda servir de algo 💚
Abel rolon
de paso lo empecé a incrementar en sumas además de lo demás
public void AumentoSuma() { candies = new int[] { 1 + 10, 2 + 20, 3 + 30, 4 + 40 }; Probabilidad = new int[id];
}
Líam Ayelén Acosta Muñoz
Hola alguien sabe como hacer que el score del game over Canvas quede con el mismo puntaje que el score
Fernando Carreño
Hola Liam, yo creo que solucionaste tu problema pero te respondo en caso que alguien tenga la misma duda, yo lo solucione generando un Game Object y un script llamados GameOverManager y ahi le paso el score del sharedIntance, esto lo hice por que yo hice una nueva escena
Líam Ayelén Acosta Muñoz
ok
Leonardo Gutierrez
Genial