Login: Pass:
MrXXS
Administrateur


Inscrit le: 11 Juin 2005
Messages: 488
Message Posté le: 13/10/2006 15:04 Sujet du message: [Réflexion] Amélioration du NwScript

Bon, autant prévenir tout de suite, ce que je vais dire est pour l'instant purement hypothétique. Je le fais simplement dans le but de lancer la réflexion, histoire de préparer le terrain au cas ou quelqu'un (moi ou un autre) s'avère être motivé pour réaliser un tel projet.

Ceci étant dit, après avoir retrouvé et lu l'article de Torlack au sujet du format NCS, je me rends compte qu'il serait tout à fait possible d'apporter des améliorations au NwScript.

C'est une idée que j'avais en tête depuis un moment, mais je ne savais pas trop comment aborder le problème, créer un préprocesseur générant du véritable NwScript compréhensible par le compilateur d'origine ou bien repartir à la base et créer un compilateur générant des fichiers NCS compréhensibles par le jeu mais incompilables par le toolset de base.

Après réflexion, donc, il semblerait que la seule manière d'apporter de réelles améliorations au langage soit de contourner le compilateur tel qu'il est (impossible de gérer facilement les pointeurs, etc...).

Pour résumer et pour expliquer un peu le but de ce post, j'aimerai que les personnes intéressées, c'est à dire, les scripteurs potentiels me donnent un peu leur avis de ce qui manque au langage (tableaux, pointeurs, POO...) et leur opinion du projet.

En espérant un peu d'enthousiasme de votre part... Wink

Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
Lotus



Inscrit le: 13 Oct 2006
Messages: 42
Message Posté le: 13/10/2006 16:07 Sujet du message:
A mon humble avis, le concept manquant le plus cruellement est celui de tableau, voire encore mieu, celui de collection (ex : liste, sets, hashtables, etc.).

Il manque aussi la possibilité d'associer à des objets NWN (ex : les aires, le module, les plaçables, etc.) des variables statiques (c-a-d celles que l'on trouve dans le champs "variables" des propriétés de l'objet) de types construits par l'utilisateur (struct), seul les types primitifs étant possibles à l'heure actuelle.

Pour l'orientation objet, même si j'en suis un ardent supporteur en tant que programmeur, j'ai beaucoup de doutes quant à son exploitabilité par le plus grand nombre des scripteurs NWScript. De plus, ça m'a l'air le plus dur à implanter (liaison dynamique et polymorphisme, héritage simple ou multiple, voire éventuellement méta-programmation ^^). Maintenant, si c'est possible, ben on va pas s'en plaindre Razz

voili Wink
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Gloirin



