Editorial
Bienvenue sur Le CBNA!
Nous accueillons avec plaisir vos yeux sur nos pages, sur la section GameMaker du CBNA!
Si vous êtes ici, c'est en théorie car vous avez envie de créer un jeu video, ou bien vous cherchez de l'aide, ou encore vous désirez philosopher avec les membres dans la Section Spirituelle, ou vous êtes un artiste et désirez partager vos oeuvres dans la Section CBN'Art.
Bon, il est tout aussi possible nous vous l'accordons que vous soyez tombé ici par hasard, mais ce n'est pas grave nous vous accueillons!
Notre But aujourd'hui est de promouvoir la programmation en France, avec GameMaker entre autre, ou plutôt de partager nos connaissances en programmation, nos techniques, et aussi de nous enrichir, de vous enrichir et d'enrichir le contenu du site avec vos créations et vos conseils.
Nous proposons des Tutoriels, des gm6 et gmd (Codes sources), des scripts, des DLL, des Librairies... Tous créés par des utilisateurs de GameMaker prêts à vous aider.
Aussi ces utilisateurs publient leurs jeux sur le site pour se faire connaître et pour faire avancer la communauté.
Vous êtes certainement comme eux, puisque "eux" c'est vous! Oui, vous qui lisez ces mots, vous pouvez dès maintenant envoyer vos jeux, vos Scripts, vos Tutoriels, vos gm6 et gmd, vos DLL, vos Librairies ou même dans la Section Spirituelle ou dans la Section CBN'Art nous faire part de vos textes, images, états d'esprits, vos opinions sur les Evènements actuels...
Aussi Le CBNA ce n'est pas que du travail, c'est aussi un espace de détente, de rire, de plaisir... nous vous invitons donc à venir parler sur le forum, participer à sa vie, à ses activités...

Merci à vous d'avoir pris le temps de lire ces quelques lignes...

News

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/show_news.php on line 16

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/show_news.php on line 39

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/inc/shows.inc.php on line 22

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/inc/shows.inc.php on line 22

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/inc/shows.inc.php on line 22

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/inc/shows.inc.php on line 22

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/inc/shows.inc.php on line 22

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/inc/shows.inc.php on line 22

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/inc/shows.inc.php on line 22

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/inc/shows.inc.php on line 22

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/inc/shows.inc.php on line 22

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/inc/shows.inc.php on line 22

Deprecated: Function eregi() is deprecated in /home/clients/d3fc885f29675a204a95fb9f4bb0fc6d/web/Admin/inc/shows.inc.php on line 22
Mark Overmars Glog: Un autre vieux jeu: Gobang
Un autre vieux jeu: Gobang


Super Breakout, d�crit dans le post pr�cedent(NDT: L'article "Mes jeux sur Atari" ), n'�tait pas l'unique jeu que j'ai cr�e pour l'Atari ST. J'ai �galement programm� un jeu de type "Snake"(�galement avec des fonctionnalit�s suppl�mentaires), et j'ai cr�e une version du jeu Gobang ou le but �tait d'aligner 5 pierres de sa couleur sur un tableau..
J'ai r�cemment retrouv� le vieux code source de ce jeu, et j'ai d�cid� de le recr�er avec Game Maker. Vous pouvez trouver le resultat : ici.

La partie difficile et interessante lorsqu'on recr�e un jeu comme Gobang, c'est la programmation de l'ordinateur adverse.
La m�thode "standard" pour cr�er des ordinateurs adverses comme ceci, c'est l'utilisation d'un algorithme minimax ou encore mieux, d'utiliser de l'alpha-beta pruning. Expliqu�e tr�s simplement, la methode fonctionne comme ceci. Disons que nous voulons calculer le meilleur mouvement pour les pierres blanches. Nous consid�rons tous les mouvements possibles(tout en restant dans le raisonnable) pour les pierres blanches. Si l'un d'eux m�ne � la victoire(ou � une situation tr�s favorable), nous pouvons faire ce mouvement. Sinon, pour tous les mouvements possibles des pierres blanches nous calculons le meilleur mouvement des pierres noires et nous �valuons le r�sultat de ce mouvement. Maintenant, nous prenons le mouvement de pierres blanches pour lequel le meilleur mouvement des pierres noires m�ne � la pire situation pour les pierres noires(ou la meilleure pour les pierres blanches). Pour calculer le meilleur mouvement des pierres noires nous r�utilisons le m�me algorithme, et uniquement celui-ci. Evidemment nous devons arr�ter � un degr� particulier du calcul, c'est-�-dire, nous ne v�rifions qu'un nombre d'emplacements limit�s. Sinon le calcul deviendrait trop gourmand en ressources. Pour plus d'information, vous pouvez chercher sur Wikip�dia avec des mots-cl�s tels que minimax et alpha-beta pruning.


Gobang, version refaite avec Game Maker

Le challenge dans la re-cr�ation du jeu Gobang, c'est que le nombre de mouvements possibles est tr�s large. M�me si nous ne placons que de nouvelles pierres pr�s de pierres existantes, tr�s vite dans le jeu il y a environ 100 mouvements diff�rents possibles. Egalement, il est difficile de les �carter du calcul, car ils r�cidiveront vite en r�appelant l'ordinateur r�petitivement et donc, ceci nous donnera une IA assez lente. Bien sur, dans des jeux comme les �checs, on peut trouver acceptable le fait que l'IA r�flechisse pendant une ou deux minutes, mais dans un jeu comme Gobang, ceci n'est pas du tout appr�ci� par les joueurs.

La solution �tait en faite, le fait que le jeu ne faisait attention qu'� des mod�les tr�s simples. Il y a 12 r�gles du genre:
1) Si il y a un mouvement ou l'ordinateur peut gagner, ce mouvement est jou�.
2) Si il y a un mouvement ou le joueur peut gagner, c'est ce mouvement que l'IA va jouer.
3)Si un mouvement comme le n�2 existe, apres lui, si il y a une ou deux positions suppl�mentaires ou l'ordinateur peut gagner, cette position est jou�e, etc.

