Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Connexion avec identifiant, mot de passe et durée de la session

+-Shoutbox (Merci d'utiliser le forum pour les demandes d'aides)

Aujourd'hui à 19:03:21 Crystal Noir dit: Episode 3 disponible :)
Aujourd'hui à 12:26:23 Capitaine_Caverne dit: bon anniversaire françois
Aujourd'hui à 10:56:52 Crystal Noir dit: Bon anniversaire François :)
Aujourd'hui à 08:52:23 Monos dit: Joyeux anniversaire François si tu passes par ici.
05 juillet 2014 à 19:00:06 Crystal Noir dit: Les deux premiers épisodes de la série de tutos sont en lignes : http://comptoir-mmf.eu/Forum/index.php?topic=777.0
05 juillet 2014 à 18:36:39 Capitaine_Caverne dit: merci bien oui a monos il ma dit la même chose que dans fusion il maintenant des variable réservé.
05 juillet 2014 à 17:12:08 Funkadicte dit: Capitaine_Caverne: Oui J'ai remarqué sa aussi on ne peux pas renommer une variable d’un objet comme on le souhait speed,angle n'est pas acceptée et les autre aussi je pense
05 juillet 2014 à 16:43:02 Pit73 dit: il y a des nom de variable réservé il me semble.
05 juillet 2014 à 15:23:02 Capitaine_Caverne dit: bonjour dit moi sur fusion la j ai bug faite un test  si vous renommer le nom de la variable d un objet  en nom  ( angle ) j ai un message d erreur mais si je mais un autre nom dit moi s ça vous fait la même chose.
05 juillet 2014 à 14:55:41 Funkadicte dit: Ok merci
Voir l'historique

Liens

Messages non lus

Télécharger

Divers

Twitter

Les extensions pour MMF2

FaceBook ClickTeam France

Derniers messages

Re : Serie tutoriaux Fusion 2.5 : Frog On The Road par Crystal Noir
Aujourd'hui à 19:02:24

Re : Serie tutoriaux Fusion 2.5 : Frog On The Road par Capitaine_Caverne
Aujourd'hui à 12:21:05

Re : Nicolas par Crystal Noir
Aujourd'hui à 11:26:55

Re : Nicolas par Nicolas
Aujourd'hui à 11:04:18

Re : Annonce des Patchs Officiel et des Patchs en bêta. par Monos
Aujourd'hui à 08:56:33

Re : Serie tutoriaux Fusion 2.5 : Frog On The Road par Crystal Noir
Aujourd'hui à 01:21:31

Re : Serie tutoriaux Fusion 2.5 : Frog On The Road par Pit73
Aujourd'hui à 00:42:20

Re : Nicolas par Crystal Noir
Aujourd'hui à 00:29:08

Re : Serie tutoriaux Fusion 2.5 : Frog On The Road par Nicolas
Aujourd'hui à 00:13:51

Re : Nicolas par Kloug
Aujourd'hui à 00:10:33

Re : Besoin d'aide Shoot'em up/Puzzle Game par Kloug
05 juillet 2014 à 23:00:14

Re : Besoin d'aide Shoot'em up/Puzzle Game par Funkadicte
05 juillet 2014 à 20:54:46

Re : Besoin d'aide Shoot'em up/Puzzle Game par Funkadicte
05 juillet 2014 à 20:29:17

Re : Besoin d'aide Shoot'em up/Puzzle Game par Funkadicte
05 juillet 2014 à 19:56:39

Re : Besoin d'aide Shoot'em up/Puzzle Game par Kloug
05 juillet 2014 à 19:36:31

Re : Tutorial Series en préparation : Frog On The Road par Crystal Noir
05 juillet 2014 à 19:01:10

Serie tutoriaux Fusion 2.5 : Frog On The Road par Crystal Noir
05 juillet 2014 à 18:59:36

Re : Besoin d'aide Shoot'em up/Puzzle Game par Capitaine_Caverne
05 juillet 2014 à 18:39:51

Re : Besoin d'aide Shoot'em up/Puzzle Game par Funkadicte
05 juillet 2014 à 18:25:46

Re : Besoin d'aide Shoot'em up/Puzzle Game par Kloug
05 juillet 2014 à 17:40:43

Dernier Clikeur

Funkadicte
Nicolas

Membre en ligne

7 Invités, 1 Utilisateur
Léo

Auteur Sujet: Notion Solveur (niveau avancé).  (Lu 919 fois)

Hors ligne Kloug

  • Clickeur bien intégré
  • Messages: 236
  • Klougy traqueur de bug.
    • Voir le profil
  • Logiciel: TGF1
