Bejeweled Next Meilleure sélection de bijoux

9

Existe-t-il une technique de conception de jeu que je peux utiliser pour supprimer complètement les situations «Plus de mouvements à gauche». c'est à dire. le jeu ne doit contenir aucun scénario impossible.

Pour autant que je suppose, tout dépend de quel bijou et de l'endroit où vous donnez à l'utilisateur après la dissolution d'un groupe de 3 ou 4 joyaux.

C'est possible ? An always infinitely solvable Bejewelled game?

Vishnu
la source
2
rendre tous les bijoux bleus
amb
+1 grande question. Il devrait y avoir une solution assez compliquée pour cela, selon le nombre de nouvelles gemmes que vous générez.
ashes999
@ ashes999: Merci, mais les deux seules idées pour l'instant, je pense que cette suppression de la situation illégale est possible: 1.) vérification de la force brute et ajout de bijoux basés sur le calcul brut prévu, 2.) introduction de choses comme des bombes ou l'hyper cube qui interagit avec n'importe quel bijou autour de la création d'une vaste perturbation sur le motif de la planche.
Vishnu

Réponses:

1

Il est certainement possible de créer un jeu Bejeweled sans fin. PopCap l'a fait lui-même avec le dernier Bejeweled 3 (le mode est appelé "Zen Mode").

Tout d'abord, vous devez vous assurer qu'il y a au moins un mouvement valide lorsque vous générez le plateau pour la première fois.

Chaque fois qu'un joueur fait un coup, vous devez calculer le plateau résultant et rechercher des coups valides. S'il n'y en a pas, vous devez contrôler les gemmes qui seront générées pour restaurer une carte valide. Puisque (au moins) 3 gemmes seront supprimées d'un seul coup et que vous devrez générer 3 gemmes de remplacement, vous pouvez vous assurer que ces 3 gemmes de remplacement formeront un autre mouvement valide avec le plateau actuel. Mode sans fin atteint.

Bien sûr, il n'est pas idéal que le nouveau mouvement apparaisse avec de nouvelles gemmes, mais c'est un moyen bon marché de toujours garantir une planche jouable. Et puisque créer des mouvements valides signifie en fait échanger des positions de gemmes, il ne faudra pas longtemps pour que d'autres mouvements deviennent possibles.

Comme déjà mentionné, les bombes et autres moyens pour effacer de grandes parties du plateau ajouteront plus de variété au gameplay, mais ils ne sont pas nécessaires pour assurer un mode sans fin.

bummzack
la source
4

Oui. Ce serait en fait possible. Ce n'est pas un cas de problème d'arrêt tel que le cas est défini, pas arbitraire. Pour répondre à cela, il faut répondre à deux parties; premièrement, si une solution existe, elle peut être trouvée, et deuxièmement, il y aura toujours une solution valide à trouver.

La première partie est de savoir comment trouver un ensemble de tuiles de remplacement (gemmes) qui produiraient une planche jouable. Cela peut être réalisé via des méthodes de force brute, il suffit de vérifier chaque jeu de remplacement possible jusqu'à ce qu'un jeu jouable soit rencontré (il y aurait également des méthodes de force non brute plus optimales).

La deuxième partie consiste à déterminer s'il y aura toujours un jeu de remplacement qui produira un jeu jouable. Tout ensemble de tuiles supprimées en un seul mouvement va être un surensemble d'ensembles de trois tuiles, donc si dans le cas minimal de seulement trois suppressions, si un ensemble jouable peut toujours être trouvé, alors pour tous les modèles possibles de tuiles supprimées il y aura un ensemble jouable, car il contiendra toutes les solutions pour chaque ensemble de trois tuiles supprimées qui est un sous-ensemble des tuiles supprimées.

