Home Page   Basic Introduction


  1. Preface and Resources
  2. Basic Stuff for ONScripter to Run
  3. Tools for Packing Assets and Compiling a Script
  4. Quick and Dirty Rundown of a Basic Game
  5. Displaying Sprites and Backgrounds
  6. Transitions/Effects

Preface and Resources

Before you start any game engine or programming language, you should have some
documentation on hand. If you don't speak Japanese and use English resources like me,
then finding good documentation for ONScripter is difficult. Even most Japanese resources,
from what I've seen, tend to be lurking on some obscure corner of the Internet that hasn't
been updated in more than twelve years, if it's even still up at all. All hope is not lost,
however, as there still exist some English resources and downloads that are available.

The first place I'd recommend going to is Uncle Mion's website. Uncle Mion was a prominent
user of ONScripter-EN, and despite their site only existing now as an archive, has some
vital tools needed for the engine. Here are the downloads for the engine itself and the tools for it
which include the programs needed to both pack and extract scripts and game files. Here is an extremely
useful document that lists the entire syntax for the engine, what arguments functions take and what they mean, etc.
There's also an FAQ and bug reporting stuff on their website, so you should definitely poke around here
to learn some general info about ONScripter.

Another good place to read about ONScripter and NScripter is the NScripter.Insani website. They have a really good
page about the history of NScripter/ONScripter and what they're capable of that you can find here and an
NScripter (not ONScripter) development kit with some of the utlities for it here. Also on there is a list of
games made with both engines, both professional and amateur. (Be sure to check the main Insani site for even more games.)

Another resource I've found is chaoskaiser72's ONScripter Corner. This guy has done
a good job documenting a lot of technical information about ONScripter and its derivatives,
such as PONScripter, ONScripter-RU, and others better than I could. He also has saved a lot of
resources here that were on the above websites that've expired, such as the command reference where
jumping between things on the sidebar is much faster because it isn't in an archive.
He also has some information about how to scale the game window in an ons.cfg file and where to
download certain other files, so I'd recommend at least glancing through this page to see some useful stuff.
I'll be going over some of this information in my guide as well.

Basic Stuff for ONScripter to Run

For ONScripter to even start, it needs a handful of files with it. These files include:

Not much at all, but make sure you still have them in the first place. Now, this is just to make the program start up,
since these files alone aren't the only things you need to make an actual visual novel. For that, you need an arc.nsa and
an nscript.dat, which stores your images/music and script respectively. How do you even get those? Follow me to the next section.

Tools for Packing Assets and Compiling a Script

Of all the tools in the ONScripter kit, nsamake and nscmake will be the most important to you as a developer.

Nsamake allows you to put multiple folders and/or files into a single .nsa file, which holds all your data and
is where ONScripter grabs all the images/audio/etc. It's not required to put your assets into an .nsa file, but I'd recommend
doing so anyway, since it can heavily reduce the file size of your game (sometimes up to 68%).

Here's how to use the program:

Nscmake is used to pack the text file you typed up your script in into an nscript.dat file, which ONScripter
reads directly. Unlike .nsa files, an nscript.dat is necessary as the engine can't read a game script from an ordinary
text file.

Have another image:

If you want to extract an .nsa or script file, then you should use nsadec and nscdec. There's not much
to them. You just type in the parameters for each one and you get your files.

Here's how to use them: