Welcome to chaoskaiser72's ONScripter Corner!

...And because it may well be that small limited visual novels, written by small limited hands and running on small limited systems are the last and best virtual reality that we have ...
-Tomo Kataoka

ONScripter is a Free & Open Source implementation of the NScripter visual novel engine, based on SDL and licenced under the GNU Public License v2. It allows many popular visual novels to run on a plethora of platforms such as Linux, BSD, Mac, OS/2, and a number of game consoles; most importantly, it can be easily modified by the community.

Goto


ONScripter-EN

...Thus, we have ONScripter-EN, a fork designed to handle English scripts containing 1-byte characters in a better way. Though the original ONScripter is still maintained, it lacks fully functional English support, DirectSound support on Windows, PNG alpha mask detection, window scaling, and many implementations of effect DLLs: all of which were added to ONScripter-EN long ago. ONScripter-EN was originally forked by Insani, passed on to Haeleth, and ended in the hands of Uncle Mion of Sonozaki Futago-tachi. It was abandoned in 2011, and Mion's site went offline in late 2018, resulting in many resources becoming hard to find. As such, I've mirrored all downloads of its final stable release in the Download Mirrors section.

Runtime basics

ONScripter-EN will not start without a default.ttf font file in the game folder; it will probably use any font you throw at it. However, since proportional fonts do not display correctly, and some games like Umineko and Tsukihime use Japanese or custom glyphs in their English translations, Sazanami Gothic is the standard-use font for most releases. If your game has no default.ttf, drop this in the game folder. If you must use a proportional font, see PONScripter.

The original NScripter had a menu bar that let you adjust all the settings; since it was never implemented in ONScripter, you use keybinds to accomplish the same tasks. For a rundown of these, see the Readme.

Please also see List of known ons.cfg options.

High-resolution scaling

On reasonably recent versions, you can scale your ONScripter-EN games to virtually any size, including but definitely not limited to 1080p. Text scales beautifully, and it makes reading in windowed mode much more comfortable. To scale a window, make a text file named "ons.cfg" in your game folder. Then, simply add the line...

scale

or

window-width=[desired width]

Scale automatically adjusts to the maximum vertical size of your screen, and window-width allows you to set any value you like. Please note that scaling up the window will lessen the impact of text shadows and may introduce some image-related jank, which may or may not impact your experience. If it doesn't work, see the Updating section. If it still doesn't work, let me know, and I will patch the script for you.
This config option will not work by default for Kagetsu Tohya due to a bug in its script: I have made a patch for it, including the latest ONS-EN, which may be found here. Please see readmi.txt for instructions and further details.

Updating

I highly recommend updating all of your ONScripter games to the latest version of ONS-EN. It fixes crashes on Windows 8-10, adds features that weren't previously present, makes it possible to use ons.cfg options, and allows you to keep all of your save files in one convenient folder. Before dropping the latest executable in your game folder, make a text file named "game.id", containing ONLY the name of the game; this determines the name of the folder in which your save files will be stored (If you don't, saves will be stored in randomly-named folders). Then, download the last ONScripter-EN build for Windows (with SDL), Linux (x64), or Mac OS X, and unpack to each game folder.
Note: When updating Umineko, you must add "detect-png-nscmask" to ons.cfg in order for the English assets to display correctly. Also, when using the scale option, rain effects will become more dense, but with the drawback of slightly decreased framerate.

With these recent versions of ONScripter-EN, each game's save files are kept in their own folder within the hidden directory C:\ProgramData (Windows 7+) or ~/ (Linux/BSD). This is so that games can be kept in any folder - even ones that aren't writable. The Windows build with separate SDL.dll is recommended due to its DirectSound support, which eliminates sound effect lag.

Due to changes in Mac OSX, the existing builds of ONScripter-EN for Mac have many bugs by now. You'll probably need to try this slightly updated fork of ONScripter-EN for Mac, which may solve issues you might experience.

List of known ons.cfg options
english
japanese
scale
window-width=[value in pixels]
root=[alternate path to game resources]
save=[alternate path to store save files]
automode-time=[value in milliseconds]
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

All of the above can also be passed as command line options at runtime, for example:

onscripter-en --scale

To clarify some of the commonly-used options, "english" or "japanese" are used in cases where one might need to force a language mode, "detect-png-nscmask" detects whether PNG files use NScripter silhouette alpha masks (often necessary in Umineko), "strict" is used to treat script warnings more like errors, and "debug" will cause the engine's output and error files to open upon the game's exit, or crash. An ons.cfg file is only supported as of build 2009-09-30. Please see Updating.

ONScripter-EN on OpenBSD

It has been ported and works! All dependencies have been updated to their latest versions in the ports tree, save for SDL_ttf which refuses to display text if updated too far. There are some bugs to be ironed out, but hopefully ONScripter-EN will someday be inducted into ports.

PONScripter

PONScripter stands for Proportional ONScripter. As it is essentially just a fork of ONScripter that supports Unicode, proportional fonts and many more languages are supported, and it is considered more flexible. However, it uses quite a bit more resources, has many more bugs/behavior issues, and is not fully backwards-compatible with NScripter nor ONScripter. Support for Japanese filenames are dropped and new required routines and syntax are added, so porting an NScripter game to it is a significantly more involved effort. PONScripter does have a legacy mode that runs NScripter and ONScripter-EN games as they're meant to be, but most of its issues are still present. More importantly, PONScripter does not support custom effect DLLs like NScripter and ONScripter do, which results in the MangaGamer version of Umineko and all versions of Umineko Saku lacking the animated rain effects completely. Many NScripter titles made use of external DLLs (Higurashi Hou used six, not counting decoder plugins) so this presents a huge disadvantage for PONScripter. The main branch of ONScripter now supports both proportional fonts and unicode, so PONScripter can be considered completely obsolete.

