Signed in as:
filler@godaddy.com
Signed in as:
filler@godaddy.com
Please reach us at https://www.X.com/BFGDevStudio/ if you cannot find an answer to your question.
Welcome to YoUwU Novel Creations! This guide will walk you through everything you need to know. Thanks to our Project Template, starting your first visual novel is incredibly easy.
Step 1: Download and Unzip the Project Template
Step 2: Load Your New Project!
That's it! The tool will load a simple, working "Hello World" project. Now you can explore the other topics in this guide to learn how to add your own art, characters, and dialogue.
The Project Template you downloaded contains a specific folder structure that the engine relies on to find your assets. Understanding this structure is the key to adding your own content.
Here is the layout of the template:
>>>>>>>>>>
My-First-Novel/
+-- Images/
| +-- Background/
| +-- Character/
| +-- FMV/
| +-- UI/
|
+-- Audio/
| +-- BGM/
| +-- SFX/
| +-- Voice/
|
+-- Text/
| +-- script.json
| +-- map.json
| +-- choices.json
|
+-- Saves/
<<<<<<<<<<
How to Add Your Own Art & Sound:
Key Rule: The engine works by matching the lowercase names of your folders (yuki, school) and files (happy.png, my_bg.jpg) to the names you use in your script commands.
Your entire visual novel is controlled by three special text files that must be placed in your project's /Text/ folder. These files use a format called JSON, which has very strict rules about curly braces {}, quotes "", and commas ,. It's best to copy these examples exactly and only change the content inside the quotes.
You can create these files with any plain text editor, like Notepad or VS Code.
This file is the simple roadmap for your game. It tells the engine two things: where to start, and what scene comes next in a linear sequence.
Purpose: Defines the starting scene and simple, linear scene connections.
Starter Code: Copy this into a new file and save it as map.json in your /Text/ folder.
{
"startScene": "Intro_Scene",
"connections": {
"Intro_Scene": "Second_Scene",
"Second_Scene": null
}
}
This file holds all the player decisions. Each choice has a unique ID that you can call from your script.
Purpose: Manages all player choices and their resulting scenes.
Starter Code: Copy this into a new file named choices.json.
{
"Greeting_Choice": {
"options": [
{
"text": "Say something nice.",
"targetScene": "Nice_Reply_Scene"
},
{
"text": "Be a little mean.",
"targetScene": "Mean_Reply_Scene"
}
]
}
}
This is the heart of your novel. It contains all the scenes, which are made up of dialogue lines and commands. It's a big file where each "key" is a Scene ID that matches the IDs used in your map.json and choices.json.
Purpose: Holds all the dialogue and action commands for every scene.
Starter Code: Copy this into a new file named script.json.
{
"Intro_Scene": {
"dialogue": [
"@bg(school, day_clear.jpg)",
"@char(yuki, left1, happy, enter, left)",
"Yuki: This is the first line of my visual novel!",
"Yuki: This is the second line.",
"CHOICE:Greeting_Choice"
]
},
"Nice_Reply_Scene": {
"dialogue": [
"Yuki: You chose the nice option. Thanks!",
"@goto(Second_Scene)"
]
},
"Mean_Reply_Scene": {
"dialogue": [
"Yuki: You chose the mean option. Ouch.",
"@goto(Second_Scene)"
]
},
"Second_Scene": {
"dialogue": [
"@char(yuki, left1, normal)",
"Yuki: Now we are on the second scene, no matter what you chose.",
"SYSTEM: The End."
]
}
}
Commands are special instructions in your script.json file that make things happen, like changing the background, moving a character, or playing a sound. All commands start with an @ symbol.
Command: @bg(zone, filename)
Command: @goto(SceneID)
Command: @wait(seconds)
Command: @char(charId, slotId, expression, effect, facing, yPos, animType, animSpeed, animRange)
Command: CHOICE:ChoiceID
Pro-Tip: The Creator Mode has a powerful editor that can build the complex @char commands for you! See the "Creator Mode Guide" topic for more information.
Creator Mode is designed to take the guesswork out of complex commands, especially for character placement and animation. It provides a visual interface to build commands that you can then copy and paste directly into your script.json file.
Here is the recommended workflow:
This is where the magic happens. Use the simple controls to build a complex @char command visually.
Important Note: The command generator always uses the hold effect (e.g., @char(..., hold, ...)). For the first time a character appears in a scene, you will need to manually change hold to enter. If you want them to disappear, change hold to exit.
Here are answers to some frequently asked questions and tips for sharing your projects.
Q: Why does saving a game make me download a file?
Q: Does the "Auto-Save" feature have the same issue?
Q: Why isn't my character's animation working?
The "AI Helper" panel in Creator Mode is a powerful tool to accelerate your writing process.
The best way to share your creation with others is to compress the entire project into a single file.
We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.