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...
|
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�  |
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! 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�  |
par Kev2442 @ 25/12/2007 10:01 pm |
moi aussi pour death egg bonne orthographe mais il y a quand m�me une ou deux fautes...continue!  |
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 ^ |
|