Creating celstart games using python/fr
From Blender2crystal
[edit] Création de jeux CELstart avec Python
Contents |
[edit] Introduction
Ce tutoriel abordera la création d'un monde simple scripté en Python et son exportation vers CELstart.
CELstart vous permet d'exécuter des maps scriptées qui vous parviennent dans un format de fichier spécial : .celzip. Avec Blender2Crystal, il est possible de créer et d'assigner tout le contenu à placer à l'intérieur, aussi bien que de l'exécuter directement à partir du bouton RUN.
Pour ce faire, nous avons besoin de suivre les étapes suivantes :
- Configurer le mode celexport.
- Ajouter une entité personnage joueur.
- Ajouter un comportement au personnage joueur.
- Exécuter.
[edit] Mode celexport
Avant tout, il est nécessaire d'activer le mode celexport dans l'onglet
export de Blender2Crystal.
Maintenant pour un jeu XML, nous devrons paramétrer la propriété Couche de Comportement dans l'onglet
World Settings, mais blpython y est déjà par défaut dans Blender2Crystal, donc pour ce tutoriel, nous n'aurons pas besoin d'y toucher. A noter que tout ce tutoriel concerne la configuration de jeu Python, la seule réelle différence réside dans cette propriété. Il n'y a donc pas de comportements prédéfinis pour blxml (Couche Comportement XML) à ce point.
[edit] Comportement application
Il y a une autre chose à noter sur le mode Python celexport, il requiert un comportement application pour démarrer la map et configurer la caméra sur l'entité personnage joueur. Ceci est défini dans l'onglet
World Settings section
Path par la propriété pythonapp. Blender2Crystal fournit un script prédéfini que vous pouvez modifier, appelé celstrap, il est activé par défaut.
[edit] Le personnage joueur
Ensuite, Blender2Crystal requiert une autre chose pour être capable d'exporter la map : l'entité personnage joueur. C'est cette entité que CELstart regardera quand il lancera la map. Elle peut être n'importe quel mesh dans la map, donc ajoutez simplement un objet, et rendez vous dans l'onglet
CEL. Ici paramétrez la propriété player sur true. Cela convertira l'objet en entité CEL, et de nouvelles options apparaîtrons dans l'interface.
Maintenant vous pouvez exporter la map à partir de l'onglet
export en cliquant sur le bouton RUN. Comme nous n'avons assigné aucun comportement au personnage joueur, il n'y a rien d'autre que nous pouvons voir ou faire.
[edit] Ajouter un comportement
Chaque objet peut être assigné à un script Python ou XML pour le contrôler, on appelle cela le Comportement. Dans Blender2Crystal vous pouvez assigner des comportements à partir :
- de ceux prédéfinis
- de l'onglet texte de Blender
- d'un répertoire utilisateur de scripts définis.
Pour le moment, nous assignerons le comportement actor. En cliquant sur la valeur de la propriété behaviour, une liste vous permet de le sélectionner parmi ceux disponibles.
En exécutant la map, nous pouvons voir qu'il est possible de bouger l'objet en utilisant les touches fléchées ← ↑ ↓ →, et le mode de caméra peut-être changée avec la touche M. Ces touches de raccourci sont définies dans un fichier spécial qui doit être mis à côté du fichier comportement et ayant pour extension .cfg. Ces fichiers seront mis dans la map par l'exporteur s'ils sont trouvés, et celstrap les chargera et chaque comportement pourra les utiliser. En modifiant le fichier .cfg, vous pouvez modifier les touches qui contrôlent le comportement et en retirer certaines complètement.
NOTE : Si vous vous apercevez que l'objet a pivoté dans une mauvaise direction alors vous devez appliquer sa rotation Ctrl+A, autrement cela signifie qu'il sera placé et pivoté dès le départ dans la map, les coordonnées locales ne seront pas correctement définies dans l'objet, et pivotera dans une direction différente de celle voulue (comme la caméra qui pivote vers le bas lorsqu'on utilise la touche ←).
[edit] Ajouter d'autres entités
Tous les autres objets peuvent être convertis en entités qui contrôleront leur comportement.
Pour permettre à un objet d'avoir des comportements ou d'autres fonctions d'interaction CEL, il est nécessaire de définir la propriété entity à true. Alors tous les onglets entités apparaissent et nous pouvons leur paramétrer des comportements, des quêtes, et différentes propriétés, qui ne sont pas examinés dans ce tutoriel, voyez les pages Interface CEL et Référentiel de CEL pour plus de détails à ce propos.
Par exemple, nous pouvons ajouter quelques objets flottants aux alentours et leur définir un des comportements exemple.
Voici certains comportements exemple fournis qui peuvent être utilisés comme base pour de passionnantes choses :
- lookat : Fait que l'objet regarde toujours le personnage joueur (il pivotera pour rester face à lui).
- followpath : Fait que l'objet suive un chemin aléatoire dans les airs.
- blink : Fait que l'objet apparaisse et disparaisse.
- npc : Fait que l'objet se promène au hasard comme un personnage non joueur
- ...
[edit] Fichier résultant
Vous trouverez le fichier zip généré dans votre dossier temporaire (ou à un autre endroit si vous l'avez configuré dans l'onglet
World Settings).
Par défaut, il s'appellera world.zip. En l'inspectant, nous pouvons voir qu'il inclut les choses suivantes :
- celstart.cfg : C'est le fichier de configuration de celstart, contient toutes les options nécessaires pour lancer le comportement application.
- world : Toutes les données XML en relation avec Crystal Space sont positionnées ici.
- entities_world : Toutes les données en relation avec CEL sont positionnées ici.
- level.xml : C'est le fichier que le gestionnaire de zone de CELstart chargera, il contient les références vers les fichiers XML précédents.
- *.py : Tous les comportements sont mis ici.
- factories/ : Toutes les fabriques Crystal Space sont exportées ici en tant que fichiers bibliothèques.
- config/ : Tous les fichiers de configuration de comportement sont positionnés ici.
- textures/ : Toutes les images seront mises ici.
La plupart de ces chemins peuvent être reconfigurés dans l'onglet
World Settings section
Path.
[edit] Editer autrement des comportements
Pour éditer des scripts, il existe deux options :
- les importer dans Blender et les éditer à l'aide de l'éditeur en ligne.
- les exporter vers un dossier et les éditer à partir de là.
La seconde méthode est plus pratique car elle permet d'éditer les scripts avec un éditeur externe, nous choisirons donc cette méthode.
Pour ce faire, créer un dossier /scripts aux cotés du fichier .blend, et définissez la propriété scriptsdir en //scripts dans l'onglet
World Settings section
Path. le double // avant le nom de dossier indique que le chemin qui suit est dans le même répertoire que le fichier .blend.
Maintenant vous pouvez placer ici les scripts que vous utilisez pour les modifier et Blender2Crystal les empaquettera à partir de ce dossier.
Lorsqu'il y a des scripts avec le même nom à différentes endroits, Blender2Crystal utilise l'ordre de préférence suivant pour sélectionner ceux à utiliser :
- A partir du dossier scriptsdir défini dans
World Settings section
Path.
- A partir de l'onglet text de Blender.
- A partir des comportements Blender2Crystal prédéfinis.
De cette façon vous pouvez tout de suite commencer par bidouiller n'importe quel script en le plaçant à l'intérieur du dossier de scripts sélectionné.


