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 ...
ONScripter is a Free & Open Source implementation of the NScripter visual novel engine, based on SDL and licensed 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.
- ONScripter Plus
- ONScripter Windows Builds
- ONScripter-EN Download Mirrors
- General Resources
- In Closing
...Therefore, we have ONScripter-EN: a fork designed to handle English scripts containing 1-byte characters in a better way. Although 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 have provided the Download Mirrors section for the last stable builds and source code, and the (O)NScripter Command Reference for any and all development needs.
Note: it is imperative that you update to the latest version of ONScripter-EN before attempting to run a game, especially on a recent operating system. See Updating.
ONScripter-EN will not start without a default.ttf font file in the game folder. Since the engine displays text only with fixed width, 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 into the game folder -- otherwise leave it alone, because many translations make use of custom fonts. If you are scripting your own novel and must use a proportional font, see PONScripter or ONSlaught.
The original NScripter had a menu bar which let you adjust all the settings; it was never implemented in ONScripter for compatibility's sake, so you use keybinds to access the same functions. For a rundown of these, see the Readme.
Please also see List of Known ons.cfg Options.
In addition to pressing F for fullscreen, on reasonably recent versions you can scale your ONScripter-EN games to virtually any size, including but 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 ...
The scale option automatically adjusts to the maximum vertical size of your screen, while window-width allows you to set any value you like. Do note that scaling up the window will lessen the impact of text shadows, decrease framerates where heavy effects are in use, and may introduce some image-related jank. If it does not work, see the Updating section.
Note: 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. See readme2.txt for instructions and further details.
It is virtually necessary to update all of your ONScripter games to the latest version of ONScripter-EN. It fixes crashes on recent Windows versions, adds important features which were not 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 into 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 shall be stored (If you neglect to do this, saves are 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 your game folder.
Note: When updating Umineko no Naku Koro ni, you must add detect-png-nscmask to ons.cfg in order for the English image assets to display correctly.
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 are not 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 will probably need to build and try this slightly updated fork of ONScripter-EN for Mac, which may solve issues you might experience.
List of Known ons.cfg Options
window-width=[value in pixels]
root=[alternate path to game resources]
save=[alternate path to store save files]
automode-time=[value in milliseconds]
All of the above can also be passed as command line options at runtime, for example:
To clarify some of the commonly-used options, english or japanese is used in cases where one might need to force a language mode, detect-png-nscmask detects whether PNG files use NScripter alpha masks (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 supported only as of build 2009-09-30. Please see Updating.
ONScripter-EN on Other Platforms
It is unfortunately rare for ONScripter-EN to be ported to smaller platforms, as ONScripter is more appealing for that it is still maintained. Any future attempters at porting should know that a regression in SDL_ttf causes the latest version not to work with ONScripter-EN, meaning that is necessary either to patch SDL_ttf or to downgrade to a working version.
ONScripter-EN has been ported to OpenBSD with updated dependencies and will hopefully someday be inducted into ports.
I believe a port to IBM OS/2 and a port to PlayStation Vita would thoroughly satisfy their respective hobbyist communities. If you are a developer experienced with either platform, any effort would be much appreciated. Here is a very old port of ONScripter to OS/2 for those interested.
PONScripter stands for Proportional ONScripter. It is essentially a fork of ONScripter that supports Unicode, so proportional fonts and many more languages are supported, and it is generally more flexible and modern. However, it was forked at an earlier point in ONScripter's development and was abandoned soon afterward, so even on the latest forked versions it is highly unstable. It uses quite a bit more resources, has many more bugs/behaviour issues, and it is not fully backwards-compatible with NScripter nor ONScripter. Support for Japanese filenames are dropped and new routines and syntax are required, so porting an NScripter game to it is a significantly more involved effort. PONScripter does have a legacy mode which runs NScripter and ONScripter-EN games as they were written, but most of its issues are still present. More importantly, PONScripter does not support some custom effects which 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 which were later merged into ONScripter-EN by means of emulation, so this presents a huge disadvantage for PONScripter. The main branch of ONScripter now supports both proportional fonts and unicode, so PONScripter can almost be considered obsolete, save for that PONScripter still has the best support for Western languages.
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. Witch Hunt's PONScripter dev tree can be found here.
Although PONScripter is highly favoured for commercial translations simply due to the fact that it is still maintained for the Western community, its instability can present problems. If you are a translator and your language features special characters such as diacritics, you may find it best to use ONScripter-EN and edit a font so as to assign special characters to any supported and unused characters. Many translations have done things to this effect, such as Mirror Moon's English translation of Tsukihime assigning the ellipsis character to |. This method saves you an incredible amount of engine-related headache, though at the cost of producing a script that's a bit more complicated to edit.
ONScripter-RU is yet another fork, but it is 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, and it doesn't work with much of anything else. As stated on its Github page, ONScripter-RU makes use of its own hacks, so don't expect cross-compatibility between this and the other forks.
Befitting its neat name, ONSlaught was not a fork at all, but rather an attempt to program an NScript interpreter from the ground up. Its developer was annoyed by ONScripter's (former) lack of Unicode support, and the fact that support for languages other than Japanese was splintered across an array of forks. ONSlaught supports Unicode, can fake bold/italics, and is able to run very basic games such as Tsukihime and OMGWTFOTL, but some core features such as text sprites are not working. It is much more strict and consistent in its handling of syntax and errors, so in order to use it you will likely have to make some edits to your game script. It is known to have been used in Tsukihime's Spanish translation. ONSlaught was abandoned in 2011, although the developer may be willing to fix its most outstanding problems.
ONScripter Plus is an Android app that runs ONScripter and ONScripter-EN games pretty much how they should be run. Of all the incarnations of ONScripter on Android, this is the one to pick. It bears a few bugs and may have some save file issues, but it is a great way to read your novels while away from the computer. You might consider buying the ad-free version in order to support the developer.
ONScripter Windows Builds
Since the main branch of ONScripter includes build instructions for Windows yet no actual builds, I took it upon myself to make my own 64-bit Windows builds for your convenience. I had meant to update these with each new release, but it seems Ogapee removed the ability to enable or force 1BYTE_CHAR in the source, so I'll just leave these here for now. Do 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 are trying to run was made very recently.
I really wanted to make 32-bit builds as x64 is extravagant for this use-case, but Ogapee has provided no way to do so on Windows.
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 same downloads of ONScripter-EN and the ONScripter tools that were on the Releases page of Uncle Mion's site, now mirrored on the Wayback Machine. These downloads are absolutely unchanged from the ones there and are only for your convenience. All of the mirrored software in this section is licensed under the GPL. Do note that the Mac build is quite aged by now and will have bugs -- if you use a modern Mac, try 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)
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)
To access what remains of the official ONScripter-EN/PONScripter support page, visit Uncle Mion's ONScripter Corner on the Wayback Machine.
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. The builds and source code on these pages are very outdated, but you may still find some use in them -- specifically, Insani hosts the Japanese NScripter SDK and extraction tools, which are no longer necessary for us but still have their uses. Also check out insani.org's main page for many free English-translated NScripter games -- see Updating before running any games obtained from here.
If you can read Japanese, Senzogawa's NScripter Scripting Factory is still up, and contains the latest information on the NScripter API, such as the nslua command reference.
Some brief mentions of popular English-translated games that run on ONScripter-EN -- full list here.
- Tsukihime - Mirror Moon patch
- Kagetsu Tohya - Beast's Lair/Lunacy patch; unofficial 0.5.3 update
- Higurashi no Naku Koro Ni - patch in progress by yours truly; Sonozaki Futago-tachi minigames patch here
- Umineko no Naku Koro Ni - Witch Hunt patch
- Higanbana no Saku Yoru Ni - Spider Lily patch
- Rose Guns Days - Witch Hunt patch
- Narcissu - Insani release only
A likewise non-exhaustive list of games that use PONScripter:
- Le Sanglot des cigales - French Higurashi translation
- Umineko no Naku Koro Ni - MangaGamer version only
- Narcissu & Narcissu Side 2nd - old Haeleth/Agilis version and Steam version
- Ciconia no Naku Koro Ni - The Witch Hunt's Ciconia page
You will find that many translators' sites refer to online store/download links that no longer exist. Many of these games are long out of print, so 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.
If you are a programmer with the necessary gumption and are in dire need of support for proportional fonts or custom resolutions, it may be time to create a new fork of ONScripter that is able to balance compatibility, language support, and suit the needs of the English community. Though leaving behind a miasma of dead forks is by no means ideal, time marches on and many new things have been added to both NScripter and the main branch of ONScripter that the old forks simply cannot handle. For example, 1024x576 has become a standard resolution in the VN industry, seen in the more recent NScripter games Trianthology and Shimaisou. Proportional fonts make for comfortable, natural reading and much more flexibility in style. Some NScripter games have come to rely on Lua scripting. The list goes on. The existing forks diverged too long ago to be reasonably updated, and at this rate, new translations shall each be forced to have their own ONScripter builds to suit their needs, causing a compatibility nightmare. NScripter never died, and there is still a world of stories untouched by many.
- The icon for ONS-EN is the symbol for Japanese onsen (hot springs), which you'll often see in games and anime.
- The last version of ONScripter-EN has one last serious bug, which is that it will not accept any unexpected input during a choice wait, which means that it's generally impossible to save the game while a choice is shown. This behaviour has since been fixed in ONScripter.
- Games translated in ONScripter-EN are known for having uncomfortably large font sizes -- especially with the Sazanami Gothic font -- but this is due to translation groups not putting in the effort to tweak them from the default, rather than any fault of the engine.
- Saya no Uta had a third-party PONScripter port done by Russians that incorporated the TLWiki English translation, but the site is excluded from the Wayback Machine and the English version of the port may be lost for good.
- There is yet no full English version of Higurashi running on an *NScripter derivative, because both complete English releases run scripts made for Buriko General Interpreter.