Le projet Cesse-Adventure a été initialement développé en GDScript.
Finalement j’ai décidé de switch de de langage.
Présentation des avantages et Inconvénients des deux langages
GDScript
Avantages
- Conçu pour Godot : Intégration parfaite avec le moteur.
- Facile à apprendre : Syntaxe simple, inspirée de Python.
- Prototypage rapide : Idéal pour tester des idées.
- Prêt à l’emploi : Pas de configuration supplémentaire.
Inconvénients
- Performances limitées : Moins adapté aux projets gourmands.
- Langage spécifique : Peu utile en dehors de Godot.
- Compatibilité IDE : Support limité pour des IDE externes comme Visual Studio Code ou JetBrains Rider.
C#
Avantages
- Puissant et polyvalent : Idéal pour des architectures complexes.
- Écosystème riche : Compatible avec des bibliothèques externes.
- Performances élevées : Meilleur choix pour des projets exigeants.
- Compatibilité IDE : Fonctionne bien avec des IDE comme Visual Studio, VS Code et Rider.
Inconvénients
- Apprentissage plus long : Le langage plus complexe.
- Configuration nécessaire : Installation de Mono obligatoire.
- Workflow légèrement moins fluide : Intégration moins native que GDScript.
De GDScript à C#
J’ai choisi de passer de GDScript à C# pour plusieurs raisons. Bien que GDScript soit rapide à apprendre et parfaitement intégré à Godot, j’ai ressenti certaines limites, notamment sur les aspects suivants :
- Architecture modulaire : Avec C#, je peux exploiter des concepts avancés comme les interfaces, les génériques et une gestion plus fine de l’architecture de mon projet, ce qui correspond parfaitement à mon approche modulaire.
- Compatibilité IDE : En utilisant un IDE comme Visual Studio ou JetBrains Rider, j’ai accès à des outils puissants (debugging avancé, autocomplétion, gestion des packages) qui boostent ma productivité.
- Réutilisation des compétences : Développer en C# me permet de transférer plus facilement mes connaissances vers d’autres moteurs (comme Unity) ou projets non liés aux jeux.
Ce changement m’a demandé un peu d’adaptation, mais les bénéfices en termes de flexibilité et d’efficacité le rendent incontournable pour mes besoins actuels.