Visual Novel Maker is a new piece of software that allows you to create your own visual novels. And that’s awesome, but new software can be confusing. So, today I’ll be breaking down the connection between the editor & the engine for developers. These are my own thoughts after my brief time with the program. But first, some general knowledge about Visual Novel Maker.
The editor is where you add content to your game; you can even extend the editor itself with the use of JSON. This is handled in the extensions tab of the editor; the script tab adds more functionality to the game engine. Now, as a developer coming from RPGMakerMV this can mean less coding for you. In the extensions tab, you can add new databases with JSON or write code that extends the editor. The JSON is used to describe the structure of your new database or command. Here’s an example.
In this example, a new scene command is created using the built-in classes for Visual Novel Maker. The UI is then split into pieces with tags in this JSON format. This is what the command looks like.
All of this code will be reflected in the editor and the editor’s developer console; this console is separate from the engine’s code entirely. But, the two do interact with each other through the back-end, so let’s discuss that.
The back-end in Visual Novel Maker is where information from the editor is stored. For example, the messages you see in the live preview are stored there. They are stored as documents with unique ids or uid in Visual Novel Maker. As a result, many items have unique ids, including text strings. These ids refer to documents in the back-end which are then used in the game engine to manage some of the data and scene commands. And how does this work? Well, let’s talk about the engine to understand.
The engine contains all the code to make Visual Novel Maker run your game. One important aspect is that the editor interacts with the engine through the use of documents. Now, as a developer who wants to extend the engine, use the script tab in the editor. However, often times you need to work with both the engine(script) and editor (extensions) code. For example, to create a new scene command.
To create a new scene command, first, you must create the command in the editor using JSON. Then, you have to extend the command interpreter within the engine code. After that, the command will work and display in the live preview. And that’s just the tip of what it can do.
Now, there is definitely more to the engine and editor, but this is just an introduction to help alleviate the confusion of how they work together. Hopefully, this helps you and good luck creating your own story! I’ll be writing more about the engine as time goes on.