Jump to content

NScripter: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m v2.05 - Repaired 3 links to disambiguation pages - (You can help) - Fork (computing), Korean, SDK, 1 to be fixed - M programming language
Innomé (talk | contribs)
Redirects created
Line 146: Line 146:


== NScripter2 ==
== NScripter2 ==
<!-- A redirect is necessary -->
{{Expand section|date=April 2023}}
{{Expand section|date=April 2023}}
{{nihongo|NScripter2|エヌスクリプターツー|Enusukuriputātsū}}, also known by its [[working title]] Sunday Game Engine (SGE), is the successor to the NScripter [[game engine]], it is developed by Naoki Takahashi. The [[Software development kit|SDK]] is only available for [[Windows]].
{{nihongo|NScripter2|エヌスクリプターツー|Enusukuriputātsū}}, also known by its [[working title]] Sunday Game Engine (SGE), is the successor to the NScripter [[game engine]], it is developed by Naoki Takahashi. The [[Software development kit|SDK]] is only available for [[Windows]].
Line 163: Line 162:


== Scripter3 ==
== Scripter3 ==
<!-- A redirect is necessary -->
{{nihongo|Scripter3|スクリプタースリー|sukuriputāsurī}}, officially abbreviated as Scr3 is a [[Freeware|free]] [[Proprietary software|proprietary]] [[game engine]] developed by Naoki Takahashi between {{date|1998}} and {{date|1999}} functioning with its own [[script language]] which facilitates the creation of both [[Visual Novel|visual]] and [[sound novel]]s. The [[Software development kit|SDK]] is only available for [[Windows]]. It is the predecessor of NScripter, another Naoki Takahashi engine with a more flexible syntax and more functionalities; for example, NScripter natively supports images in [[JPEG|JPEG/JPG]] format while Scripter3 needs a [[Dynamic-link library|DLL]] named 'jpeglib.dll'.
{{nihongo|Scripter3|スクリプタースリー|sukuriputāsurī}}, officially abbreviated as Scr3 is a [[Freeware|free]] [[Proprietary software|proprietary]] [[game engine]] developed by Naoki Takahashi between {{date|1998}} and {{date|1999}} functioning with its own [[script language]] which facilitates the creation of both [[Visual Novel|visual]] and [[sound novel]]s. The [[Software development kit|SDK]] is only available for [[Windows]]. It is the predecessor of NScripter, another Naoki Takahashi engine with a more flexible syntax and more functionalities; for example, NScripter natively supports images in [[JPEG|JPEG/JPG]] format while Scripter3 needs a [[Dynamic-link library|DLL]] named 'jpeglib.dll'.
=== Characteristics ===
=== Characteristics ===
Line 181: Line 179:


