Si vous avez déjà utilisé AGS avant, vous serez probablement troublé et peut-être même
décontenancé par ce nouvel éditeur. Mais ne vous inquiétez pas, une fois que vous l'utiliserez,
je suis sûr que vous accepterez les énormes améliorations par rapport à l'ancienne version.
La meilleure façon pour commencer est sans doute par le biais du tutoriel,
qui a été mis à jour pour AGS 3 et par la suite, vous devriez devenir plus
familier avec le fonctionnement de l'éditeur.
Les principaux changements sont expliqués ci-dessous :
Éditeur d'interaction
L'éditeur d'interaction a été supprimé de AGS 3.0. Quand vous importez votre jeu, AGS
tentera de convertir toutes vos interactions dans les scripts. Cela devrait généralement
se passer sans problème, cependant il existe certaines choses dont vous devriez être au courant :
1. Problèmes de conflit – Avec AGS 2.72, les interactions pouvaient être exécutées en même temps qu'un script bloquant si elles n'exécutaient aucun script. Ce n'est plus possible désormais.
2. Interactions bloquantes – Avec AGS 2.72, une interaction “Run Dialog” (lancer un dialogue), par exemple,
attendait que le dialogue soit terminé avant de lancer l'action suivante : si vous aviez un “Change Room” (changer de pièce) après un “Run Dialog” (lancer un dialogue), alors le changement de pièce n'arrivait qu'une fois le dialogue fini.
Avec le script, vous devez faire attention car la commande “dialog[x].Start()” ne bloque pas ;
au lieu de cela, la boîte de dialogue attend que le script en cours d'exécution finisse d'être exécuté avant de se lancer.
Cela veut dire que le changement de pièce n'arrivera pas nécessairement après le dialogue.
Afin d'atténuer ce type de problèmes, vous pouvez insérer la commande pour changer de pièce à l'intérieur d'une commande “run-script” (lancer le script) placée à la fin du dialogue.
Global Messages (messages globaux)
Les messages globaux ne sont plus utilisés et doivent être considérés comme obsolètes –
il n'y a plus besoin d'eux maintenant que l'éditeur d'interaction a été supprimé.
Tous les messages que vous aviez seront encore retenus et fonctionneront,
bien que l'éditeur AGS 3 ne donne aucun moyen de les éditer. Si vous voulez en changer
un, remplacez juste la commande “DisplayMessage” (afficher message) par un simple
“Display()” (afficher).
Dans AGS 3.0.2, il y a maintenant un “Global Variables editor” (Éditeur de Variables Globales)
dans lequel vous pouvez créer des “global string variables” (variables globales de type string),
qui offrent toutes les fonctionnalités des Messages Globaux, et même plus.
Sauvegarder et tester votre jeu
AGS 3.0 fonctionne légèrement différemment des versions précédentes dans la manière de sauvegarder
et tester vos jeux en cours. L'option “Save” (sauvegarder) (Ctrl+S) est l'équivalent de l'ancienne
option “Quick Save” (sauvegarde rapide) – elle permettra de sauver vos modifications, mais sans compiler le fichier EXE.
L'option “Test game” (tester le jeu) est devenu “Run” (lancer) dans le menu “Build” (construire). Cela lance votre jeu
avec le nouveau Débogueur de script, qui vous permet de faire une pause
dans le script afin de traquer les problèmes.
Le débogueur lancera toujours votre jeu dans une fenêtre, donc si vous voulez tester en
plein écran, il y a l'option “Run without debugger” (lancer sans débogueur) (Ctrl+F5).
Utilisez la commande “Build EXE” (construire l'EXE)(F7) quand vous voudrez créer les fichiers compilés
pour distribuer votre jeu.
NOTE : Quand vous utilisez la commande Run (lancer), le fichier EXE de votre jeu N'EST PAS construit.
La commande “Run” (lancer) d'AGS 3 est plus rapide que l'ancienne commande “Test Game” (tester jeu) parce
qu'elle charge les fichiers directement dans le dossier du jeu. Si vous voulez créer
le fichier EXE de votre jeu, vous devez utiliser la commande “Build EXE” (construire EXE).
Changements des fonctions RawDraw
La famille des fonctions RawDraw ont finalement été adaptées à la programmation orientée objets,
et les anciennes versions sont maintenant obsolètes. Vous pouvez désormais utiliser RawDraw sur les sprites dynamiques
ainsi que sur les arrière-plans (background). De fait, les nouvelle commandes vous sembleront plus
compliquées que les anciennes, car vous ne pouvez plus simplement faire “RawDrawImage” pour
dessiner quelque chose sur l'arrière-plan (background) de la pièce.
Au lieu de cela, il y a une nouvelle fonction DrawingSurface qui
vous permet de dessiner sur une surface. Vous en récupérerez une en appelant la commande
DynamicSprite.GetDrawingSurface ou
Room.GetDrawingSurfaceForBackground,
cela dépend de la surface sur laquelle vous voulez dessiner ; et vous pouvez alors utiliser différentes
méthodes pour faire votre dessin.
Vous devez appeler une commande Release sur la surface une fois que vous avez
fini le dessin, cela dit à AGS de mettre à jour les données en mémoire.
Pour voir des exemples, regardez l'aide pour la fonction DrawingSurface.
Autres changements pour le script
Le script n'a pas réellement changé dans AGS 3. Deux nouvelles fonctionnalités (fonctions d'extension
et tableaux dynamiques) ont été ajoutées, mais cela n'affecte aucun code existant.
Les seules grosses modifications sont les suivantes :
1. “new” (nouveau) est maintenant un mot réservé. Cela signifie que si vous aviez des variables
appelées “new”, alors votre script ne pourra pas compiler. Renommez juste la variable en autre chose.
2. A cause de la suppression de certaines limites du système, certaines des constantes d'AGS_MAX_
ont été supprimées (car il n'existe plus de valeur raisonnable pour elles maintenant que les limites
sont enlevées). Cela ne va sans doute affecter que les auteurs de modules, mais probablement
pas votre jeu. Plus précisément, les éléments suivants ont été retirés : AGS_MAX_GUIS,
AGS_MAX_CHARACTERS, AGS_MAX_VIEWS, AGS_MAX_LOOPS_PER_VIEW, AGS_MAX_FRAMES_PER_LOOP.