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 à code source ouvert du moteur de romans vidéoludiques NScripter, reposant sur SDL et sous la licence publique générale GNU version 2. 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é.


Page originale en anglais
Page en italien


/!\ Sur la traduction /!\

Cette traduction a été réalisée par un francophone de naissance.
Cette traduction s'adresse à plusieurs personnes et utilise le pronom personnel « vous ».
Prière de vous adresser à l'administrateur du site pour signaler toute erreur.


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 ».

Le texte d'origine appartient à son auteur !


Sommaire


ONScripter-EN

... Ainsi, nous avons ONScripter-EN : une version dérivée (« fork » en anglais, le terme « branche » sera également utilisé ci-après) conçue 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 prend pas totalement en charge l'anglais, DirectSound sous Windows, la détection du masque alpha des PNG, le redimensionnement des fenêtres 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 a été initialement bifurqué d'ONScripter par l'insani, puis 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é fermé fin 2018, avec pour conséquence que de nombreuses ressources sont devenues difficiles à trouver. Ainsi, j'ai fourni dans la section Archives publiques et miroirs des téléchargements d'ONScripter-EN les dernières versions stables, le code source, l'attirail/les outils pour (O)NScripter et la documentation pour tout besoin de développement.

Principes de base de l'exécution

Note : Il est impératif de disposer de la dernière version d'ONScripter-EN avant de tenter d'exécuter un jeu, surtout si votre système d'exploitation est récent. Voir la section Mettre à jour.

ONScripter-EN ne démarrera pas sans un fichier appelé « default.ttf » contenant la fonte dans le dossier du jeu aux côtés de l'exécutable. Étant donné que le moteur n'affiche que du texte à chasse fixe et que certains jeux comme Umineko et Tsukihime utilisent des glyphes japonais ou personnalisés dans leurs traductions anglaises, la police Sazanami Gothic est devenue la norme - la plupart des jeux tournant sur ONScripter-EN l'utilisent. Si vous écrivez votre propre roman et devez utiliser une fonte proportionnelle, consultez la section PONScripter ou la section ONSlaught.

Le NScripter d'origine avait une barre de menu qui permettait d'ajuster tous les paramètres ; elle n'a jamais été implémentée dans ONScripter pour des raisons de compatibilité, par conséquent des raccourcis sont utilisés pour accéder aux mêmes fonctions. Pour en avoir un aperçu, consultez le document (pour l'heure uniquement disponible en anglais) « lisezmoi » (« readme » donc).

Vous êtes également conviés à consulter la Liste des options connues pour le fichier de configuration ons.cfg.

Mise à l'échelle haute résolution

En plus de pouvoir appuyer sur la touche F pour le plein écran, vous pouvez, sur des versions raisonnablement récentes, redimensionner automatiquement vos jeux ONScripter-EN à pratiquement n'importe quelle taille, y compris, mais sans s'y limiter, au format 1080p. Le texte est magnifiquement redimensionné, ce qui rend la lecture en mode fenêtré beaucoup plus confortable. Pour redimensionner automatiquement une fenêtre, créez un document texte appelé « ons.cfg » dans le dossier racine du jeu. Ensuite, il suffit d'ajouter la ligne...

scale

ou bien

window-width=[largeur souhaitée en pixels]

