Getting Started
Welcome to NovyJump, a platform for creating and playing interactive visual novels on mobile devices. As an alpha tester, you’ll be among the first to use our web-based authoring tools to bring your stories to life.
NovyJump supports two scripting formats: Ren’Py and Ink. Choose the one that fits your background and story.
Alpha expectations: You’re testing early software. Expect rough edges, and know that your feedback is invaluable. If something breaks or feels wrong, let us know.
Choosing Your Format
| Ren’Py | Ink | |
|---|---|---|
| Best for | Authors with Ren’Py experience; rich visual novel conventions (define characters, show sprites, play music) | Authors who want clean narrative prose; interactive fiction backgrounds |
| Syntax style | Python-indented, statement-based | Line-oriented, lightweight |
| Multimedia | Built-in: scene, show, play music | NovyJump extensions: # image:, # music:, # sprite: |
| Variables | default, $, define | VAR, CONST, LIST, ~ |
| Branching | menu:, if/elif/else | * / + choices, { condition: } |
If you’re unsure, start with Ren’Py if you want character sprites and scenes built into the language. Start with Ink if you want to focus on the words first and layer in visuals via tags.
Quick Start
The NovyJump web platform lets you write, preview, and publish visual novels directly in your browser.
Creating Your Story
- Create a new story from your dashboard — choose Ren’Py or Ink as your framework
- Add a chapter to organize your content
- Open the script editor to write your script
The Script Editor
The editor is where you write your story. Your script is automatically validated as you type, highlighting any syntax issues.
Uploading Assets
Use the asset manager to upload images and audio files for your story. Once uploaded, reference them in your script by their filename or path.
Previewing Your Game
Click Preview to see your story running in the JumpDrive engine. This shows exactly how players will experience your game on mobile.
Publishing
When you’re ready to share, publish your story to make it available to players. You can update and republish as often as needed.
Writing a Ren’Py Script
For detailed syntax and examples, see:
- Authoring How-Tos — Step-by-step recipes for common tasks
- Supported Renpy Syntax — Complete reference of all supported statements
Here’s a minimal Ren’Py example:
default trust = 0
define alice = Character("Alice", who_color="#ffcc00")
label start: scene bg_room show alice happy at center
alice "Welcome to the story!"
menu: "Be friendly": $ trust = trust + 1 alice "Thanks for being kind." "Be distant": alice "I understand."
jump next_scene
label next_scene: if trust > 0: "Alice remembers your kindness." else: "Alice seems cautious."Writing an Ink Script
For a complete reference, see Supported Ink Syntax.
Here’s a minimal Ink example with NovyJump multimedia directives:
VAR trust = 0
=== start ===# music: theme.mp3, channel=bgm, loop=true# sprite: alice, alice_happy.png, happy, x=540, y=960
Alice: Welcome to the story!
* Be friendly ~ trust = trust + 1 Alice: Thanks for being kind. -> next_scene* Be distant Alice: I understand. -> next_scene
=== next_scene ==={ trust > 0: Alice remembers your kindness.- else: Alice seems cautious.}-> ENDWorking with Assets
For detailed specifications, see Media and Resolution Specs.
Supported Formats
- Images: PNG, JPG, WebP, AVIF, SVG, GIF, BMP
- Audio: MP3, WAV, FLAC, Opus
- Avoid: OGG files for audio (currently treated as video by the converter)
Portrait Orientation
NovyJump renders on a 1080x1920 portrait canvas. Design your backgrounds and sprites with this aspect ratio in mind.
Sprite Naming
For character sprites, use a consistent pattern like alice_happy.png, alice_sad.png. When you write show alice happy (Ren’Py) or # sprite: alice, alice_happy.png, happy (Ink), the engine matches the character with the tag.
Supported Positions
When using show ... at <position> (Ren’Py), these transforms are available:
- left — Left side of screen
- right — Right side of screen
- center — Default
- truecenter — Vertically and horizontally centered
- topleft, topright, offscreenleft, offscreenright
How It Works
When you write a script in the NovyJump editor, it is converted to JumpTree (a graph-based format) and played by the JumpDrive engine. JumpDrive renders your story on mobile in portrait orientation.
You don’t need to understand the internal format — just write valid Ren’Py or Ink, and the platform handles the rest. Player progress is saved automatically.
What’s Not Supported
Ren’Py:
- NVL mode
call/return(usejumpinstead)- Complex Python (function calls, imports, classes)
Ink:
- Threads
- External functions (
EXTERNAL) - The
INCLUDEstatement - Sequences, cycles, shuffles
What’s in Development
- Custom fonts
Alpha Expectations & Feedback
Alpha Expectations
- Some UI elements may change between releases
- Error messages will update as more features are added
- Asset management features are still evolving
- Feedback will be very appreciated!
Reporting Issues
When you encounter a bug or have feedback:
- Note what you were trying to do
- Copy any error messages
- Include a snippet of your script if relevant
Your feedback will directly shape how NovyJump is made.
Quick Reference — Ren’Py
# Dialogue"Narration text"alice "Character speech"
# Variablesdefault score = 0$ score = score + 1"You have [score] points."
# Flowlabel scene_name:jump scene_name
# Choicesmenu: "Option A": "Result A" "Option B": "Result B"
# Conditionalsif condition: "Branch A"else: "Branch B"
# Visualsscene bg_nameshow character tag at positionhide characterwith dissolve
# Audioplay music "path/to/file.mp3"play sound "path/to/file.wav"stop musicQuick Reference — Ink
VAR score = 0
=== scene_name ===# music: theme.mp3# sprite: alice, alice_happy.png, happy, x=540, y=960
Narration text.ALICE: Character speech.~ score = score + 1You have {score} points.
* Option A Result A. -> next* Option B Result B. -> next
=== next ==={ score >= 10: High score!- else: Keep going.}-> ENDRelated Documentation
- Authoring How-Tos — Practical recipes for Ren’Py tasks
- Supported Renpy Syntax — Complete Ren’Py syntax reference
- Supported Ink Syntax — Complete Ink syntax reference with multimedia directives
- Media and Resolution Specs — Asset formats and specifications
- Other Engines & Direct JumpTree Authoring — Engine support overview