Inscrit le: 22 Juin 2005
Messages: 251
Message Posté le: 13/10/2006 20:02 Sujet du message:
Le pointeur.
Ca donnera au moins les listes.
Il est possible de faire un langae au dessus je pense pour générer du code gérant des tableau (avec déclaration de la taille à l'instanciation) un peu comme du Fortran 66 / 77
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Anthraxcite



Inscrit le: 26 Juil 2006
Messages: 94
Message Posté le: 15/10/2006 16:32 Sujet du message:
Pareil que Lotus, en fait on développe un système util pour nos deux mod respectifs qui aurait bien besoin d'un tableau.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Garrath



Inscrit le: 21 Oct 2005
Messages: 150
Message Posté le: 17/10/2006 9:11 Sujet du message:
Il manque les tableaux ca c'est clair.
On peut faire ce qu'on veut pour les emuler mais c'est pas aussi pratique et rapide que des tableaux.

Pour le reste par contre perso moi ca me va.
C'est cense etre un langage script ce qui sous entend en general simple, et accessible par tout le monde. Si on commence a faire de la POO ca sera plus le cas quoique en dise les pros de l'objet qui disent en regle general que l'objet c simple, ca n'est pas le cas, ca demande des concepts particuliers et une façon de pensee differente que ne demande pas le procedural. Donc non ca limiterait enormement le nombre de personne pouvant scripter correctement.
Les pointeurs... ben au final ils y sont deja mais pas totalement Wink mais bon de toutes façons ca arrangerait pas pour la simplicite du codage, et ca creerait bcq d'erreur Wink. Donc si on avait des tableaux, les listes on en aurait pas forcement besoin.

Donc pour moi la seule chose qui manque en terme de langage c'est les tableaux. Apres c'est plutot des fonctions particulieres qui permettrait d'acceder a plus de chose, pour une annalogie avec l'objet ca serait des getter/setter de toutes les proprietes des objets du jeux Wink
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Yellow.fr



Inscrit le: 23 Mai 2006
Messages: 13
Message Posté le: 17/10/2006 10:33 Sujet du message:
Pourvoir créer ces propres structures de données et les pointeurs.

Car les tableaux découlent des pointeurs, et les listes, elles découlent des structures et des pointeurs.

Après la POO, serais peut etre une bonne idée, pour faire des choses plus complexe. Mais passer le NWScript en orienté objet demandera surment beaucoup de travaille, car pour faire ca bien il faudrait tout convertir en class.

Garrath, le C++ et le PHP (par exemple), permettent de faire de la POO et du procedural, donc je pense que c'est possible de le faire avec le NWScript. Et puis apres tout, les gens sont pas forcé d'utilisé le NWScript amélioré pour débuté.

Pour finir le NWScript ressemble beaucoup au C, donc il serait peut être possible de faire se qu'a fait le C++ pour le C au NWScript.

M'enfin, je suis pas un expert...
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Gloirin



Inscrit le: 22 Juin 2005
Messages: 251
Message Posté le: 17/10/2006 11:02 Sujet du message:
On peut déjà faire des structures il me semble.

Dernière édition par Gloirin le 17/10/2006 12:21; édité 1 fois
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Yellow.fr



Inscrit le: 23 Mai 2006
Messages: 13
Message Posté le: 17/10/2006 11:21 Sujet du message:
Au temps pour moi.

C'est vrai, j'avais pas vue, mais c'est parsque j'ai pas très utilisé le script de NWN2 vue qu'il n'a pas moyen de tester.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Lotus



Inscrit le: 13 Oct 2006
Messages: 42
Message Posté le: 17/10/2006 11:55 Sujet du message:
Le gros problème est qu'on ne peut utiliser les structures que dans le code, on ne peut pas les rattacher à la propriété "variables" d'un objet, ce qui leur fait perdre une bonne part de leur utilité.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Garrath



Inscrit le: 21 Oct 2005
Messages: 150
Message Posté le: 17/10/2006 13:49 Sujet du message:
Lotus
Le gros problème est qu'on ne peut utiliser les structures que dans le code, on ne peut pas les rattacher à la propriété "variables" d'un objet, ce qui leur fait perdre une bonne part de leur utilité.

Exactement...
Reste a voir si on pourra les passer en parametre aux scripts maintenant vu qu'on peut passer des parametres (ce qui est l'utilite actuel de pas mal de variables locales).

Pour Yellow : Quand a la POO je crois qu'il y a d'abord des pb techniques de securite etc..., ca sous entendrait donner la main a quasi tout le jeu (car lui il doit etre en objet).
Ensuite effectivement on pourrait tj developpe en procedural, comme il y a encore pas mal de personne qui utilise le C++ comme du C... mais tu imagines que l'on aurait 2 races de developpeur sur les forums?

Sinon les structures sont deja dans le 1 mais quasi jamais utilise car justement on peut pas les passer en locale.

Pour moi si il n'y a pas de pointeurs et si c'est pas objet, ca facilite le developpement pour tout le monde, et ca evite d'enorme bugs, pb de securite et autres...
Le but est de fournir un langage simple ne risquant pas de faire tomber le serveur Wink
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Anthraxcite



Inscrit le: 26 Juil 2006
Messages: 94
Message Posté le: 17/10/2006 18:29 Sujet du message:
Sinon, il y aura je suppose toujours la possibilité de nwnx de définir des fonctions supplémentaire en C++. Au lieu d'avoir des fonctions qui modifie des éléments du jeux, on joue avec des instances externes, enfin je suis pas spécialiste en C++ et je n'ai jamais testé la charge que ça représente, je pense que ce serait bcp plus rapide à développer mais probablement moins efficace(quoique).
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Gloirin



Inscrit le: 22 Juin 2005
Messages: 251
Message Posté le: 2/11/2006 13:38 Sujet du message:
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   

Page 1 sur 1
Sauter vers:  

 

Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum

Traduction par : phpBB-fr.com
Powered by phpBB © 2001, 2007 phpBB Group