Ces pages décrivent le langage de programmation Verse et sa syntaxe. Prenez le temps de vous familiariser avec ce langage, puis servez-vous de ces pages comme référence.
Si c'est la première fois que vous utilisez Verse ou si vous apprenez la programmation pour la première fois, n'oubliez pas de consulter la rubrique Apprendre à programmer avec Verse pour vous aider à démarrer. Vous trouverez également un guide d'initiation utile.
Qu'est-ce que Verse ?
Verse est un langage de programmation développé par Epic Games que vous pouvez utiliser pour créer votre propre gameplay dans l'Unreal Editor pour Fortnite, notamment en personnalisant vos appareils pour le mode Créatif de Fortnite.
Principaux objectifs de conception de Verse :
- Se montrer assez simple pour être appris par un programmeur débutant.
- Se montrer assez général pour permettre l'écriture de tout type de code et de données.
- Se montrer productif dans le contexte de la construction, de l'itération et de la livraison d'un projet dans un cadre d'équipe ainsi que dans le contexte de l'intégration de code et de contenu.
- Permettre la vérification statique pour détecter autant de catégories de problèmes d'exécution que possible au moment de la compilation.
- Se montrer assez performant pour permettre la conception de jeux à plusieurs joueurs en temps réel et en monde ouvert.
- Se montrer complet, pour que chaque fonctionnalité du langage prenne en charge les systèmes d'abstraction mis en place par le programmeur.
- Se montrer intemporel : c'est-à-dire répondre aux besoins d'aujourd'hui et aux besoins futurs prévisibles, sans être ancré dans les artefacts passés d'autres langages.
Les objectifs de conception ci-dessus ont inspiré les principales caractéristiques du langage de programmation Verse :
- Fortement typé pour minimiser les possibilités d'erreurs non détectées lors du développement ou du déploiement, et pour prendre en charge la vérification statique.
- Multiparadigme pour tirer le meilleur parti de la programmation fonctionnelle, de la programmation orientée objets et de la programmation impérative, de manière à se montrer aussi déterministe que possible. Par exemple, les données sont immuables par défaut et, si l'on utilise le même code et les mêmes données, les résultats seront toujours exactement les mêmes.
- Il n'existe pas de différence entre les instructions et les expressions. Dans Verse, tout est une expression, ce qui signifie que tout a un résultat.
- L'échec est le flux de contrôle. Au lieu d'utiliser des valeurs true/false pour changer le flux de votre programme (comme avec les points de décision), Verse utilise des expressions faillibles qui produisent une valeur si elles réussissent ou ne le font pas si elles échouent. Les expressions faillibles ne peuvent être exécutées que dans des contextes d'échec, comme les expressions
if
. - La possibilité d'effectuer une exécution spéculative dans des contextes d'échec, ce qui signifie que vous pouvez essayer des actions sans les valider. Lorsqu'une expression réussit, les effets de l'expression sont validés, mais si l'expression échoue, les effets de l'expression sont annulés, comme si l'expression n'avait jamais eu lieu. De cette façon, vous pouvez exécuter une série d'actions qui accumulent les changements, mais ces actions seront annulées si un échec se produit dans le contexte d'échec.
- La **concurrence au niveau du langage est en place afin que vous n'ayez pas à compter sur des threads au niveau du système sur plusieurs processeurs pour effectuer des actions simultanément. Vous pouvez créer un flux temporel de la même manière qu'un flux de contrôle en utilisant les expressions de concurrence intégrées au langage.
Epic Games continue de développer le langage de programmation Verse et d'y ajouter d'autres fonctionnalités. En ce qui concerne le code Verse que vous écrivez aujourd'hui, vous pouvez vous attendre à ce que Verse assure une compatibilité descendante et continue à fonctionner avec les futures mises à jour du langage.
Explorer le langage
Utilisez les pages suivantes comme référence pour le langage de programmation Verse.