HOME

TheInfoList



OR:

, officially abbreviated as Nscr, also known under its production title Scripter4, is a
game engine A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" u ...
developed by Naoki Takahashi between 1999 and 2018 functioning with its own script language which facilitates the creation of both
visual The visual system is the physiological basis of visual perception (the ability to detect and process light). The system detects, transduces and interprets information concerning light within the visible range to construct an image and buil ...
and sound novels. The SDK is only available for
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
. 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. 23 February 2018 was the date of the release of the final version of NScripter.


Characteristics

The
script Script may refer to: Writing systems * Script, a distinctive writing system, based on a repertoire of specific elements or symbols, or that repertoire * Script (styles of handwriting) ** Script typeface, a typeface with characteristics of handw ...
is executed by the engine in an
interpreter Interpreting is translation from a spoken or signed language into another language, usually in real time to facilitate live communication. It is distinguished from the translation of a written text, which can be more deliberative and make use o ...
. The syntax is very simple, and has been described as a mix of the
BASIC Basic or BASIC may refer to: Science and technology * BASIC, a computer programming language * Basic (chemistry), having the properties of a base * Basic access authentication, in HTTP Entertainment * Basic (film), ''Basic'' (film), a 2003 film ...
language and assembly. The functions needed to create
visual novel A visual novel (VN) is a form of digital interactive fiction. Visual novels are often associated with the medium of video games, but are not always labeled as such themselves. They combine a textual narrative with static or animated illustratio ...
s and sound novels, such as displaying text, sprites and CG, playing music and handling choices, are built into the engine as a basic
API An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
. 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 Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impleme ...
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 Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making specific disciplined use of the structured control flow constructs of selection ( if/then/else) and repet ...
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 Royalty may refer to: * the mystique/prestige bestowed upon monarchs ** one or more monarchs, such as kings, queens, emperors, empresses, princes, princesses, etc. *** royal family, the immediate family of a king or queen-regnant, and sometimes h ...
. 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 Freeware is software, often proprietary, that is distributed at no monetary cost to the end user. There is no agreed-upon set of rights, license, or EULA that defines ''freeware'' unambiguously; every publisher defines its own rules for the free ...
or
shareware Shareware is a type of proprietary software that is initially shared by the owner for trial use at little or no cost. Often the software has limited functionality or incomplete documentation until the user sends payment to the software developer. ...
, 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 Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
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 Obfuscation is the obscuring of the intended meaning of communication by making the message difficult to understand, usually with confusing and ambiguous language. The obfuscation might be either unintentional or intentional (although intent ...
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 The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
is considered acceptable.


Popularity

This engine was very popular in Japan in the
2000s File:2000s decade montage3.png, From top left, clockwise: The Twin Towers of the original World Trade Center (1973–2001), World Trade Center on fire and the Statue of Liberty on the left during the September 11 attacks, terrorist attacks on Sep ...
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 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.


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 Type-Moon (stylized as TYPE-MOON) is a Japanese video game company, best known for their visual novels, co-founded by author Kinoko Nasu and illustrator Takashi Takeuchi. It is also known under the name for its publishing and corporate operation ...
used NScripter for Tsukihime, the company later switched to
KiriKiri This is a list of visual novel engines. Artemis Artemis, also known as Artemis Engine, is a cross-platform, but closed-source visual novel engine that can work on Windows, IOS, Android, PlayStation 4, and Nintendo Switch. Its scripting uses Lua ...
for their next game, ''
Fate/stay night ''Fate/stay night'' is a Japanese visual novel game developed by Type-Moon. It was first released for Microsoft Windows, Windows on January 30, 2004. The story takes place over three distinct routes: ''Fate'', ''Unlimited Blade Works'' ...
''. *
07th Expansion 07th Expansion is a Japanese dōjin circle specialized in the creation of visual novels. They started out drawing for the trading card game ''Leaf Fight'', but are better known for creating the game series ''When They Cry (disambiguation), When T ...
'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 is a free visual novel video game developed by the dōjin group Stage-nana, telling the story of a terminally ill young man and woman. It was made with the NScripter engine. The work was originally written in Japanese by Tomo Kataoka, and s ...
'' series; the ''Narcissu'' series is probably the most popular free kinetic novels series running on NScripter.


NScripter2

, also known by its production title Sunday Game Engine (SGE), is the successor to the NScripter
game engine A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" u ...
, it is developed by Naoki Takahashi. The SDK is only available for
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
.


Development and release

In , the
prototype A prototype is an early sample, model, or release of a product built to test a concept or process. It is a term used in a variety of contexts, including semantics, design, electronics, and Software prototyping, software programming. A prototype ...
version of the engine was released under the name Sunday Game Engine. Since then, development has continued and the official
beta version The software release life cycle is the process of developing, testing, and distributing a software product (e.g., an operating system). It typically consists of several stages, such as pre-alpha, alpha, beta, and release candidate, before the fi ...
of the engine was made available on 31 August 2012.


Characteristics

...


User's guide

As of , 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 .


Syntax

The syntax differs from NScripter although it is still inspired by the
BASIC Basic or BASIC may refer to: Science and technology * BASIC, a computer programming language * Basic (chemistry), having the properties of a base * Basic access authentication, in HTTP Entertainment * Basic (film), ''Basic'' (film), a 2003 film ...
language - more precisely
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to: * Visual Basic (.NET), the current version of Visual Basic launched in 2002 which runs on .NET * Visual Basic (classic), the original Visual Basic suppo ...
and
QuickBasic Microsoft QuickBASIC (also QB) is an Integrated Development Environment (or IDE) and compiler for the BASIC programming language that was developed by Microsoft. QuickBASIC runs mainly on DOS, though there was also a short-lived version for the c ...
- ; for example, the functions no longer start with an asterisk (*) but with an at symbol (@), the beginning function is no longer '' but '' and, another example, in order to be more coherent with Lua, the command to leave the program is no longer '' - the command that ends an 'if' condition in Lua - as it is in BASIC but ''. There is an unofficial extension for the libre text editor
Atom Atoms are the basic particles of the chemical elements. An atom consists of a atomic nucleus, nucleus of protons and generally neutrons, surrounded by an electromagnetically bound swarm of electrons. The chemical elements are distinguished fr ...
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 Royalty may refer to: * the mystique/prestige bestowed upon monarchs ** one or more monarchs, such as kings, queens, emperors, empresses, princes, princesses, etc. *** royal family, the immediate family of a king or queen-regnant, and sometimes h ...
must be paid.


Scripter3

, officially abbreviated as Scr3 is a free
proprietary {{Short pages monitor Also known by its production title NONS, it is a clone of ONScripter designed by Víctor Manuel 'Helios_VMG' González in early to replace the latter completely - or at least be an alternative to it - with functionalities such as support for
Unicode Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
-
UTF-8 UTF-8 is a character encoding standard used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode Transformation Format 8-bit''. Almost every webpage is transmitted as UTF-8. UTF-8 supports all 1,112,0 ...
... -
Shift-JIS Shift JIS (also SJIS, MIME name Shift_JIS, known as PCK in Solaris contexts) is a character encoding for the Japanese language, originally developed by the Japanese company ASCII Corporation in conjunction with Microsoft and standardized as 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 Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
with at least a
32-bit architecture In computer architecture, 32-bit computing refers to computer systems with a Central processing unit, processor, computer memory, memory, and other major system components that operate on data in a maximum of 32-bit units. Compared to smaller bit ...
. It is also provided with an archive containing its
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
and the
software libraries In computing, a library is a collection of resources that can be leveraged during software development to implement a computer program. Commonly, a library consists of executable code such as compiled functions and classes, or a library can ...
on which it depends. After the version of the engine dated 26 November 2011, the project is inactive until when the engine was updated.


CCScripter

CCScripter is a clone developed by toveta in that allows its users to play and develop NScripter games on macOS. Support and
software updates A patch is data that is intended to be used to modify an existing software resource such as a program or a file, often to fix bugs and security vulnerabilities. A patch may be created to improve functionality, usability, or performance. A pa ...
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 ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meani ...
. 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 PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
,
Ruby Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
or
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
.


Comparison of clone engines


Unofficial NScripter versions supporting other languages


Chinese modified version

A modified version was, for example, used for the Mandarin translation of ''
Narcissu is a free visual novel video game developed by the dōjin group Stage-nana, telling the story of a terminally ill young man and woman. It was made with the NScripter engine. The work was originally written in Japanese by Tomo Kataoka, and s ...
''.


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 is a Japanese murder mystery dōjin soft visual novel series produced by 07th Expansion that comprises the first two entries of the ''When They Cry'' franchise. The series focuses on a group of young friends living in the fic ...
''.


Competing engines

NScripter has some competitors like the (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 This is a list of visual novel engines. Artemis Artemis, also known as Artemis Engine, is a cross-platform, but closed-source visual novel engine that can work on Windows, IOS, Android, PlayStation 4, and Nintendo Switch. Its scripting uses Lua ...
; this engine is libre, has open source code and was for example chosen by
Type-Moon Type-Moon (stylized as TYPE-MOON) is a Japanese video game company, best known for their visual novels, co-founded by author Kinoko Nasu and illustrator Takashi Takeuchi. It is also known under the name for its publishing and corporate operation ...
for the production of their game ''
Fate/stay night ''Fate/stay night'' is a Japanese visual novel game developed by Type-Moon. It was first released for Microsoft Windows, Windows on January 30, 2004. The story takes place over three distinct routes: ''Fate'', ''Unlimited Blade Works'' ...
''. The company had previously developed '' Tsukihime'', a game developed using NScripter which was a strong commercial success. Internationally, however, its competitor is
Ren'Py The Ren'Py Visual Novel Engine (or RenPy for short) is a free software game engine which facilitates the creation of visual novels. Ren'Py is a portmanteau of , the Japanese word for 'romantic love', a common element of games made using Ren'Py; a ...
, which has enabled the production of more than 4 000 games.


See also

*
Visual novel A visual novel (VN) is a form of digital interactive fiction. Visual novels are often associated with the medium of video games, but are not always labeled as such themselves. They combine a textual narrative with static or animated illustratio ...
* Sound novel * List of visual novel engines *
Game engine A game engine is a software framework primarily designed for the development of video games which generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" u ...
* Amateur video game


References

Citations


External links

*
chaoskaiser72's ''ONScripter corner''
{{DEFAULTSORT:Nscripter 1999 software Free game engines Free software programmed in C Free software that uses SDL Lua (programming language)-scriptable game engines Software development kits Software using the GNU General Public License Video game development software Video game engines Visual novel engines