Tutorial: Apprenez vous même la programmation des jeux ... - accueil

N'ayez pas peur de vous étendre au-delà de l'exercice pour essayer de
nouvelles choses. ...... _counter-90; // corrige le dépassement ...... La surface d'un
sprite ou l'entité modèle est considérée comme un cylindre vertical ici. ... Par la
variable trace_mode prédéfinie le mode pour le traçage peut être composé en
ajoutant ...

Part of the document











GameStudio

C-Script / WDL



Tutorial & Manuel


















pour le moteur A5 version 5.15

Johann C. Lotter / Conitec Janvier 2002




Copyright © Conitec Corporation 1997...2001
Partially translated by Guenther Mulder

WED level editor Matthew Ayres, Paul Hsu, Wladimir Stolipin

MED model editor Wladimir Stolipin

Map compiler Gennadi Wart, Marco Grubert

WDL compiler Volker Kleipa

A5 engine Johann Christian Lotter

Example games Czeslav Gorski, Harald Schmidt, Doug Poston

Script prefabs Doug Poston


GameStudio est publié en Amérique du Nord par Abracadata, Inc.
(http://www.abracadata.com), MacMillan Software
(http://www.macmillansoftware.com), et Conitec, Inc.
(http://www.conitec.net). GameStudio est publié en Allemagne par Sybex GmbH
(http://www.sybex.de) et Conitec GmbH (http://www.conitec.de).

Les dernières nouvelles, les démonstrations, les mises à jour et les
outils, aussi bien que le Magazine des Utilisateurs, le Forum des
Utilisateurs et le concours annuel sont disponibles à la page principale
GameStudio http://www.3dgamestudio.com/

Si vous possédez l'édition commerciale ou professionnelle, vous avez droit
à 3 ou 12 mois de support technique via émail. Expédiez s'il vous plaît par
e-mail votre question à acknex@conitec.net et donnez votre édition, la date
d'achat et le numéro de série ou le numéro de client (sur le disque clef ou
sur votre facture). Essayez de trouver la réponse dans le manuel d'abord!
On ne peut répondre aux questions techniques que si elles sont envoyés
émail à cette adresse. Normalement on répond à chaque question en un jour
ouvrable.




Avant propos à propos de la traduction française de ce manuel



La traduction est un art difficile. D'autant plus qu'il m'a fallu apprendre
le moteur au fur et à mesure de la traduction. Malgré tous mes efforts il
est clair que tout n'est pas parfait. Je vous invite donc lorsque vous avez
le moindre doute, un problème de compréhension voire un mauvais
fonctionnement par rapport à ce que vous avez lu, à consulter le manuel en
Anglais ou en Allemand, tous deux étant téléchargeables sur le site de
Conitec et à me faire part de vos remarques. Et je réclame par avance votre
indulgence.

Je vous souhaite le plus grand plaisir à lire ces lignes et à mettre en
pratique ce que vous apprendrez.


Alain Brégeon
mailto:alainbregeon@hotmail.com


Le manuel et le logiciel sont protégés conformément aux lois de copyright
de l'Allemagne et des Etats-Unis. Acknex et 3D GameStudio sont des marques
déposées de la Société Conitec. Windows, DirectX et Direct3D sont des
marques déposées de Microsoft, Inc. Voodoo est une marque déposée de 3dfx,
Inc. Quake est une marque déposée d'Id Software , Inc. Toute reproduction
de la matière et oeuvre d'art a imprimé ici sans l'autorisation écrite de
Conitec est interdit. Nous n'entreprenons aucune garantie pour l'exactitude
de ce manuel. Conitec se réserve le droit de faire des changements ou des
mises à jour sans nouvelle annonce.
Table des Matières



Tutorial: Apprenez vous-même la programmation des jeux en 6 jours. 6

Dimanche après-midi : la syntaxe C-SCRIPT 7
Variables et chaînes de caractères 8

Fonctions 9

Mon Premier Programme Informatique 9
Les boucles 13
Mise au point 15

Lundi: Les portes et les clés 18
Le Premier Mouvement 19
Interaction d'utilisateur 20

Mardi : Physique de Jeu 23
Accélération, Inertie, Friction 25
Chute 27

Mercredi : Intelligence artificielle 30
La théorie de boîtes noires 30
La table d'états 31
Machines D'état Avancées 35

Jeudi : l'Interface utilisateur 37
Textes 37
Panneaux 38

Vendredi : contrôle du Jeu 41
Changement de Niveaux 41
Sauvegarde et Chargement de Jeux 41

Référence : Syntaxe Script 44

Fonctions - le cerveau du jeu 46
Fonctions variables 50
Instructions vectorielles 51
Instructions de chaîne de caractères 53
Instructions de fichier 55
Instructions de contrôle 57
Instructions d'entités 59
Instructions multimedia 66
Instructions Input / output (entrée/sortie) 68
Instructions game flow (flux du jeu) 69

Instructions de remappage clavier 71

Instructions Multi joueur 71

Bitmap instructions 72
Instructions de connexion DLL 73
Instructions de mise au point 74
Attachement de fonctions ou d'actions 74

Variables, Chaînes de caractères, Pointeurs 78
Variables et Tableaux 78
Strings (Chaînes de caractères) 80
Pointeurs 80

Objets Fichier 81

Entités 83

Paramètres globaux 83

Paramètres de position 84

Visual Parameters (paramètres visuels) 84

Détection de collision 89

Events (Evènements) 90

Paramètres internes 93

Paramètres des particules 93

Interface Utilisateur: panneaux, Textes, vues (Panels, texts et Views) 95
Panels (Panneaux) 95
Texte 97
Views (vues) 99

Variables du moteur (Engine Variables) 103

Predefines (Préféfini) 116

Database and Dataview (base de données et vue de la base) 119

Multiplayer Applications (applications multi joueurs) 121

Starter Window Definitions (définition de la fenêtre de démarrage) 123

Reference: Prefabricated Scripts (Les scénarios prédéfinis) 125
Movement.wdl 125
Actors.wdl 127
Weapons.wdl 127
War.wdl 130
Doors.wdl 131
Messages.wdl 133
Particle.wdl 134
Menu.wdl 134
Venture.wdl 135

Appendix 145

Annexe A: les pièges des scripts 145
La redoutée instruction wait() 145
Ces maudits pointeurs invalides 145
Mauvais chronométrage 146
Mauvaises mathématiques 146
Le piège des évènements 146
Attacher des entités les unes aux autres 147

Annexe B: Démarrage du moteur 149
Les options de Ligne de commande 149
Considerations D3D 152
Error Messages 152

Annexe C: If Something Doesn't Work (si quelque chose ne travaille pas)
159

Annexe D: Juridique 161
Questions fréquemment posées 162

Annexe E - les claviers 163

INDEX 167
élicitations : En tant que l'heureux propriétaire de 3D GameStudio vous
pouvez créer maintenant des applications interactives en temps réel -
particulièrement, mais également des jeux électroniques 2D et 3D -
rapidement, facilement et sans connaissance de programmation précédente.
F

Ce manuel traite principalement du langage de programmation de GameStudio
le C-Script. Avant de lire ceci, vous devez démarrer l'éditeur de niveau
WED et commencer avec le tutorial WED pour avoir une vue d'ensemble de la
façon dont travaille 3D GameStudio. En atteignant la dernière leçon de WED,
vous serez prêts pour écrire des scénarios. Ce manuel est composé de
plusieurs parties :




La première partie, le tutorial de script est une introduction à la
programmation des jeux.

Dans la partie suivante, vous trouverez la référence du script, la syntaxe
et les objets du langage de programmation y sont décrits.

Si vous ne voulez pas écrire vos propres scripts mais que vous préférez
employer les préfabriqués, lisez la troisième partie pour apprendre comment
définir votre jeu en mettant les drapeaux et les paramètres des fonctions
prédeterminées.

Note : Si vous avez travaillé auparavant avec une version de GameStudio,
vous avez probablement connu le langage de programmation sous le nom de
WDL. Pas d'inquiétude, nous n'allons pas vous faire apprendre un nouveau
langage à présent. Les structures et les commandes spécifiques à WDL comme
SKILL, SYNONYM, CALL, ne sont plus documentés dans ce manuel mais sont
toujours supportés par le compilateur C-Script. Aussi pour l'instant il n'y
a pas de différence entre C-Script et WDL. Nous recommandons, cependant, de
ne pas utiliser les mots-clés abandonnés et la syntaxe de WDL pour de
nouveaux projets. Les prochaines versions de GameStudio distingueront entre
les structures de type C-Script type et celles de type WDL. Pour terminer
la vieille syntaxe ne sera plus soutenue pour des raisons d'efficacité de
compilateur.

Tutorial: Apprenez vous-même la programmation des jeux en 6 jours.


Commençons par quelques suppositions simples : vous avez fouillé dans les
Tutoriaux WED et avez créé quelques niveaux sympa. Maintenant vous voulez
coller vos niveaux ensemble pour en faire un grand jeu 3D. Vous ne voulez
pas employer les calibres (template) de jeu prédéfinis - vous voulez
insérer des monstres, des effets et les énigmes de votre propre
imagination. Pour accomplir cela, vous estimez que vous devrez écrire
quelques scénarios WDL.

Après la fin de ce tutorial, vous saurez comment programmer un jeu. Bien
qu'il soit simple de travailler avec, C-Script a les particularités de base
d'un langage moderne de programmation orienté objet. La syntaxe C-Script
est basée sur Javascript, le langage des pages Web. Aussi en apprenant le
langage de script C-SCRIPT, vous apprendrez également l'essentiel de la
programmation de site Web ou d'ordinateur. Si vous voulez vous tourner vers
d'autres langages de programmation modernes, comme C, C ++ ou Java, C-
SCRIPT est également une base d'introduction. Et une des meilleures choses
de C-SCRIPT est que vous pouvez faire beaucoup avec très peu de
programmation.

Assez parlé de C-SCRIPT. Parlons maintenant de ce tutorial.

Aujourd'hui, nous exécuterons la première partie d'un tutorial de six jours
qui vise à vous faciliter la programmation de jeu en écrivant des scénarios
C-SCRIPT utiles immédiatement. Voici un bref aperçu de ce que vous
ap