Bienvenue au coin ONScripter de chaoskaiser72 !

... Et parce qu'il se pourrait que ce soit ces petits romans vidéoludiques, écrits par de petites mains et fonctionnant sur de petits systèmes qui soient les dernières et les meilleures réalités virtuelles que nous avons ...
-Narcissu

ONScripter est une implémentation libre et open source du moteur de roman vidéoludique NScripter, basé sur SDL et sous licence GNU Public License v2. Il permet à de nombreux romans vidéoludiques connus de fonctionner sur une pléthore de plates-formes telles que Linux, BSD, Mac, OS/2 et un certain nombre de consoles de jeux ; plus important encore, il peut être facilement modifié par la communauté.

Voir la page originale en anglais

Sommaire


ONScripter-EN

...Par conséquent, nous avons ONScripter-EN - un fork conçu pour mieux gérer les scripts anglais contenant des caractères d'un octet. Bien que l'ONScripter d'origine soit toujours maintenu, il ne dispose pas d'une prise en charge complète de l'anglais, la prise en charge de DirectSound sur Windows, la détection de masque alpha PNG, la mise à l'échelle de la fenêtre et de nombreuses implémentations de DLL d'effets : tous ces éléments ont été ajoutés à ONScripter-EN il y a longtemps. ONScripter-EN est, à l'origine, un fork créé par le groupe insani, il a été ensuite transmis à Haeleth et a fini dans les mains d'Uncle Mion du groupe Sonozaki Futago-tachi. Il a été abandonné en 2011 et le site de Mion a été mis hors ligne fin 2018, ce qui a rendu de nombreuses ressources difficiles à trouver. C'est pourquoi j'ai mis à disposition la section Miroirs des téléchargements pour les dernières versions stables et le code source, ainsi que la documentation concernant les commandes pour (O)NScripter pour tous les besoins de développement.

Principes de base de l'exécution

Note : il est impératif de mettre à jour la dernière version d'ONScripter-EN avant de tenter d'exécuter un jeu, en particulier sur un système d'exploitation récent. Voir section Mettre à jour.

ONScripter-EN ne démarrera pas sans un fichier de fonte (terme souvent confondu avec le terme connexe « police ») nommé « default.ttf » dans le dossier du jeu. Étant donné que le moteur n'affiche que du texte avec une largeur fixe et que certains jeux comme Umineko et Tsukihime utilisent des glyphes japonais ou personnalisés dans leurs traductions en anglais, Sazanami Gothic est la police standard pour la plupart des versions. Si votre jeu n'a pas de default.ttf , déposez ceci dans le dossier du jeu. Si vous créez votre propre roman vidéoludique et que vous devez utiliser une fonte proportionnelle, consultez la section « PONScripter ».

Le NScripter d'origine a une barre de menus qui permet d'ajuster tous les paramètres ; comme il n'a jamais été implémenté dans ONScripter, il faut utiliser des raccourcis clavier pour accéder à ces mêmes fonctions. Pour un aperçu de ces fonctions, consultez le fichier Lisezmoi (en anglais).

Veuillez également consulter la section « Liste des options connues pour le fichier de configuration ons.cfg ».

Mise à l'échelle haute résolution

En plus d'appuyer sur F pour le plein écran, vous pouvez, sur les versions raisonnablement récentes, adapter vos jeux ONScripter-EN à pratiquement toutes les tailles, y compris, mais sans s'y limiter, à une résolution de 1080p. Le texte est magnifiquement mis à l'échelle et rend la lecture en mode fenêtré beaucoup plus confortable. Pour redimensionner une fenêtre, créez un fichier texte nommé ons.cfg dans le dossier du jeu. Ensuite, ajoutez simplement la ligne...

scale

ou

window-width=[desired width]

La commande « scale » adapte automatiquement le jeu à la taille verticale maximale de votre écran, tandis que la commande « window-width » vous permet de définir la valeur de votre choix. Notez que l'agrandissement de la fenêtre réduira l'impact des ombres du texte, diminuera le nombre d'images par seconde lorsque des effets gourmands en ressources sont utilisés et peut résulter en des images saccadées. Si cela ne fonctionne pas, consultez la section « Mettre à jour ». Si cela ne fonctionne toujours pas, faites-le moi savoir et je corrigerais le script pour vous.
Note : cette option de configuration ne fonctionnera pas par défaut avec le jeu Kagetsu Tohya en raison d'un bogue dans son script : j'ai fait un correctif pour cela avec la dernière version d'ONS-EN que vous pouvez trouver ici. Veuillez consulter le fichier readmi.txt du correctif pour plus de détails.

