# Free For All - Arena Shooter v1.1 Jeu de tir en arene locale multijoueur en HTML5, inspire de Retimed. ## Lancer le jeu Ouvrir `freeforall.html` dans un navigateur (Chrome, Firefox, Edge). ## Controles | Touche | Action | |--------|--------| | Z / W | Sauter | | Q / A | Aller a gauche | | D | Aller a droite | | S / Fleche bas | Traverser une plateforme | | Espace | Sauter | | Souris | Viser | | Clic gauche | Tirer | - Double saut disponible (2 sauts max avant de retoucher le sol) - Traverser les plateformes vers le bas avec S ou fleche bas (sauf le sol) ## Fonctionnalites - **Selection du personnage** au demarrage - **Selection de la map** : Classique, Tours, Pyramide (chacune avec son theme visuel) - **Bots IA** configurables (1 a 5 selon le nombre de personnages) - **Arme** : chargeur de 6 balles par defaut, rechargement via caisses de munitions sur la map - **Effets visuels** : particules de sang, flash rouge a l'impact, etincelles de tir, particules de double saut - **Corps realistes** : torse, bras articules, jambes avec genoux, chaussures, arme detaillee - **Victoire / Defaite** : premier a 10 kills gagne la partie ## Maps et themes | Map | Ambiance | Plateformes | Decor | |-----|----------|-------------|-------| | Classique | Nuit etoilee | Metal avec rivets | Lune, etoiles scintillantes | | Tours | Chateau medieval | Pierre et briques | Silhouettes de tours, brume | | Pyramide | Desert | Gres / sable | Soleil, dunes | Chaque map supporte un arriere-plan personnalise. Placer une image dans `img/` et modifier `bgImage` dans le theme correspondant : ```js bgImage: 'img/mon_fond.png', ``` ## Options Accessibles depuis le menu avant de lancer une partie : - Points de vie (50 - 500) - Balles par chargeur (2 - 30) - Taille des balles (3 - 15) - Temps de reapparition des caisses de munitions (1 - 15 sec) - Rebond des balles sur les murs et plateformes (on/off) ## Ajouter un personnage 1. Placer l'image (PNG ou JPG) dans le dossier `img/characters/` 2. Ajouter le nom du fichier dans la liste `CHAR_FILES` tout en haut du script dans `freeforall.html` : ```js const CHAR_FILES = ['nico.png', 'max.png', ..., 'nouveau.png']; ``` Le nom affiche, la couleur et la carte du menu sont generes automatiquement. ## Ajouter un arriere-plan 1. Placer l'image dans `img/backgrounds/` 2. Dans le theme de la map correspondante, modifier `bgImage` : ```js bgImage: 'img/backgrounds/mon_fond.png', ``` ## Structure du projet ``` Freeforall/ freeforall.html -- Le jeu complet (fichier unique) README.md -- Ce fichier img/ characters/ -- Visages des personnages nico.png max.png greg.png thomas.png micka.png guigui.png theo.png anais.png arnaud.png backgrounds/ -- Arriere-plans des maps classic.png medieval.png pyramide.png ``` ## Changelog ### v1.1 - Themes visuels uniques par map (arriere-plans, plateformes, ambiance) - Support des images d'arriere-plan personnalisees par map - Balles rouges/orange avec halo lumineux (visibles sur tout fond) - Contour sombre autour des personnages pour meilleure lisibilite - Caisses de munitions vertes avec halo bleu pulsant - Noms des joueurs avec contour pour lisibilite - Menu scrollable avec scrollbar stylisee ### v1.0 - Jeu de base : selection perso, 3 maps, bots IA - Double saut, traverser les plateformes - Panneau d'options (vie, munitions, taille balles, rebond, respawn) - Corps realistes avec animations - Effets de sang et flash rouge a l'impact - Systeme de personnages dynamique - Ecran victoire / defaite ## Technologies - HTML5 Canvas - JavaScript vanilla - Aucune dependance externe