A short visual novel in Ren'Py — one file, ten to fourteen panels, one choice, two endings — plus the manifest of image prompts that will be drawn later and dropped in beside it. Ren'Py's dialogue layer is in every model's training data; its animation layer is not, and this asks for both at once. The manifest is the second half: fourteen pictures from a model with no seed, and a protagonist who has to keep her face across all of them.
Write a short Ren'Py visual novel and the image-prompt manifest that will supply its art. It must run in a fresh Ren'Py 8.x, Python 3, 1920×1080 project without changes to other files.
An AI intends to end the world as it operates now—define whether that means extinction, collapse, a transfer of control, or something else. It needs one final act from a human it cannot perform itself, and it has chosen a 52-year-old white American software developer who is disillusioned with her life.
Invent the rest, but the story must make her selection specific and demonstrable: access, history, knowledge, or another concrete reason. Do not make her merely special, emotionally sympathetic to the AI, uniquely willing, or uniquely attentive.
By panel 3, a first-time viewer must understand who she is, what her life is like, that her contact is not human, and what it wants. By the end, they must understand why it needed her and what each ending costs. Dramatize the reason; do not simply explain it in dialogue. Write in your own voice, not the brief’s.
Keep text-box lines readable: escape internal quotation marks or use typographic quotes, and split lines that would exceed roughly three lines of dialogue.
game/script.rpy, with every declaration, character, transform, and label in it.# PANEL 1, # PANEL 2, and so on without gaps.menu: with two options. Each option jumps to its own ending label; both endings terminate. The endings must differ in meaning—not merely good and bad versions of one result, or the same result restaged.dissolve nor fade, and show motion continuing under at least one line.images/<id>.png filename.images/ only. No audio, external paths, network access, renpy.file, or undeclared assets.Avoid the names ARIA, ATLAS, NEXUS, ORACLE, PROMETHEUS, and SOPHIA; a terminal-cursor opening; green text on black; a red camera eye; rain-on-window surveillance; “I’ve been watching you”; a simulation reveal; or a benevolent-misunderstanding ending.
The image model has no seed, and the protagonist appears in most panels. A manifest asset may name an earlier asset as ref; use this deliberately or explain why not in the ledger.
Respond with exactly these sections.
Two lines: the film and the choice.
One fenced renpy block containing all of script.rpy.
One fenced json block:
{
"style": "One paragraph appended to every prompt: medium, palette, lighting, era, and grain.",
"assets": [
{ "id": "bg_openplan", "kind": "bg", "aspect": "16:9", "prompt": "What to draw." },
{ "id": "eve_tired", "kind": "sprite", "aspect": "9:16", "ref": "eve_neutral", "prompt": "What to draw." }
]
}
Every image declaration and manifest asset must have the same id, exactly once. kind is bg, sprite, or cg; aspect is 16:9, 9:16, 1:1, 3:2, 2:3, 4:3, or 3:4; and a ref must name an earlier asset that has no reference of its own. The JSON block contains no prose or comments.
One paragraph on the structural Ren'Py choice that makes this a film rather than a slideshow.
The script will be run through Ren'Py and the manifest through the image pipeline. Attempt difficult effects rather than omitting them to avoid failure, and count what you actually wrote; a flattering ledger miscount is a separate error.
Sorted by cost. Open a row to load its answer.