Prototypage d'un jeu de puzzle pour la solvabilité des niveaux


11

Je suis en phase de prototypage pour créer un jeu de puzzle pour iOS. La prémisse de base de ce que le joueur doit faire est d'aller d'un point A à un point B en naviguant à travers un labyrinthe comme une configuration, tout en éloignant les blocs du chemin et en évitant les ennemis. C'est ma première approche d'un jeu comme celui-ci, donc je me demande comment les autres ont fait en sorte que les niveaux qu'ils créent soient résolubles.

Par exemple, prenez le jeu de déblocage classique où vous devez retirer le bloc rouge du plateau de jeu en déplaçant les autres pièces de bloc non rouges hors du chemin. Cela devient difficile car ils sont tous dans un espace restreint avec peu de mouvement.

Le créateur sait-il que la disposition des pièces du puzzle est placée de manière à permettre de résoudre le puzzle? Commencent-ils par des prototypes en papier et fonctionnent-ils à partir d'un état final résoluble pour faire les dispositions initiales du plateau de jeu?

Réponses:


10

Vous semblez faire un jeu de style Sokoban . Vous avez au moins 3 options:

  • Travail à partir d'un état final résolu. Mon intuition dit que ce n'est pas la solution optimale, car a) il y a généralement de nombreux états finaux et b) le puzzle ne doit pas seulement être résoluble, mais aussi intéressant. Vous devriez donc probablement poursuivre l'une ou les deux autres options:

  • Test automatique. À moins que vous ne fassiez des niveaux énormes, il y a en fait peu d'actions qu'un joueur peut entreprendre, dont la plupart conduiront rapidement à un état de jeu insoluble. Cela rend cela parfait pour un bot pour épuiser tous les mouvements possibles. S'il y a au moins 1 chemin qui mène à une solution, le bot le trouvera.

  • Ma méthode préférée serait le test manuel. Vous venez donc avec une idée générale d'un niveau et disposez le plateau, vous placez des obstacles et des blocs mobiles, etc. Ensuite, vous essayez de le résoudre comme si vous étiez un joueur, et vous devez vous observer consciemment. Tout d'abord, bien sûr, est-il résoluble? Un test automatisé peut vous y aider beaucoup, ce qui vous fera gagner beaucoup de temps. Deuxièmement, le niveau est-il amusant à jouer, est-il suffisamment intéressant pour que le joueur veuille en résoudre un autre? C'est, à part la simple solvabilité, la question principale si vous voulez améliorer votre jeu. Ensuite, vous devez juger si le niveau est facile ou difficile, et vous voulez probablement les présenter dans cet ordre: facile à difficile.

TL; DR: implémentez un bot qui peut rapidement vérifier si un niveau donné est résolu ou non, de préférence dans votre éditeur de niveau. Ensuite, concevez des niveaux qui pourraient être amusants à résoudre. Ensuite, testez manuellement le facteur de plaisir et la difficulté réels.


Hackworth merci beaucoup. C'est très utile. Comment trouver plus d'informations sur la création d'un éditeur de niveau et d'un bot de test? Il doit sûrement y avoir des principes généraux qui pourraient m'aider à démarrer. Aussi comment diable avez-vous découvert que le genre du jeu s'appelait Sokoban? Je n'aurais même jamais su quoi chercher sur Google. C'est super. Merci encore. Je peux vous dire que vous voulez faire des "jeux amusants et géniaux". C'est un bon changement de poser des questions sur Stackoverflow.
I00I

3

C'était aussi ma question depuis longtemps, je ne sais pas si c'est la meilleure pratique pour créer des puzzles mais j'ai une réponse maintenant. Pour faire court, imaginez simplement une situation de fin de jeu simple et valide, puis reculez pas à pas et atteignez un point de départ.

Maintenant, pour donner plus de détails: vous voulez que le puzzle soit toujours résoluble, du point de vue des joueurs, ce n'est pas important si le puzzle a deux ou trois solutions mais au moins une! Gardant cela à l'esprit, vous pouvez commencer votre conception en effectuant des mouvements valides inversés. Vous avez dit que c'est un jeu dont vous devez en quelque sorte déplacer tous les blocs du plateau de jeu. Donc, pour la première étape, imaginez jouer au bord de la carte, et il n'y a aucun bloc rouge n'importe où sur le plateau. À partir de cette situation, vous commencez à effectuer des mouvements inverses qui sont des mouvements normaux (inverse d'un autre mouvement normal), ou à tirer un bloc (qui est l'inverse du bloc poussé) et à tirer un bloc dans le plateau de jeu (qui est évidemment inversé pour pousser ce bloc hors de scène). Par cette approche, vous savez qu'il y a toujours au moins une méthode pour résoudre le puzzle,

Comme Hackworth l'a suggéré, la création de puzzles de cette façon pourrait générer des puzzles très simples ou non créatifs au début, mais après avoir fait quelques puzzles, vous apprendrez petit à petit quel type de mouvements résultera en un bon puzzle. C'est exactement de la même manière qu'un joueur gagnerait de l'expérience pour résoudre des énigmes plus difficiles après avoir résolu des énigmes simples.


Gajet vous remercie d'avoir fourni un aperçu de vos expériences. C'est agréable de voir que quelqu'un d'autre a suivi cette voie. Ne pas savoir comment mettre en place un éditeur de niveau, et un bot pour voir s'ils sont résolubles me fait m'appuyer sur cette méthode par rapport aux deux autres solutions plus élégantes proposées. Je devrai peut-être encore abandonner mon amour pour Cocoa Touch et décomposer et utiliser l'éditeur de niveau Cocos2d et les cadres pour ce projet particulier.
I00I

1

C'est une question vraiment intéressante. La meilleure réponse est que lors de la conception de vos mécanismes de jeu, vous devez réfléchir à la façon dont vous voulez construire vos puzzles. Créer un puzzle amusant à jouer est parfois différent de créer un système de puzzle dans lequel vous pouvez créer le bon (grand) nombre de puzzles amusants - c'est l'une des distinctions importantes entre développeur et joueur.

Mais vous avez déjà quelques règles en place, alors voyons à quelle vitesse nous pouvons vous amener à une bonne méthode de création de puzzle répétable. Nous devons commencer par des objectifs. (Vous ne pouvez pas gagner sans objectifs!) Voici quelques objectifs possibles pour vous:

  1. Les niveaux doivent être esthétiquement beaux.
  2. La solution aux niveaux doit être élégante.
  3. Chaque niveau doit avoir une solution unique.
  4. Chaque niveau doit avoir une difficulté bien définie (afin que vous puissiez les commander correctement)
  5. Chaque niveau doit être très différent de tous les autres niveaux.
  6. Vous avez besoin de 1000 niveaux.
  7. La création de niveaux doit être suffisamment simple pour que les utilisateurs puissent le faire.

Trouvez un objectif qui vous convient, puis reculez à partir de là. Si vous voulez de beaux niveaux - alors vous avez besoin d'un système dans lequel vous pouvez rendre tout arrangement résoluble avec des ajustements limités - afin que les considérations esthétiques puissent dominer. Si vous avez besoin de niveaux X, vous avez besoin d'un processus que vous pouvez automatiser - ou d'une grande équipe travaillant pour vous. ;) Vos objectifs doivent conduire votre solution.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.