Le paramètre « scale » ajuste automatiquement la fenêtre à la taille verticale maximale de votre écran, tandis que « window-width » vous permet de définir la valeur de votre choix. Notez que l'augmentation de la taille de la fenêtre réduira l'impact des ombres de texte, diminuera la fréquence d'images lorsque des effets complexes sont utilisés et pourra produire des bogues graphiques. En cas de dysfonctionnement, consultez la section Mettre à jour.
Note : Ce paramètre ne fonctionne pas avec les copies erronées de Kagetsu Tohya à cause d'un bogue dans son script - j'ai fait un correctif pour cela, qui inclut la dernière version d'ONS-EN (au moment de l'écriture), qui peut être trouvé ici. Veuillez consulter le document (pour l'heure uniquement disponible en anglais) « lisezmoi2.txt » (« readme2.txt » donc) pour les instructions et autres détails - il peut être trouvé dans l'archive téléchargeable via le lien ci-avant.

Mettre à jour

Il est virtuellement nécessaire de mettre à niveau tous vos jeux ONScripter vers la dernière version de ONScripter-EN. Il empêche les plantages sur les versions récentes de Windows, ajoute des fonctionnalités importantes qui n'étaient pas présentes auparavant, rend possible l'utilisation des paramètres avec le document de configuration « ons.cfg », et vous permet de conserver toutes vos sauvegardes dans un dossier dédié. Avant de déposer le dernier exécutable dans le dossier racine du jeu, créez un document texte appelé « game.id », contenant UNIQUEMENT le nom du jeu : cela détermine le nom du dossier dans lequel vos fichiers de sauvegarde seront entreposés (si vous négligez de le faire, vos sauvegardes seront entreposées dans un dossier au nom aléatoire). Ensuite, téléchargez la dernière version d'ONScripter-EN pour Windows (avec le binaire SDL.dll), Linux (x64) ou Mac OS X, et décompressez le tout dans votre dossier de jeu.
Note : Lorsque vous mettez à jour Umineko no Naku Koro ni, vous devez ajouter le paramètre « detect-png-nscmask » au fichier de configuration ons.cfg pour que les images en anglais s'affichent correctement.

Avec ces versions récentes d'ONScripter-EN, si rien n'est spécifié concernant l'emplacement des données de sauvegarde dans le script, les données de sauvegarde de chaque jeu sont conservées dans leur propre dossier à l'intérieur du dossier caché C:\ProgramData [en supposant que C: est le périphérique de stockage ou la partition principale] ou ~/. Ceci afin que les jeux puissent être conservés dans n'importe quel dossier, y compris ceux qui ne sont pas accessibles en écriture.

La version pour Windows avec le binaire SDL.dll est recommandée car elle prend en charge DirectSound, ce qui élimine le retard des effets sonores.

En raison des modifications apportées à Mac OSX, les versions existantes d'ONScripter-EN pour Mac présentent désormais de nombreux bogues. Vous devrez probablement compiler et essayer cette version dérivée légèrement mise à jour d'ONS-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 entreposer les fichiers de sauvegarde]
automode-time=[valeur en millisecondes]
skip-past-newline
ignore-textgosub-newline
no-movie-upscale
no-layers
detect-png-nscmask
allow-color-type-only
set-tag-page-origin-to-1
answer-dialog-with-yes-ok
strict
debug
waveout-audio (pour Windows afin de favoriser waveout plutôt que DirectSound)
match-audiodevice-to-bgm
nomatch-audiodevice-to-bgm
audiodriver [dev] (renseignez-vous sur « SDL_AUDIODRIVER »)
audiobuffer [taille en K.O. ; 1,2,4,8,16 acceptés]
no-cpu-gpx
use-app-icons
current-user-appdata

Tous les éléments ci-dessus peuvent également être passés comme options dans une invite de commande, par exemple :

onscripter-en --scale

Clarifions le rôle de certains des paramètres couramment utilisés ; les paramètres « english » (anglais) et « japanese » (japonais) sont utilisés dans les cas où vous devez forcer un mode de langue, « detect-png-nscmask » (trouve [le] masque NScripter [des] png) trouvera si les images au format PNG utilisent des masques alpha NScripter (ce paramêtre est requis pour Umineko), « strict » est utilisé pour traiter les avertissements de script plus comme des erreurs, et « debug » (déboguer) fera en sorte que les fichiers de sortie et d'erreur du moteur soient ouverts à la sortie du jeu ou à son plantage. Le fichier de configuration « ons.cfg » n'est pris en charge qu'à partir de la version 2009-09-30. Voir la section Mettre à jour.

ONScripter-EN sur d'autres plates-formes

Malheureusement, il est rare qu'ONScripter-EN soit porté sur des plates-formes moins courantes, car ONScripter est plus attrayant du fait qu'il est encore maintenu. Toute personne tentant de faire un portage à l'avenir doit savoir qu'une régression dans la bibliothèque logicielle SDL_ttf fait que la dernière version ne fonctionne pas avec ONScripter-EN, ce qui signifie que vous devez modifier SDL_ttf ou utiliser une version antérieure pour que cela fonctionne.

