Palette Visual Novel Maker (PVNM) is a Pyxel-based visual novel editor. It lets you edit scenes, backgrounds, character sprites, BGM/SE, choices, endings, and EXTRAS from a GUI, then export the project for macOS, Windows, Web, and Android.
Japanese README: README.ja.md
This README is the entry point. Detailed guides are split into docs/en/.
For the full setup flow, see First-Time Setup.
python3 -m pip install -r requirements.txt
python3 main.pyOn macOS, python3 can point to different Python installations. If needed, run PVNM with an explicit Python 3.12 path.
/path/to/python3 main.py| Goal | Page |
|---|---|
| Set up PVNM | First-Time Setup |
| Learn the editor layout and basic controls | Editor Overview |
| Save, open, and import projects | Project Management |
| Create scenes, dialogue, and branches | Scene Editing |
| Use backgrounds, character images, BGM, and SE | Assets and Audio |
| Configure the title screen, endings, and EXTRAS | Title and EXTRAS |
| Adjust UI colors, speaker colors, and palettes | Colors and Tools |
| Understand PVNM internals, palette reduction, and export technology | Technical Design Overview |
| Choose an export format | Export Overview |
| Export a Windows build | Windows EXE Export |
| Export a Web build | Web HTML Export |
| Export an Android build | Android Export |
| Distribute builds with GitHub Releases | Release Distribution |
| Make a website for your game | Game Website Guide |
| Check a PVNM game before publication | Game Release Checklist |
| Publish PVNM itself | Publishing PVNM |
| Check PVNM before public release | PVNM Release Checklist |
| Look up common questions quickly | FAQ |
| Troubleshoot common issues | Troubleshooting |
| Goal | Page |
|---|---|
| Check the Windows/macOS requirements | First-Time Setup |
Understand what python3 main.py does |
First-Time Setup |
| Prepare Android export requirements | Android Export |
| Goal | Page |
|---|---|
| Save a project | Project Management |
| Open an existing project | Project Management |
| Import a script from Markdown | Project Management |
| Goal | Page |
|---|---|
| Add a dialogue scene | Scene Editing |
| Move to the next scene | Scene Editing |
| Branch with choices | Scene Editing |
| Show backgrounds or character sprites | Assets and Audio |
| Play BGM or SE | Assets and Audio |
| Goal | Page |
|---|---|
| Configure the title screen | Title and EXTRAS |
| Register endings | Title and EXTRAS |
| Create a CG gallery | Title and EXTRAS |
| Edit EXTRA TEXT pages | Title and EXTRAS |
| Goal | Page |
|---|---|
| Change UI colors | Colors and Tools |
| Set speaker-specific text colors | Colors and Tools |
| Convert images into PVNM-style palette colors | Colors and Tools |
| Set loading images and app icons | Assets and Audio |
| Goal | Page |
|---|---|
| Compare export formats | Export Overview |
| Distribute a Windows build | Windows EXE Export |
| Distribute a browser build | Web HTML Export |
| Build an Android APK | Android Export |
| Publish files with GitHub Releases | Release Distribution |
| Make a game website | Game Website Guide |
| Review a game before release | Game Release Checklist |
| Publish PVNM on GitHub | Publishing PVNM |
| Review PVNM before release | PVNM Release Checklist |
| Goal | Page |
|---|---|
| Understand PVNM's internal structure | Technical Design Overview |
| Understand quantization algorithms, scene palettes, and image cache | Palette, Quantization, and Image Cache Design |
| Understand every VN Palette Tool setting and 0-10 parameter | VN Palette Tool Detailed Design |
| Understand export workers, manifests, and Web/Android packaging | Export Design |
| Goal | Page |
|---|---|
| Check short answers | FAQ |
| Investigate common failures | Troubleshooting |
| Menu | Output | Main use |
|---|---|---|
[PYXAPP] |
.pyxapp |
Single Pyxel package |
[PYXAPP + ASSETS] |
.pyxapp and <name>_assets/ |
Portable package with external assets |
[macOS APP] |
.app |
macOS distribution |
[WINDOWS EXE] |
Windows zip | Windows distribution |
[WEB HTML] |
.html, <name>_assets/, pyxel/ |
Browser distribution |
[ANDROID PROJECT] |
Android project | Android Studio / Gradle workflow |
[ANDROID APK DEBUG] |
Debug APK | Device testing |
[ANDROID APK RELEASE] |
Release APK and .sha256 |
Signed distribution candidate |
See Export Overview for details.
main.py PVNM entry point
engine/ Player, export, project, and runtime logic
ui/ Editor screens
tools/ Helper tools and build scripts
assets/ PVNM built-in assets
resources/ Runtime resources used by exports
docs/en/ English documentation
docs/ja/ Japanese documentation
Runtime Python packages are listed in requirements.txt. Extra packages for macOS AVFoundation audio support are in requirements-macos-avfoundation.txt. Additional build-time packages for PyInstaller-based exports are in requirements-build.txt.
See First-Time Setup for the full installation flow.
PVNM is released under the MIT License. With the copyright notice and license text preserved, anyone may use, copy, modify, redistribute, and use PVNM commercially. You may also publish your own modified version of PVNM.
Third-party font, Pyxel, Pyodide, and Python dependency notices are summarized in Third-Party Notices.