Skip to content
A Snake version with an artificial intelligence. Game programmed in pure JavaScript (no JQuery or other JavaScript frameworks) and object oriented.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets
LICENCE.txt
README.md
favicon.ico
index.html
manifest.json
screenshot.png
screenshot2.png

README.md

SnakeIA

Screenshot Screenshot

English

A Snake version with an artificial intelligence. This version has many game modes. You can play against the AI, or let it play alone. A Battle Royale mode is also available, this mode sees between 2 and 100 AI fight! Many settings are available to vary the games. A Levels mode (for the player and the AI) is also available, it's a series of level with a particular goal to achieve (get a minimum score, get a score in time, …). Downloadable levels are available.

Game programmed in pure JavaScript (no JQuery or other JavaScript frameworks) and object oriented.

About this game

Credits

Changelog

  • Version 1.3.1 (7/18/2019):

    • Correction of the speed at the start of the game if the frame rate is greater or less than 60;
    • Added a new type of level: reach a given score before the opponents (no level exploits it for the moment);
    • Fixed others bugs and fixed compatibility with Microsoft Edge and Safari.
  • Version 1.3 (7/12/2019):

    • Possibility for several players to play on the same grid! This mode supports a hundred players (a human player and a hundred AI) on the same grid! Players are differentiated according to their color. Their name and score are displayed above each one;
    • Introduction of Levels game mode (for AI and player);
    • Generation of a random color for each Snake at each new game;
    • The menus are navigable with the keyboard, it's also possible to pause the game by pressing the Enter key;
    • Bug fixes and adjustments (see commits on Github);
    • Added a level of AI "Random" (random movements of the AI).
  • Version 1.2 (7/3/2019):

    • Migration to the Lowlight.Astar software library, which supports torus-shaped grids, which improves AI performance;
    • Correction and improvement of the performances of the AI ​​in low level mode;
    • Fixed the generation of walls at random positions: dead ends are now detected and removed;
    • Fixed a bug with the translation engine during the initial loading of the page: in some cases, the page was not translated and the language menu did not load;
    • Support for resource loading errors: an error message is displayed in this case;
    • A Current game infos menu is available in the Pause menu > About…;
    • The minimum speed allowed is now 100;
    • Simplifications of the code.
  • Version 1.1 (6/30/2019):

    • Integration of the i18next translation engine and translation of the application into English;
    • Various improvements and bug fixes:
      • The menus and texts automatically adapt to the width of the game space and the screen resolution (automatic reduction/increase of text size and buttons, automatic line jump);
      • Optimization of the display of the control buttons for the player (arrows), this improves performance;
      • The default speed is now 8;
      • Other minor bug fixes and texts fixes.
  • Version 1.0 (6/19/2019):

    • Initial version

Français

Une version du Snake dotée d'une intelligence artificielle. Cette version est dotée de nombreux modes de jeu. Vous pouvez notamment jouer contre l'IA, ou la laisser jouer seule. Un mode Battle Royale est également disponible, ce mode voit s'affronter entre 2 et 100 IA ! De nombreux paramétrages sont disponibles pour varier les parties. Un mode Niveaux (pour le joueur et l'IA) est également disponible, il s'agit d'un série de niveau dotés d'un objectif particulier à accomplir (obtenir un score minimal, obtenir un score en un certain temps, …). Des niveaux téléchargeables sont disponibles.

Jeu programmé en JavaScript pur (pas de JQuery ni d'autres frameworks JavaScript) et en orienté objet.

À propos du jeu

Crédits

Journal des changements

  • Version 1.3.1 (18/07/2019) :

    • Correction de la vitesse au démarrage du jeu si le taux d'images par seconde est supérieur ou inférieur à 60 ;
    • Ajout d'un nouveau type de niveau : atteindre un score donné avant les adversaires (aucun niveau ne l'exploite pour l'instant) ;
    • Corrections d'autres bugs et de la compatibilité avec Microsoft Edge et Safari.
  • Version 1.3 (12/07/2019) :

    • Possibilité pour plusieurs joueurs de jouer sur la même grille de jeu ! Ce mode supporte une centaine de joueurs (un joueur humain et une centaine d'IA) sur la même grille ! Les joueurs sont différentiés en fonction de leur couleur. Leur nom ainsi que leur score est affiché au dessus de chacun d'eux ;
    • Introduction du mode de jeu Niveaux (pour l'IA et le joueur) ;
    • Génération d'une couleur aléatoire pour chaque Snake à chaque nouvelle partie ;
    • Les menus sont navigables au clavier, il est également possible de mettre en pause le jeu en appuyant sur la touche Entrer ;
    • Corrections de bugs et ajustements (voir les commits sur Github) ;
    • Ajout d'un niveau d'IA "Au hasard" (mouvements aléatoires de l'IA).
  • Version 1.2 (03/07/2019) :

    • Migration vers la bibliothèque logicielle Lowlight.Astar, qui supporte les grilles en forme de tore, ce qui améliore les performances de l'IA ;
    • Correction et amélioration des performances de l'IA en mode faible ;
    • Correction de la génération des murs à des positions aléatoires : les impasses sont désormais détectées et supprimées ;
    • Correction d'un bug avec le moteur de traduction lors du chargement initial de la page : dans certains cas, la page ne se traduisait pas et le menu des langues ne se chargeait pas ;
    • Prise en charge des erreurs de chargement des ressources : un message d'erreur est affiché dans ce cas ;
    • Un menu Info partie est disponible dans le menu Pause > À propos… ;
    • La vitesse minimale autorisée est désormais de 100 ;
    • Simplifications du code.
  • Version 1.1 (30/06/2019) :

    • Intégration du moteur de traduction i18next et traduction de l'application en anglais ;
    • Améliorations diverses et corrections de bugs :
      • Les menus et les textes s'adaptent automatiquement à la largeur de l'espace du jeu et à la résolution de l'écran (réduction/augmentation automatique de la taille du texte et des boutons, saut automatique de ligne) ;
      • Optimisation de l'affichage des boutons de contrôle pour le joueur (flèches), cela améliore les performances ;
      • La vitesse par défaut est désormais 8 ;
      • Autres corrections mineures de bugs et des textes.
  • Version 1.0 (19/06/2019) :

    • Version initiale

TO-DO list

À faire :

  • Améliorer l'IA pour l'empêcher de se bloquer (essais effectués) - niveau Ultra
  • Performances lorsque plusieurs Snake sur une seule grille (dû aux textes affichés au dessus de chaque)

Fait :

  • Correction vitesse démarrage partie si fps > 60
  • Idée type de niveau : atteindre le score avant les adversaires
  • Corriger l'algorithme de génération de murs à des positions aléatoires (empêcher les blocages possibles)

Problèmes :

  • hue-rotate ne fonctionne pas sur Microsoft Edge et Safari -> pas de changement de couleur des Snake possible

Déclaration de licence

Copyright (C) 2019 Eliastik (eliastiksofts.com)

Ce programme est un logiciel libre ; vous pouvez le redistribuer ou le modifier suivant les termes de la GNU General Public License telle que publiée par la Free Software Foundation ; soit la version 3 de la licence, soit (à votre gré) toute version ultérieure.

Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie tacite de QUALITÉ MARCHANDE ou d'ADÉQUATION à UN BUT PARTICULIER. Consultez la GNU General Public License pour plus de détails.

Vous devez avoir reçu une copie de la GNU General Public License en même temps que ce programme ; si ce n'est pas le cas, consultez http://www.gnu.org/licenses.


Copyright (C) 2019 Eliastik (eliastiksofts.com)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

You can’t perform that action at this time.