Media & Resolution Specs
This page defines the author-facing technical constraints for assets and layout.
Screen resolution and coordinate space
- JumpDrive renders on a 1080×1920 portrait canvas.
- Coordinates are in a screen space where:
(0, 0)is top-leftxincreases to the rightyincreases downward
Placing images and sprites
When you position a sprite, NovyJump pins one point of the sprite — its anchor — to a point on
the canvas. The anchor is a fraction of the sprite’s own size: (0, 0) is the sprite’s top-left
corner, (1, 1) is its bottom-right, and (0.5, 0.5) is its centre.
The named positions below pick both the canvas point and a sensible anchor, so the sprite sits
inside the screen instead of hanging off an edge. For example, show alice at right pins the
sprite’s bottom-right corner to the canvas’s bottom-right (1080, 1920) — so Alice stands in
the bottom-right, feet on the floor.
Ren’Py named positions (show … at <tag>)
| Tag | Where the sprite sits | Canvas point (x, y) | Anchor |
|---|---|---|---|
left | Bottom, left edge | (0, 1920) | (0, 1) |
center, default | Bottom, centred | (540, 1920) | (0.5, 1) |
right | Bottom, right edge | (1080, 1920) | (1, 1) |
top | Top, centred | (540, 0) | (0.5, 0) |
truecenter | Dead centre of the screen | (540, 960) | (0.5, 0.5) |
topleft, reset | Top-left corner | (0, 0) | (0, 0) |
topright | Top-right corner | (1080, 0) | (1, 0) |
centerleft | Left edge, vertically centred | (0, 960) | (0, 0.5) |
centerright | Right edge, vertically centred | (1080, 960) | (1, 0.5) |
bottomleft | Bottom-left corner | (0, 1920) | (0, 1) |
bottomright | Bottom-right corner | (1080, 1920) | (1, 1) |
offscreenleft | Fully off-screen, left | (-4000, 1920) | (0.5, 1) |
offscreenright | Fully off-screen, right | (4000, 1920) | (0.5, 1) |
Any other at tag is not recognised and is ignored — the sprite keeps its default (bottom-centre)
placement.
Custom coordinates with transforms
For finer control, a Ren’Py transform / ATL block converts too:
xpos/ypos— absolute pixels on the 1080×1920 canvas.xalign/yalign— fractions of the canvas (xalign 1.0→x = 1080, the right edge;yalign 0.0→ the top).xcenter/ycenterbehave similarly.xanchor/yanchor— the 0–1 point of the sprite that gets pinned to the position.
transform corner: xalign 1.0 yalign 0.0 # top-right of the screen
label start: show alice at cornerPlacing sprites in Ink
In Ink, place a sprite with explicit pixel coordinates on the # sprite: directive (see
Supported Ink Syntax):
# sprite: alice, alice_happy.png, happy, x=540, y=960x / y are pixels on the same 1080×1920 canvas — x=540, y=960 is the centre of the screen — and
both default to the centre if omitted.
Supported media types
Images
Recognized as image assets by the converter:
.avif.png.jpg.jpeg.webp.svg.gif.bmp
Audio
Recognized as audio assets by the converter:
.opus.mp3.mp2.flac.wav.pcm
Important note about .ogg:
- The converter’s current implementation treats
.oggas a video extension first. - Until that is corrected, avoid
.oggfor audio in NovyJump uploads.
Video
Recognized as video assets by the converter:
.mp4.webm.mkv.ogv.avi- (plus several codec-specific extensions)
Notes:
- Video files may be accepted as assets during conversion, but full JumpDrive playback support may be limited depending on the runtime.
How assets are resolved
Case-insensitive matching
Asset resolution is case-insensitive.
Recommended paths
To avoid surprises, use explicit string paths where the grammar allows them.
Notes:
- For backgrounds,
scenedoes not accept string paths; use animagealias with a string path, thenscenethe alias. - For audio,
playsupports string paths.
Examples:
- Images:
image bg_room = "images/bg_room.png"
- Audio:
"music/theme.mp3""game/music/theme.mp3"
Default lookup locations
When you reference an asset by name only (for example scene bg_room), the converter tries common defaults:
- Images:
./images/
- Audio:
./audio/./sound/./sounds/./music/./voice/./sfx/
Referencing assets from Ink
In Ink, assets are referenced by filename inside NovyJump’s multimedia directives (see
Supported Ink Syntax). The same resolution rules, supported formats, and coordinate space
above apply — including the .ogg caveat for audio.
# background: bg_room.png# sprite: alice, alice_happy.png, happy, x=540, y=960# music: theme.mp3, channel=bgm, loop=true- Sprite/scene positions use the same 1080×1920 screen space (
x=540, y=960is centre). - Give the filename with its extension so the converter classifies the asset type correctly.
- Audio format guidance is identical to Ren’Py: prefer
.mp3/.opus/.wav; avoid.ogg.