1. Démarrer avec WarLike Hub
À l’ouverture, le WarLike Hub permet de créer un projet nommé en choisissant 2D ou 3D. Les deux modes ont des bibliothèques et des simulations différentes. Pour ouvrir un projet existant, clique sur Ouvrir dans la liste des projets récents.
- Saisis un nom descriptif, par exemple Fracture Line.
- Choisis Projet 2D pour les sprites, RPG, RTS et jeux d’action 2D, ou Projet 3D pour les volumes et modèles GLB.
- Clique sur Créer le projet.
- Retrouve le Hub avec le bouton ▦ Hub en haut de l’éditeur.
Tu peux choisir une couleur pour chaque projet. Les couleurs personnalisées sont enregistrées dans ses métadonnées locales. L’option Récupérer le projet précédent peut récupérer une ancienne sauvegarde locale.
2. Découvrir l’interface
| Panneau | Utilisation |
|---|---|
| Hierarchy | Liste des objets de la scène, sélection et recherche. |
| Scene | Vue d’édition de la scène 2D ou 3D. |
| Game / Play | Simulation interactive pour tester les comportements. |
| Inspector | Transform, matériaux, couleurs, éclairage, audio et composants logiques. |
| Project / Assets | Catalogue d’assets 2D, prefabs géométriques et modèles GLB 3D. |
| Console / History | Messages et historique d’édition. |
Sélectionne un objet dans la Hierarchy ou en cliquant dans Scene. L’Inspector affiche alors ses composants modifiables.
3. Créer une scène 2D
Le moteur 2D inclut des objets, personnages, animations, collision AABB simple, véhicules, interactions, dialogues et démos spécialisées. Utilise les menus Assets ou Project / Assets pour ajouter des éléments.
Les démos permettent d’explorer des cas concrets : combat, conduite, RPG, logique visuelle, Ninja/Zombies et bâtiment/RTS. Certaines fonctionnalités restent expérimentales.
4. Créer une scène 3D
Le moteur 3D utilise un rendu WebGL indépendant. Il possède une caméra orbitale, des primitives géométriques, des matériaux simples, des sources lumineuses et des sources audio spatialisées expérimentales.
L’Inspector du projet 3D donne accès aux paramètres de couleur, rugosité et métal. Les démos disponibles incluent Ville, Nature et Garage.
5. Importer de vrais prefabs 3D (.glb)
Modèles intégrés de démonstration
Dans un projet 3D, ouvre Project / Assets et cherche les exemples tels que Cesium Man, Fox, Duck, Lantern, BoomBox, Toy Car ou Antique Camera. Ils proviennent des exemples Khronos glTF et sont chargés à la demande.
Bibliothèques gratuites de vrais modèles 3D
Dans Project / Assets en mode 3D, ouvre 🌐 Bibliothèques 3D gratuites. Les liens pointent vers les sites officiels. Télécharge le modèle depuis sa page, vérifie la licence de l'asset, puis importe son fichier .glb dans le moteur.
| Source | Spécialité | Licence |
|---|---|---|
| Poly Haven | Photogrammétrie, props réalistes, décors | CC0 |
| Quaternius | Personnages, véhicules, armes et packs | CC0 |
| Kenney | Assets de jeux et kits modulaires | CC0 |
| Cinevva | Catalogue de modèles GLB | Vérifier la fiche |
| Khronos | Modèles GLB de référence | Variable selon modèle |
Si le téléchargement fournit un .fbx ou un .obj, ouvre-le dans Blender, puis exporte-le au format glTF 2.0 (.glb). Les textures et animations complexes peuvent encore être partiellement prises en charge par WarLike.
Importer ton propre personnage, arme ou véhicule
- Prépare un fichier
.glbglTF 2.0, idéalement exporté depuis Blender. - Dans Project / Assets, clique sur Importer un modèle GLB.
- Choisis ton fichier (limite actuelle de 25 Mo).
- Sélectionne la catégorie Characters, Weapons, Vehicles ou Props.
- Ajoute le prefab à la scène par double-clic ou glisser-déposer.
La géométrie réelle du modèle est décodée en triangles puis affichée dans WebGL. Les couleurs des matériaux peuvent être simplifiées : le moteur ne prend pas encore en charge toutes les textures glTF, les animations squelettiques, les modèles compressés Draco/Meshopt ou les accessoires attachés à des os.
Pour les droits d’utilisation des exemples, consulte le catalogue Khronos et les licences individuelles.
6. Visual Logic — programmation sans code
Sélectionne un objet, puis ouvre Inspector → Logic Sequences. Ajoute un composant ou choisis un exemple préconfiguré (porte verrouillée, interrupteur, événement temporisé).
| Élément | Rôle |
|---|---|
| Trigger | Lancer une séquence au démarrage, à l’interaction, à l’entrée/sortie d’une zone, à une touche, à un signal ou à un intervalle. |
| Conditions | Comparer des variables globales/locales, tester une distance, combiner plusieurs conditions. |
| Instructions | Afficher un message, définir/modifier une variable, attendre, déplacer ou colorer un objet, envoyer un signal. |
| IF / ELSE IF / ELSE | Choisir la première branche dont toutes les conditions sont vérifiées. |
Exemple : ouvrir une porte
Trigger: Interact (E) → IF hasKey == 1 → afficher « Porte ouverte » et changer la couleur, ELSE → afficher « Porte verrouillée ».
La logique est réinitialisée lors de Play/Stop et s’exécute localement dans le mode 2D ou 3D choisi. Ce système est inspiré de l’organisation de Game Creator, mais n’en est pas une copie.
Physique 3D expérimentale — Rigidbody
Dans un projet 3D, sélectionne un objet puis ouvre Inspector → Physics 3D • Rigidbody et clique sur Add Rigidbody 3D. Tu peux régler Mass, Gravity, Bounciness, Friction, les composantes de vitesse et le mode Kinematic.
En mode Play, le composant applique une gravité, des impulsions et des collisions AABB simplifiées. Les paramètres sont inclus dans l'export/import JSON. Les personnages jouables et les agents IA restent pilotés par leurs contrôleurs dédiés.
Ce module est un prototype : il ne remplace ni PhysX, ni des contacts 3D robustes, ni un solveur de contraintes. Aucune collision précise de triangles, de pente, de joint, ni corps rigide rotatif n'est implémentée.
7. Gameplay Components : personnages, statistiques et inventaire
Sélectionne un objet dans la Hierarchy, puis ouvre Inspector → Gameplay Components. Ajoute les composants dont ton personnage a besoin. Les paramètres sont stockés avec la scène et sont inclus dans son export JSON.
| Composant | Réglages | Fonction actuelle |
|---|---|---|
| Stats | maxHealth, health, maxStamina, stamina, staminaRegen | Vie, endurance, dégâts, soins et régénération |
| Character Controller 3D | walkSpeed, sprintSpeed, jumpForce, gravity, dodgeDistance, dodgeCooldown, staminaCost | Déplacement caméra-relatif, course, saut et esquive |
| Inventaire | capacity, items, equipment | Ajouter/retirer des objets et équiper une arme ou une armure |
| AI State Machine | detection, attackRange, attackDamage, attackCooldown, speed, patrolRadius | Patrouille, poursuite et attaque automatique |
Contrôles en mode Play 3D
| Touche | Action |
|---|---|
| ZQSD / WASD | Déplacement |
| Maj | Sprint utilisant l'endurance |
| Espace | Saut |
| Ctrl | Esquive directionnelle, avec coût d'endurance et cooldown |
| F | Attaque de proximité contre une cible IA |
| Clic droit + souris / molette | Caméra orbitale / zoom |
Le contrôleur se déplace sur le plan X/Z représenté par les coordonnées x/y des entités. La collision repose sur des rectangles simplifiés, et non sur une simulation physique rigide.
Inventaire et équipement
- Ajoute Inventaire à ton personnage.
- Saisis un ID d'objet, par exemple
sword, puis clique sur + Objet. - Utilise Arme pour l'équiper dans le slot weapon ou Armure pour le slot armor.
- L'attaque 3D utilise actuellement des valeurs simplifiées : une arme équipée donne 35 dégâts et 180 unités de portée au lieu de 15 dégâts et 110 unités sans arme.
Le rendu d'une arme GLB et le slot d'équipement restent distincts : équiper un objet ne l'attache pas automatiquement à la main du personnage. Il n'existe pas encore de système de balistique 3D, de rechargement ou de projectiles complet.
8. IA, combat et séquences de comportements
Créer un ennemi
- Ajoute un personnage ou un prefab dans la scène 3D.
- Dans l'Inspector, ajoute AI State Machine et Stats.
- Configure Rayon détection, Portée attaque, Vitesse, Dégâts et Cooldown.
- Ajoute un personnage jouable, lance Play et approche-toi de l'ennemi.
Transitions actuelles : patrol quand la cible est éloignée, chase quand elle est détectée, attack à courte portée et dead lorsque sa vie atteint zéro. L'IA utilise maintenant une recherche de chemin A* sur grille pendant la poursuite, avec recalcul périodique et évitement local de secours. Dans l'Inspector, les paramètres Navigation A*, Taille cellule A* et Recalcul chemin (s) contrôlent le système. Il ne s'agit pas encore d'un NavMesh 3D : les passages étroits, la verticalité et les obstacles dynamiques demandent davantage de travail.
Logique visuelle
Ouvre Inspector → Logic Sequences et ajoute un trigger, des conditions, puis des instructions. Le panneau Graphique des comportements montre le chemin d'exécution, ses branches IF/ELSE et les instructions dans l'ordre. C'est une prévisualisation : on édite les séquences via les formulaires de l'Inspector, et non en reliant des nœuds à la souris.
| Famille | Exemples |
|---|---|
| Conditions | distanceLess, distanceGreater, healthBelow, healthAbove, hasTag, variable, localVariable, randomChance |
| Instructions | moveObject, teleportObject, setHealth, addHealth, setAnimation, setBehavior, giveItem, removeItem, equipItem, damageObject, healObject, wait, emitSignal |
Les instructions ciblant un autre GameObject acceptent son ID. Sans ID cible valide, elles s'appliquent à l'objet qui porte la séquence.
Quick Start — Gameplay Recipes
Pour créer plus vite, sélectionne un objet dans la Hierarchy, ouvre Inspector → Quick Start • Gameplay Recipes, choisis un modèle puis clique sur Appliquer le modèle. L'éditeur demande confirmation avant de remplacer les composants concernés.
| Modèle | Ce qu'il configure |
|---|---|
| Player Adventure | Personnage jouable, santé, endurance, inventaire et contrôleur 3D |
| Enemy Guard | IA de patrouille, détection, poursuite et attaque |
| Enemy Boss | Ennemi renforcé, davantage de santé et de dégâts |
| Healing Station | Objet interactif qui soigne le personnage joueur |
| Locked Door | Porte conditionnée par la variable globale hasKey |
| Loot Chest | Coffre qui donne une clé au joueur une seule fois |
Ces recettes accélèrent la configuration de composants. Elles ne remplacent pas une physique 3D complète, une animation de personnage ou un système de navigation à chemins calculés. Vérifie le résultat en Play.
9. Tutoriel : un garde, une arme et une porte
- Dans WarLike Hub, crée un Projet 3D nommé « Démo Gameplay ».
- Sélectionne le personnage jouable. Ajoute les composants Stats, Character Controller 3D et Inventaire.
- Ajoute l'objet
swordà son inventaire et équipe-le comme arme. - Ajoute un deuxième personnage, puis AI State Machine avec une détection de 450, une portée de 65 et une vitesse de 75.
- Ajoute un objet représentant une porte. Dans Logic Sequences, sélectionne l'événement
interactet ajoute une instructionmessage« Porte activée ». - Dans Graphique des comportements, examine l'ordre des nœuds.
- Lance Play : déplace-toi avec ZQSD, esquive avec Ctrl, attaque avec F et interagis avec E.
Les composants et leur exécution restent expérimentaux. Exécute npm test et npm run typecheck dans le projet cloné puis valide les interactions dans ton navigateur.
7. Tester avec Play / Stop
Clique sur ▶ Play pour lancer la simulation et ■ Stop pour revenir à la scène d’édition. Le moteur restaure normalement la scène d’origine à l’arrêt.
| Entrée | Action |
|---|---|
| ZQSD / WASD | Déplacement dans les scènes compatibles. |
| Maj (3D) | Courir avec le contrôleur 3D expérimental. |
| Clic droit (3D) | Faire tourner la caméra. |
| Molette (3D) | Zoom caméra. |
| E (2D ou logique) | Interagir lorsqu’un composant le permet. |
Le combat de proximité 3D est disponible en version expérimentale. La conduite 3D, les projectiles, les animations squelettiques et la physique avancée restent à développer.
8. Sauvegarde, projets et partage
Le bouton ↓ en haut du studio sauvegarde le projet local nommé. Export JSON permet d’enregistrer une scène sur ton ordinateur. Pour restaurer une scène, utilise Import JSON.
Attention : les fichiers GLB importés localement, les fichiers audio de session et autres ressources binaires ne sont actuellement pas emballés avec l’export JSON.
9. Dépannage et limites
Le Hub ne s’affiche pas
Actualise la page avec Ctrl + Maj + R. Vérifie la version affichée dans la barre supérieure et ouvre la console du navigateur avec F12 si l’initialisation échoue encore.
Un asset 3D apparaît sous forme de cube
Le cube peut être un indicateur de chargement ou d’échec du GLB. Vérifie la connexion réseau, la taille du modèle, les restrictions CORS et la console.
Mon arme 3D est visible mais inutilisable
Afficher un modèle d’arme ne crée pas automatiquement un système de tir, de rechargement, d’animation ou d’attachement aux mains. Ces composants doivent encore être développés pour la 3D.
Le modèle est déformé ou sans textures
Les transformations, matériaux, UV et animations glTF ne sont que partiellement pris en charge. Le moteur est encore en bêta.
Pour les détails techniques : Prefabs GLB · Logic Sequences.