Dans le mode facile, seulement quelques unes de ces r�gles sont appliqu�es. En mode normal, 10 d'entre elles sont appliqu�es, et en mode difficile, les 12 r�gles sont appliqu�es. Il est assez surprenant de voir comment un adversaire peut �tre fort en appliquant juste quelques r�gles simples.

En mode difficile, un peu de recherche r�petitive a �t�e �galement ajout�e. Si il y a diff�rents mouvements qui peuvent forcer l'adversaire � jouer une certaine pierre, sur ces mouvements nous utilisons un algorithme minimax, mais uniquement pour consid�rer les mouvements forc�s. Comme il y en a tr�s peu, ceci est assez rapide(M�me si sur l'ancienne Atari ceci pouvait toujours ramener � des performances lentes.)

Au faite, l'IA du jeu n'a pas �t�e ecrite en GML mais en Delphi, et le syst�me d'extensions de Game Maker a �t� utilis� pour l'inclure. Si vous voulez observer le code ou bien am�liorer le jeu, vous pouvez t�lecharger la source du jeu ici, avec la version �ditable du jeu et le pack d'extension(NDT: Le gex en faite :p ).
Utilisez-le comme vous le voulez mais s'il vous pla�t, remerciez moi quand vous l'utilisez avec un lien vers le jeu original.

Article �crit par Mark Overmars.
Traduit par Death_Egg pour Le CBNA.
23/12/2007 par Difègue
6 Commentaires

par Death Egg @ 23/12/2007 05:31 pm
pfouuuu...
Il �tait dur � traduire celui-l� gniah

par Master47 @ 23/12/2007 05:57 pm
Si tu veux je peux toujours t'aider pour ce genre de traductions :D
Si ca te chante contacte moi ici : olivier-k@hotmail.com

par Topaze22 @ 24/12/2007 12:37 pm
Joli boulo! super
J'ai tout lu, et c'est sympa de savoir comment ils font leur IA. m�me si � mon avis, une IA d'�chec m'est hors de port� gnii

par Kev2442 @ 25/12/2007 10:01 pm
moi aussi rouge
pour death egg bonne orthographe mais il y a quand m�me une ou deux fautes...continue! super

par manon @ 05/07/2011 08:10 pm
j'ai rien compris a se jeux vous pouvez mexpliquer en resum�?


merci

par manon @ 05/07/2011 08:14 pm
svp question snif heheh clin^

Nom:
Mail: (optionel)
�tes vous Humain? (Entrez oui si c'est le cas)

smile's:

fleche_dfleche_gbehgniihappy1questionrirerire2rougesupertristeangeclincoeurcoleredodofierghagniahhaphehehhontenonnon3ouhouisnif

| M'oublier
[Archives News 2005] [Archives News d�but 2006]
Base de données des Jeux: Opérationnelle
Base de données des logiciels: Opérationnelle
Base de données des GMD: Opérationnelle
Base de données des GM6: Opérationnelle
Base de données des Librairies: Opérationnelle
Base de données des DLL: Opérationnelle
Base de données des Moteurs: Opérationnelle
Contenu Général du CBNA: Opérationnelle
Base de données Forum: Opérationnelle