Dans le cas minimal de la suppression de seulement trois tuiles dans une ligne / colonne, un ensemble de remplacement contenant deux tuiles de type A séparées par une tuile de type B (où le type A est le type d'une tuile au-dessus ou en dessous de l'ensemble effacé de trois dans le cas d'une colonne de trois, ou vers la gauche ou la droite dans le cas d'une rangée de trois). Cela produira un mouvement où l'échange du centre de ces trois tuiles avec la tuile A appropriée à côté d'elle produira un ensemble de trois. Cela montre qu'un ensemble de tuiles peut toujours être trouvé, ce qui produira un déplacement valide le long de la colonne / ligne où les tuiles d'origine ont été effacées. Restreindre les déplacements futurs à cette colonne ou ligne ne serait pas très amusant, tout en étant une solution valable pour un jeu jouable à l'infini. Mais en utilisant toutes les règles pour les jeux de style bejeweled communs, il est facile de montrer qu'il existera toujours une solution qui permettra également les déplacements en dehors de cette ligne / colonne. Supposons que nous déposons trois tuiles de type A, où A est l'une des tuiles au-dessus ou en dessous / à gauche ou à droite de l'ensemble de trois supprimé. Cela produira une tuile de style «bombe» qui dégagera une zone une fois retirée. Si nous déposons ensuite un autre jeu de tuiles de remplacement, ce qui entraîne une correspondance avec cette bombe, une zone de tuiles sera effacée. Cette zone contiendra un certain nombre de 3 sous-ensembles de tuiles dans d'autres lignes, ce qui signifie que les déplacements futurs ne seront pas nécessairement limités à une seule ligne / colonne. Cela produira une tuile de style «bombe» qui dégagera une zone une fois retirée. Si nous déposons ensuite un autre jeu de tuiles de remplacement, ce qui entraîne une correspondance avec cette bombe, une zone de tuiles sera effacée. Cette zone contiendra un certain nombre de 3 sous-ensembles de tuiles dans d'autres lignes, ce qui signifie que les déplacements futurs ne seront pas nécessairement limités à une seule ligne / colonne. Cela produira une tuile de style «bombe» qui dégagera une zone une fois retirée. Si nous déposons ensuite un autre jeu de tuiles de remplacement, ce qui entraîne une correspondance avec cette bombe, une zone de tuiles sera effacée. Cette zone contiendra un certain nombre de 3 sous-ensembles de tuiles dans d'autres lignes, ce qui signifie que les déplacements futurs ne seront pas nécessairement limités à une seule ligne / colonne.

Matthew R
la source
Il ne tourne que de 120 degrés à la fois, non? Alors, que se passe-t-il si vous affichez un plateau qui (en raison de mouvements précédents) a des distributions notables ailleurs dans le plateau, nécessitant 5 mouvements depuis un bloc nouvellement placé, et que le joueur clique d'abord sur quelque chose de mal ?
Clockwork-Muse
Pivote de 120 degrés? Bejeweled n'implique pas de rotations. Pensez-vous à Bejeweled Twist ?
Matthew R
Désolé, non, je pensais à Hexic . Mais, avec suffisamment de gemmes différentes, il serait possible d'entrer dans une situation où le moteur devrait générer un trio correspondant à chaque fois pour permettre un jeu continu (car rien d'autre ne marquerait). Ce qui pourrait être intéressant à voir, mais pas très jouable.
Clockwork-Muse
Vous seriez toujours en mesure de générer un ensemble de remplacement de trois tuiles identiques du même type qu'une tuile à gauche / droite ou en haut / en bas de cet ensemble, ce qui créerait un ensemble plus grand qui serait ensuite supprimé. Cela signifie que toutes les tuiles de la ligne ou de la colonne de la tuile d'origine peuvent finalement être supprimées. Dans la plupart des jeux de style bejeweled, des ensembles plus grands conduisent à des tuiles spéciales qui nettoient des zones ou tout d'un type de tuile donné. Cela pourrait être mis en cascade si nécessaire pour effacer suffisamment de tuiles pour qu'une carte jouable puisse être générée quel que soit l'état initial de la carte.
Matthew R
3

Vous avez abordé le problème de l'arrêt en informatique.

Étant donné la description d'un programme informatique arbitraire, pouvons-nous en déduire s'il s'arrêtera à un moment donné ou s'il s'exécutera indéfiniment? Il y a une raison pour laquelle cela s'appelle un "problème".

La réponse courte est: non, vous ne pouvez pas garantir qu'un jeu Bejeweled n'aura jamais de mouvements illégaux. Parce que garantir cela prendrait un temps de calcul infini.

chevalier666
la source
4
Pour info, le problème de l'arrêt indique qu'il y a des problèmes impossibles à résoudre, pas qu'ils le sont tous. Pour ce problème spécifique, je pense que vous ne pouvez pas le faire (ou le jeu sera ridiculement simple, comme 2 couleurs et une grille 3 * 3 par exemple), il y a trop de chemins possibles dans un jeu de «taille normale» comme celui-ci .
Valmond
1
Aussi FYI: La génération actuelle de jeux Bejeweled (de PopCap) a un mode sans fin ... donc ils semblent avoir résolu le problème avec succès :) Ils garantissent qu'il y a toujours un mouvement valide en générant de nouvelles gemmes qui garantiront un mouvement valide ( s'applique uniquement lorsqu'il n'y en a actuellement aucun disponible).
bummzack
1
@bummzack: désolé de dire que vous avez tort bummzack, mais dans le popcap bejeweled (que je suis fier de dire que je suis le meilleur buteur en classique et en vitesse). La version classique s'arrête de dire .NO MOVE LEFT et vous donne un gameover.
Vishnu
@ knight666: Eh bien, je ne pense pas que ce soit impossible, comme l'autre article de Mathew R, il donne une bonne idée d'utiliser une bombe lorsque l'IA prévoit qu'une situation illégale pourrait survenir.
Vishnu
@Vishnu Eh bien, j'ai écrit la génération actuelle , qui serait Bejeweled 3, et cela ne s'applique qu'au mode sans fin (ou au mode Zen ou autre). Je suis conscient que ce n'était pas le cas dans la version classique ...
bummzack