=== ONScripter ===
=== ONScripter ===
<!-- A redirect is necessary -->
[[File:ONScripter Logo.png|alt=image showing red silhouettes on a white background and bordered by blue|thumb|ONScripter's Logo.]]
[[File:ONScripter Logo.png|alt=image showing red silhouettes on a white background and bordered by blue|thumb|ONScripter's Logo.]]
[[File:ONScripter Snake.png|alt=snake made of white squares going towards an apple represented by a green square - the score and other data are at the top right in white|thumb|ONScripter [[Snake game|Snake]] [[Clone (computing)|clone]].]]
[[File:ONScripter Snake.png|alt=snake made of white squares going towards an apple represented by a green square - the score and other data are at the top right in white|thumb|ONScripter [[Snake game|Snake]] [[Clone (computing)|clone]].]]
Line 213: Line 210:
There is a [[Mandarin Chine|Mandarin]] translation for ONScripter users of the {{date|2005-06-11}} English translation of Masato Sagara's {{date|2002-03-26}} NScripter documentation. This was started in {{date|2011}}, abandoned and then resumed and completed in {{date|2015}}. However, this translation is not considered to be particularly correct. The documentation is available online in both its original form and as blog posts.
There is a [[Mandarin Chine|Mandarin]] translation for ONScripter users of the {{date|2005-06-11}} English translation of Masato Sagara's {{date|2002-03-26}} NScripter documentation. This was started in {{date|2011}}, abandoned and then resumed and completed in {{date|2015}}. However, this translation is not considered to be particularly correct. The documentation is available online in both its original form and as blog posts.
==== ONScripter-EN ====
==== ONScripter-EN ====
<!-- A redirect is necessary -->
[[File:ONScripter-EN Logo.png|alt=image showing a red circle with three red flames on top|thumb|ONScripter-EN's logo; this logo comes from a play on words with the diminutive of the engine (ons-en, onsen) and the Japanese hot springs, called [[onsen]] in [[Japanese language|Japanese]]. This logo is the Japanese pictogram for hot springs ([[:ja:♨|♨]]<!-- Please, don't redirect to the English Wikipedia's article, this link redirects to the complete description of the pictogram (disponible on ja:温泉マーク), thanks. -->).]]
[[File:ONScripter-EN Logo.png|alt=image showing a red circle with three red flames on top|thumb|ONScripter-EN's logo; this logo comes from a play on words with the diminutive of the engine (ons-en, onsen) and the Japanese hot springs, called [[onsen]] in [[Japanese language|Japanese]]. This logo is the Japanese pictogram for hot springs ([[:ja:♨|♨]]<!-- Please, don't redirect to the English Wikipedia's article, this link redirects to the complete description of the pictogram (disponible on ja:温泉マーク), thanks. -->).]]
...
===== ONScripter-ANSI =====
===== ONScripter-ANSI =====
<!-- A redirect is necessary -->
ONScripter-ANSI is a [[Fork (software development)|fork]] of ONScripter-EN developed by Andy_Skull in early {{date|2008}} providing support for ANSI, which is a misnomer of the [[Windows-1252]] character set. This version is used a lot by translators aiming at languages using the [[Cyrillic alphabet]], it is notably stated that originally the software was mainly intended to be used for an aborted Russian translation of ''[[Umineko When They Cry]]''. The last version was released on {{date|2010-10-10}}, this version seems to be abandoned. ONScripter-ANSI is only available for computers running [[Windows]] with at least a [[32-bit architecture]].
ONScripter-ANSI is a [[Fork (software development)|fork]] of ONScripter-EN developed by Andy_Skull in early {{date|2008}} providing support for ANSI, which is a misnomer of the [[Windows-1252]] character set. This version is used a lot by translators aiming at languages using the [[Cyrillic alphabet]], it is notably stated that originally the software was mainly intended to be used for an aborted Russian translation of ''[[Umineko When They Cry]]''. The last version was released on {{date|2010-10-10}}, this version seems to be abandoned. ONScripter-ANSI is only available for computers running [[Windows]] with at least a [[32-bit architecture]].
===== ONScripter-RU =====
===== ONScripter-RU =====
<!-- A redirect is necessary -->
ONScripter-RU is a [[Fork (software development)|fork]] of ONScripter-EN developed from mid-{{date|2019}} with the aim of supporting the [[Russian language]]. The only major use of ONScripter-RU is the 'Umineko PS3 project' - a new high definition PC version based on elements of the PS3 port. The engine is released under the [[GNU General Public License|GPLv2]] and [[BSD licenses|BSD]] licenses. ONScripter-RU uses its own engine 'hacks', useful for the previously mentioned project, so it is not compatible with other ONScripter forks. ONScripter-RU's documentation is very incomplete. ONScripter-RU is compatible with the following platforms:
ONScripter-RU is a [[Fork (software development)|fork]] of ONScripter-EN developed from mid-{{date|2019}} with the aim of supporting the [[Russian language]]. The only major use of ONScripter-RU is the 'Umineko PS3 project' - a new high definition PC version based on elements of the PS3 port. The engine is released under the [[GNU General Public License|GPLv2]] and [[BSD licenses|BSD]] licenses. ONScripter-RU uses its own engine 'hacks', useful for the previously mentioned project, so it is not compatible with other ONScripter forks. ONScripter-RU's documentation is very incomplete. ONScripter-RU is compatible with the following platforms:


Line 229: Line 224:
* [[Windows]] (minimum version [[Windows XP#Service Pack 3|XP SP3+]]) ([[32 bits]])
* [[Windows]] (minimum version [[Windows XP#Service Pack 3|XP SP3+]]) ([[32 bits]])
===== PONScripter =====
===== PONScripter =====
...
<!-- A redirect is necessary -->

==== PNaCl ONScripter ====
==== PNaCl ONScripter ====
<!-- A redirect is necessary -->
PNaCl ONScripter is a [[fork (software development)|fork]] of ONScripter designed to incorporate Google's [[PNaCl|PNaCl sandbox technology]]. It allows its users to run NScripter games via [[HTML5]] and therefore specifically targets the [[Google Chrome|Chrome web browser]] by exporting the games as Chrome applications. This fork contains [[Software bug|bugs]] and lacks some features such as text input and mouse wheel actions.
PNaCl ONScripter is a [[fork (software development)|fork]] of ONScripter designed to incorporate Google's [[PNaCl|PNaCl sandbox technology]]. It allows its users to run NScripter games via [[HTML5]] and therefore specifically targets the [[Google Chrome|Chrome web browser]] by exporting the games as Chrome applications. This fork contains [[Software bug|bugs]] and lacks some features such as text input and mouse wheel actions.
===== NscPlayer =====
===== NscPlayer =====
<!-- A redirect is necessary -->
NscPlayer is a [[fork (software development)|fork]] of PNaCl ONScripter. It highlights the security that PNaCl technology offers, the user can play without worrying about malware potentially present in a game.
NscPlayer is a [[fork (software development)|fork]] of PNaCl ONScripter. It highlights the security that PNaCl technology offers, the user can play without worrying about malware potentially present in a game.


=== ONSlaught ===
=== ONSlaught ===
<!-- A redirect is necessary -->
<!-- Two redirects: ONSlaught and NONS. -->
Also known by its working title NONS, it is a [[Clone (computing)|clone]] of ONScripter designed by Víctor Manuel 'Helios_VMG' González in early {{date|2009}} to replace the latter completely - or at least be an alternative to it - with functionalities such as support for [[Unicode]] - [[UTF-8]]... - [[Shift-JIS]], some of the functionalities of PONScripter - for example the ability to display text in italics or bold - or the ability to stretch a low-resolution image to full screen without changing the screen resolution itself. The developer has attempted to rapidly increase the portability of compatible games by accepting donations to purchase a [[Playstation Portable|PSP]], however, this does not appear to have been successful. Although its goal is to be the most widely used NScripter engine, few visual novels designed for NScripter are compatible without some adaptation of the game scripts. The engine is used for the first time for the Spanish [[Fan translation of video games|amateur translation]] of ''[[Tsukihime]]''.
Also known by its working title NONS, it is a [[Clone (computing)|clone]] of ONScripter designed by Víctor Manuel 'Helios_VMG' González in early {{date|2009}} to replace the latter completely - or at least be an alternative to it - with functionalities such as support for [[Unicode]] - [[UTF-8]]... - [[Shift-JIS]], some of the functionalities of PONScripter - for example the ability to display text in italics or bold - or the ability to stretch a low-resolution image to full screen without changing the screen resolution itself. The developer has attempted to rapidly increase the portability of compatible games by accepting donations to purchase a [[Playstation Portable|PSP]], however, this does not appear to have been successful. Although its goal is to be the most widely used NScripter engine, few visual novels designed for NScripter are compatible without some adaptation of the game scripts. The engine is used for the first time for the Spanish [[Fan translation of video games|amateur translation]] of ''[[Tsukihime]]''.


Line 247: Line 239:


=== CCScripter ===
=== CCScripter ===
<!-- A redirect is necessary -->
CCScripter is a [[Clone (computing)|clone]] developed by toveta in [[M programming language|M]] that allows its users to play and develop NScripter games on macOS. [[Technical support|Support]] and [[Software Updates|software updates]] were stopped on {{Date|2004-10-18}} with version 0.8.24, the author proposed to users to migrate to ONScripter.
CCScripter is a [[Clone (computing)|clone]] developed by toveta in [[M programming language|M]] that allows its users to play and develop NScripter games on macOS. [[Technical support|Support]] and [[Software Updates|software updates]] were stopped on {{Date|2004-10-18}} with version 0.8.24, the author proposed to users to migrate to ONScripter.
=== KScripter ===
=== KScripter ===
<!-- A redirect is necessary -->
KScripter is a [[Clone (computing)|clone]] inspired by NScripter in [[ActionScript|ActionScript 3]]. KScripter can therefore run on any operating system as long as it is compatible with [[Adobe Flash|Flash]]. The extension of the executable of a software or game created with KScripter is therefore [[SWF|.SWF]]. The engine can interact with the Web via languages such as [[PHP]], [[Ruby (programming language)|Ruby]] or [[JavaScript]].
KScripter is a [[Clone (computing)|clone]] inspired by NScripter in [[ActionScript|ActionScript 3]]. KScripter can therefore run on any operating system as long as it is compatible with [[Adobe Flash|Flash]]. The extension of the executable of a software or game created with KScripter is therefore [[SWF|.SWF]]. The engine can interact with the Web via languages such as [[PHP]], [[Ruby (programming language)|Ruby]] or [[JavaScript]].
=== Comparison of clone engines ===
=== Comparison of clone engines ===

Revision as of 09:25, 4 April 2023

NScripter
Developer(s)Naoki Takahashi
Initial releaseSeptember 6, 1999; 24 years ago (1999-09-06)[1]
Final release
final version / February 23, 2018; 6 years ago (2018-02-23)[2]
Operating systemWindows
TypeGame engine (visual novel)
LicenseFreeware
Websitenscripter.com

NScripter (エヌスクリプター, Enusukuriputā), officially abbreviated as Nscr, also known under its working title Scripter4, is a game engine developed by Naoki Takahashi between 1999 and 2018 functioning with its own script language which facilitates the creation of both visual and sound novels. The SDK is only available for Windows. From version 2.82, NScripter supports both Japanese characters - these are two bytes long - and any single-byte character; before that, it only supported Japanese characters. This engine was very popular in Japan because of its simplicity and because it was free for amateur game makers. Additionally, there are forks available to extend NScripter's capabilities to display characters from another language, run a game on other platforms, etc.

NScripter

NScripter's development ranged from 1999 to 2018; it was first called by its working title Scripter4 because it was the successor to Scripter3, Naoki Takahashi's previous engine. 23 February 2018 was the date of the release of the final version of NScripter.

Characteristics

The script is executed by the engine in an interpreter. The syntax is very simple, similar to the BASIC language. The functions needed to create visual novels and sound novels, such as displaying text, sprites and CG, playing music and handling choices, are built into the engine as a basic API. As a result, game creation is simplified by the ability to write a script that calls these functions directly.

In order to meet specific needs, it is possible to use a method called 'system customisation' which modifies the behaviour of the engine itself in order to add features such as a save system, complex effects not provided in the basic API, or video management. To do this, external DLLs can be used. These functions can be used to create simulation games, etc.

On the other hand, before version 2.92, object-oriented elements were not incorporated into the software and NScripter did not handle parallelism at all. The defsub statement was used to try to do structured programming within NScripter. Overall, NScripter specialises in the development of visual novels and sound novels, and the creation of these types of games is simplified.

In version 2.82, NScripter was given support for 1-byte characters - this allows writing in the core Latin alphabet and the English alphabet for English locutors.

Extension via Lua

Since version 2.93 released in 1 April 2009, it is possible to extend the capabilities of NScripter by using Lua.

Lua is implemented as a DLL and is launched by NScripter itself. It is possible to call any function of this language from a conventional NScripter script and call an NScripter function on the Lua side which allows to transfer almost completely the game script itself to Lua. In addition to complex numerical operations that were not possible with conventional NScripter, this language provides full functionality typical of script languages such as file operations, block scoping, array methods and module libraries. Lua allows NScripter to support parallelism, which now makes it possible to manipulate every element of the game simultaneously and in parallel; for example, when an animation is played, NScripter does nothing else at the same time. This language greatly improves and simplifies the description of the various extensions, which were previously done using a method called 'system customisation', and offers the possibility to modify the behaviour of the engine itself, for example to change the behaviour at the end of the game. However, the use of Lua is not mandatory and the old system customisation method is still available.

Documentation

NScripter has official documentation in electronic format and four official books dating from 2004, 2005, 2006 and 2007 respectively. The books are now only available as second hand copies. There are also unofficial electronic documentations like senzogawa's.

License

Regarding the license, non-commercial use of the software is allowed, any non-commercial game can then be distributed without paying a royalty.

In 2013, the terms of use were simplified and participants in games and other contests can now use the software free of charge, regardless of whether they receive a cash prize and regardless of the form of distribution of the winning work. In addition, as long as they are distributed for free, they can be used regardless of the distinction between business and individual users and the method of distribution. Even if a work is included in a magazine supplement as freeware or shareware, it can be used for free.

However, in order to sell a work commercially, a royalty must be paid once a game is rated by a rating body such as the EOCS. Even in the case of amateur games and open source software/games, once a royalty reaches 400 000 yen or more, it will be treated as a commercial work and will be taken care of if there are any problems with the engine. In this case, if the developer wants to add a feature - such as an extension or obfuscation treatment for each work - it will be taken care of as part of the royalty.

It is possible to negotiate or even not pay the fee; NScripter's developer is especially supportive of game developers who are not looking to make a profit and those who are struggling to do so because of the royalty.

Creating a DLL extension and redistributing it under the GPL is disallowed, however the LGPL is considered acceptable.

Popularity

This engine was very popular in Japan in the 2000s due to its simplicity and because it was free for amateur video game creators.

Examples of scripts

The following examples use ONScripter-EN's variant of the NScript script language.

Simple script

This simple script defines some basic parameters and displays a text.

Script
;mode800
;Définit la résolution du jeu à 800x600 pixels. Nécessite un « ; » et doit être impérativement à la première ligne.
;gameid Exemple
;Définit un nom utilisable par le moteur pour nommer les fichiers de sauvegarde. Nécessite un « ; » et d'être avant le bloc qui définit les paramètres du jeu.

*define ;Bloc qui définit les paramètres du jeu. Doit forcément s'appeler « *define ».

caption "Exemple" ;Nom de la fenêtre
versionstr "Exemple"," version 1.0-en" ;Définit la chaîne de caractères qui décrira la version du jeu dans le menu « À propos ».

savename `Sauvegarder`,`Charger`,`Fichier ` ;Définit les titres des menus de sauvegarde et de chargement de partie ainsi que la chaîne de caractères
;qui désigne un fichier de sauvegarde dans le menu clic droit, celle par défaut étant le japonais « しおり », pour la changer ou la traduire, ici changé en « Fichier ».
savenumber 15 ;Définit le nombre de sauvegardes.
rmenu `Sauvegarder`,save,`Charger`,load,`Effacer fenetre`,windowerase,`Quitter`,end ;Nomme les boutons du menu qui apparaissent quand l'utilisateur fait un clic droit.

game ;Ferme le bloc qui définit tous les paramètres du jeu et commence le jeu ici.

*start ;Bloc qui définit le contenu du jeu.

`Un texte d'exemple...@ puis un texte qui apparait apres interaction de l'utilisateur.\ Et enfin une autre page de texte.\
;Un texte d'exemple. Le caractère « ` » sert à utiliser des caractères d'un octet (suffisant pour l’alphabet latin de base et l'alphabet anglais, mais pas assez pour des caractères japonais).
;« @ » et « \ » attendent une interaction de la part de l'utilisateur. « @ » défile le reste du texte après interaction alors que « \ » efface le texte présent
;et passe a la ligne suivante si la ligne est terminée. Il n'y a pas besoin d'espace après le « ` ». Lit tout caractère après la commande dont les commentaires.

end ;Tue le processus.

Script with choice and background image

Any visual novel that is not linear or called 'kinetic novel' has choices. This script also contains the instructions used to display a background image and, in addition to that, with a fade-in effect per pixel.

Script
[…] (voir le bloc *define de l'exemple précédent)
/!\ Ligne de code rajoutée au bloc *define /!\
effect 2,10,1000 ;Définit l'effet numéro 2 (les effets 0 et 1 sont réservés pour ne pas afficher de transition), qui est un fondu enchainé par pixel.
;Comme définit ici, l'effet provient du dixième ensemble d'effets inclus dans le moteur et dure 1000 millisecondes, soit 1 seconde.

game ;Ferme le bloc qui définit tous les paramètres du jeu et commence le jeu ici.

*start ;Bloc qui définit le contenu du jeu.

bg "image_de_fond.png",2 ;Transition vers l'image de fond « image_de_fond.png » avec l'effet numéro 2.

`[Personnage 1]
`Alors...@ tu preferes lire ou regarder des films ?@
;Un texte d'exemple. Le caractère « ` » sert à utiliser des caractères d'un octet (suffisant pour l'alphabet latin de base et l'alphabet anglais, mais pas assez pour des caractères japonais).
;« @ » et « \ » attendent une interaction de la part de l'utilisateur. « @ » défile le reste du texte après interaction alors que « \ » efface le texte présent
;et passe a la ligne suivante si la ligne est terminée. Il n'y a pas besoin d'espace après le « ` ». Lit tout caractère après la commande dont les commentaires.

br ;Saut de ligne pour espacer les choix de la question

select "Lire", *choix1, "Regarder des films", *choix2 ;Affiche 2 choix possibles

*choix1 ;Bloc lancé si le joueur fait le choix numéro 1
`[Personnage 2]
`Je prefere lire.@
`[Personnage 1]
`Moi aussi ! Quel est ton livre prefere ?@
br ;Saut de ligne
`Et la conversation s'est ensuite poursuivie pendant 2-3 bonnes heures...\
end ;Tue le processus.

*choix2 ;Bloc lancé si le joueur fait le choix numéro 2
`[Personnage 2]
`Je prefere regarder des films.@
`[Personnage 1]
`Moi aussi ! Quel est ton film prefere ?@
br ;Saut de ligne
`Et la conversation s'est ensuite poursuivie pendant 2-3 bonnes heures...\
end ;Tue le processus.

Notable games using NScripter

Most of the games running on NScripter are amateur video games, so few NScripter games are notable. Most of the notable games below are commercial games and therefore commercial successes.

  • Tsukihime; although Type-Moon used NScripter for Tsukihime, the company later switched to KiriKiri for their next game, Fate/stay night.
  • 07th Expansion's sound novels - the When They Cry series, etc.; many people discovered NScripter and its derivatives through the 07th Expansion games, including many amateur translators.
  • The Narcissu series; the Narcissu series is probably the most popular free kinetic novels series running on NScripter.

NScripter2

NScripter2 (エヌスクリプターツー, Enusukuriputātsū), also known by its working title Sunday Game Engine (SGE), is the successor to the NScripter game engine, it is developed by Naoki Takahashi. The SDK is only available for Windows.

Development and release

In September 2009, the prototype version of the engine was released under the name Sunday Game Engine. Since then, development has continued and the official beta version of the engine was made available on 31 August 2012.

Characteristics

...

User's guide

As of June 2022, NScripter2 was still at the stage where only the engine itself and minimal documentation have been released. The developer intended to update and simplify it but the engine has not been updated since 2017.

Syntax

The syntax differs from NScripter although it is still inspired by the BASIC language - more precisely Visual Basic and QuickBasic - ; for example, the functions no longer start with an asterisk (*) but with an at symbol (@), the beginning function is no longer '*define' but '@start' and, another example, in order to be more coherent with Lua, the command to leave the program is no longer 'end' - the command that ends an 'if' condition in Lua - as it is in BASIC but 'quit'.

There is an unofficial extension for the libre text editor Atom that facilitates the development of scripts for NScripter2.

License

Fundamentally, the same licensing terms as NScripter apply, i.e. the engine is free for amateur games and non-commercial works. It is possible to use NScripter2 to develop commercial works, but a royalty must be paid.

Scripter3

Scripter3 (スクリプタースリー, sukuriputāsurī), officially abbreviated as Scr3 is a free proprietary game engine developed by Naoki Takahashi between 1998 and 1999 functioning with its own script language which facilitates the creation of both visual and sound novels. The SDK is only available for Windows. It is the predecessor of NScripter, another Naoki Takahashi engine with a more flexible syntax and more functionalities; for example, NScripter natively supports images in JPEG/JPG format while Scripter3 needs a DLL named 'jpeglib.dll'.

Characteristics

Scripter3 reads script files in plain text format with Shift-JIS encoding and TXT extension, the engine will read in order first the 0.txt file up to the 99.txt file, but can also read obfuscated scripts with .scp extension - equivalent to nscript.dat for NScripter -; priority is however given to plain text files. It is possible to display characters from the core Latin alphabet and the English alphabet, or misc. characters such as French quotation marks, but these must be full-width characters.

Scripter3 handles the text but does not handle the rest of the graphic part of the text boxes, which is essential for any visual novel to establish a contrast between decor and text. Developers have to incorporate the text box graphics directly into each background image, so there is often a copy of a background image without a text box and another with one. As a result, if the player right-clicks to hide the text, the text box remains displayed, because it is integrated into the background image.

The engine is able to read audio CDs, this allowed especially the creators of amateur video games to read audio CDs of other productions, often commercial, for example for parodies, etc.

Its successor, NScripter, has kept more or less the same instructions, so the two engines are relatively compatible with each other; for example, some instructions remain unchanged like the text instructions [simple] such as @, \, etc., we also find in both engines the *start label, the caption instruction, etc., while some instructions change like the bp command which is renamed to background in NScripter.

Popularity

Scripter3 was very popular during the years when Naoki Takahashi was still developing it, however, the engine has almost disappeared from the Internet and everything related to it is now only available on archive websites. Many users assisted each other on the official forum, the developer himself was present, watching day after day as his program became popular. According to the little information still online, when Scripter3 was in its golden age, it was more popular than the competing engine KiriKiri. After the last version of Scripter3 was released on 27 November 1999 and the developer recommended to switch to NScripter, the community behind Scripter3 switched to NScripter, which was available since 6 September 1999.

The original NScripter engine has been recreated many times, cloned to add new features or to liberate itself from the proprietary license of the engine.

ONScripter

image showing red silhouettes on a white background and bordered by blue
ONScripter's Logo.
snake made of white squares going towards an apple represented by a green square - the score and other data are at the top right in white
ONScripter Snake clone.

ONScripter is a libre software developed to be a free and compatible equivalent of NScripter. It has been developed by Studio O.G.A. since 6 February 2002 and its latest version was released on 16 August 2022. Although ONScripter can display single-byte characters for writing with the core Latin alphabet and the English alphabet, there are still many bugs; empty or incomplete lookback mode, etc. These problems have not been fixed. These problems were not fixed because the English-language branch of ONScripter, ONScripter-EN, fixed these problems and was therefore recommended to English-speaking translators. ONScripter relies on the SDL software library, which makes it compatible with a wide range of platforms.

Compatible platforms with ONScripter:

(alphabetical order)

There is a Mandarin translation for ONScripter users of the 11 June 2005 English translation of Masato Sagara's 26 March 2002 NScripter documentation. This was started in 2011, abandoned and then resumed and completed in 2015. However, this translation is not considered to be particularly correct. The documentation is available online in both its original form and as blog posts.

ONScripter-EN

image showing a red circle with three red flames on top
ONScripter-EN's logo; this logo comes from a play on words with the diminutive of the engine (ons-en, onsen) and the Japanese hot springs, called onsen in Japanese. This logo is the Japanese pictogram for hot springs ().

...

ONScripter-ANSI

ONScripter-ANSI is a fork of ONScripter-EN developed by Andy_Skull in early 2008 providing support for ANSI, which is a misnomer of the Windows-1252 character set. This version is used a lot by translators aiming at languages using the Cyrillic alphabet, it is notably stated that originally the software was mainly intended to be used for an aborted Russian translation of Umineko When They Cry. The last version was released on 10 October 2010, this version seems to be abandoned. ONScripter-ANSI is only available for computers running Windows with at least a 32-bit architecture.

ONScripter-RU

ONScripter-RU is a fork of ONScripter-EN developed from mid-2019 with the aim of supporting the Russian language. The only major use of ONScripter-RU is the 'Umineko PS3 project' - a new high definition PC version based on elements of the PS3 port. The engine is released under the GPLv2 and BSD licenses. ONScripter-RU uses its own engine 'hacks', useful for the previously mentioned project, so it is not compatible with other ONScripter forks. ONScripter-RU's documentation is very incomplete. ONScripter-RU is compatible with the following platforms:

(alphabetical order)

PONScripter

...

PNaCl ONScripter

PNaCl ONScripter is a fork of ONScripter designed to incorporate Google's PNaCl sandbox technology. It allows its users to run NScripter games via HTML5 and therefore specifically targets the Chrome web browser by exporting the games as Chrome applications. This fork contains bugs and lacks some features such as text input and mouse wheel actions.

NscPlayer

NscPlayer is a fork of PNaCl ONScripter. It highlights the security that PNaCl technology offers, the user can play without worrying about malware potentially present in a game.

ONSlaught

Also known by its working title NONS, it is a clone of ONScripter designed by Víctor Manuel 'Helios_VMG' González in early 2009 to replace the latter completely - or at least be an alternative to it - with functionalities such as support for Unicode - UTF-8... - Shift-JIS, some of the functionalities of PONScripter - for example the ability to display text in italics or bold - or the ability to stretch a low-resolution image to full screen without changing the screen resolution itself. The developer has attempted to rapidly increase the portability of compatible games by accepting donations to purchase a PSP, however, this does not appear to have been successful. Although its goal is to be the most widely used NScripter engine, few visual novels designed for NScripter are compatible without some adaptation of the game scripts. The engine is used for the first time for the Spanish amateur translation of Tsukihime.

Like PONScripter and ONScripter-EN, ONSlaught comes with an executable; in these recent versions, however, it is only intended for computers running Windows with at least a 32-bit architecture. It is also provided with an archive containing its source code and the software libraries on which it depends.

After the version of the engine dated 26 November 2011, the project is inactive until July 2021 when the engine was updated.

CCScripter

CCScripter is a clone developed by toveta in M that allows its users to play and develop NScripter games on macOS. Support and software updates were stopped on 18 October 2004 with version 0.8.24, the author proposed to users to migrate to ONScripter.

KScripter

KScripter is a clone inspired by NScripter in ActionScript 3. KScripter can therefore run on any operating system as long as it is compatible with Flash. The extension of the executable of a software or game created with KScripter is therefore .SWF. The engine can interact with the Web via languages such as PHP, Ruby or JavaScript.

Comparison of clone engines

Engine

name

Founder(s) Developer(s) Executable(s First version Latest version Repository Project

state

Written

in

Supported

coding language(s)

Supported

language(s)

License Documentation Official web site
ONScripter Ogapee (Studio O.G.A) ditto / / Active C++ Lua Japanese (and English to a lesser extent as it is not very stable) GPLv2 NScripter's documentation Official website
ONScripter-EN Chendo Chendo then the insani team then Peter 'Haeleth' Jolly then Mion / Uncle Mion (from the translation group Sonozaki Futago-tachi) then resuming of the insani branch. onscripter-en.exe, ONScripter.app insaniMion Active C++ /

or Lua(insani branch)

Japanese, English GPLv2 Official website (Mion) and Official website (insani)
ONScripter-ANSI Andy_Skull ditto onscripter-ansi.exe / Abandoned C++ / Multilingual (via Windows-1252) GPLv2 Official website
ONScripter-RU vit9696 vit9696 (développeur principal), copyliu and knox-umineko onscripter-ru.exe, onscripter-ru-osx.app https://github.com/umineko-project/onscripter-ru/ Completed

(End of the 'Umineko PS3 project' on 1 January 2021)

C++ and C / Russian GPLv2, BSD Official website
PONScripter Peter 'Haeleth' Jolly Peter 'Haeleth' Jolly then Mion / Uncle Mion (from the translation group Sonozaki Futago-tachi) then, -approximately- Sekai Project, Witch Hunt and 07thMod ponscr.exe, PONScripter.app svn.denpa.mobi/repo/ponscripter, github.com/sekaiproject/ponscripter-fork (Sekai Project's fork) and github.com/07th-mod/ponscripter-fork (07thMod's fork) Active (07thMod and WitchHunt's forks) C++ and C (Sekai Project and 07thMod's forks) / Multilingual (via Unicode) GPLv2 Official website (1) (Mion) Official website (2) (Mion), cf. Repository column for the other forks
PNaCl ONScripter ? ditto / / Abandoned C++ / Japanese GPLv2 NScripter's documentation ?
NscPlayer ? ditto / / Abandoned C++ / Japanese GPLv2 NScripter's documentation Official website
ONSlaught Víctor Manuel 'Helios_VMG' González ditto ONSlaught.exe https://sourceforge.net/p/onslaught-vn/files/ Abandoned C, C++, Yacc / Multilingual (via Unicode) BSD Official website
CCScripter toveta ditto CCScripter.app / Abandoned M / Japanese BSD NScripter's documentation Official website
KScripter ? ditto ? / Abandoned ActionScript 3 Web languages: PHP, Ruby, JavaScript... Japanese, multilingual (via Unicode) ? NScripter's documentation ?

Unofficial NScripter versions supporting other languages

Screen capture of a game under Windows, there is a menu with a black background and hanguls, Korean characters
Higurashi When They Cry in Korean running via an unauthorised modified NScripter.
Screen capture of a game under Windows, there is a menu with a white background, a Narcissu logo and sinograms
Narcissu in Mandarin running via an unauthorised modified NScripter.

Chinese modified version

A modified version was, for example, used for the Mandarin translation of Narcissu.

Korean modified version

Korean internauts have published a modified version of NScripter 2.96 to support their language.

A modified version was, for example, used for the Korean translation of Higurashi When They Cry.

Competing engines

NScripter has some competitors like the BGI [fr] (Buriko General Interpreter) engine - also called Ethornell - widely used by August and OVERDRIVE companies as well as MangaGamer, an English-language localization company founded by OVERDRIVE, Circus and NEXTON. Another strong competitor is KiriKiri - also abbreviated as KAG -; this engine is libre, has open source code and was for example chosen by Type-Moon for the production of their game Fate/stay night, the company had previously developed Tsukihime, a game developed using NScripter which was a strong commercial success.

Internationally, however, its competitor is Ren'Py, which has enabled the production of more than 4 000 games.

See also

References

Citations

  1. ^ "高橋直樹のホームページ" (in Japanese). Archived from the original on 1999-10-11.
  2. ^ Takahashi Naoki. "nscripter.com". Retrieved 14 December 2018.