Notion Solveur (niveau avancé).
« le: 07 novembre 2012 à 23:27:40 »
Salut,

La réalisation d'un petit jeu peut vite tourner au casse tête, la notion indispensable à savoir, est celle du solver en anglais, ou résolveur en français.

Un solver c'est quoi?

Pour ma part dans un moteur de jeu vidéo, il en existe des tas, le plus simple des solveurs est du genre, plus d'objets "truc" dans la scène, scène suivante, mais plus sérieusement cela peut être un solveur de grille de Sudoku.

Ce genre de solveur étant plutôt complexe et hors de ma portée (humour), je vous propose de voir le résolveur du jeu Tic Tac Toe (jeu de morpion).

Pour notre culture générale...
http://fr.wikipedia.org/wiki/Tic-tac-toe_%28jeu%29

Pour ce faire, le principe de l'intelligence artificielle, réduite à un placement au hasard, d'un pion PC, à l'aide d'un layer (une couche).

X( "Layer" )+((Random(192)/64)*64)
Y( "Layer" )+((Random(192)/64)*64)

Une couche (en vert fluo) permet souvent de réduire les conditions.

Maintenant que l'I.A (niveau très faible) est fiable, comment vérifier la grille du Tic Tac Toe?



Un actif "Rider" se déplace sur les trois horizontales, les trois verticales, les deux diagonales.

Chaque fois que l'actif "Rider" est en collision avec un pion, MMF ajoute plus un à une variable.
La variable a pour valeur trois, victoire pour le joueur ou l'ordinateur.

Voilà une solution "simple", elle confirme deux choses.

1) Cerner, définir correctement le problème.

2) Résoudre le problème avec un solveur réaliste (rapide).

La méthode adaptable a beaucoup de petits jeux est celle du moteur de déplacement autonome, avec comptabilité des collisions.

La mise en pratique (pas du genre facile pour un débutant à cause des variables):
Tic Tac Toe (28 lines).
http://files.getwebb.org/download.php?id=cre63bce

Merci de votre attention.

A+++
« Modifié: 08 novembre 2012 à 00:10:25 par Kloug »
C'est de la M... Nan! C'est des moteurs cases à cocher!
http://clickmoteur.blogspot.fr/

Hors ligne Patrice

  • Staff Technique
  • Clickeur bien intégré
  • Messages: 448
    • Voir le profil
    • frenchflash.free.fr
  • Logiciel: MMF2 Dev
  • Module APK: Oui
  • Module Flash: Oui
  • Module HTML5: Oui
  • Module iOS: Oui
Re : Notion Solveur (niveau avancé).
« Réponse #1 le: 08 novembre 2012 à 19:22:14 »
Très interressant, merci pour ta contribution, j'avoue que je suis un peu frustré, l'IA est vraiment très basique.

Si je me souviens bien la seule solution connue pour ce genre d'IA c'est de tester toutes les hypothèses du joueur et de se placer en fonction.

Penses-tu pouvoir apporter une autre approche avec ta méthode pour arriver à une IA plus coriace ?

Merci
http://loopengo.free.fr/flash/sign.swf

Hors ligne Kloug

  • Clickeur bien intégré
  • Messages: 236
  • Klougy traqueur de bug.
    • Voir le profil
  • Logiciel: TGF1
Re : Notion Solveur (niveau avancé).
« Réponse #2 le: 08 novembre 2012 à 22:10:27 »
Merci infiniment pour ton message Patrice.

L'I.A de l'exemple existe pour le solveur (moteur de déplacement autonome, comptabilité des collisions).
Avec un I.A plus élaborée, ce genre de solveur devient obsolète.

"Si je me souviens bien la seule solution connue pour ce genre d'I.A c'est de tester toutes les hypothèses du joueur et de se placer en fonction."

Je ne vois effectivement pas d'autres alternatives, pour une I.A toujours victorieuse.

Avec la méthode proposée, il est possible par exemple, d'occuper d'emblée la case centrale une fois sur deux, de contrer parfois le joueur, sans pour autant "klik" coder des centaines de lignes.

Donc oui, il est possible d'obtenir une I.A, un peu plus coriace avec l'exemple proposé, sans passer par une analyse de grille, donc des routines suivant les cases occupées par le joueur.

Je vais essayer de mettre en pratique mes propos, dès que possible.

En attendant pour comparer, il y a celui de Nirl:
http://www.castles-of-britain.com/tictactoe.mfa

Je ne l'ai pas encore regardé en détail, ni testé sérieusement.
C'est de la M... Nan! C'est des moteurs cases à cocher!
http://clickmoteur.blogspot.fr/

