Les précédents titres Bethesda de la série Elder Scrolls – Morrowind et Oblivion – et des jeux basés sur le moteur Oblivion, “Fallout 3” et “Fallout: New Vegas” utilisent en interne un langage de script personnalisé, généralement appelé “TESScript”.Une plainte commune est que cela est très limité, en gros Juste à droite Laissez un jeu particulier fonctionner normalement, rien de plus (par exemple, la version d’Oblivion n’a même pas d’instruction de boucle). Cela nécessite le développement de soi-disant “extensions de script” (MWSE, OBSE, FOSE et NVSE, respectivement) pour que ce langage se développe rapidement.
Bethesda a-t-elle pris la critique au sérieux et implémenté un autre langage de script complet dans Skyrim – si oui, lequel?
Les détails spécifiques sur le langage de script n’ont pas été annoncés, mais ils n’utilisent pas le même langage de script qu’Oblivion et ont construit un tout nouveau langage pour Skyrim (plus d’informations sur les scripts de Skyrim). Il est supposé que le langage est plus large que les langues précédentes et peut avoir des fonctionnalités suffisantes sans nécessiter d’extensions, mais il reste à voir une fois qu’il sera officiellement publié.
Les résultats du projet Skyrim Script Extender indiquent que l’ancien langage de script existe toujours (voir: une liste complète des commandes, y compris des références à VATS et Pipboy), mais il existe un autre deuxième, Y compris un langage de script basé sur VM appelé “Papyrus”. Pour citer ianpatt dans le forum du mod Skyrim:
Il est temps de commencer à le soumettre au sujet “Discussion sur la recherche technique interne de Skyrim”. Cette fois, nous semblons avoir deux moteurs de script complètement différents dans le jeu. L’un est le système classique utilisé dans les jeux précédents, et il semble presque identique à travers un rapide coup d’œil. Le vidage des commandes arrive bientôt.
Le nouveau est plus intéressant, il semble s’appeler Papyrus ou SkyrimVM. Il se peut que nous devions attendre que l’éditeur de version obtienne des informations sur la syntaxe, car le code source original du script ne semble pas être dans le .esm (à moins qu’il ne soit compressé). Cependant, pour autant que je sache, ceci est un bref résumé des fonctionnalités. Veuillez prendre un peu de sel pour obtenir les choses pour le moment, ce n’est que le premier regard.
- Les types de variables de base sont float, int, string et bool
- Le tableau ci-dessus est pris en charge nativement
- Le script est interprété comme un ensemble d’opcodes plus simples mais plus puissants
- Si l’opcode de branche conditionnelle prend en charge les décalages négatifs, la boucle est facile à implémenter (et peut déjà être implémentée)
- Le nouveau système est orienté objet – tous les scripts sont des instances de classe (affectées par UnrealScript ici)
- Le script compilé est stocké dans un fichier séparé, décompressez Misc.bsa et trouvez-le dans le dossier scripts
- La classe prend en charge l’héritage, et il semble y avoir une classe vm-world qui correspond au type de formulaire interne
Origines: gaming.stackexchange.com