Wiki » History » Version 7

Arnaud Moncel, 06/26/2015 09:59 PM

1 1 Arnaud Moncel
h1. Comment créer un niveau sur Colobot ?
2 1 Arnaud Moncel
3 1 Arnaud Moncel
h2. Sommaire
4 1 Arnaud Moncel
5 5 Arnaud Moncel
# L'architecture des fichier et des niveaux
6 1 Arnaud Moncel
# Détail du fichier help.F.txt
7 1 Arnaud Moncel
# Détail du fichier scene.txt
8 1 Arnaud Moncel
9 1 Arnaud Moncel
10 5 Arnaud Moncel
h2. 1. L'architecture des fichiers et des niveaux
11 1 Arnaud Moncel
12 1 Arnaud Moncel
Un chapitre est composé de un ou plusieurs niveaux. Dans le point de vue des fichiers sur l'ordinateur un chapitre se compose comme ceci :
13 6 Arnaud Moncel
!chap.bmp!
14 6 Arnaud Moncel
Il faut placer les fichiers a cet endroit(data/levels/exercises).
15 1 Arnaud Moncel
Ici nous avons tous les chapitres correspondant aux exercices de programmation que propose Colobot, notre projet est le chapitre008.
16 1 Arnaud Moncel
17 7 Arnaud Moncel
!chapInt.bmp!
18 7 Arnaud Moncel
19 1 Arnaud Moncel
A l’intérieur du chapitre nous pouvons trouver nos niveaux et un fichier donnant des indications sur notre chapitre.
20 1 Arnaud Moncel
Voici le contenu du fichier chaptertitle.txt
21 1 Arnaud Moncel
Dans tous les fichiers de configuration de Colobot le choix de la langue est présent. Pour ce projet nous avons choisi de ne pas traduire tous nos textes en Anglais ou autre langue.
22 1 Arnaud Moncel
La ligne Title.F définie les informations française du chapitre ici le « text » est pour le nom du chapitre et « resume » est pour la description du chapitre.
23 1 Arnaud Moncel
Regardons à présent l'architecture des niveaux qui sont ici traduit par level001, level002 etc.
24 1 Arnaud Moncel
25 1 Arnaud Moncel
Les niveaux ont eux aussi leurs fichiers de configuration. Le fichier scene.txt sert à définir le nom du niveau, sa description et tout l’ensemble de la scène du niveau. Comme par exemple les conditions de victoire, la forme du terrain, la création des objets déjà présents sur la scène etc.
26 1 Arnaud Moncel
Le dossier « help » quant à lui contient le fichier d'aide du niveau traduit en toutes les langues. Le fichier d'aide est celui qui est utilisé pour simuler le « scan » dans le jeu ouvert avec la touche « F1 ».
27 1 Arnaud Moncel
28 1 Arnaud Moncel
Voilà le résultat en jeu de notre dossier chapitre008 et de ses niveaux.
29 1 Arnaud Moncel
Détaillons a présent les fichiers help.F.txt et scene.txt
30 1 Arnaud Moncel
31 1 Arnaud Moncel
h2.  2. Détail du fichier help.F.txt
32 1 Arnaud Moncel
33 1 Arnaud Moncel
Comme dit précédemment le fichier d'aide est retranscris dans le jeu par le biais du « scan ». Il n'est pas difficile à comprendre et à prendre en main.
34 1 Arnaud Moncel
Très peu d'instruction sont possible il est possible de faire du formatage de texte pour qu'il soit affiché dans le « scan ».
35 1 Arnaud Moncel
Cette instruction va écrire dans le « scan » « Houston a un problème ! » comme un titre.
36 1 Arnaud Moncel
Ici « \c ; » déclare une section de code et va afficher dans le « scan » le texte qui se trouve sous la balise « \s ; » dans un fond jaune. Le « \n ; » traduit un saut de ligne.
37 1 Arnaud Moncel
Cette instruction affichera une image nommée isiClasse dans le « scan » le 30 et 15 sont pour la taille de l'image. Mais attention l'image devra être dans le bon dossier (data/icons).
38 1 Arnaud Moncel
39 1 Arnaud Moncel
Cette instruction permet de créer un lien vers une fonction de Colobot existante dans le guide de programmation en jeu. Le « \l ; » déclare un lien nommé distance vers une fonction de Colobot qui est « dist ».
40 1 Arnaud Moncel
Exemple d'aide en jeu :
41 1 Arnaud Moncel
42 1 Arnaud Moncel
h2.  3. Détail du fichier scene.txt
43 1 Arnaud Moncel
44 1 Arnaud Moncel
Le fichier scene.txt quant à lui défini tout le niveau et ses conditions de jeux.
45 1 Arnaud Moncel
On connaît déjà les deux premières lignes elles sont similaires à celles du chapitre. La ligne importante est la troisième, cette ligne signifie que lorsque vous créez un nouveau script sur un des robots il s’appellera dans notre cas « finder ».
46 1 Arnaud Moncel
La ligne « instructions name » lit le fichier d'aide vu auparavant. La Ligne d’après et très importante c'est elle qui lit l'aide principale du jeu.
47 1 Arnaud Moncel
48 1 Arnaud Moncel
Toutes ces lignes sont pour la création du terrain. Les premieress sont pour les lumières et couleurs ambiantes.
49 1 Arnaud Moncel
Le deuxième paragraphe est pour la fonte du terrain comme le relief créé à partir d'une normal map.
50 1 Arnaud Moncel
Enfin les dernières sont là pour appliquer une texture au terrain.
51 1 Arnaud Moncel
52 1 Arnaud Moncel
Les lignes importantes sont celles-ci, c'est ici que les objets du niveau se créés. Les instructions sont les mêmes pour tous les objets. On définit l'objet qu'on veut créer par son type. Il en existe une multitude et heureusement pour nous ils étaient tous dans le guide.
53 1 Arnaud Moncel
Attardons nous sur la ligne « 68 » du code ci-dessus, la position de l'objet est donnée par « pos », sa direction par « dir », son type ici « leggedGrabber » est un robot qui peut attraper des objets. L'option « reset=1 » signifie que l'objet est réinitialisé à chaque nouvelle partie. L'option « trainer=1 » signifie que c'est un robot d’entraînement et qu'il est le seul à pouvoir déclencher les points de passage « wayPoint » dans le jeu. L'option « power=0,2 » est l’état de charge de sa pile au commencement du jeu, cette option peut être réglée de 0 à 100. De 0 a 1 pour la pile normale et de 1 à 100 pour la pile d'uranium.
54 1 Arnaud Moncel
L'instruction « script1=« initPI3.txt » » quant à elle permet de lier un script fait par les développeurs au robot dès le début. Accessoirement il est utilisé pour les scripts solutions. Attention toutefois le script « initPI3.txt » doit se trouver au bon endroit (data/ai).
55 1 Arnaud Moncel
Il est très important que le script possède le nom donné plus haut ici « Finder » sinon il ne sera pas pris en compte.