I. Introduction▲
I-A. Framework Unreal Engine 3▲
Développé par la société Epic games, l'Unreal Engine 3 est un framework de développement de jeux vidéo supportant les plateformes PC, Xbox 360, PlayStation 3, iOS et Android. Le jeu Gears Of War, développé par Epic Games et sorti en 2006, a été le premier jeu sur console de salon à l'utiliser.
Le framework Unreal Engine 3 est aujourd'hui très populaire dans l'industrie du jeu vidéo et est largement utilisé sur consoles de salon ainsi que sur plateformes PC et mobiles. À titre d'information, voici une liste non exhaustive de titres développés à l'aide du framework :
- Les séries Gears Of War, Mass Effect et Bioshock ;
- Dishonored ;
- Borderlands 2 ;
- Batman Arkham City ;
- Bullestorm ;
- Asura's Wrath ;
- Lollipop Chainsaw ;
- Infinty Blade (iOS) ;
- Dungeon Defenders (iOS et Android).
I-B. Kit de développement UDK▲
L'Unreal Development Kit, plus communément appelé UDK, est l'édition gratuite du framework Unreal Engine 3. Disponible sous la forme d'une version bêta depuis Novembre 2009, il cible deux types de publics en particulier :
- les développeurs indépendants et les écoles/universités, qui peuvent profiter de la gratuité de l'UDK pour créer et distribuer leurs propres projets à visée non commerciale ;
- les studios de développement, qui peuvent développer et distribuer leurs productions commerciales en s'acquittant des frais de licence qui s'élèvent à $99.
Il permet de déployer des applications sur systèmes d'exploitation Windows, Mac OS et iOS (iPhone et iPad). Une nouvelle version est publiée environ tous les mois par Epic Games.
En termes de contenu, la principale différence entre l'Unreal Engine 3 et l'UDK est que ce dernier ne permet pas l'accès aux sources du framework développées en C++. Sinon, l'UDK offre exactement les mêmes outils, à savoir :
- l'éditeur 3D UnrealEditor, qui intègre entre autres :
- un outil de programmation visuelle (UnrealKismet),
- un éditeur de cinématiques (UnrealMatinee),
- un éditeur d'effets de particules (UnrealCascade),
- un éditeur de terrains (UnrealLandscape),
- un outil de gestion de la physique, basé sur PhysX (UnrealPHAT) ;
- le langage orienté objet UnrealScript, utilisé pour développer le gameplay d'un jeu Unreal Engine 3.
Parmi les projets récents développés avec l'Unreal Development Kit peuvent être cités Q.U.B.E, Hawken, The Ball ou encore Prometheus.
I-C. Prérequis▲
Pour utiliser l'Unreal Development Kit, des connaissances en programmation orientée objet sont nécessaires afin de prendre en main le langage UnrealScript, dont la syntaxe est proche du Java.
Pour la suite du tutoriel, les outils suivants sont nécessaires :
- Unreal Development Kit (la version utilisée dans le tutoriel est celle de Juillet 2012), disponible à l'adresse suivante : http://www.unrealengine.com/en/udk/downloads/ ;
- Environnement de Développement Intégré (EDI) Visual Studio (version 2010) ;
- Plugin nFringe pour Visual Studio (version 1.2.23.0), disponible à l'adresse suivante : http://wiki.pixelminegames.com/index.php?title=Tools:nFringe:Releases ;
- Utilitaire UncodeX (version 241), disponible à l'adresse suivante : http://sourceforge.net/projects/uncodex/.
I-C-1. Plugin nFringe pour Visual Studio▲
Édité par la société PixelMineGames, le plugin nFringe permet d'ajouter à Visual Studio le support du framework Unreal Engine 3. Les avantages du plugin sont nombreux :
- ajout d'un template de projet Unreal Engine 3 dans Visual Studio ;
- support de la coloration syntaxique et de l'autocomplétion pour le langage orienté objet Unreal Script, utilisé par le framework ;
- possibilité d'exécuter le projet Unreal Engine 3 directement sous Visual Studio.
I-C-2. Utilitaire UncodeX▲
Considéré comme le couteau suisse du langage UnrealScript, UncodeX est un outil particulièrement utile lorsque l'on développe un projet Unreal Engine 3. En effet, il permet de générer au format HTML une documentation de référence style Javadoc des sources UnrealScript. La procédure afin de générer cette documentation sera expliquée en fin de tutoriel.
II. Vue d'ensemble du SDK▲
Une fois le kit de développement installé, la structure du SDK est la suivante.
Le répertoire Binaries contient les exécutables du SDK (en version 32 et 64 bits) ainsi que d'autres outils destinés par exemple aux infographistes, notamment le plugin ActorX qui permet d'exporter des maillages statiques et animés depuis 3DSMax ou Maya vers l'UnrealEditor.
Le répertoire Development contient toutes les classes du moteur de jeu ainsi que les sources développées par l'utilisateur, que ce soit le code UnrealScript ou ActionScript, puisqu'il est possible de développer des interfaces en Flash.
Le répertoire Engine contient les fichiers de configuration système et de définition de contenus (matériaux, cartes, modèles 3D, sons, .), ainsi que les fichiers de localisation (langues). En règle générale, les développeurs ne sont jamais amenés à modifier le contenu de ce répertoire.
Enfin, le dossierUDKGame contient les fichiers de configuration utilisateur, les fichiers de log ainsi que les ressources créées (cinématiques, fenêtre de démarrage du jeu, etc.).
III. Configuration de l'Unreal Engine 3 avec Visual Studio▲
III-A. Configuration du plugin nFringe▲
La première étape de configuration consiste à obtenir une licence d'utilisation non commerciale du plugin, qui est gratuite. Pour enregistrer la licence, il faut cliquer sur l'onglet Aide de Visual Studio puis sur nFringe License Manager. La fenêtre suivante apparaît :
Ensuite, cliquez sur Add puis sélectionnez la dernière option disponible dans la nouvelle fenêtre qui s'affiche afin de spécifier une utilisation dans un but non commercial. Une fois tous les champs saisis, il faut cliquer sur Activate afin d'envoyer la demande d'enregistrement de licence.
Une confirmation est alors envoyée par email, contenant un lien permettant d'activer la licence. Une fois la licence activée, il est nécessaire de redémarrer Visual Studio et dans le nFringe License Manager, la licence doit désormais apparaître comme étant Active.
L'environnement de développement étant désormais opérationnel, la prochaine étape consiste à créer et configurer un nouveau projet Unreal Engine 3.
III-B. Création du projet▲
Après avoir lancé l'assistant de création de projet, le template Unreal Engine 3 est dorénavant disponible. L'important est de renseigner les deux éléments suivants :
- placez le projet dans le répertoire contenant les sources de l'UDK, dans notre cas UDK-2012-07\Development\Src ;
- décochez l'option Créer le répertoire pour la solution.
Une fois le projet créé, il reste une étape de configuration indispensable qui nécessite dans un premier temps de fermer Visual Studio, ou du moins le projet. Il faut ensuite se rendre dans le répertoire du projet puis couper les fichiers solution (.SUO, .SLN et .UCPROJ) et les coller dans le dossier UDK-2012-07\Development\Src.
Puis il convient de supprimer le répertoire TutorielUdk. Cette manipulation va permettre de pouvoir visualiser dans l'explorateur du projet sous Visual Studio toutes les sources du framework Unreal Engine 3, ce qui va s'avérer très pratique.
Rouvrez ensuite la solution Visual Studio afin de passer à la dernière étape de création, qui consiste tout simplement à créer deux dossiers :
- un premier dossier du nom de notre projet, à savoir TutorielUdk ;
- un sous-dossier nommé Classes qui va contenir les fichiers sources du projet.
L'arborescence du projet doit maintenant être la suivante.
L'étape suivante consiste à configurer les propriétés de la solution.
III-C. Configuration des propriétés du projet▲
Dans l'onglet General, il faut sélectionner l'exécutable de l'UDK (32 ou 64 bits suivant la configuration système) pour le chemin de compilation des fichiers source, soit UDK-2012-07\Binaries\Win32(ou Win64)\UDK.exe.
Dans l'onglet Debug, il faut sélectionner l'exécutable de l'UDK (32 ou 64 bits) en guise d'exécutable du projet.
III-D. Compilation et exécution du projet▲
Il ne reste plus qu'à compiler le projet. à la première compilation, l'exécutable UDK.exe compile l'ensemble des sources du framework comme l'atteste le log suivant issu de la fenêtre de sortie de Visual Studio.
--------------------UDKBase - Debug--------------------
Analyzing...
Scripts successfully compiled - saving package 'D:\UDK\UDK-2012-07\Binaries\Win32\..\..\UDKGame\Script\UDKBase.u'
--------------------UTEditor - Debug--------------------
Analyzing...
Scripts successfully compiled - saving package 'D:\UDK\UDK-2012-07\Binaries\Win32\..\..\UDKGame\Script\UTEditor.u'
--------------------UTGame - Debug--------------------
Analyzing...
Scripts successfully compiled - saving package 'D:\UDK\UDK-2012-07\Binaries\Win32\..\..\UDKGame\Script\UTGame.u'
--------------------UTGameContent - Debug--------------------
Analyzing...
Scripts successfully compiled - saving package 'D:\UDK\UDK-2012-07\Binaries\Win32\..\..\UDKGame\Script\UTGameContent.u'
Success - 0 error(s), 0 warning(s)
Execution of commandlet took: 39.80 seconds
========== Régénération globale : 1 a réussi, 0 a échoué, 0 a été ignoré ==========
Désormais, l'exécution du projet doit être fonctionnelle et afficher, après l'écran de chargement, le menu de base d'un projet Unreal Engine 3.
IV. Génération de la documentation du framework▲
La première étape est de lancer UncodeX et de configurer les options via le menu Tree > Settings. Les deux options suivantes sont à spécifier :
- en regard de l'option Source Paths, cliquez sur Add et ajoutez le répertoire des sources du SDK ;
- en regard de l'option HTML Output, indiquez le répertoire de sortie souhaité pour la documentation HTML.
Une fois la configuration validée, cliquez sur Tree > Rebuild And Analyse afin qu'UncodeX puisse scanner l'ensemble des sources. La dernière étape consiste à créer la documentation HTML via le menu HTML Output > Create all files. Une fois l'opération terminée, le log doit retourner un message indiquant que la documentation a bien été générée.
Operation completed in 43,790 seconds
La documentation est accessible dans le répertoire de sortie via le fichier index.html.
V. Conclusion▲
Ce premier tutoriel dédié à Unreal Development Kit a permis de configurer l'EDI Visual Studio pour le support du framework Unreal Engine 3, et de créer un premier projet de A à Z. Toutefois, comme le lecteur l'aura remarqué, aucun fichier source n'a été ajouté à ce projet. Ceci sera l'objet d'un prochain tutoriel qui sera dédié à la création d'un gameplay avec UDK.
Remerciements▲
Je tiens à remercier tout particulièrement dourouc05 et LittleWhite pour leur relecture technique, ainsi que f-leb pour sa relecture orthographique.