Game Develop : Version de test de retro-compatibilité

La prochaine version de Game Develop disposera d’un système d’expression entièrement revu, impliquant une modification importante de la syntaxe.
Les anciens jeux seront convertis pour utiliser la nouvelle syntaxe. J’aimerai cependant m’assurer qu’il n’y a pas de problème lors de la conversion de ces jeux.

Vous pouvez donc télécharger une version de test à cette adresse : compilgames.net/dl/gdPost139262test.7z

[size=150]ATTENTION ![/size]
Si vous charger et enregistrez un jeu avec cette version, il ne pourra plus être réouvert avec les anciennes versions.
Assurez vous de faire des sauvegardes de vos jeux !

Une fois le fichier téléchargé et décompressez, vous pouvez lancer GDEditor.exe .
Ouvrez vos jeux ( préalablement sauvegardés en lieu sur au cas où donc ) et testez si ils fonctionnent toujours correctement. Si ce n’est pas le cas, regardez dans l’éditeur d’évènement si une expression semble clocher ( Lisez la suite pour en savoir plus sur la nouvelle syntaxe ). Vous pouvez aussi m’envoyer votre jeu et m’indiquer ce qui ne fonctionne plus.

[size=110]Concernant la nouvelle syntaxe[/size]

Celle ci se base sur un appel aux expressions non plus sous la forme de VAL(monExpression[parametre]) mais sous la forme ( plus naturelle et élégante ) monExpression(parametres).
De plus, il est possible d’inclure des expressions dans d’autres, comme Random(MonObjet.X()) pour obtenir un nombre aléatoire entre 0 et la position X d’un objet, ce qui ouvre la porte à des manipulations puissantes.

[size=110]A noter[/size]

N’essayez pas de compiler, la compilation n’est pas à jour et ne fonctionnera pas. A part me dire “Ca marche pas !”, vous n’obtiendrez pas grand chose.
Les textes sont maintenants entourés de guillemets ( “” ). Ils peuvent maintenant aussi faire appels à des expressions, allez voir l’éditeur de texte.
J’ai oublié d’inclure par défaut dans les nouveaux jeux l’extension “Manipulation de texte”.
La traduction anglaise n’est pas à jour.

Je teste…

1ère erreur : Les expression de directions sont convertie en Objet.direc() au lieu de Objet.direction()
2ème erreur : Les expression qui donnent le nombre d’objet sont convertie en .Count(Objet) au lieu de Count(Objet)

Ces erreurs provoque un petit dysfonctionnement de jeu car ces expressions convertie ne sont pas reconnue.

Ou sinon, ce nouveau système d’expression est bien, il me fait penser à VB.NET où on accède aux propriétés et aux fonctions des objets avec un point.

Juste une question, pour les fonctions, comment récupère-t-on les paramètres dans la fonction ? :confused:

Je voulais savoir si une telle version existera sous Linux ? Personnellement je ne pense pas, tu va surement mettre au point cette nouvelle version pour Windows avant de la porté pour Linux, n’est-pas ? :wink: Si ce n’est pas le cas alors je suis prêt à tester une version sous Linux !

Sinon le nouveau système d’expression me ravit, il va être plus ludique : c’est une bonne avancé, ça va je pense simplifier la compréhension des expressions, notamment pour ceux comme moi qui adore les choses simples ! :unamused: :laughing:

Je ne peut malheureusement pas t’aider donc mais je suit ce sujet avec intérêt ! :slight_smile:

Les deux marchent ( “direc” reste valide pour des questions de compatibilités avec les anciens jeux ).

C’est corrigé.
Une fois ceci modifié, d’autres problèmes ?

En fait, il fait même penser à la majorité des langages de programmation où l’on accèdes aux fonction membres des objets avec un point, et où on effectue des appels de fonctions avec des parenthèses.

Ils sont accessibles à travers l’éditeur de texte ( Vu que les paramètres passés sont des textes ). Si tu a besoin de récupérer un paramètre en tant que nombre, il faut utiliser ToNumber() dans l’éditeur d’expression en mettant entre parenthèses l’expression texte. Ca donne ça par exemple :

ToNumber(Function::CurrentFunctionParameter(0))

Il n’y a d’ailleurs pas encore d’aide là dessus, mais il est possible d’utiliser une expression texte et de convertir le résultat en nombre avec ToNumber, et inversement d’effectuer un calcul et de l’insérer dans un texte avec ToString.

Je sortirai en effet en premier la version normale pour Windows puis celle pour Linux, je ne compte pas compiler cette version de test pour Linux.

C’est déjà plus élégant que les anciens OBJ/VAL/GBL, et aussi beaucoup plus puissant.

OK Gros test encore une fois :smiley:
C’est bien de voir gd évoluer :smiley:
Tu pense sortir la version définitive quand? :smiley:
Merci :smiley:

Quand ce sera prêt :wink:

OK
Dernière question:
Y a t-il le rectangle de sélection dans cette version?
Je ne l’ai pas vu c’est pour ça que je pose cette question :smiley:

ça a été dit dans un sujet. Va voir!

Non je je plaisante, oui c’est bon.

Il me semble pourtant en voir un en restant cliquer avec le bouton gauche :wink:

Dans la toute dernière version?

Car moi je n’ai que l’avant dernière.

Dans la version de test dont on parle dans ce sujet.

Ben, non, direc ne fonctionne pas, mais mon jeux ne changeait pas la direction du fusil en fonction de la direction du perso, en remettant direction, cela marchais. :confused:

Ah oui en effet, j’ai aussi corrigé ça.

Pour le rectangle de sélection, pour moi il reste introuvable :frowning:

Il te suffit de maintenir le clic gauche et de glisser la souris.
D’ailleurs, il marche super bien le rectangle de sélection. :smiley:

Et on peut supprimer tout ce qu’il y a dedans :confused:

Oui on peux, désolé mais en fait y a eut un problème qui fait que ça n’as pas remplacé les fichiers, du coup j’étais sur la version précédente. :frowning:
Donc il marche bien mais peut-on s’en servir pour mapper comme dans le mp que je t’avais envoyé?
Merci :smiley:

C’est en effet plus simple de compiler la Windows puis la Linux ! En même temps ça ne me dérange pas c’est débugger dès que ça arrive ! No soucis ! :sunglasses:
Il me reste à être patient ! Je sais faire ! :slight_smile:

J’ai corrigé des problèmes en rapport avec les fichiers, les coordonnées des points, et un bug/crash lorsque les paramètres des fonctions étaient invalides.