Mettre à jour

Il est pratiquement nécessaire de mettre à jour tous vos jeux ONScripter vers la dernière version d'ONScripter-EN. Ce dernier corrige les plantages sur les versions récentes de Windows, ajoute des fonctionnalités importantes qui n'étaient pas présentes auparavant, permet d'utiliser les options ons.cfg et vous permet de conserver tous vos fichiers de sauvegarde dans un dossier approprié. Avant de déposer l'exécutable le plus récent dans votre dossier de jeu, créez un fichier texte nommé game.id, contenant UNIQUEMENT le nom du jeu : cela détermine le nom du dossier dans lequel vos fichiers de sauvegarde seront stockés (si vous ne le faites pas, les sauvegardes sont stockées dans des dossiers nommés au hasard, « ONScripter-23c3f4 » par exemple). Ensuite, téléchargez la dernière version d'ONScripter-EN pour Windows (avec SDL), Linux (x64), ou Mac OS X, et décompressez-la dans votre dossier de jeu.
Note : Lors d'une mise à jour pour Umineko no Naku Koro ni, vous devez ajouter « detect-png-nscmask » dans votre fichier ons.cfg pour que les images de la version anglaise s'affichent correctement.

Avec ces versions récentes d'ONScripter-EN, les fichiers de sauvegarde de chaque jeu sont conservés dans leur propre dossier dans le dossier caché C:\ProgramData (Windows 7+) ou ~/ (Linux/BSD). Ainsi, les jeux peuvent être conservés dans n'importe quel dossier, même ceux qui ne sont généralement pas modifiables.

La version de Windows avec SDL.dll séparée est recommandée en raison de sa prise en charge de DirectSound, qui élimine le décalage des effets sonores.

En raison des changements apportés à Mac OS X, les versions existantes d'ONScripter-EN pour Mac comportent désormais de nombreux bogues. Vous devrez probablement essayer ce fork légèrement mise à jour d'ONScripter-EN pour Mac, qui pourrait résoudre les problèmes que vous pourriez rencontrer.

Liste des options connues pour le fichier de configuration ons.cfg
english
japanese
scale
window-width=[valeur en pixels]
root=[chemin alternatif vers les ressources du jeu]
save=[chemin alternatif pour stocker les fichiers de sauvegarde]
automode-time=[valeur en millisecondes]
no-movie-upscale
detect-png-nscmask
allow-break-outside-loop
allow-color-type-only
set-tag-page-origin-to-1
answer-dialog-with-yes-ok
strict
debug

Tous les paramètres ci-dessus peuvent également être passés en tant qu'options de ligne de commande au moment de l'exécution, par exemple :

onscripter-en --scale

Parmi les options couramment utilisées, « english » et « japanese » sont utilisés dans les cas où il est nécessaire de forcer un mode de langue, « detect-png-nscmask » détecte si les fichiers PNG utilisent des masques alpha NScripter (nécessaires pour Umineko), « strict » est utilisé pour traiter les avertissements de script comme des erreurs, et « debug » fera que la sortie du moteur et les fichiers d'erreur s'ouvriront à la sortie ou plantage du jeu. Les fichiers ons.cfg ne sont pris en charge qu'à partir de la version 2009-09-30. Voir section « Mettre à jour ».

ONScripter-EN sur OpenBSD

Il a été porté et fonctionne ! Toutes les dépendances ont été mises à jour avec leurs dernières versions dans le dêpot du port, à l'exception de SDL_ttf qui refuse d'afficher le texte si la mise à jour est trop importante. Il y a quelques bogues à corriger, mais j'espère qu'ONScripter-EN recevra d'autres portages pour d'autres plateformes.

PONScripter

