Skip to content

A curated list of awesome goodies for RenPy visual novel engine. Inspired by the numerous awesome-lists everywhere.

License

Notifications You must be signed in to change notification settings

methanoliver/awesome-renpy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 

Repository files navigation

Awesome RenPy Awesome

A curated list of awesome goodies for RenPy visual novel engine. Originally this started as me dumping my bookmark folder, but since this accrued some interest, I decided to make this more of a thing. Things that were known to be obsolete at the time of writing -- which happens relatively often in the RenPy land -- did not make it into this list unless they were otherwise significant or were the only example of their kind.

Who am I kidding, this will languish in obscurity like every other attempt to produce an index of these things...

Contents

Documentation

RenPy's own documentation is somewhat scattered, at times incomplete, and often, insufficiently detailed.

That is, of course, no excuse not to read it, but if that was not helpful:

Introductory

Python

  • Feniks Development - In-depth explanations of basic programming notions as they relate to RenPy.
  • Python Tips - While not specifically RenPy related, so a number of sections dealing with the operating environment are not relevant, this book will aid people who already know the very basics of Python.
  • getting your head around Ren'py: for coders - Explains the unusual things about RenPy for people with experience of more regular programming languages.
  • Free Python Books - A list of Python books in English that are free to read online or download.

Specific

Non-English documentation

Patreon articles

These are articles from PyTom's Patreon, most of which explain a certain feature in more detail than the manual does and provide example code.

Internals

Explain certain obscure, but sometimes critical implementation details.

Features

Explanations on the use of a particular feature.

Menus

menu: statement has a lot more flexibility than you would think.

Platform support details

Details on what you need to do to get your project to run on a particular platform.

Interoperability

Interoperability with the rest of the world.

Examples

Code examples implementing a particular feature.

Project templates

Templates to start off a new project containing commonly requested features a stock RenPy new project does not offer.

Frameworks

Pieces of code big enough to be called libraries.

General

  • Console - An in-game console for the player to use (i.e. distinct from the built-in developer console). Not well documented at all.
  • DynamicSpriteManager - A high-level system for easily defining and compiling the RenPy native LayeredImage. Given a directory of images, it will automatically scan and categorize those images for use in a mix-and-match style sprite declaration language based on filenames. Documentation inline with code.
  • Extra Animated Value - Extending AnimatedValue for bars.
  • Renpygame -- An attempt to resurrect the library that simplified porting Pygame code to RenPy.
  • Puppitor - A complicated sprite animation library.
  • renpy-color-picker - What it says on the tin.

Network

Visual novel elements

Gameplay elements

Device imitation

  • Candella - "Candella is a fork of the AliceOS framework, a Ren'Py framework that provides an operating environment to visual novels. This operating environment includes utilities, classes, and other code that lets developers and players write and use apps designed for the system." To put it less opaquely, this imitates a full window system with "applications" inside RenPy.
  • Ren'Py Chat Log -- Library for displaying scrolling chat logs.
  • Messenger Emulator - An advanced library for imitating Telegram Messenger in-game. Requires work to adapt to more modern versions of RenPy.
  • phone message system for renpy - Another implementation of a phone, this one works as is.
  • RenpyPhoneSMS - And another one.
  • Elckarow/Phone - Imitating a phone is a very common task.
  • albireo-games/renpy_phone - It is a wheel people keep reinventing.

Extra content

In a classic Japanese title, these would go into making the contents of an "Extras" menu.

  • GalleryPlus - Extends the functionality of RenPy's built-in Gallery class. Allows looping images, pages, navigation buttons.
  • renpy-gallery-inject - Self contained gallery screen, and code to allow the screen and functionality to be patched into existing games without changing their code in any way.
  • RPY-VNBE - A set of multiple libraries, including an achievement system and a number of text effects.
  • Ren'Py Universal Player - An enhanced music room for Ren'Py projects that allows users to play tracks outside the game's story along with sideloaded songs.
  • renpy-achievement - A screen to display an XBox-like achievement popup. Does not actually interact with any achievement backend, but the builtin one should serve.

Cookbook

Most useful RenPy code comes in the form of code snippets, examples, and other small pieces, rather than a well-packaged library. As such, many of these links link to Gists, forum posts, and other such locations wherein a given code snippet is presented in context. You can always wade the depths of Lemmasoft RenPy forums yourself for more.

Snippets

Not all of these are confirmed to work in current versions of RenPy.

Text

Effects

Particles

Displayables

User interface

Other snippets

These are useful, but difficult to categorize.

Minigames

Self-contained minigames can occasionally be found. Some assembly is usually required.

Shaders

Shaders are the most arcane part of RenPy, because they require branching into GLSL, while accounting for RenPy intricacies. Some of the effects achieved thereby are very useful, however.

Code examples

