If you’re looking for information on something that isn’t presented on this website, here is a list of additional resources along with my own notes on their quality and the included information. If you know of another resource which isn’t included in here, leave a comment or use the Contact form!
Ren’Py Documentation https://www.renpy.org/doc/html/
- The Ren’Py documentation is, of course, one of the best places to get information about a particular feature in Ren’Py.
- Pros: Has information on most things that Ren’Py is capable of
- Cons: Lacks examples for a lot of features. Not always easy to find what you’re looking for unless you already know what it’s called.
Lemma Soft Forums https://lemmasoft.renai.us/forums/
- The Lemma Soft forums are the official forums for hosting discussions about Ren’Py (and other visual novel development tools). Most importantly, there is a Cookbook section hosting code snippets and tutorials, topics to ask questions, and places to advertise one’s project or services for game development.
- Pros: Easily searchable on Google; many “how do I do X”-style posts will often lead you to a Lemma Soft thread. Common questions are often solved there, and it can be a good place to ask for help on long-form questions.
- Cons: The Lemma Soft forums are old, and a lot of discussion in recent years has moved away from the forums onto Discord servers, meaning that much of the cookbook entries and answered questions contain code that’s 4 years or older. Additionally, not everyone uses best practices when providing code snippets, which can make it difficult to debug for beginners.
- Final thoughts: You should only use code from the Lemma Soft forums if 1) it is less than 3 years old or 2) you are at an intermediate level of Ren’Py understanding so you’re aware of how to update the code and/or what its shortcomings might be.
- A website of tutorials and coding frameworks created by Lezalith, whom some may know from the Ren’Py Discord server.
- Recently created, so tutorials are in-line with current Ren’Py practices
- Pros: Plenty of images and code snippets to help illustrate coding concepts and Ren’Py features.
- Cons: There is a limited number of topics covered in the tutorials at the moment, though more tutorials continue to be added.
- A website that hosts several Ren’Py tutorials on a variety of topics. All the tutorials on Ren’Py are from 2018 and will therefore get more outdated as time goes on, but remain generally relevant as most of the topics cover fundamentals of Ren’Py that have remained unchanged the past several years.
- The only main issue I have is with the tutorial “Ren’Py + Python: Part 1: Setting and Using Flags” – the tutorial incorrectly uses
defineto declare variables that are later changed in the tutorials. If a value will change, you should use
- Pros: Walks you through some Ren’Py basics.
- Cons: Has not been updated since 2018. Incorrectly uses
definein one tutorial. Mostly just shows examples already in the documentation.
Zeil Learnings https://www.youtube.com/c/ZeilLearnings/videos
- A YouTube channel which hosts tutorials on coding with Ren’Py
- Notes: The Create a Visual Novel Game with Ren’Py video shows declaring a variable with
default learned = Falseinside of a label. This is poor style; you should always have lines with
defineoutside of any labels, as they run during init time. This is shown correctly in later videos.
- In the “Stats Screen in Ren’Py” and “Positions, Grids, Boxes, style_prefix” videos, the screen declarations like
screen gameUIare declared without any parentheses. It should have these for better screen prediction i.e.
- In “Main Menu in Ren’Py”, instead of
if main_menu:you should use if
renpy.get_screen("main_menu"):to differentiate styling for the main menu screen and the other menu screens. If you just use
main_menu, then the Load screen off the main menu will still have the centered positioning.
- In “Quest System in Ren’Py”, the lines
import renpy.store as storeand
import renpy.exports as renpyare not required and are superfluous as they’re already declared like that in the engine itself. You can also declare classes like
class Goal():instead of
class Goal(store.object):because Ren’Py automatically redefines the default object instance as its own version of object which is compatible with rollback.
- In “RenPy Tutorial for Persistence”, the comparisons are done using
== True. This is technically fine, but is poor style. Just
sensitive persistent.blue and persistent.red and persistent.yellowwould be sufficient, for example.
- Pros: Good for visual learners. Goes over some useful Ren’Py concepts and is generally well-explained.
- Cons: As can be seen from the notes above, there are some mistakes and errors in the code. These mistakes generally aren’t too large, but it’s important to be aware of them so you don’t fall into bad habits.
Leave a comment if you recommend any other resources I missed here!