PONScripter est l'acronyme de « Proportional ONScripter » (litt. « ONScripter proportionnel »). Il s'agit essentiellement d'un fork d'ONScripter qui prend en charge Unicode, donc les polices proportionnelles et de nombreux autres langues sont prises en charge, et il est considéré comme plus flexible et moderne. Cependant, PONScripter a été l'objet de plusieurs forks à un stade précoce du développement d'ONScripter et a été abandonné peu de temps après, de sorte que même sur les dernières versions de ces forks, le moteur est encore instable. Il utilise un peu plus de ressources, présente beaucoup plus de bogues et de problèmes de comportement et n'est pas entièrement rétrocompatible avec et NScripter, et ONScripter. La prise en charge des noms de fichiers japonais a été abandonnée et de nouvelles routines et syntaxes sont nécessaires, le portage d'un jeu NScripter vers PONScripter est donc une tâche beaucoup plus complexe. PONScripter a un mode de compatibilité (appelé « legacy ») qui peut exécuter les jeux NScripter et ONScripter-EN tels qu'ils ont été écrits, mais la plupart de ses problèmes sont toujours présents. Plus important encore, PONScripter ne prend pas en charge certains effets personnalisés comme le font NScripter et ONScripter, ce qui fait que la version MangaGamer d'Umineko et toutes les versions d'Umineko Saku sont totalement dépourvues d'effets de pluie animée. De nombreux titres faits sur NScripter utilisaient des DLL externes (Higurashi Hou en a utilisé six, sans compter les plugins de décodage) qui ont ensuite été fusionnés dans ONScripter et ONScripter-EN par émulation, ce qui présente donc un énorme inconvénient pour PONScripter. La branche principale d'ONScripter prend désormais en charge à la fois les fontes proportionnelles et Unicode, de sorte que PONScripter peut presque être considéré comme obsolète, à l'exception du fait que PONScripter a toujours la meilleur prise en charge pour les langues occidentales.

Les fichiers de configuration se présentent sous la forme d'un fichier nommé « pns.cfg », bien que les options « window-width » et « scale » ne soient pas prises en charge. La documentation est plutôt rare, mais les dernières pages de manuel sont hébergées ici.

PONScripter est utilisé de nos jours dans les localisations pour Steam de jeux NScripter, par exemple, SekaiProject a son propre fork afin de le maintenir activement à jour et d'ajouter la prise en charge de SDL2. Vous pouvez le trouver ici sur Github. Le fork de Witch Hunt est basé sur celui de Sekai Project et est utilisé pour la traduction de Ciconia no Naku Koro Ni. Les nombreuses versions de PONS et leurs modifications peuvent causer des problèmes importants lorsque l'on essaie de faire tourner des jeux sur la dernière version. Le dêpot du fork de PONScripter du groupe Witch Hunt peut être trouvé ici.

Bien que PONScripter soit très apprécié pour les traductions commerciales simplement en raison du fait qu'il est toujours maintenu pour la communauté occidentale, son instabilité poser des problèmes. Si vous êtes un traducteur et que votre langue comporte des caractères spéciaux tels que des signes diacritiques, vous trouverez peut-être préférable d'utiliser ONScripter-EN et de modifier une fonte pour attribuer des caractères spéciaux à toutes les lettres prises en charge et non utilisées. De nombreuses traductions ont fait cela, comme la traduction anglaise de Tsukihime par Mirror Moon qui a changé le caractère « … » en « | » . Cette méthode vous évite une quantité incroyable de maux de tête à bidouiller le moteur, mais au prix de la production d'un script un peu plus compliqué à éditer.

ONScripter-RU

