Aller au menu - Aller au contenu
Inscris-toi au e-camp "Héberge ton jeu Facebook sur Azure" de Microsoft vendredi 25 mai à 13h30 !

[Concours] Rocket Bot

Tournoi d'intelligences artificielles (uniquement en PHP)

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page 1 
Auteur Message
1 visiteur sur ce sujet (1 Anonyme)
Page 1 
Hors ligne Ferrari_4000 # Posté le 10/10/2010 à 20:15:40
Avatar
Flux RSS

Ville : Bourg-la-reine
Pays : France métropolitaine
Études : Lycée Lakanal - Sceaux

Image utilisateur


Présentation du projet


Présentation générale et règles


Bonjours à tous !

J'ai décidé de faire un tournoi à la "bombazéro" (http://www.siteduzero.com/forum-83-421 [...] ombazero.html) en modifiant un peu les règles.

Le joueurs ne pose pas de bombe mais tire des missiles qui avancent d'une case par tour.
Tant que le joueur ne bouge pas et ne tire pas d'autre missile, il peut contrôler le dernier missile qu'il a lancer en le faisant tourner à droite ou à gauche.
Le missile explose quand il rencontre autre chose qu'une case vide : il enlève une vie à un joueur (qui en a deux), brise une caisse, et ne fait rien au mur.

Je ne connais pas bien stechec, donc j'ai décidé que le seul langage serait PHP (désolé pour ceux qui n'utilisent pas ce langage, ça sera l'occasion de l'apprendre :P)

Aspect graphique


Voici à quoi ressemblera l'arène avec tous les types de cases :

Image utilisateur

L'animation est automatique (en javascript), vous pouvez déjà tester ceci ici : http://attalserver.com/~code/Battle%20IA/V2/battle.php

Les boutons :
  • <= - Position précédente
  • Auto - Animation automatique
  • Stop - Stopper l'animation automatique
  • Reset - Position de départ
  • => - Position suivante


Programmer son bot


Valeurs envoyées


Votre bot devra se débrouiller avec une seule chose : un array avec les cases de la map (et éventuellement les dimensions de la map quand cette dernière pourra prendre d'autres valeurs que 16*16)

Votre array a pour clé l'id de la case.
Exemple :

Image utilisateur

Et a pour valeur le type de case :
[_] [M] [C] [E]
Case vide Mur Caisse Explosion
[P1] [P2] [P3] [P4]
Joueur 1 Joueur 2 Joueur 3 Joueur 4
[M0] [M1] [M2] [M3]
Missile allant vers la droite Missile allant vers le haut Missile allant vers la gauche Missile allant vers le bas



Ce qui donne par exemple :

Image utilisateur

Un peu de code ...


La programmation d'un BOT se fait en POO, voici un exemple :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
class bot_123456
{
    private $move;
    private $track;
    private $log;

    public function __construct()
    {
        $this->track = 1;
    }

    public function main($map)
    {
        $this->move();
        $this->log .= 'Tour '.$this->track.' - '.$this->move.' || ';
	$this->track ++;
        return $this->move;
    }
    
    private function move()
    {
        $this->move = rand(1,4);
    }

    public function log()
    {
        return $this->log;
    }
}

?>


Ce bot se déplace de manière aléatoire, idéal pour tester son bot !

Le code du site est open source, si vous voulez connaitre les sources, allez ici : http://attalserver.com/~code/Battle%20IA/V2/

Pour conclure



J'ai d'abord proposé ce concours dans la section "discussion générale" (http://www.siteduzero.com/forum-83-565 [...] ombazero.html), mais n'avait pas l'air d'intéresser grand monde ...

Et puis je me suis rendu compte que, finalement, il serait plus approprié de le mettre dans cette section. (d'ailleurs, 'faudra que je MP un modérateur pour fermer l'autre topic)

Vous noterez qu'il n'y a pas vraiment de site, en fait ce concours est toujours en développement (et je serai content que vous m'y aidiez :) ). Vous pouvez tester le code sur Wamp ou sur votre serveur perso, créer votre propre bot, etc ...

Éventuelles évolutions



Il est clair que ce concours aboutira à un tournoi de bot en arène, mais j'ai eu l'idée de développer un autre mode de jeu : une map beaucoup plus grande (au passage, j'ai besoin de level designers si ça vous intéresse), et deux équipes de 8 bots (bots différents bien sur ^^ !) qui serait au final un TeamDeathMatch, et pourquoi pas ensuite un CaptureTheFlag etc ...

Comme ce projet (oui, il faut bien que je me décide à qualifier ceci de projet) est open source, je compte sur vous pour m'aider au développement :D !

Merci de m'avoir lu jusqu'au bout !

J'attend vos commentaires et vos idées pour des éventuelles améliorations !

PS : userbar pour supporter le projet :p !!!Code : Autre
1
http://attalserver.com/~code/Battle%20IA/userbar.png
Édité le 10/10/2010 à 20:26:40 par Ferrari_4000

Image utilisateur (abandonné)
Image utilisateur (en cours)
Image utilisateur (abandonné)
Image utilisateur (abandonné)
 
Publicité # Posté le 10/10/2010 à 20:15:40

Hors ligne MrKooky # Posté le 09/12/2010 à 00:48:53
10h
Avatar
Flux RSS

Ville : Paris
Pays : France métropolitaine
Études : Paris 6 - Université Pierre et Marie Curie (Jussieu)

Salut.
Désolé de upper, mais ca m'intéresse. ^^
Ou est-ce qu'on peut récupérer tout le code (JS inclus) ?
 
Hors ligne Ferrari_4000 # Posté le 09/12/2010 à 12:47:43
Avatar
Flux RSS

Ville : Bourg-la-reine
Pays : France métropolitaine
Études : Lycée Lakanal - Sceaux

C'est un vieux post ça ^^ !
Tout est là : http://attalserver.com/~code/Battle%20IA/V2/
Le javascript est dans les fichiers PHP

Image utilisateur (abandonné)
Image utilisateur (en cours)
Image utilisateur (abandonné)
Image utilisateur (abandonné)
 
Hors ligne MrKooky # Posté le 20/12/2010 à 23:56:58
10h
Avatar
Flux RSS

Ville : Paris
Pays : France métropolitaine
Études : Paris 6 - Université Pierre et Marie Curie (Jussieu)

Pour re-upper un peu, je pense que ca serait bien de le proposer aux admins voir ce qu'ils en disent. Ca fait pas mal de temps qu'on a pas eu de "vrai" concours sur le SdZ (càd prog') ;)
 
Hors ligne Ferrari_4000 # Posté le 21/12/2010 à 00:05:26
Avatar
Flux RSS

Ville : Bourg-la-reine
Pays : France métropolitaine
Études : Lycée Lakanal - Sceaux

Ah, pourquoi pas, mais il faudrait d'abord finir le jeu ^^ !

Image utilisateur (abandonné)
Image utilisateur (en cours)
Image utilisateur (abandonné)
Image utilisateur (abandonné)
 

Retour au forum "Présentation de vos projets" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx