, officially abbreviated as Nscr, also known under its production 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 to ; it was first called by its production title Scripter4 because it was the successor to Scripter3, Naoki Takahashi's previous engine. 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 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 , 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 , 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.