A strongly typed Ren'Py framework for building Visual Novels without the usual runtime chaos.
Events, Flags, Gallery, Locations and more ready out of the box.
Event,FlagRef,Gallery,Inventory, andLocation, type-checked and auto-registered on creation.
- Static utility classes for
AudioandTime, with a consistent get/set-style API
- Runtime type validation with custom Exceptions and sandboxed event actions
- Custom pipeline that strips junk and packages assets into deterministic RPA archives.
- Each concern gets its own archive — RenTale core, user scripts, images, and other assets are all separated.
# Define locations
default L_City_Library = rentale.Location("Library", "Label_City_Library", isUnlocked = False)
default L_City_Park = rentale.Location("Park", "Label_City_Park", isUnlocked = False)
# Define a character
default Alice = ExtendedCharacter("Alice", color = "#fbe7a1", note = "Creepy woman", relationship = "Stranger", what_color = "#fbe7a1")
# Define an event
default E_Meet_Alice = rentale.Event(
name = "Meet_Alice",
location = L_City_Park,
label = "Label_Event_Park_1",
unlockCondition = "E_Meet_Willow.IsCompleted"
)
# In a location label
label Label_City_Main:
$ rentale.trigger_automatic_events()
# ...| Reference | Description |
|---|---|
| API.md | Core framework — all models, managers, functions, variables, and exceptions |
| UserAPI.md | User-level code — ExtendedCharacter, StatType, modification guide |
- Ren'Py SDK version 8.0 or higher
- Basic Python OOP knowledge (classes, methods, enums)
- Minimal Ren'Py scripting knowledge
- To allow for Discord Rich Presence follow the Ren'Py docs Here
- Or simply navigate to your project directory and paste this into the command line:
pip install --target game/python-packages pypresence- This template takes inspiration from multiple games by multiple developers
- As a source of providing credit to those that have insipired me please checkout CREDITS
MIT License - see LICENSE
If you find any issues during usage, please create a github Issue Here