Warofgenerals
Warofgenerals, C&C , Mods , Maps ...
8 visiteur(s) et 0 membre(s) en ligne.
Index

Rubriques1


OUTILS2

 GRAPHIQUES1

Viewer W3Dlu : 116 Fois

Création d'un jeu avec GODOT0

Créer un RTS de base dans Godot : Guide rapide


1️⃣ Installation de Godot

  • Télécharge Godot 4.x sur godotengine.org

  • Installe-le, ouvre-le, et crée un nouveau projet


2️⃣ Organisation du projet

  • Crée un dossier scenes pour tes scènes (unités, terrain, UI)

  • Crée un dossier scripts pour les scripts GDScript


3️⃣ Créer une unité simple

  • Crée une nouvelle scène Unit.tscn avec un CharacterBody3D (ou Node2D si 2D)

  • Ajoute un CollisionShape et un MeshInstance3D (pour la 3D)

  • Ajoute un script Unit.gd :

gdscript
extends CharacterBody3D var speed = 5.0 var target_position : Vector3 func _ready(): target_position = global_transform.origin func _physics_process(delta): var direction = (target_position - global_transform.origin).normalized() if global_transform.origin.distance_to(target_position) > 0.1: velocity = direction * speed move_and_slide() else: velocity = Vector3.ZERO

4️⃣ Gestion de la sélection

  • Dans ta scène principale (Main.tscn), ajoute un Control pour l’interface UI

  • Implémente une zone de sélection rectangle avec la souris (drag)

  • Utilise InputEventMouse pour détecter le clic et drag

  • Stocke les unités sélectionnées dans une liste


5️⃣ Déplacement des unités sélectionnées

  • Sur clic droit, envoie la position vers chaque unité sélectionnée (variable target_position)

  • Chaque unité se déplace vers ce point


6️⃣ Ajouter une IA simple

  • Ajoute un script AI qui détecte les unités ennemies proches

  • Si une unité ennemie est proche, attaque ou suit


7️⃣ Améliorations possibles

  • Ajoute une barre de vie (UI) pour chaque unité

  • Implémente des bâtiments avec construction/déploiement d’unités

  • Crée un système de ressources

  • Ajoute des effets visuels, sons, animations


📚 Ressources utiles


🚧 Exemple minimal de sélection rectangle en GDScript

gdscript
extends Control var selecting = false var start_pos = Vector2.ZERO var rect = Rect2() func _input(event): if event is InputEventMouseButton: if event.button_index == BUTTON_LEFT: if event.pressed: selecting = true start_pos = get_local_mouse_position() else: selecting = false # Sélectionne les unités dans rect func _draw(): if selecting: var current_pos = get_local_mouse_position() rect.position = start_pos rect.size = current_pos - start_pos draw_rect(rect, Color(0, 0.5, 1, 0.3), true)

Si tu veux, je peux te préparer un petit projet Godot complet, prêt à ouvrir avec ces bases, pour que tu puisses directement tester et développer dessus.