Creación de prototipos de un juego de rompecabezas para resolver los niveles

11

Estoy en la fase de creación de prototipos de hacer un juego de rompecabezas para iOS. La premisa básica de lo que el jugador tiene que hacer es ir del punto A al punto B navegando a través de una configuración similar a un laberinto, moviendo bloques fuera del camino y evitando enemigos. Este es mi primer acercamiento a un juego como este, así que me pregunto cómo otros se han asegurado de que los niveles que crean sean solucionables.

Por ejemplo, tome el clásico juego Unblock donde tiene que mover el bloque rojo del tablero de juego quitando las otras piezas que no son del bloque rojo. Se pone difícil porque están todos en un espacio estrecho sin mucho movimiento.

¿Sabe el creador que la disposición de las piezas del rompecabezas se coloca de una manera que permita resolver el rompecabezas? ¿Comienzan con prototipos en papel y trabajan desde un estado final solucionable hacia atrás para hacer los diseños iniciales del tablero de juego?

I00I
fuente

Respuestas:

10

Parece que estás haciendo un juego al estilo Sokoban . Tienes al menos 3 opciones:

  • Trabajando desde un estado final resuelto. Mi instinto dice que esta no es la solución óptima, porque a) generalmente hay muchos estados finales yb) el rompecabezas no solo tiene que ser solucionable, sino también interesante. Por lo tanto, probablemente debería buscar una o las dos opciones restantes:

  • Pruebas automáticas. A menos que esté haciendo niveles enormes, en realidad hay pocas acciones que un jugador puede tomar, la mayoría de las cuales conducirán rápidamente a un estado de juego sin solución. Eso lo hace perfecto para que un bot agote todos los movimientos posibles. Si hay al menos 1 ruta que conduce a una solución, entonces el bot la encontrará.

  • Mi método preferido sería la prueba manual. Entonces se te ocurre una idea general para un nivel y diseñas el tablero, colocas obstáculos y bloques móviles, etc. Luego tratas de resolverlo como si fueras un jugador, y debes observarte conscientemente. En primer lugar, por supuesto, ¿tiene nivel de solución? Una prueba automatizada puede ayudarlo mucho con esto, lo que le ahorrará mucho tiempo. En segundo lugar, ¿ es divertido jugar el nivel, es lo suficientemente interesante como para que el jugador quiera resolver otro? Esa, además de la simple capacidad de solución, es la pregunta principal si quieres mejorar tu juego. A continuación, debe juzgar si el nivel es fácil o difícil, y probablemente desee presentarlos en ese orden: fácil a difícil.

TL; DR: Implemente un bot que pueda verificar rápidamente si un nivel dado es solucionable, preferiblemente en su editor de niveles. Luego, diseñe niveles que podrían ser divertidos de resolver. Luego, pruebe manualmente el factor diversión y la dificultad reales.

Hackworth
fuente
Hackworth muchas gracias. Es de mucha ayuda. ¿Cómo encontraría más información sobre la creación de un editor de niveles y un bot de prueba? Seguramente tiene que haber algunos principios generales que me ayuden a comenzar. Además, ¿cómo descubriste que el género del juego se llama Sokoban? Nunca hubiera sabido para qué buscar en Google. Eso es genial Gracias de nuevo. Puedo decir que te importa hacer "juegos divertidos y geniales". Es un cambio agradable de hacer preguntas en Stackoverflow.
I00I
3

Esta fue también mi pregunta durante mucho tiempo, no estoy seguro de si es la mejor práctica crear acertijos, pero ahora tengo una respuesta. Para resumir la historia, solo imagine una situación de final de juego simple y válida, luego retroceda paso a paso y llegue a un punto de partida.

Ahora para dar más detalles: desea que el rompecabezas sea siempre solucionable, desde el punto de vista de los jugadores, ¡no es importante si el rompecabezas tiene dos o tres soluciones, sino tener al menos una! Teniendo esto en cuenta, puede comenzar su diseño haciendo movimientos inversos válidos. Dijiste que es un juego que necesitas mover de alguna manera todos los bloques del tablero de juego. Entonces, para el primer paso, imagine jugar jugando en el borde del mapa, y no hay bloques rojos en ninguna parte del tablero. A partir de esa situación, comienzas a hacer movimientos inversos que son movimientos normales (al revés de otro movimiento normal), o tirar de un bloque (que es inverso al de empujar bloque) y tirar de un bloque en el tablero de juego (que obviamente es inverso para empujar ese bloque fuera de escena). Con este enfoque, sabes que siempre hay al menos un método para resolver el rompecabezas,

Como Hackworth sugirió que crear rompecabezas de esta manera podría generar rompecabezas muy simples o no creativos al principio, pero después de hacer algunos rompecabezas, aprenderá poco a poco qué tipo de movimientos resultarán en un buen rompecabezas. Es exactamente la misma forma en que un jugador ganaría experiencia para resolver acertijos más difíciles después de resolver los simples.

Ali1S232
fuente
Gajet, gracias por proporcionarnos información sobre sus experiencias. Es bueno ver que alguien más ha recorrido ese camino. No saber cómo configurar un editor de niveles, y un bot para ver si son solucionables me hace apoyar este método sobre las otras dos soluciones más elegantes proporcionadas. Todavía podría tener que abandonar mi amor por Cocoa Touch y desglosar y usar el editor de nivel Cocos2d y los marcos para este proyecto en particular.
I00I
1

Esta es una pregunta realmente interesante. La mejor respuesta es que al diseñar la mecánica de tu juego, debes considerar cómo quieres construir tus rompecabezas. Crear un rompecabezas que sea divertido de jugar a veces es diferente de crear un sistema de rompecabezas dentro del cual puedas crear la cantidad adecuada (grande) de rompecabezas divertidos: esta es una de las distinciones importantes entre Desarrollador y Jugador.

Pero ya tiene algunas reglas establecidas, así que veamos qué tan rápido podemos llevarlo a un buen método de creación de rompecabezas repetible. Necesitamos comenzar con objetivos. (¡No puedes ganar sin goles!) Aquí hay algunos goles posibles para ti:

  1. Los niveles deben ser estéticamente hermosos.
  2. La solución a los niveles debe ser elegante.
  3. Cada nivel debe tener una solución única.
  4. Cada nivel debe tener una dificultad bien definida (para que pueda ordenarlos correctamente)
  5. Cada nivel debe ser muy diferente de todos los demás.
  6. Necesitas 1,000 niveles.
  7. La creación de niveles debe ser lo suficientemente simple para que los usuarios lo hagan.

Proponga una meta adecuada para usted y luego trabaje hacia atrás desde allí. Si desea niveles hermosos, entonces necesita un sistema dentro del cual pueda resolver cualquier arreglo con ajustes limitados, para que puedan dominar las consideraciones estéticas. Si necesita niveles X, entonces necesita un proceso que pueda automatizar, o tener un gran equipo trabajando para usted. ;) Tus objetivos deben impulsar tu solución.

Simon extraño
fuente