bluemoonfoundry/vangard-renpy-ide
Visual IDE for Ren'Py story building
Ren'IDE: The Ren'Py Visual Novel Editor
Ren'IDE is a desktop application designed to streamline and enhance the development process for Ren'Py projects. It provides a dynamic canvas where your Ren'Py script files (.rpy) are represented as draggable blocks. The editor automatically analyzes your code to draw connections for jump and call statements, helping you visualize your story's flow and structure at a glance. It is intended to be a one-stop shop for editing Ren'Py projects, but still allow flexibility to use whatever tools are necessary outside the application. In other words, using this application won't prevent you from editing your project outside of it. You're not locked in.
This tool is perfect for writers, designers, and programmers who want a more intuitive and organized way to manage complex branching narratives.
Quick Startup
If you just want to install the application on your desktop and run it, you can simply do this:
- Go to the release page and find the release zip for your operating system (Windows, Mac, Linux)
- Download the zip file to a loction on your machine and unzip it
- For Windows, double-click the installer file found in the zip and follow the installtion instructions
- For Mac, open the DMG file found in the zip and copy the application to a location on your machine
- Double-click the installed application and you're all set to go!
Key Features
- Visual Story Canvas: Drag, resize, and arrange blocks representing your
.rpyfiles. Arrows are automatically drawn between blocks to showjumpandcallrelationships.
- On-Demand Route Canvas: Generate a detailed, label-by-label graph of your story's control flow to understand complex branching. This is an opt-in feature to maintain performance on large projects. The Route Canvas automatically identifies all unique paths from start to finish. A floating panel allows you to highlight specific routes with distinct colors.
- Integrated Code Editor: A full-featured Monaco editor (the engine behind VS Code) is built-in for editing your script files directly within the app.
- Comprehensive Project Management: A built-in file explorer allows you to create, rename, move, and delete files and folders in your project.
-
Story Element Management: A dedicated panel to view and manage Characters, Variables, Images, Audio, Screens, and Scenes. Scan external directories for images and audio, and easily copy them into your project.
Scene Composer: Visually build scenes by layering backgrounds and sprites. Scale, zoom, orient them as you like. The application generates the Ren'Py code that can be copy/pasted.

