Free to use Visual Novel Engine!

(V: 0.2.0)

Change log

Updated 8.8.2023, 10.55 EEST.
View full details in version script of the new model.

Hello there!

I was looking for visual novels on roblox and found a very small amount of good visual novels.

It got me thinking; What if I made my own visual novel engine?
So I got to work and made a visual novel engine similar to Ren’PY.

The VN engine has built-in save and load!
Character animations are built in!
Tracebacks!
Etc!

How it works

To make a story, you have to open the module script called “Scripts”
Inside the module script, you’ll have to move down until you see a table called: “Krul.Start”.

Now, you have to write stuff in it. Here’s a quick example of what it would look like:

Story Example
Krul.Start = {
	{Funct = Label, Name = "Act1"},
	{Funct = Background, Name = "Outdoors"},
	{Funct = Say, Speaker = KrulVN.PlayerName, Text = "Wowza..", TextColor = Color3.new(1, 1, 1)},
}

Custom variables (Making and saving) and if functions!

That’s cool, yeah.
But you know what’s cooler? Exactly! Custom variables!

Here’s an example of how to make, use and reference them! The example includes the “for” function functionality.

If function and custom variables:

To make a custom variable, you must scroll to the top of “Scripts”.
There will be two placeholder custom variables that look like this:

--Additional
Krul.NatsukiScore = 0
Krul.PlayerScore = 0
--end--

Krul.SaveCustom = {
	"NatsukiScore", "PlayerScore"
	
}

To make a new custom variable, add Krul.VariableName below “Additional”.
To make the variable save, you must add it to the SaveCustom table as a string without the “Krul.” part.

Now, here’s an example of the “if” function. I’ve explained everything through the comments in the script example.

{Funct = If,
		
		IfInfo = "==", -- >, <, ==, >=, <=
		Variable = "NatsukiScore", -- variable name
		Is = 1, -- Comparing Is to IfInfo, (IfInfo)
		Then = Jump, Label = "Act3" -- Then = the variable if the If function returns true, you can change the Then to any function. The "Label" part is not a part of the if function, it's a part of the "Jump" function.
		
	},

To make an elseif function, just use another if function below the other if function!

Custom characters, audio and backgrounds

Now, to make custom characters and backgrounds, all you have to do is add them to:
GameFrame → Backgrounds (for backgrounds) or GameFrame → Characters (for characters)
And then give them a unique name to use them in the story!

The process of adding audio is quite similar, but instead of looking through the game frame, the audio files should be in SoundService!

Consider customizing the main menu and some other things!

How to do so

In the Krul’VN ScreenGui, you must open a module script called KrulVNVariables.
That’s basically it, customize the settings to your likings!
Customizing ui doesn’t have any simple way out yet, you have to change the images manually.

There are plenty more functions like AddText, etc! There’s an outdated information thingy in the Krul’VN ScreenGui called “FunctionsList”.
I will be fixing it slowly, while also reorganizing some code and stuff. Expect updates soon!
I’m planning to make a completely new way to show off the functions.
This model is far too massive to completely cover in a post, sorry!

Plans for future updates:

Settings tab, better performance, more organized code, achievements, stores, chapters, anticheat, Better tracebacks!

Thank you for taking the time to read everything mentioned above, if you have any questions then don’t be afraid to ask!

Media

LINKS:

  1. Link to the model.

  2. Game example of KrulVN in action

  3. Full function list moved to Read Me.

Credits are very appreciated! Though, I’ve already added credits to the game.
Removing or hiding the ingame credits, or reuploading the model and/or claiming that it is your own is prohibited.

12 Likes

Are we perhaps able to get a demonstration of this in a game?

3 Likes

And can we have a visual of your novel engine? Not too visual if we can’t see it.

4 Likes

Lol true, my bad I forgot to link the example game in.
I’ll add a link to it right below the model link.

Apologies if you expected a video, all of my video files keep getting corrupted!

1 Like

what is a visual novel system ???

It’s an engine that you use to make visual novels.
Some notable visual novels outside of roblox are
Doki Doki Literature Club,
uhhh yeah
It’s a cool engine that u use to make novels with cool anime girls and stuff

Oh hell nah that is some Anime stuff.

yeah no not really ///////////

Visual Novels don’t have to revolve around anime

The best way to describe a visual novel is to think of it as an interactive book. Every “page” of the game has a specific amount of interactions you can do with it, and those actions are predefined by the game.

1 Like

Any screenshots or videos? I might use this for a future game.

Sadly no, no screenshots or videos.
I do have a game linked, though.

Full functions list released!
Functions list includes usage help and overall look of completed functions.

  • All functions added to documents, updating the KrulVN model
    Cleaned code a bit, update instructions in the latest model script “Version 0.1”