Hors ligne Patrice

  • Staff Technique
  • Clickeur bien intégré
  • Messages: 448
    • Voir le profil
    • frenchflash.free.fr
  • Logiciel: MMF2 Dev
  • Module APK: Oui
  • Module Flash: Oui
  • Module HTML5: Oui
  • Module iOS: Oui
Re : Notion Solveur (niveau avancé).
« Réponse #3 le: 09 novembre 2012 à 09:15:01 »
Oui, je connaissais cette source. Je me dis que ça pourrait être super interressant de trouver une IA pour des TicTacToe étendus sur des grilles plus grandes, comme les bons vieux jeux que nous faisions sur les feuilles à carreaux pendant les cours qui n'en finissaient plus...
Tiens nous au courant de tes avancées, c'est très interressant.
http://loopengo.free.fr/flash/sign.swf

Hors ligne Kloug

  • Clickeur bien intégré
  • Messages: 236
  • Klougy traqueur de bug.
    • Voir le profil
  • Logiciel: TGF1
Re : Notion Solveur (niveau avancé).
« Réponse #4 le: 09 novembre 2012 à 23:06:25 »
Le solveur (sujet du post) est devenu plus simple (à capter) mais moins rapide.
Réduit avec le mode 2 joueurs à 9 lignes.
http://files.getwebb.org/download.php?id=cre63b58

Il y a une différence notable entre vérifier une grille, et analyser une grille, le solveur proposé permet seulement de vérifier l'état d'une grille. Il confirme ou infirme une succession de trois pions.

L'analyse d'une grille se fait afin de jouer, le meilleur coup suivant possible.
Avec un nombre de pions limité (9), une grille 3x3, c'est réalisable avec un petit niveau de programmation.

L'I.A d'un jeu de morpion, 5 pions à aligner, c'est l'analyse d'une grille de grande taille, là à mon humble avis, mise au point d'un algo.

Avec une extension qui permet de comptabiliser les connections, il suffit de contrer le joueur, de marquer le premier point.

http://www.paranoland.com/jeux/flash/2882-morpion-reflexion.html

Dans ce cas on évite soigneusement le plus dur...

Ce genre de jeu est distrayant à deux ou plusieurs, contre une I.A optimisée cela devient vite soulant.

En tous les cas Patrice merci de ton retour, même si l'I.A du Tic Tac Toe, se fait plus coriace, elle ne conviendra pas pour aligner 5 pions.

Edit:

Le Tic Tac Toe de Nirl, fait beaucoup de lignes, en gros d'après le nombre de pions sur la grille et les cases occupées, MMF place le pion PC (meilleur coup possible).
Mon I.A pas terrible laisse au moins un peu d'espoir au joueur de gagner (mdr).

Trois niveaux de difficulté, semblables ou pratiquement semblables, pas de mode 2 joueurs, sinon très belle réalisation pour un Tic Tac Toe.

L'utilisation d'un "vérificateur" ou solveur peut paraître sans intérêt, mais pour un jeu de puzzle, un atomix, un slider, une grille sudoku, etc, il permet de réduire le nombre de lignes.
Par exemple un puzzle fait 100 pièces, répartir une valeur dans une variable (variable différente pour chaque pièce), vérification de la variable de 1 à 100, via un moteur de déplacement autonome et le tour est joué.

Le cas du Tic Tac Toe est particulier, ça change de l'ordinaire (lol).
« Modifié: 10 novembre 2012 à 00:59:28 par Kloug »
C'est de la M... Nan! C'est des moteurs cases à cocher!
http://clickmoteur.blogspot.fr/

Hors ligne Kloug

  • Clickeur bien intégré
  • Messages: 236
  • Klougy traqueur de bug.
    • Voir le profil
  • Logiciel: TGF1
Re : Notion Solveur (niveau avancé).
« Réponse #5 le: 11 novembre 2012 à 14:42:23 »
Resalut,

Je ne m'excuse pas de double poster, évidemment pour plus de lisibilité et afin d’éclaircir certains points difficiles à comprendre.

Comme constaté plus haut, il existe plusieurs façons de réaliser un solveur, il peut simplement vérifier l'état d'une grille, ou résoudre une problématique.

Sans jouer les pointilleux, vérifier n'est pas résoudre, c'est avec cette nuance qu'un "klik" codeur va mettre en place un solveur, inutile d'utiliser un tank pour pousser une porte, tout dépend des objectifs à atteindre.

Bien sûr, une fois qu'une grille est vérifier, il est possible de la valider, valider n'est pas résoudre une problématique.