ONScripter-EN a été porté sur OpenBSD avec des dépendances mises à jour et sera, espérons-le, inclus dans la collection des portages un jour (voir l'article « ports collection » sur la wikipédia en anglais).
Je pense qu'un portage sur OS/2 d'IBM et un portage sur PlayStation Vita satisferaient pleinement les communautés respectives de personnes de loisir. Si vous êtes un développeur expérimenté sur l'une ou l'autre plate-forme, tout effort serait grandement apprécié. Voici un très vieux portage d'ONScripter vers OS/2 pour les personnes intéressées.

PONScripter

PONScripter est l'abréviation de « Proportional ONScripter » (ONS. proportionnel). Il s'agit essentiellement d'une version dérivée d'ONScripter qui prend en charge Unicode, de sorte que les polices proportionnelles et de nombreux autres langages sont pris en charge, et le moteur est généralement plus flexible et plus moderne. Cependant, il a été bifurqué à un stade antérieur du développement d'ONScripter et a été abandonné peu après, donc même dans les dernières branches maintenues, il est très instable. Il utilise beaucoup plus de ressources, présente beaucoup plus de bogues et de problèmes de comportement, et n'est pas entièrement rétrocompatible avec NScripter ou ONScripter. La prise en charge des noms de fichiers japonais est abandonnée et de nouvelles routines et syntaxes sont nécessaires, de sorte que le portage d'un jeu NScripter vers celui-ci est un effort nettement plus exigeant. PONScripter possède un mode hérité (« «legacy» ) qui exécute 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 des effets personnalisés que peuvent reproduire 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 NScripter font appel à des DLL externes qui ont ensuite été incorporées dans ONScripter-EN via l'émulation, ce qui constitue un énorme inconvénient pour PONScripter. La branche principale d'ONScripter prend maintenant en charge les polices proportionnelles et unicode, de sorte que PONScripter peut presque être considéré comme obsolète, excepté que PONScripter a toujours la meilleure 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 éparse, mais la plus récente est hébergée ici.

PONScripter est aujourd'hui utilisé dans les localisations Steam des jeux NScripter, le code a donc été bifurqué par SekaiProject pour le tenir activement maintenu et ajouter la prise en charge de SDL2. Vous pouvez le trouver ici sur GitHub. La Witch Hunt en a fait sa propre version dérivée, et l'utilise pour sa traduction de Ciconia no Naku Koro Ni. Les nombreuses versions de PONS et les changements entre elles peuvent causer des problèmes importants lorsqu'on essaie de faire tourner des jeux sur la dernière version. Le dépôt du PONScripter de la Witch Hunt peut être trouvé ici.

Bien que PONScripter soit hautement favorisé pour les traductions commerciales, simplement parce qu'il est toujours maintenu pour la communauté occidentale, son instabilité peut poser des problèmes. Si vous êtes traducteur et que votre langue comporte des caractères spéciaux tels que des diacritiques, il peut être préférable d'utiliser ONScripter-EN et de modifier une fonte pour attribuer des caractères spéciaux à tous les caractères pris en charge et non utilisés. De nombreuses traductions l'ont fait, comme la traduction anglaise de Mirror Moon de Tsukihime qui attribue le caractère « … » au caractère « | ». Cette méthode vous épargne une quantité incroyable de maux de tête liés au moteur, mais au prix de la production d'un script légèrement plus compliqué à modifier.
Note de la traduction : il existe une fonte pour le français, voir ici (guide) ou (téléchargement direct) ou encore là-bas (illustration).

ONScripter-RU

ONScripter-RU est une énième version dérivée, mais qui n'est vraisemblablement pas pour vous. Si vous voulez faire une traduction russe de quelque chose, envisagez plutôt d'utiliser PONScripter ou ONSlaught. La seule utilisation principale d'ONScripter-RU est l'« Umineko PS3 project », et il ne fonctionne pas avec grand chose d'autre. Comme indiqué sur sa page Github, ONScripter-RU fait usage de ses propres bidouillages, donc ne vous attendez pas à une compatibilité croisée entre lui et d'autres interprètes/versions dérivées.

ONSlaught

Comme son nom unique le laisse supposer, ONSlaught n'était pas du tout une version dérivée, mais plutôt une tentative de programmer un interprète *NScripter à partir de zéro. Son développeur a été agaçé par (l'antérieure) non prise en charge d'Unicode par ONScripter, et par le fait que la prise en charge des langues autres que le japonais était fragmentée en plusieurs branches. ONSlaught prend en charge Unicode, peut simuler et le gras, et l'italique, et peut également faire tourner des jeux très basiques techniquement parlant comme Tsukihime et OMGWTFOTL, mais certaines fonctionnalités de base comme les lutins de texte ne fonctionnent pas. Il est beaucoup plus strict et cohérent dans sa syntaxe et sa gestion des erreurs ; vous devrez donc probablement apporter quelques modifications à votre script pour l'utiliser. Il est connu pour avoir été utilisé pour la traduction espagnole et la traduction russe de Tsukihime. ONSlaught a été abandonné en 2011, bien que le développeur soit peut-être prêt à corriger ses problèmes les plus graves.

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 tous les interprètes 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 vidéoludiques quand vous n'êtes pas sur ordinateur. Vous pouvez acheter la version sans publicité pour soutenir le développeur.

