El juego que dices no sé si tiene un nombre específico pero en NES hay uno llamado Arcanoid que es como dices. También en SNES creo, y probablemente otras consolas.
Yo hice uno más básico (no hay cajas) en el que no calculaba cosas, te lo pasaría pero no sé dónde lo tengo. Se llamaba Raqueta Troll, cuando la bola rebotaba agarraba velocidades al azar hacia arriba y costados, y podía ser que cayera muy rápido o muy lento. Entre más veces rebotaras la bola, más altas podían ser las velocidades. Cuando tocaba una pared, la velocidad de caída se invertía (o algo así, ya no recuerdo bien eso).
En cuanto a cosas que puedes hacer, es algo que pensé varias veces (qué posibles caminos o desafíos se pueden cumplir, aunque lo mío era sobre programas que resuelvan dudas), pero no lo tengo claro.
Te dejo esto que te puede servir pero no está masticado:
Ayuda para percibir de a una las posibles "formas" de los desafíos.
"formas":
O estructuras, me refiero a que no todo importa, por ejemplo en el ajedrez es irrelavante si hay fichas blancas y negras o blancas y marrones, a menos que haya poca luz pero ya no sería simple ajedrez, en fin...
Desafío:
Al menos 1 variable y al menos 1 desafiante que mediante realizar al menos 1 acción intenta cumplir al menos 1 condición.
Variable:
Valor que puede cambiar.
Valor:
Número o letra o color, etc, que representa algo o que es parte de algo.
No es la idea decir en esas descripciones todo lo que un desafío puede tener, sólo lo esencial.
La forma de desafío virtual más simple:
V1- Crear o modificar una variable.
V1 es un nombre que servirá más adelante; V significa virtual.
Es algo como "Mueve el mouse, luego ganas" o "Habla, luego ganas"; el desafío exige realizar una acción simple que el programa pueda captar y se gana simplemente por realizarla.
No sé si eso implica crear o modificar una variable, pero es causar un cambio en la situación y si hay un cambio en ella debe de crearse o modificarse una variable me parece.
Lo que puede entenderse como:
Repetir
Si se mueve el mouse
Desafío cumplido
Break
siempre
Fin
Me parece demasiado simplificado. En realidad cuando el mouse se mueve eso implica que el puntero cambió la posición X y/o Y en que se encontraba, son 2 variables, pero yo lo vería así:
SeMovio = "No"
Repetir
Si se mueve el mouse
SeMovio = "Sí"
mientras SeMovio == "No"
Desafío cumplido
Fin
Considero que ahí hay 2 valores: La variable y la constante que se usa en la condición. Todo eso es debatible, pero bue.
También creo que podría ser algo así:
Repetir
Si se mueve el mouse
SeMovio = "Sí"
mientras SeMovio != Inexsistente
Desafío cumplido
Fin
Obviamente puede que me equivoque, quizá haya otro más simple u otros de su mismo nivel, opinen.
¿Por qué digo que es la forma más simple?
- La cantidad de colaboradores, aliados, etc, es 0, la mínima posible.
- La cantidad de información que se requiere dar es muy poca.
- La cantidad de opciones es 0, la mínima posible.
- La cantidad de acciones que sólo se pueden realizar en ciertas condiciones es 0, la mínima posible.
- La cantidad de efectos (cosas que ocurren involuntariamente, más allá de ganar o perder, etc) es 0, la mínima posible.
- Sólo tiene 2 valores, la mínima cantidad que pude lograr.
- Sólo tiene 1 variable, la mínima cantidad posible.
- La variable está definida del modo más simple posible, no es random ni cargada, etc.
- La variable sólo tiene 2 posibles valores, la mínima cantidad posible (del modo 2 sólo tiene 1 posible valor, sería una constante).
- Sólo tiene 1 posible resultado, la mínima cantidad posible.
- La condición es la más simple posible, creo: 1 variable, un símbolo comparador y 1 constante.
La idea es ver cual es el desafío más simple y cómo se puede ir complicando.
https://i.ibb.co/xDPZJk2/Desaf-os.pngEso es de Excel, demasiado largo como para ponerlo en modo imagen. En cada columna hay una posible complicación, pero no todas son aplicables siempre. El Sol significa que el desafío deja de ser virtual, cuando por ejemplo dos personas deben mover el mismo mouse. La idea es que tomes las modificaciones que hayas podido hacer en cada columna, las pegues cada una en una distinta fila, y repetir el proceso, es un método para percibir posibles variaciones, en este caso variaciones de desafíos.
Recientemente escribí esto que también te puede servir:
¿Cual es la duda más sencilla de resolver? Podría ser, dado un número, cual es ese número. Esto equivale a adivinar el número, o a colocar una ficha encima de cierto casillero especial, etc, el programa simplemente prueba un número, si falla prueba otro y así sucesivamente hasta cumplir la condición que le hayamos puesto (que el número dado sea igual al número elegido por el programa). ¿Muy fácil no? ¿cómo podemos complicar esa duda, poco a poco, para ir practicando y entendiendo cómo resolver una duda tan compleja como la planteada en el título de este tema?
- Que la cosa a adivinar pueda tener texto (para una persona es casi lo mismo pero programarlo es considerablemente más difícil).
- Aumentando el nro de variables a adivinar (parecido al juego de batalla naval).
- Que, sobretodo, deba evitarse elegir ciertos números (yo esto lo había pensado medio basado en el Pacman: El objetivo es comer fantasmas débiles, pero sobretodo evadir a los fuertes; si el fuerte está en el mismo casillero que el débil se debe evitar a ambos).
- Limitando las posibles acciones (la idea de esto es transformar la duda de cómo adivinar en una duda de cómo llegar a cierta cantidad, ya no se puede elegir el númerio 10 o 9, etc, sino sólo +1 o +2, es como tener que llegar a un sitio, con qué acciones se llega más rápido; para nosotros la respuesta es obvia pero programarlo no es tan fácil como lo anterior).
No se me ocurren más, a partir de las nuevas sí. Probablemente eso te parezca inútil o que no tiene relación con el tema, pero es parecido a IA, en teoría si se avanza sirve para resolver dudas, aprenden a lograr cosas, así como han aprendido a jugar al ajedrez mejor que nosotros.