ONScripter-RU est encore un autre fork, mais il n'est probablement pas pour vous. Si vous souhaitez faire une traduction russe de quelque chose, utilisez simplement PONScripter. La seule utilisation majeure d'ONScripter-RU est le Umineko PS3 project (une nouvelle version PC en haute définition à base d'éléments du port PS3), la raison étant évidemment que les développeurs sont russes, et pour une raison quelconque, et pour une raison quelconque ne pouvaient pas utiliser PONScripter. Comme indiqué sur sa page Github, ONScripter-RU utilise ses propres hacks, alors ne vous attendez pas à une compatibilité mutuelle entre ce fork et les autres forks.

ONSlaught

Comme son nom l'indique, ONSlaught n'est pas du tout un fork, mais plutôt une tentative de programmer un interpréteur NScript à partir de zéro. Le développeur a été agacé par le fait qu'ONScripter ne supportait pas (auparavant) Unicode, et que la prise en charge des langues autres que le japonais était répartie sur toute une série de forks. ONSlaught prend en charge Unicode et est capable d'exécuter des jeux très basiques techniquement parlant tels que Tsukihime et OMGWTFOTL, mais les fonctionnalités de base d'ONScripter ne fonctionnent tout simplement pas, et il ne parvient tout simplement pas à démarrer de nombreux jeux - ou à charger de nombreuses images -. Il a été utilisé dans la traduction espagnole de Tsukihime. ONSlaught a été abandonné en 2011, et le développeur n'a fait aucune annonce concernant sa fin.

ONScripter Plus

ONScripter Plus est une application Android qui permet d'exécuter des jeux ONScripter et ONScripter-EN à peu près comme il se doit. De toutes les applications d'ONScripter sur Android, c'est celle que je conseillerais le plus. Il comporte quelques bogues et peut avoir des problèmes de fichiers de sauvegarde, mais c'est un excellent moyen de lire des romans vidoludiques quand vous n'êtes pas sur ordinateur. Vous pouvez acheter la version sans publicité pour soutenir le développeur.

Si vous avez une vieille version de l'application (il serait plus judicieux de la mettre à jour) ou un problème quelconque et qu'ONScripter Plus ne lit que le dossier racine du jeu auquel vous jouez, donc dans le cas de romans vidéoludiques comme Umineko qui ont le script anglais dans un dossier séparé, vous pouvez tenter cette astuce (pensez à faire une sauvegarde avant si cela ne marche pas) : déplacez le nscript.dat anglais à la racine du dossier d'Umineko en remplaçant l'original. Ensuite, utilisez l'outil ONScripter nommé « nsadec » pour décompresser tous les fichiers arc.nsa anglais et japonais, puis écrasez les dossiers japonais avec les dossiers anglais, et enfin, recompressez les dossiers arc dans leurs fichiers nsa numérotés respectifs en utilisant les outils, en l'occurence ici, l'outil « nsamake ». Cela peut être difficile à faire, mais cela devrait certainement fonctionner si vous mettez tout là où il faut.

Version compilées d'ONScripter pour Windows

Comme la branche principale d'ONScripter comprend des instructions de compilation pour Windows mais pas encore de véritables compilations, j'ai pris l'initiative de faire mes propres versions de Windows 64 bits pour votre commodité. J'avais l'intention de les mettre à jour à chaque nouvelle version, mais il semble qu'Ogapee ait supprimé la possibilité d'activer les paramètres « ENABLE_1BYTE_CHAR » et « FORCE_1BYTE_CHAR » dans les sources, je vais donc les laisser ici pour l'instant. Notez qu'ONScripter manque de plusieurs fonctionnalités importantes qui ont été incluses dans -EN de nombreuses années auparavant, donc il ne conviendra probablement pas à vos besoins de script en anglais, à moins que le jeu que vous essayez d'exécuter n'ait été fait très récemment.

ONScripter - Version : onscripter-20191022

Versions compilées :

Windows, version 64 bits par défaut (1,96Mo)
Windows, version 64 bits avec le paramètre « ENABLE_1BYTE_CHAR » (1,96Mo)

Miroirs des téléchargements d'ONScripter-EN

J'ai téléversé les mêmes téléchargements d'ONScripter-EN et des outils ONScripter qui se trouvaient sur la page « Releases » du site d'Uncle Mion, maintenant archivée sur archive.org. Ces téléchargements sont absolument inchangés par rapport à ceux qui se trouvent sur ce site, et sont uniquement destinés à vous faciliter la tâche. Tous les logiciels disponibles dans cette section sont sous licence GPL. Notez que la version Mac est maintenant assez ancienne et qu'elle devrait comporter des bogues - si vous êtes un utilisateur d'une version moderne Mac, utilisez cette version mise à jour.

ONScripter-EN - Version : onscripter-en-20110628

Versions compilées :

Windows, 32 bits, avec SDL.dll pour la prise en charge DirectSound (zip, 939Ko)
Windows, 32 bits (zip, 887Ko)
Mac OS X, version universelle (dmg, 1,94Mo)
Linux i386, version 32 bits compilée sur Ubuntu (tar.bz2, 919Ko)
Linux x86_64, version 64 bits compilée sur Ubuntu (tar.bz2, 1,02Mo)

Paquets du code source :

Code source (tar.bz2, 956Ko)
Code source avec dépendances (tar.bz2, 5,60Mo)
Outils ONScripter :

Version actuelle (2010-09-15, 15 septembre 2010)

Windows, 32 bits (zip, 1,24Mo)
Mac OS X, version universelle (dmg, 1,25Mo)
Linux i386, version 32 bits compilée sur Ubuntu (tar.bz2, 665Ko)
Linux x86_64, version 64 bits compilée sur Ubuntu (tar.bz2, 828Ko)

Ressources générales

J'ai téléversé un site miroir de la dernière version de la référence de commande NScripter en anglais pour votre commodité : Page XML structurée ici ; page HTML ici.

Pour les dernières versions existantes et le code source d'ONScripter-EN, les outils de manipulation des ressources ONScripter, ainsi que la version alpha originale de PONScripter, vous pouvez visiter le coin ONScripter d'Uncle Mion sur archive.org.

La page relative à NScripter d'anciens responsables d'ONScripter-EN, le groupe Insani, est toujours en ligne. Le site d'Haeleth a malheureusement fermé depuis le printemps 2020 environ. Les versions et le code source de ces pages sont très obsolètes, mais vous pouvez toujours y trouver une certaine utilité - en particulier car l'insani héberge le SDK NScripter japonais et les outils d'extraction, qui ne sont plus nécessaires mais qui ont toujours leur utilité. Consultez également la page principale d'insani.org pour de nombreux jeux NScripter gratuits traduits en anglais - notez que la version d'ONScripter utilisée dans ces traductions a tendance à planter sous Windows 8 et 10, consultez la section « Mettre à jour » si vous avez besoin d'aide.

Si vous savez lire le japonais, « NScripter Scripting Factory » de Senzogawa est toujours en ligne et contient les dernières informations sur l'API NScripter, comme la référence de la commande « nslua ».

Jeux

Quelques brèves mentions de jeux populaires traduits en anglais qui fonctionnent sur ONScripter-EN ; voir la liste complète ici.

Une liste non exhaustive de jeux utilisant PONScripter :

Vous constaterez que de nombreux sites de traducteurs renvoient à des liens de magasins en ligne ou téléchargements qui n'existent plus. Malheureusement, beaucoup de ces jeux sont épuisés depuis longtemps - même si vous en achetiez des copies d'occasion, les développeurs ne toucheraient rien. Par conséquent, vous devrez peut-être trouver des téléchargements sur Rutracker ou sur des sites similaires. Si vous optez pour cette solution, veuillez soutenir les développeurs d'origine de toutes les manières possibles, si cela est possible.

En conclusion

Si vous êtes un programmeur avec le courage nécessaire et que vous avez un besoin urgent de prise en charge pour les fontes proportionnelles ou les résolutions personnalisées, il est peut-être temps de créer un nouveau fork d'ONScripter capable d'allier compatibilité et la prise en charge d'autres langues. Bien que laisser derrière soi un tas de forks morts ne soit en aucun cas idéal, le temps passe et de nombreuses nouvelles choses ont été ajoutées à la fois à NScripter et à la branche principale d'ONScripter que les anciens forks ne peuvent tout simplement pas gérer. Par exemple, la résolution 1024x576 est devenue une résolution standard dans l'industrie du roman vidéoludique, comme on peut le voir dans des jeux NScripter plus récents tels que Trianthology et Shimaisou. Les polices proportionnelles permettent une lecture confortable et naturelle et offrent une plus grande flexibilité de style. Certains jeux NScripter en sont venus à utiliser des scripts Lua et la liste est longue. Les forks existants ont divergé il y a trop longtemps pour être raisonnablement mis à jour et, à ce rythme, les nouvelles traductions seront obligées d'avoir chacune leurs propres versions d'ONScripter pour répondre à leurs besoins, provoquant un cauchemar de compatibilité. NScripter n'est jamais mort, et il existe encore un monde d'histoires qui n'a pas été touché par beaucoup.

Anecdotes


Cette traduction est sous licence Creative Commons Zero (CC0)

CC0
To the extent possible under law, Anonymous has waived all copyright and related or neighboring rights to Traduction en français de la page web du « coin ONScripter de chaoskaiser72 ».