Il est à noter que, bien qu'il utilise un système plutôt farfelu, cet interprète est le seul qui peut se vanter de pouvoir prendre en charge les scripts codés en UTF-7 et en UTF-8, ce qui en fait une alternative viable aux interprètes dédiés aux langues autres que l'anglais et le japonais mais qui ne sont pas disponibles sur Android comme ONSlaught ou encore PONScripter. Pour couronner le tout, les fontes proportionnelles sont également prises en charge pour une lecture optimale.

Compilations pour Windows d'ONScripter

Comme la branche principale d'ONScripter inclut des instructions de compilation pour Windows mais pas de compilation proprement dite, j'ai entrepris de faire mes propres compilations Windows 64 bits pour votre commodité. J'avais l'intention de les mettre à jour avec chaque nouvelle version, mais j'ai eu un problème avec l'activation et le forçage du paramètre « 1BYTE_CHAR » au moment de la compilation, donc je vais laisser celles-ci ici pour le moment. Notez qu'ONScripter ne dispose pas de plusieurs fonctionnalités importantes qui ont été incluses dans -EN plusieurs années auparavant, donc il ne répondra probablement pas à vos besoins en matière de scripts en anglais, à moins que le jeu que vous essayez d'exécuter ait été créé très récemment.
Je voulais vraiment faire une version 32 bits, puisqu'en utiliser 64 est extravagant pour ce cas d'utilisation, mais Ogapee n'a pas fourni de moyen de le faire sous Windows.

ONScripter - Version : onscripter-20191022

Compilations :

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

Archives publiques et 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 la Wayback Machine. Ces téléchargements sont absolument inchangés par rapport à ceux qui se trouvent sur ce site et sont mis à disposition ici uniquement pour vous faciliter la tâche. Tous les logiciels disponibles dans cette section sont sous licence GNU GPL. Notez que la version Mac est maintenant assez ancienne et qu'elle devrait comporter des bogues - si vous utilisez un Mac moderne, utilisez cette version mise à jour.

ONScripter-EN - Version : onscripter-en-20110628

Compilations :

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

Paquets du code source :

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

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

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

Ressources générales

J'ai téléversé un miroir de la dernière version de la documentation *NScripter en anglais pour votre commodité : XML structuré ; HTML.

Pour accéder à ce qui reste de la page officielle d'ONScripter-EN/PONScripter, R.D.-V. au coin ONScripter d'Uncle Mion (Wayback Machine).

La page relative à NScripter d'un ancien mainteneur d'ONScripter-EN, l'insani (ici en français), est toujours en ligne. Le site d'Haeleth est malheureusement hors ligne depuis le printemps 2020 environ. Les compilations et le code source de ces pages sont très obsolètes, mais vous pourriez encore les trouver utiles - en particulier, l'insani héberge l'attirail de développement et les outils d'extraction de NScripter, dont nous n'avons plus besoin mais qui ont toujours leur utilité. Consultez également la page principale d'insani.org pour de nombreux jeux NScripter gratuits traduits en anglais - consultez la section Mettre à jour avant d'exécuter tout jeu obtenu là-bas.

Si vous savez lire le japonais, la documentation de Senzogawa intitulée « NScripter Scripting Factory » est toujours en ligne et contient des informations relativement récentes sur l'IPA (souvent écrit avec l'abréviation anglaise « API ») de NScripter, comme une documentation sur nslua.

Jeux

Quelques brèves mentions de jeux populaires traduits en anglais tournant sur ONScripter-EN ; voir la liste complète (pour l'heure uniquement disponible en anglais) 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.

En conclusion

Si vous êtes des programmeurs C++ ayant un intérêt particulier pour les romans vidéoludiques, ONScripter-EN aurait bien besoin d'une mise à jour. Quelques instructions ont été ajoutées depuis sa version finale en 2011 ; la plus importante étant l'instruction ;$ qui permet de définir des résolutions d'écran larges personnalisées. Cette seule commande permettrait à ONScripter-EN de faire tourner beaucoup plus de jeux et ouvrirait plus de possibilités pour les nouveaux projets fait avec ce moteur. Il est impératif que l'on nettoie le code source et que l'on utilise un nouveau système pour compiler le programme. Si vous pensez être en mesure de tenter une telle démarche, contactez-moi.
Note de la traduction : l'auteur indique qu'il ne souhaite que peu « travailler avec des méditerranéens ».

Anecdotes