Occasionally, entire games are published as open source, though not necessarily free. Whenever they contain anything useful as example code, they go in this section.

  • Cute demon crashers - interesting examples of functional programming, well commented, even if dated.
  • Learn to Code RPG - a complete RenPy title, showcasing some of the more obscure features, with full source and assets.
  • Decompiled Doki Doki Literature Club - while this is presented only for the purposes of producing mods, this showcases the state of the art of RenPy programming from 6.99 era, and is of historical and educational interest.
  • DW Klondike Solitaire - A complete Solitaire in RenPy, good as an example of using the Card Game Framework.
  • Mysterious Messenger - An entire game built around a custom messenger imitation.
  • carpe-diem - Complete source for Carpe Diem
  • Without Romance - A SuNoFES 2020 project.
  • KatawaShoujo-RenPy8 - A port of the classic Katawa Shoujo visual novel to run on modern versions of RenPy.
  • MonikA.I - AI-based features for a mod for Doki Doki Literature Club, this is an advanced example of integrating RenPy with a chatbot.

Other

  • 1080p wipes - A collection of 1080p-sized ImageDissolve transition images, neither quite code nor quite an image by itself.

Tools

In-engine developer tools

These are meant to be built into the project at least during development, and thus are a cross between libraries and standalone tools.

  • Ren'Edit - A beta-tester support tool to easily acquire corrections and comments.
  • ActionEditor - A powerful director tool for manipulating camera, viewing the results and generating code to produce the interactively-defined effects.
  • MouseFinderTool - A set of developer tools to pinpoint mouse position of things. Documentation in Spanish only.
  • RVRE - The editor provides a means to proofread your visual novel while running it and without leaving.
  • Caption Tool - A tool to add image and sound captions for accessibility purposes.
  • renpy-TranslationTools - Tools to aid in managing translations in certain corner cases. Also the rare example of embedding RenPy-script in Python, rather than the reverse as is usual.
  • RenPy automatic translations - A tool to automate machine translation of your project.
  • Demotools - An extension that can be used to produce automated demos, screencasts, and otherwise pretend there's a player at the keyboard.
  • Expreviewer - A preview tool for layeredimage sprites.
  • Image Tint Tool - An image tint preview tool.

Standalone developer tools

These are software unto themselves.

General

  • Ren'Py Language for Visual Studio Code - Currently the way to edit RenPy code.
  • renpy-graphviz - Draws a flowchart of a RenPy project based on jumps, calls and labels. Has an online version.
  • renpydeskgen - Shell script to generate Linux *.desktop files for RenPy games.
  • vnproofer - Project proofreading and spellchecking tool that works by passing scripts through cspell.
  • renxel - Transmute RenPy translation files to Excel tables and back.
  • Ren'Py VSCode Project Template - a configuration for Visual Studio Code to enable running, linting and building from the IDE.
  • Visual glBlendFunc + glBlendEquation Tool - Not RenPy specific, this will be very helpful if you want to figure out blend transform property to get a particular visual effect.
  • Node based script editor - Kind of like Twine's dialogue tree view, but for RenPy.
  • renpyfmt - A formatter for RenPy code. Work in progress, but looks promising.
  • RenPy Maker - One more attempt to produce a visual script editor.
  • Ren'py => Python Generator - An utility to convert pure Python files to Python-In-RenPy syntax, allowing for easier editing.
  • Renpy Parser - Parses a lightweight text file markup format into RenPy script.
  • renpyDialogToAudio - Automatically generates voice for your project based on text originals using elevenlabs TTS.
  • renpy-counter -- Estimates the play-length for your project based on average reading speed. Requires node.js.

Continuous integration

  • renkit - A toolkit for managing Ren'Py instances via the command line, intended for build automation and continuous integration.
  • renpy-lint-action - This GitHub action allows you to run the linter on a Ren'Py visual novel project in a workflow for testing purposes.
  • renpy-build-action - This GitHub action allows you to make distributable builds of a Ren'Py visual novel project in a workflow and use the built files for distribution.
  • renpy2flatpak - A tool to automate packaging a Linux release of your project into Flatpak format for distribution.

Unpacking and decompilation

  • unrpyc - The *.rpyc file decompiler.
  • unrpa - The most famous RPA archive extractor.
  • RPA Explorer - Graphical explorer for RenPy Archives built around a C# library to manipulate them. Can also invoke unrpyc on the contents.
  • rpatool - The less famous RPA archive extractor.
  • warpa - RPA archive manipulation tool written in Rust.
  • arpy - Golang implementation of an RPA unpacker.
  • RenPy-UnAPK - A tool to unpack and decompile an Android build's APK file. Sparsely documented, but there's not much to document.

Conversion

End-user tools