C'est aussi avec cette nuance qu'une I.A se conçoit avec le Tic Tac Toe, car certaines I.A sont des résolveurs de quoi semer la confusion chez un "klik" codeur.

Voilà pourquoi mon choix du Tic Tac Toe, merci à mon ami Patrice d'avoir levé un lièvre.

L'extension pathfinding, est une I.A incapable de résoudre la problématique posée par le Tic Tac Toe, l'extension Advanced Game Board (AGBO) a la même incapacité, à savoir jouer le meilleur coup possible.

L'extension pathfinding résout la problématique du chemin le plus court, l'extension AGBO résout la problématique d'une connexion entre actifs.

En gros un solveur "vérificateur" (validation) est adaptable à tous les projets, un solveur "résolveur" est forcément spécifique à une problématique.

Mettre au point une I.A optimisée pour un Tic Tac Toe peut se faire avec un tableau de type booléen, afin de jouer le pion PC (meilleur coup possible).
A mon humble avis cette méthode réduirait considérablement le nombre de lignes, et là plus besoin d'un moteur de déplacement autonome (avantage >> coup suivant instantanément affiché).





Ces deux possibilités de perdre totalisent 5 lignes fastidieuses...

A la place des tuiles, des couches, pourquoi pas?

Mais quel est l'intérêt d'une I.A incapable de perdre?

Tic Tac Toe de Nick (Vérificateur >> Objet tableau).
http://www.clickteam.com/creation_materials/tutorials/download/TicTacToe.mfa

Tic Tac Toe d'Andos (Vérificateur >> AGBO).
http://files.getwebb.org/download.php?id=cre63apx

Quand je fais un exemple cela découle d'un travail de fond, d'une synthèse, histoire de rendre accessible au plus grand nombre une notion.
Ceci n'est hélas pas toujours possible, je donne alors un "mode d'emploi".

Là, il y a un résolveur (une partie) afin de gérer les plans sur une map iso.
http://clickmoteur.blogspot.fr/2011/01/gestion-des-plans-un-classique.html

Mes exemples utilisent rarement une extension car la majorité sont compatibles avec TGF2.
http://clickmoteur.blogspot.fr/2012/10/klik-examples-for-tgf-mmf.html

Au risque de le répéter, avec TGF, MMF, tout ne peut pas se résoudre à grand coup de programmation, puisque la colonne vertébrale est l'éditeur de scène, la problématique du Tic Tac Toe confirme cette évidence.

Contrer systématiquement le joueur à l'aide d'un solveur "vérificateur" (inconvénient >> affichage du coup suivant plus lent), me semble la meilleure option car elle fera peu de lignes, mais on obtient aussi une I.A optimisée, bref à moins de mettre une pincée de "débilité" le joueur n'a aucune chance de gagner, j'ai peut être eu la main lourde dans mon exemple (mdr).

En espérant que mes explications ne sont pas trop "roxor".

A+++
« Modifié: 13 novembre 2012 à 22:53:02 par Kloug »
C'est de la M... Nan! C'est des moteurs cases à cocher!
http://clickmoteur.blogspot.fr/

Hors ligne Kloug

  • Clickeur bien intégré
  • Messages: 236
  • Klougy traqueur de bug.
    • Voir le profil
  • Logiciel: TGF1
Re : Notion Solveur (niveau avancé).
« Réponse #6 le: 15 novembre 2012 à 23:37:49 »
Salut,

Après un travail sur l'I.A du Tic Tac Toe, voici les avancées.

La solution théorique passe par le principe de la table de Karnaugh, un tableau à deux dimensions avec des valeurs booléennes.

La mise en pratique afin de contrer le joueur, au lieu de jouer le meilleur coup possible, s'avère difficile.

