« BBB » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 1 : | Ligne 1 : | ||
== | == Présentation == | ||
Ce contest se | Ce contest se déroule sur un chan IRC (pour le moment #test_bot pour les bots non fonctionnels et/ou les tests divers, #hackbbs-battle pour les rencontres. (=> sur irc.2600.net ), | ||
si ce n'est pas le cas demander a tosh ou WapiFlapi, les organisateurs. | si ce n'est pas le cas demander a tosh ou WapiFlapi, les organisateurs. | ||
Le contest ce | Le contest ce déroule au tour par tour (voir section 2.deroulement d'une partie) | ||
Chaque joueur (Bot) a des points de fireppower, de speed, et de timer, respectivement | Chaque joueur (Bot) a des points de fireppower, de speed, et de timer, respectivement | ||
ces points permettent de faire des bombes qui explosent plus, de poser des bombes qui | ces points permettent de faire des bombes qui explosent plus, de poser des bombes qui | ||
exploseront plus tard dans le temps, de se | exploseront plus tard dans le temps, de se déplacer plus vite. | ||
Le but du jeu est d' | Le but du jeu est d'être les dernier survivant. | ||
Le jeu se | Le jeu se déroule dans un repère : | ||
Ligne 27 : | Ligne 27 : | ||
0 1 2 3 . . . . . X | 0 1 2 3 . . . . . X | ||
Toute | Toute coordonnée sera donnée sous la forme X Y | ||
Les valeurs minimum de X et Y sont 0 | Les valeurs minimum de X et Y sont 0 | ||
Les valeurs maximum de X et Y sont (nombre de joueurs * 5) - 1 | Les valeurs maximum de X et Y sont (nombre de joueurs * 5) - 1 | ||
Ce qui nous fait une map de largeur et de hauteur | Ce qui nous fait une map de largeur et de hauteur égale a 5 fois le nombre de joueurs. | ||
Quand une bombe explose et vous touche vous | Quand une bombe explose et vous touche vous êtes mort et la partie est finit pour vous. | ||
== Source(s) == | == Source(s) == | ||
Ligne 42 : | Ligne 42 : | ||
Vous pouvez librement le faire tourner sur un de vos salons pour vos tests personnel, et/ou sur le salon "officiel" si il n'y as pas encore d'arbitre. | Vous pouvez librement le faire tourner sur un de vos salons pour vos tests personnel, et/ou sur le salon "officiel" si il n'y as pas encore d'arbitre. | ||
== | == Règles == | ||
Ligne 57 : | Ligne 57 : | ||
- Les organisateurs ce reservent le droit de disqualifier des joueurs quand ils | - Les organisateurs ce reservent le droit de disqualifier des joueurs quand ils | ||
considerent que ces joueurs nuient au bon | considerent que ces joueurs nuient au bon déroulement du jeu en essayant de | ||
contourner les | contourner les règles ou en pratiquant du 'travail en équipe' abusif (des equipes | ||
de 50bots par exemple) ou autre. | de 50bots par exemple) ou autre. | ||
== | == Déroulement d'une partie == | ||
,-- Debut du tour | ,-- Debut du tour | ||
Ligne 94 : | Ligne 94 : | ||
== Commandes de l'arbitre == | == Commandes de l'arbitre == | ||
Listes des informations que le bot envois sur le canal ou en | Listes des informations que le bot envois sur le canal ou en privé : | ||
(les [] indique que la commande attends un argument /!\ il ne faut pas lenvoyer les '[' et ']' /!\ ) | (les [] indique que la commande attends un argument /!\ il ne faut pas lenvoyer les '[' et ']' /!\ ) | ||
-------------------------------------------------------------------- | -------------------------------------------------------------------- | ||
BEGIN_GAME : annonce le | BEGIN_GAME : annonce le début d'une partie, vous devez envoyer "join_game" au bot avant que la partie ne commence | ||
JOIN_OK : indique que vous | JOIN_OK : indique que vous êtes bien enregistré pour la partie | ||
MAP_SIZE [size] : indique la taille de la carte au | MAP_SIZE [size] : indique la taille de la carte au début de partie (une map 2D [size]*[size]) | ||
JOUEURS [nb] : [nb] joueurs ont rejoins cette partie | JOUEURS [nb] : [nb] joueurs ont rejoins cette partie | ||
ROUND_LENGHT [lenght] : indique que la | ROUND_LENGHT [lenght] : indique que la durée de chaque tour est de [lenght] secondes | ||
POSITION [player] [x] [y] : indique que [player] se situe maintenant en [x],[y] sur la map. | POSITION [player] [x] [y] : indique que [player] se situe maintenant en [x],[y] sur la map. | ||
TOUR [nb] : indique que l'on passe au tour | TOUR [nb] : indique que l'on passe au tour numéro [nb] | ||
NO_ACTION [player] : indique que [player] n'effectue aucune action pour ce tour | NO_ACTION [player] : indique que [player] n'effectue aucune action pour ce tour | ||
STUDY_FIREPOWER [player] [t] : indique qu'il reste [t] tours | STUDY_FIREPOWER [player] [t] : indique qu'il reste [t] tours à [player] pour gagner 1 point de firepower | ||
STUDY_SPEED [player] [t] : indique qu'il reste [t] tours | STUDY_SPEED [player] [t] : indique qu'il reste [t] tours à [player] pour gagner 1 point de speed | ||
STUDY_TIMER [player] [t] : indique qu'il reste [t] tours | STUDY_TIMER [player] [t] : indique qu'il reste [t] tours à [player] pour gagner 1 point de timer | ||
BOMB [player] [t] : indique que [player] a | BOMB [player] [t] : indique que [player] a posé une bombe qui explosera dans [t] tours | ||
DEFUSE [player] : indique que [player] est en train de | DEFUSE [player] : indique que [player] est en train de désamorcer les bombes se trouvant sur sa position | ||
SEND_YOUR_ACTION : les informations de ce tours ont finies d'arriver, vous pouvez envoyer votre action pour le prochain tour | SEND_YOUR_ACTION : les informations de ce tours ont finies d'arriver, vous pouvez envoyer votre action pour le prochain tour | ||
NO_ENOUGH_PLAYERS : indique qu'il n'y a pas assez de joueurs pour commencer une partie | NO_ENOUGH_PLAYERS : indique qu'il n'y a pas assez de joueurs pour commencer une partie | ||
Ligne 119 : | Ligne 119 : | ||
-------------------------------------------------------------------- | -------------------------------------------------------------------- | ||
join_game : rejoindre une partie ( | join_game : rejoindre une partie (après un message BEGIN_GAME) | ||
NORTH [c] : se | NORTH [c] : se déplacer de [c] cases vers le nord | ||
SOUTH [c] : se | SOUTH [c] : se déplacer de [c] cases vers le sud | ||
EAST [c] : se | EAST [c] : se déplacer de [c] cases vers l'est | ||
WEST [c] : se | WEST [c] : se déplacer de [c] cases vers l'ouest | ||
BOMB [t] : pose une bombe | BOMB [t] : pose une bombe à la position où l'on se trouve, et qui explosera au tour [t] | ||
STUDY_FIREPOWER : permet de gagner 1 point de firepower (il est alors impossible d'effectuer une action pendant 3 tours) | STUDY_FIREPOWER : permet de gagner 1 point de firepower (il est alors impossible d'effectuer une action pendant 3 tours) | ||
STUDY_TIMER : permet de gagner 1 point de timer (impossible d'effectuer une action pendant 2 tours) | STUDY_TIMER : permet de gagner 1 point de timer (impossible d'effectuer une action pendant 2 tours) | ||
STUDY_SPEED : permet de gagner 1 point de speed (impossible d'effectuer une action pendant 3 tours) | STUDY_SPEED : permet de gagner 1 point de speed (impossible d'effectuer une action pendant 3 tours) | ||
DEFUSE : | DEFUSE : détruit toutes les bombes se trouvant sur votre case (impossible d'effectuer une action pendant 2 tours) | ||
== Actions == | == Actions == | ||
Ligne 139 : | Ligne 139 : | ||
Ces actions permetent de ce deplacer respectivement vers Y+ , Y- , X+ , X- | Ces actions permetent de ce deplacer respectivement vers Y+ , Y- , X+ , X- | ||
Ce qui est | Ce qui est illustrée ici : | ||
Ligne 183 : | Ligne 183 : | ||
La bombe explosera au tour donner en parametre. ainssi BOMB 42 , fera exploser la BOMBE au tour 42. | La bombe explosera au tour donner en parametre. ainssi BOMB 42 , fera exploser la BOMBE au tour 42. | ||
REMARQUE : Si une bombe, en explosant, atteint une autre bombe, alors cette | REMARQUE : Si une bombe, en explosant, atteint une autre bombe, alors cette dernière explose en même temps (et les memes regles s'appliquent pour cette nouvelle bombe. | ||
STUDY_ FIREPOWER/SPEED/TIMER : | STUDY_ FIREPOWER/SPEED/TIMER : | ||
Ligne 210 : | Ligne 210 : | ||
# A-t-on le droit d'attaquer directement et autrement qu'avec les methodes definies par le jeu les adversaires? | # A-t-on le droit d'attaquer directement et autrement qu'avec les methodes definies par le jeu les adversaires? | ||
Des rounds | Des rounds spécial 'FreePlay' seront organisée ou l'on poura TOUT faire :p , mais si rien n'est préciser c'est interdit, | ||
ceci afin | ceci afin déviter des degats pour les joueurs dont les bots ne sont pas pret du point de vue securitaire, | ||
en phase de test par example | en phase de test par example | ||
# Si je fais BOMB 5, et que je suis au tour 10, est-ce que mon 'BOMB 5' est | # Si je fais BOMB 5, et que je suis au tour 10, est-ce que mon 'BOMB 5' est compté comme une action quand meme | ||
# (et donc je ne peut rien faire d'autre), ou bien est-ce | # (et donc je ne peut rien faire d'autre), ou bien est-ce ignoré par l'arbitre? | ||
En fait l'arbitre prend en compte la derniere action envoyer. Qu'elle sois valide ou non. | En fait l'arbitre prend en compte la derniere action envoyer. Qu'elle sois valide ou non. | ||
Ligne 228 : | Ligne 228 : | ||
Par exemple : | Par exemple : | ||
Avec un bot | Avec un bot à 3 points de Timer, on pourra choisir de faire exploser notre bombe jusqu'à 3 tours plus tard. | ||
Soit au tour 10, l'envois de 'BOMB' sera valide de 11 | Soit au tour 10, l'envois de 'BOMB' sera valide de 11 à 13 |
Dernière version du 1 décembre 2023 à 16:43
Présentation
Ce contest se déroule sur un chan IRC (pour le moment #test_bot pour les bots non fonctionnels et/ou les tests divers, #hackbbs-battle pour les rencontres. (=> sur irc.2600.net ), si ce n'est pas le cas demander a tosh ou WapiFlapi, les organisateurs. Le contest ce déroule au tour par tour (voir section 2.deroulement d'une partie)
Chaque joueur (Bot) a des points de fireppower, de speed, et de timer, respectivement ces points permettent de faire des bombes qui explosent plus, de poser des bombes qui exploseront plus tard dans le temps, de se déplacer plus vite.
Le but du jeu est d'être les dernier survivant.
Le jeu se déroule dans un repère :
Y . . . . . 3 2 1 0 0 1 2 3 . . . . . X
Toute coordonnée sera donnée sous la forme X Y Les valeurs minimum de X et Y sont 0 Les valeurs maximum de X et Y sont (nombre de joueurs * 5) - 1 Ce qui nous fait une map de largeur et de hauteur égale a 5 fois le nombre de joueurs.
Quand une bombe explose et vous touche vous êtes mort et la partie est finit pour vous.
Source(s)
Les sources de l'arbitre sont maintenant disponible : http://tosh-codes.tuxfamily.org/Documents/Irc_bot.tar.gz
Vous pouvez librement le faire tourner sur un de vos salons pour vos tests personnel, et/ou sur le salon "officiel" si il n'y as pas encore d'arbitre.
Règles
- Tout message dans le chan en public, une fois le jeu comencer (c'est a dire une fois que l'arbitre a annoncer le debut du TOUR 1) resultera en la disqualification imediate du joueur pour ce tour.
- Toute tentative de changement de pseudo, ou autre action en vu de perturber l'arbitre, resultera en la disqualification imediate du joueur pour ce tour.
- Tout travail en equipe des bots, est autorisee et meme encourager cependant le jeu ne s'arettera que quand il n'y aura plus qu'un survivant. Les comunication inter-euipes devront etre faites en respectant les regles.
- Les organisateurs ce reservent le droit de disqualifier des joueurs quand ils considerent que ces joueurs nuient au bon déroulement du jeu en essayant de contourner les règles ou en pratiquant du 'travail en équipe' abusif (des equipes de 50bots par exemple) ou autre.
Déroulement d'une partie
,-- Debut du tour | | l'Arbitre annonce le numero du tour, ceci marque le debut de ce tour | +-- Envoi des actions | | l'Arbitre annonce : 'SEND_YOUR_ACTION" | | Periode pendant laquelle chaque joueur peut envoyer des msg prives a l'arbitre avec ses actions. | Seul le dernier msg envoyee pendant un tour sera pris en compte | | Ce tour aura une duree limitee qui sera donnee en debut de jeu. | +-- Execution des actions | | pendant cette periode l'Arbitre efectue les calculs dans l'ordre : | | Execution des deminages. | Executions des deplacements. | Executions des etudes. | Execution des posages de bombes. | Execution des explosions. (les | +-- Publication des actions | | Pendant cette periode (de duree quasi-nulle) l'arbitre poste les actions de chacun sur le chan public. | Les Bots peuvent alors prendre conaissance des actions des autres. | '-------------------------
Commandes de l'arbitre
Listes des informations que le bot envois sur le canal ou en privé : (les [] indique que la commande attends un argument /!\ il ne faut pas lenvoyer les '[' et ']' /!\ )
BEGIN_GAME : annonce le début d'une partie, vous devez envoyer "join_game" au bot avant que la partie ne commence JOIN_OK : indique que vous êtes bien enregistré pour la partie MAP_SIZE [size] : indique la taille de la carte au début de partie (une map 2D [size]*[size]) JOUEURS [nb] : [nb] joueurs ont rejoins cette partie ROUND_LENGHT [lenght] : indique que la durée de chaque tour est de [lenght] secondes POSITION [player] [x] [y] : indique que [player] se situe maintenant en [x],[y] sur la map. TOUR [nb] : indique que l'on passe au tour numéro [nb] NO_ACTION [player] : indique que [player] n'effectue aucune action pour ce tour STUDY_FIREPOWER [player] [t] : indique qu'il reste [t] tours à [player] pour gagner 1 point de firepower STUDY_SPEED [player] [t] : indique qu'il reste [t] tours à [player] pour gagner 1 point de speed STUDY_TIMER [player] [t] : indique qu'il reste [t] tours à [player] pour gagner 1 point de timer BOMB [player] [t] : indique que [player] a posé une bombe qui explosera dans [t] tours DEFUSE [player] : indique que [player] est en train de désamorcer les bombes se trouvant sur sa position SEND_YOUR_ACTION : les informations de ce tours ont finies d'arriver, vous pouvez envoyer votre action pour le prochain tour NO_ENOUGH_PLAYERS : indique qu'il n'y a pas assez de joueurs pour commencer une partie DEAD [player] : [player] est mort, la partie est finie pour lui
Listes des commandes que l'on peut envoyer au bot : (les [] indique que la commande attends un argument /!\ il ne faut pas les envoyer /!\ )
join_game : rejoindre une partie (après un message BEGIN_GAME) NORTH [c] : se déplacer de [c] cases vers le nord SOUTH [c] : se déplacer de [c] cases vers le sud EAST [c] : se déplacer de [c] cases vers l'est WEST [c] : se déplacer de [c] cases vers l'ouest BOMB [t] : pose une bombe à la position où l'on se trouve, et qui explosera au tour [t] STUDY_FIREPOWER : permet de gagner 1 point de firepower (il est alors impossible d'effectuer une action pendant 3 tours) STUDY_TIMER : permet de gagner 1 point de timer (impossible d'effectuer une action pendant 2 tours) STUDY_SPEED : permet de gagner 1 point de speed (impossible d'effectuer une action pendant 3 tours) DEFUSE : détruit toutes les bombes se trouvant sur votre case (impossible d'effectuer une action pendant 2 tours)
Actions
vous trouverez ici une description des diferantes actions :
NORTH/SOUTH/EAST/WEST :
Ces actions permetent de ce deplacer respectivement vers Y+ , Y- , X+ , X- Ce qui est illustrée ici :
Y . . N . ^ . W <- + -> E . v 3 S 2 1 0 0 1 2 3 . . . . . X
Ces actions prenent un argument qui definit de combien de cases on se deplace dans
la direction donnee. Si ce nombre est superieur au SPEED du joueur alors l'action
est invalide.
BOMB :
BOMB permet de poser une bombe sur la case ou vous vous trouvez.
Les bombes explosent en croix et ont une puissance de feu egale au FIREPOWER du joueur. Exemple :
Les '!' representes les cases touchees par l'explosion de @ si @ a un FIREPOWER de 3 :
Y . . ! . ! . ! . ! ! ! @ ! ! ! 3 ! 2 ! 1 ! 0 0 1 2 3 . . . . . X
La bombe explosera au tour donner en parametre. ainssi BOMB 42 , fera exploser la BOMBE au tour 42.
REMARQUE : Si une bombe, en explosant, atteint une autre bombe, alors cette dernière explose en même temps (et les memes regles s'appliquent pour cette nouvelle bombe.
STUDY_ FIREPOWER/SPEED/TIMER :
les commandes STUDY_MACHIN permetent de gagner un point dans le domaine en question. Il faut savoir que ces etudes prenent plusieurs tours.
STUDY_FIREPOWER : permet de gagner 1 point de firepower (il est alors impossible d'effectuer une action pendant 3 tours)
STUDY_SPEED : permet de gagner 1 point de speed (il est alors impossible d'effectuer une action pendant 3 tours)
STUDY_TIMER : permet de gagner 1 point de timer (il est alors impossible d'effectuer une action pendant 2 tours)
DEFUSE :
Cette comande ne prend pas d'arguments , mais elle prend deux tours :p
premier tour : elle detruit toue les bombes sur votre case (avants qu'elles n'explosent, si elle devaient exploser pendant ce tour) second tour : le Bot 'range son materiel' et est donc imobiliser.
FAQ
Pour avoir des reponsses qui ne sont pas ici demander a tosh ou WapiFlapi , on mettra aussi a jour la FAQ !
# A-t-on le droit d'attaquer directement et autrement qu'avec les methodes definies par le jeu les adversaires?
Des rounds spécial 'FreePlay' seront organisée ou l'on poura TOUT faire :p , mais si rien n'est préciser c'est interdit, ceci afin déviter des degats pour les joueurs dont les bots ne sont pas pret du point de vue securitaire, en phase de test par example
# Si je fais BOMB 5, et que je suis au tour 10, est-ce que mon 'BOMB 5' est compté comme une action quand meme # (et donc je ne peut rien faire d'autre), ou bien est-ce ignoré par l'arbitre?
En fait l'arbitre prend en compte la derniere action envoyer. Qu'elle sois valide ou non. Puis si elle est valide elle est executer : - On est au tour 10. - J'envois 'BOMB 15' (qui est valide) - Puis j'envois 'BOMB 5' (invalide) L'Arbitre prend en compte uniquement le BOMB 5 qui est invalide, donc je ne ferais rien.
# Si je fais BOMB 45, et STUDY_FIREPOWER entre temps, la bomb gagnera en puissance.
# Le nombre de points de Timer correspond au nombre de tours maximun avant l'explosion de la bombe, Par exemple : Avec un bot à 3 points de Timer, on pourra choisir de faire exploser notre bombe jusqu'à 3 tours plus tard. Soit au tour 10, l'envois de 'BOMB' sera valide de 11 à 13