These tools are made for end-users, rather than developers.

  • Translator3000 - Runs RenPy games through automated translation. Trial version.
  • rpycg - Injects RenPy code into published games to enable developer mode and manually poke at the internals. Windows only.
  • renpy2linux - A script to convert Ren'Py releases to Windows, OSX and Linux-compatible ones, when the only thing you have is one of the three. Requires Linux or OSX to work.

Assets

No visual novel is complete without artwork and sound. Beware and carefully observe the license terms!

Asset libraries

  • Itch.io - Visual novel specific assets available on Itch.io, both free and paid.
  • DLSite - A large variety of game assets for visual novels from Japanese artists, all of them paid.
  • Pixabay - a variety of Creative Commons images, videos, music and sound effects.
  • Free Music Archive - Royalty-free and CC music.
  • OpenGameArt - assets for a variety of game types, many useful for visual novels.
  • FreeSound - major source of free sounds of every description.
  • SoundBible - A collection of sound effects.
  • Soundimage - Specially aimed at game developers.
  • GameSounds - Large library of sounds aimed for games.
  • FreePD - Music
  • Altphotos - CC0 stock photos ready to be mutated into artwork.
  • Filmmusic
  • Free Stock Music
  • Shadertoy - Lots of publicly available GLSL shader code. Adapting it to RenPy remains on you, however.
  • The Spriters Resource - A massive library of sprites, including visual novel sprites, ripped from published titles. While not legal to use per se, invaluable when making a fan-game.

Fonts

  • FontSquirrel - Free TTF/OTF fonts.
  • FontStruct - a large library of decorative and special-purpose fonts, many of them permissively licensed. Also a web service to build fonts from scratch.
  • OpenFontLibrary

Individual libre artists

While you can search through places like DeviantArt, Soundcloud and Bandcamp for artists offering their work under one or another variant of Creative Commons, there are certain prolfic ones, and knowing them in advance will make things easier.

Asset generators

Sound generators

Character sprite generators

  • Sutemo's Character Creator - online only.
  • Mannequin - free and paid versions, multiplatform.
  • Manga Maker ComiPo - has been used to produce sprites for at least one novel available on Steam. Windows only.
  • VRoid Studio - Avatar generator meant for VTubers, can in a pinch be used to manufacture sprite images. Crossplatform, free as in beer. For posing them, you might want to use VRM Posing Desktop, which is Windows-only and not free.
  • Charat Rouge / Charat Blanc - online character sprite generator, limited to portraits, license prohibits commercial use of the result.
  • Stella Character Generator - paid, Windows only.
  • Open Peeps - CC0 library of parts suitable for producing character art. Substantial assembly required.

Other generators

  • TextureLab - Procedural texture generator.
  • Procgen Arcana - A collection of generators intended primarily for tabletop roleplaying which produce useful maps.
  • Celestia - Produce correct images of the sky in space at a given time. Open source and cross platform.
  • Space Engine - A more powerful commercial competitor to Celestia.
  • Stellarium - For when you don't want to go to space.

AI-powered generators

Most of these are only useful to produce background images, as getting the detail and specificity required of anything else out of them is impractical. But free backgrounds are free backgrounds.

Asset editing tools

Graphics

  • Krita - The best open source paint program.
  • GIMP - The more arcane and ancient, but likewise powerful open source paint program.
  • Synfig Studio - Free animation software.
  • Inkscape - best open source vector image editor.
  • Boxy SVG - free as in beer online-also vector image editor, cloud services require payment.
  • IMGOnline.com.ua - a collection of online texture processing tools.
  • Waifu2X - AI-based image upscaler.
  • FotoSketcher - A better way of making photos look like paintings. Windows-only, runs under Wine.
  • VanceAI - A number of online image processing tools that includes interesting photo-to-sketch implementations.
  • Calligraphr - A web service that generates a TTF from supplied images, meant primarily to produce handwritten fonts.
  • Homestyler - Online interior design tool, useful to produce an image of an interior that you will later torture with an AI painting tool.

Sound

  • Audacity - Open source audio editor.
  • Ocenaudio - Less powerful, but more convenient, free (as in beer) audio editor.
  • Ardour - A complete free Digital Audio Workstation.
  • LMMS - A loop-based Digital Audio Workstation.

Video

  • FFMpeg - the Swiss army knife of video and audio format conversion and filtering. If you need a GUI for it, there's QWinFF, Axiom, Videomass, to name but a few.

Curios

Things that are awesome but not really very useful go here.

Support

You can find a community of RenPy users in your language, provided it's one of:

Other Awesome Lists

Other amazingly awesome lists can be found in awesome, awesome-awesome and awesome-awesomeness.

Those should be of particular interest for RenPy users:

About

A curated list of awesome goodies for RenPy visual novel engine. Inspired by the numerous awesome-lists everywhere.

Topics

Resources

License

Stars

Watchers

Forks