How To Get Started Making Visual Novels
Wanna make a visual novel? Or maybe you've seen games like Our Life, Blooming Panic, Doki Doki Literature Club, etc. and wanna make something like that?
Good news, here's a very basic beginners guide on how to get started in renpy and what you need to know going in!
Before you start, I highly recommend looking at my last post about writing a script for renpy just to make it easier on you!
Obviously, our first step is downloading it from their website
thankfully, its right on the home page of their site. Follow basica program installation steps and run the program.
I highly recommend pinning it to your task bar to make it easier to access.
From there, you're met with the renpy app, it's a little daunting at first but let's talk about what all these buttons are for.
This part is simple, it just lists the current projects in the chosen directory. You probably won't have any in there of your own. You should still see Tutorial and The Question!
Both of those default projects are super helpful in their own ways, i highly recommend testing out the tutorial and playing around with it just to get comfortable with some of the basics.
The first step to actually making your game into a game!
You'll be met with a prompt letting you know that the project is being made in English and that you can change it. You can click Continue.
From here, you'll be asked to input a project name! Put in your games title, or even a placeholder title since this Information can be changed later! (this is also the title the folder will be in your file browser, be sure to name it something you won't overlook)
Now we get to choose our resolution!
If you have no idea what to choose, go for 1920x1080! This is the standard size for most computer monitors and laptops, but it will still display with moderately decent quality on 4k monitors too!
You can choose 3840x2160 as well. This is 2x the measurements of the default, with the same ration. These dimensions are considered 4k. Keep in mind, your image files will be bigger and can cause the game to have a larger size to download.
Now we get to choose our color scheme!
Renpy has some simple default options with the 'light mode' colors being the bottom two rows, and the 'dark mode' colors being the toop two rows.
You can pick anything here, but I like to choose something that matches my projects vibes/colors better. Mostly because depending on how in depth you go with the ui, it minimizes the amount of changes I need to make later.
Click continue and give it a minute. Note: If it says "not responding" wait a moment without clicking anything. It can sometimes freeze briefly during the process.
Now we should be back at our home screen, with our new project showing. Let's talk about allll that stuff on the right now.
This just opens that particular folder in your local file explorer!
game - is all the game files, so your folders for images, audio, saves, and your game files like your script, screens, and more.
base - this is the folder that the game folder is inside of. You can also find the errors and log txt files in here.
images - takes you to your main images folder. This is where you wanna put all of your NON gui images, like your sprites, backgrounds, and CGs. You can create folders inside of this and still call them in the script later. EX: a folder for backgrounds , a folder for sprites for character a, a seperate folder for spirtes for character b, etc.
audio - Takes you to the default audio folder. This is empty, but you can put all your music and sound effects here!
gui - brings up the folder containing all of the default renpy gui. It's a good place to start/ reference for sizes if you want to hand draw your UI pieces like your text box!
Simple enough, this is just where you can open your code files in whatever text/code editor you have installed.
Script.rpy - where all of your story and characters live. This is the file you'll spend most of your time in at first
Options.rpy - Contains mostly simple information, like project name and version. There aren't a ton of things in here you need to look at. There is also some lines of code that help 'archive' certain files by file type so that they can't be seen by players digging in code however. Fun if you want to hide some images in there for later or if you just dont want someone seeing how messy your files are. We've all been there
Gui.rpy - where all of the easy customization happens. Here you can change font colors, hover colors, fonts, font sizes, and then the alignment and placement of all of your text! Like your dialogue and names, the height of text buttons, etc. It more or less sets the defaults for a lot of these unless you choose to change them later.
Screens.rpy - undeniably my favorite, this is where all of the UI is laid out for the different screens in your game, like the main menu, game menu, quick menu, choice menu, etc. You can add custom screens too if you want, but I always make my own seperate file for these.
Open Project - this just opens all of those files at once in the code editor. Super handy if you make extra files like I do for certain things.
last but not least, our actions.
Navigate Script - This feature is underrated in my honest opinion, it's super handy for help debugging! In renpy you can comment with # before a line. However, if you do #TODO and type something after it, it saves it as a note! You can view these TODO's here as well as easily navigate to when certain screens are called, where different labels are (super great if your game is long, and more. It saves some scrolling.
Check Script (Lint) - also super duper handy for debugging some basic things. It also tells you your word count! But its handy for letting you know about some errors that might throw up. I like using it to look for sprites I may or may not have mispelled, because they show up in there too.
Change/Update GUI - Nifty, though once you start customizing GUI on your own, it isn't as useful. You can reset the project at any point and regenerate the image files here. This updates all those defaults we talked about earlier.
Delete Persistent - this just helps you delete any persistent data between play throughs on your end. I like to use it when making a lot of changes while testing the game, so that I can reboot the game fresh.
Force Recompile - Full disclosure, as many games as I've made and as long as I've been using Renpy, i have never used this feature. I searched to see what it does and this is the general consesus: Normally renpy tries to be smart about compiling code (creating .rpyc files) and only compiles .rpy files with changes. This is to speed up the process since compiling takes time. Sometimes you can make changes that renpy don't pick up on and therefore won't recompile. In these cases you can run force recompile to force it. Another solution (if you know what file is affected) is to delete that specific. rpyc file.
The rest of your options on this right hand side are how you make executable builds for your game that people can download to extract and play later!
Sorry gang! that was a whole lot of text
obviously the last button "Launch Project" launches an uncompiled version of the project for you to play and test as you go!
Hang in tight because my next post is about how to utilize github for renpy, so you can collaborate easier!