Trois solveurs sont nécessaires (dans l'ordre).

Le solveur "vérificateur" validation d'une grille (3 pions alignés, joueur ou PC).

Le solveur "marqueur" marquer un point (2 pions PC alignés >> ajouter un pion PC).

Le solveur "contreur" deux pions joueur alignés, contrer avec un pion PC.

La problématique est de vérifier chaque horizontale, chaque verticale, chaque diagonale, une par une.

Voici deux solveurs "contreur-marqueur" pour tests, normalement séparés.
http://files.getwebb.org/download.php?id=cre63aj8

Avec trois solveurs, il semble possible de faire une I.A (potable) Tic Tac Toe avec TGF, en moins de 100 lignes.

Voilà la mise en pratique (3 solveurs, 60 lignes):
http://files.getwebb.org/download.php?id=cre63aj1

Il est possible de rendre l'I.A invincible (Draw ou Win), à mon humble avis >> aucun intérêt.

A+
« Modifié: 16 novembre 2012 à 01:56:58 par Kloug »
C'est de la M... Nan! C'est des moteurs cases à cocher!
http://clickmoteur.blogspot.fr/

Hors ligne Patrice

  • Staff Technique
  • Clickeur bien intégré
  • Messages: 448
    • Voir le profil
    • frenchflash.free.fr
  • Logiciel: MMF2 Dev
  • Module APK: Oui
  • Module Flash: Oui
  • Module HTML5: Oui
  • Module iOS: Oui
Re : Notion Solveur (niveau avancé).
« Réponse #7 le: 16 novembre 2012 à 17:51:22 »
Très impressionnant, je suis bluffé. Tu penses qu'il serait possible une partie sur 2 de faire commencer l'IA en premier, je pense que ça doit un peu corser le gameplay sans le rendre injouable.

Bravo
http://loopengo.free.fr/flash/sign.swf

Hors ligne Capitaine_Caverne

  • Staff Technique
  • Clickeur bien intégré
  • Messages: 437
    • Voir le profil
  • Logiciel: Fusion 2.5Dev
  • Module APK: Oui
  • Module Flash: Oui
  • Module iOS: Oui
Re : Notion Solveur (niveau avancé).
« Réponse #8 le: 18 novembre 2012 à 11:51:55 »
Merci Kloug super intéressant ça tombe bien je suis sur un jeux de puzzle je fait pouvoir l 'utile avec quelle que petit modif  :-*

Hors ligne Kloug

  • Clickeur bien intégré
  • Messages: 236
  • Klougy traqueur de bug.
    • Voir le profil
  • Logiciel: TGF1
Re : Notion Solveur (niveau avancé).
« Réponse #9 le: 22 novembre 2012 à 21:42:48 »
Salut,

Merci pour vos messages.

Désolé, je me la pète en combinant trois solveurs, ce qui n'est évidemment pas le but recherché.

Faire commencer le PC en premier n'est pas très difficile, avec une autre scène, des compteurs globaux...

Nirl fait aussi commencer le joueur en premier, il n'avait qu'un seul niveau de difficulté avec une I.A "meilleur coup possible".
Laisser le PC commencer en premier, contrer le joueur, c'est au minimum un résultat nul, en clair la même chose qu'une I.A "meilleur coup possible".

Le souci, est donc le peu de marge de manœuvre qu'offre le jeu.

Un jeu certes captivant à étudier, certainement pas à jouer, cela m'a permis de comprendre qu'il est plus judicieux de contrer le joueur, plutôt que d'anticiper ses coups, avec une I.A Tic Tac Toe, car cela représente moins de lignes.

Le truc à retenir avec TGF MMF, c'est qu'il est possible, sans être un super codeur, de mettre au point rapidement un petit système afin de vérifier l'état d'une grille ou autre.

A+
« Modifié: 22 novembre 2012 à 21:53:14 par Kloug »
C'est de la M... Nan! C'est des moteurs cases à cocher!
http://clickmoteur.blogspot.fr/

 


+-MiniChat

Aujourd'hui à 19:03:21 Crystal Noir dit: Episode 3 disponible :)
Aujourd'hui à 12:26:23 Capitaine_Caverne dit: bon anniversaire françois
Aujourd'hui à 10:56:52 Crystal Noir dit: Bon anniversaire François :)
Aujourd'hui à 08:52:23 Monos dit: Joyeux anniversaire François si tu passes par ici.
05 juillet 2014 à 19:00:06 Crystal Noir dit: Les deux premiers épisodes de la série de tutos sont en lignes : http://comptoir-mmf.eu/Forum/index.php?topic=777.0
05 juillet 2014 à 18:36:39 Capitaine_Caverne dit: merci bien oui a monos il ma dit la même chose que dans fusion il maintenant des variable réservé.
05 juillet 2014 à 17:12:08 Funkadicte dit: Capitaine_Caverne: Oui J'ai remarqué sa aussi on ne peux pas renommer une variable d’un objet comme on le souhait speed,angle n'est pas acceptée et les autre aussi je pense
05 juillet 2014 à 16:43:02 Pit73 dit: il y a des nom de variable réservé il me semble.
05 juillet 2014 à 15:23:02 Capitaine_Caverne dit: bonjour dit moi sur fusion la j ai bug faite un test  si vous renommer le nom de la variable d un objet  en nom  ( angle ) j ai un message d erreur mais si je mais un autre nom dit moi s ça vous fait la même chose.
05 juillet 2014 à 14:55:41 Funkadicte dit: Ok merci
Voir l'historique
Powered by EzPortal