Configuration files come in the form of a pns.cfg file, although window-width and scale options are not supported. Documentation is rather sparse, but the latest manpages are hosted here.

PONScripter is used nowadays in Steam localizations of NScripter games, so the code was forked by SekaiProject in order to keep it actively maintained and add SDL2 support. You can find it here on Github. Witch Hunt made their own fork of this fork, and are using it for their translation of Ciconia no Naku Koro Ni. The many versions of PONS and the changes across them can cause significant problems when trying to run games on the latest version, and the Witch Hunt fork's only stated unique feature is support of 2x scaling for old NScripter games, which is comparatively unimpressive. Its dev tree can be found here.

ONScripter-RU

ONScripter-RU is yet another fork, but it's probably not for you. If you wish to make a Russian translation of something, just use PONScripter. ONScripter-RU's only major usage is in the Umineko PS3 project, the reason for which evidently being that the developers are Russian, and maybe they couldn't use PONScripter. However, as stated on its Github page, ONScripter-RU makes use of its own hacks so don't expect cross-compatibility between this and other forks.

ONScripter Plus

ONScripter Plus is an Android app that runs ONScripter and ONScripter-EN games pretty much how they should be. Of all the incarnations of ONScripter on Android, this is the one to pick. It has a few bugs and may have some issues handling save files from the PC versions of games (notably the NScrflog.dat used in Tsukihime) but it's a great way to read your novels while away from the computer. Please buy the ad-free version to support the developer.

It only reads the root directory of whatever game you're playing, so in the case of novels like Umineko that have the English script installed in a separate folder, there is something you can do: move the English nscript.dat to the root of the Umineko directory, replacing the original. Then, use the ONScripter Tools' nsadec to unpack all the English and Japanese arc.nsa files, then overwrite the Japanese folders with the English ones, and finally, repack the arc folders into their respective numbered nsa files using the tools, just as they were to begin with. This may be hard to follow and I haven't tested it myself, but it should certainly work if you put everything where it needs to go.

ONScripter Windows Builds

Since the main branch of ONScripter includes build instructions for Windows yet no actual builds, I've taken it upon myself to do my own 64-bit Windows builds for your convenience. I'd meant to update these with each new release, but it seems Ogapee removed 1BYTE_CHAR enabling in the source, so I'll just leave these here for now. Please note that ONScripter lacks several important features that were included in -EN many years prior, so it probably will not suit your English script needs, unless the game you're trying to run was made very recently.

ONScripter - Version: onscripter-20191022

Builds:

Windows, default 64-bit build (1.96MB)
Windows, ENABLE_1BYTE_CHAR 64-bit build (1.96MB)

ONScripter-EN Download Mirrors

I have uploaded the very same downloads of ONScripter-EN and the ONScripter tools that were on the Releases page of Uncle Mion's site, now mirrored on archive.org. These downloads are absolutely unchanged from the ones there, and are only for your convenience. All of the mirrored software here is licensed under the GPL. Please note that the Mac build is quite aged by now and will have some bugs - if you're a modern Mac user, use this updated version.

ONScripter-EN - Version: onscripter-en-20110628

Builds:

Windows, 32-bit, with SDL.dll for DirectSound support (zip, 939KB)
Windows, 32-bit (zip, 887KB)
Mac OS X, universal build (dmg, 1.94MB)
Linux i386, 32-bit Ubuntu built (tar.bz2, 919KB)
Linux x86_64, 64-bit Ubuntu built (tar.bz2, 1.02MB)

Source Packages:

Source code (tar.bz2, 956KB)
Source code with dependencies (tar.bz2, 5.60MB)
ONScripter Tools:

Current Release (2010-09-15)

Windows, 32-bit (zip, 1.24MB)
Mac OS X, universal build (dmg, 1.25MB)
Linux i386, 32-bit Ubuntu built (tar.bz2, 665KB)
Linux x86_64, 64-bit Ubuntu built (tar.bz2, 828KB)

General Resources

I have uploaded a mirror of the last version of the NScripter Command Reference in English, for your convenience. XML framed page, HTML page

For the latest existing builds and source code of ONScripter-EN, the ONScripter resource manipulation tools, and the original alpha version of PONScripter, you can visit Uncle Mion's ONScripter Corner on archive.org.

The NScripter-related page of a previous maintainer of ONScripter-EN, Insani, is still up. Haeleth's site is sadly down as of spring 2020. Please note that the builds and source code on these pages are very outdated, however you may find some use in them - specifically, Insani hosts the Japanese NScripter SDK and extraction tools, which are not necessary for us anymore but still do the job. Also check out insani.org's main page for many free English-translated NScripter games - note that the version of ONScripter used in these translations has a tendency to crash on Windows 8-10, so see Updating.

If you can read Japanese, Senzogawa's NScripter Scripting Factory is still up, and contains the latest information about the NScripter API, such as the nslua command reference.

Games

Some brief mentions of popular games that run on ONScripter-EN - full list here.

A likewise non-exhaustive list of games that use PONScripter:

You will find that many translators' sites refer to online store/download links that no longer exist. Unfortunately, many of these games are long out of print - even if you bought second-hand copies, the developers would get none of the proceeds. As a result, you may have to find downloads on Rutracker or similar sites. If you go this route, please support the original developers in whatever way you can, if applicable and/or possible.