In a Ren’Py project, you will write code as a combination of Ren’Py script (stuff like
show eileen happy,
play music sunflower etc.) and Python (for things like functions, classes, and handling variables in-game). This code is designed to be *human-readable*, that is, it’s designed in an English-like language so it’s easier to write out, edit, and debug. However, a computer doesn’t understand Ren’Py script or Python directly. Internally, computers run off of a bunch of 0s and 1s which tell the hardware to perform various complex actions that result in the various functionalities of your computer.
Essentially, you can think of your computer as someone that speaks only a special language, which I’ll call “computonian”. You don’t speak computonian, so if you’re trying to communicate with your computer, you need an interpreter to take your words and turn them into computonian for the computer. That’s what the compiler does. It takes your script, and translates it so the computer can read it. But since you don’t read computonian, if you open the rpyc file, it’ll look like a bunch of gibberish. The computer doesn’t actually understand the rpy files directly; Ren’Py turns them into rpyc files which the computer can then read to run your game.
rpyc files contain a lot of extra useful information beyond what’s directly in their corresponding rpy file, which is why it’s important to keep them in your project when you release it. This public Patreon article has some additional information on their functionality: https://www.patreon.com/posts/under-hood-rpyc-23035810« Back to Glossary Index