-
File System Integration: Works directly with your local project folders for a seamless development experience.
-
Theme Support: Personalize your workspace with multiple themes, including Light, Dark, Solarized, and Colorful variants.
-
UI State Persistence: The editor remembers your theme, sidebar layout, and open tabs between sessions for a consistent workflow.
-
Customizable Layout: Sidebars are resizable, allowing you to tailor the interface to your needs.
-
AI Integration: Optional feature to generate AI content using Google, OpenAI, and Anthropic models. Generated content can be copy/pasted wherever you want.**
Usage Guide
Getting Started
On first launch, you'll see a welcome screen with an option to create a new project or a open an existing Ren'Py project folder. The latter option is recommended. The application maintains a list of recently opened projects, which you can open by clicking on them.
The Main Interface
The application is divided into three main sections: the Project Explorer on the left, the main view (Canvas/Editor) in the center, and the Story Elements panel on the right. The left and right sidebars can be resized by dragging the handles on their inner edges.
Toolbar
The top toolbar provides access to global actions and tools.
| Button/Icon | Function | Shortcut |
|---|---|---|
| Undo/Redo | Reverts or re-applies changes like moving blocks, creating blocks, etc. | Ctrl+Z / Ctrl+Y |
| Add Block | Creates a new, blank .rpy file and adds it to the canvas. |
N |
| Add Note | Add a sticky note to the canvas board. Notes are not included as Ren'Py code. | |
| Tidy Up | Automatically arranges the blocks on the canvas based on the story flow to reduce clutter. | |
| Analyze Routes | Generates and opens the Route Canvas tab, showing label-to-label connections. | |
| Drafting Mode | Toggle drafting mode, which adds placeholders for all images and sound files that are not yet created. | |
| Run | Launch Ren'Py and run your game as a child of the application (requires Ren'Py Launcher Path to be set in Settings | |
| Save All | Saves all unsaved changes to your local files. Only enabled when a project folder is open. | Ctrl+S |
| Toggle Left | Hide/unhide the left sidebar with the Project Explorer and Search Tabs | |
| Search | Open search tab on the left sidebar | |
| Toggle Right | Hide/unhide the right sidebar with the Story Elements tabs | |
| Settings | Set specific user settings, including Color Theme, Editor Appearance, Ren'Py Launcher Path, and Enabling AI |
The Canvases
The central area is your main workspace for visualizing the story. It can contain multiple tabs, including two special canvas types.
Story Canvas
This is the default high-level view of your project.
- Blocks: Each block represents a single
.rpyfile. The title displays the file's name or the first label found within it. Blocks show summary information like labels, characters, and content types (dialogue, menus, Python code). - Arrows: These lines connect blocks, representing
jumpandcallstatements, giving you an immediate sense of your story's structure. - Interactions:
- Pan: Hold
Shiftand drag the canvas background. - Zoom: Use your mouse scroll wheel.
- Select Blocks: Click a block. Hold
ShiftorCtrl/Cmdto select multiple. Drag a selection box (rubber-band) to select multiple blocks. - Move Blocks: Click and drag a block's header.
- Resize Blocks: Drag the handle in the bottom-right corner.
- Group/Ungroup: Select multiple blocks and press
Gto group them. Select a group and pressShift+Gto ungroup. - Open Editor: Double-click a block to open its file in a new editor tab.
- Pan: Hold
Route Canvas
The Route Canvas provides a much more granular view of your story's control flow. It is generated on-demand by clicking the "Analyze Routes" button in the toolbar.
- Label Blocks: Each
labelin your project is represented as a small, distinct block. - Connections: Arrows show not only explicit
jumpandcallstatements (solid lines) but also implicit "fall-through" flow where one label follows another in a file (dotted lines). - Route Highlighting: A floating 'View Routes' panel lists all unique paths the analysis could find. Check a box next to a route to highlight its specific path on the canvas with a unique color.
Project Explorer (Left Sidebar)
This panel shows a tree view of your project's file system.
- File Operations: Right-click on a file or folder to open the context menu, which allows you to:
- Create new files (
.rpy) or folders. - Rename existing files or folders.
- Delete items (this will delete them from your disk if you have a project folder open!).
- Cut, Copy, and Paste files and folders to reorganize your project.
- Create new files (
- Navigation:
- Double-click an
.rpyfile to open it in the editor. - Right-click an
.rpyfile and select "Center on Canvas" to locate its block in the visual editor.
- Double-click an
Search Panel (Left Sidebar)
- Search Operations: Search all files in the project for specified keyword or regular expression.
Story Elements (Right Sidebar)
This powerful panel analyzes your entire project to give you an overview of all its core components.
-
Characters Tab:
- Lists all characters defined with
define e = Character(...). - Shows their display name, code tag, color, and how many lines of dialogue they have.
- You can Add a new character, Find Usages to highlight all blocks where a character speaks, or Edit an existing character's properties in a dedicated view.
- Lists all characters defined with
-
Variables Tab:
- Lists all global variables defined with
defineordefault. - You can Add new variables and Find Usages to see where they are used in your code.
- Lists all global variables defined with
-
Images Tab:
- Manages all your project's visual assets.
- It automatically finds images in
game/images/. - You can Add Directory to Scan to include images from other folders on your computer without copying them first.
- Images not yet in your project are marked with a red border. Select them and click Copy to Project.
- Right-click an image to copy a
sceneorshowstatement to your clipboard. - Double-click an image to open the Image Editor to manage its Ren'Py tags and subfolder location.
-
Audio Tab:
- Works just like the Images tab, but for your audio files (
.ogg,.mp3, etc.). - Manages files in
game/audio/and other scanned directories. - Right-click an audio file to copy a
play audioorqueue audiostatement.
- Works just like the Images tab, but for your audio files (
-
Screens Tab:
- Lists all screens defined with the
screenstatement. - You can Add a new screen, which will create a new
.rpyfile with boilerplate code. - You can also quickly Find Definition to jump to the code where a screen is defined.
- Lists all screens defined with the
-
Scene Tab:
- Create a scene image by layering images and sprites and arranging them to suit
- Copy/paste generated code directly into Ren'Py code file
-
Snippets Tab:
- A handy library of common Ren'Py code patterns for dialogue, logic, visual effects, and more.
- Find the snippet you need and click Copy to paste it into your code.
PunchList (View Menu -> Punchlist)
- A list of generated tasks is added to a list that is maintained with the project
- Includes images and audio files that are referenced in the code but don't exist in the project yet
- Project notes are included in the punchlist automatically
AI Generator (View Menu -> AI Generator)
- Opens a tab in which the user can generate AI content using Google Gemini, OpenAI, or Anthropic
- Requires an API key to be entered for each provider (Google, OpenAI, Anthropic) the first time it is used in the project
- Generated content can be copied and then pasted wherever the user wants
Details for Developers
Local Development Setup
This project uses a standard Node.js-based toolchain with Vite for a fast and modern development experience.
Prerequisites
- Node.js (version 18.x or newer recommended)
- npm (which comes bundled with Node.js)
Running Locally
-
Clone the Repository (if you haven't already):
git clone https://github.com/your-username/renpy-visual-editor.git cd renpy-visual-editor -
Install Dependencies:
Navigate to the project's root directory in your terminal and runnpm installto download all the necessary packages defined inpackage.json.npm install
-
Build the distribution:
npm run dist
-
Run the built app:
In the ``release``` directory, find the OS specific folder (e.g. win-unpack) and the executable application underneath it. Double click the application run it.Mac users: To run your built application on Mac, use the open -x /path/to/xyz.app command instead.

