(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!
LINKS:
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.