Making games with Ren'Py
Visual novels, and almost all of them. A script format a writer can read.
Ren'Py makes visual novels, and it has made almost all of them. *Doki Doki Literature Club*, *Butterfly Soup*, *Long Live the Queen*, *Ladykiller in a Bind* — if you've played a visual novel from a small team, this is probably what built it.
It's the clearest case on this list of a tool that does one job completely. If you're writing a branching story with pictures, there is no reason to use anything else.
Who it's for
Writers, first and foremost. Ren'Py's script format reads almost like a screenplay — you write dialogue, name a speaker, show an image, and that's a scene. The programming only starts when you want it to.
It's also a good fit for anything dialogue-heavy that isn't strictly a visual novel: interactive fiction with art, narrative games, dating sims, story-led puzzle games.
What it's good at
- **The script format.** Genuinely readable. A writer with no programming background can produce a working game.
- **Everything a visual novel needs, built in:** save/load, rollback, skip, text history, auto-advance, preferences, a working menu system. These are boring and essential and you'd spend weeks rebuilding them elsewhere.
- **Accessibility built in** — self-voicing, font scaling, high contrast. Better than most commercial games manage.
- **Translation support** as a first-class feature.
- **Python underneath** when you need real logic. The full language is there.
- **Exports everywhere**, including Android and web, from one project.
Where it fights you
- **One genre.** You can build simple minigames and light RPG systems, and people do, but you're extending a visual novel engine.
- **Customising the interface means learning its own screen language**, which is idiosyncratic.
- **Default look is recognisable.** Like RPG Maker, the out-of-the-box presentation is a tell. Restyling it is worth the effort.
- **Animation is limited** compared with a general engine.
Your first hour
- Download from **renpy.org**, unzip, run. No installation.
- Create a new project — you get a complete working game with placeholder art.
- Open `script.rpy`. Change the dialogue. Run it. That's the loop.
- Add a character, a background, a sprite. Then add a `menu:` block for a choice, and a variable to remember what the player picked.
- The built-in tutorial project is thorough and worth playing through.
Shipping it here
Build → **Build Distributions**.
- Tick the platforms you want. Ren'Py produces a clean zip per platform automatically — **you can upload the output directly**, which makes it the least fiddly engine here.
- **Web** builds exist but need the separate web build tool; check the current documentation, as this has changed more than once.
- Turn off the developer menu before a release build.
- Check the licences on any assets, fonts and music you've used. Visual novels lean heavily on borrowed assets and this is where people get caught.
Where to learn more
- Ren'Py documentation
- The Ren'Py quickstart — an hour well spent
- Lemma Soft Forums — the community hub, and where most free asset packs live
Made something with it? Publish it here — rough and unfinished is welcome.