Visual novels in Divooka

Novella

Write a visual novel as script, as C# or as nodes, and play it with every screen a player expects: saves and rollback, history, a gallery, a music room, achievements and translations.

Only inDivooka

Novella ships inside Divooka, Methodox's visual programming platform. There is no separate download.

Su Qinglan and her maid Xiaotao under blossoming trees, with three ways to finish a couplet offered as choices
The Red Thread, Novella's sample game: answering Qinglan's couplet in the plum grove.

Where to get it

Only in Divooka

Novella is not a standalone engine. It is a package of Divooka, Methodox's visual programming platform, and it comes with it: in Divooka Explore, together with the Visual Novel examples, and in Divooka Compute from the Standard tier up.

Install Divooka and Novella is already there: the Novella toolbox, the Novella Application base type for Events graphs, and previews that play a game from the Properties panel. The package carries its own runtime for drawing, audio and video, so nothing else needs installing.

What Novella is

A game is data

A Novella game is a story of labels and statements, the definitions it refers to, a configuration and a theme. Whatever writes them, a folder of scripts, a C# program or a Divooka graph, the same runtime plays them, and the game plays the same way in each.

  • Story
  • Characters
  • Images
  • Transforms
  • Transitions
  • Audio
  • Configuration
  • Theme

Its feature target is parity with Ren'Py, the most widely used visual novel engine, so a writer who knows Ren'Py will recognise the script language at once. Its APIs are its own: there is no embedded Python, conditions and assignments use a small, safe expression language, and anything a story needs beyond that is a command written in C# or as Divooka nodes.

Where Novella stands against Ren'Py

define config.title = "The Garden"
character q "Qinglan" color "#c0392b" image qinglan

label start:
    scene bg garden with fade
    show qinglan smile at right with dissolve
    q "You came."
    menu:
        "I did.":
            q "Then sit with me a while."
        "I was passing.":
            q smile "Of course you were."
    return

A whole game. Without art it is still playable: an image the story names but cannot find is drawn as a placeholder, and the engine draws its own dialogue window and menus in the theme's colours.

Three ways

Script it, code it, or wire it

Pick the one that suits you. The game, and everything you learn about the script language, carries over to the others, and the styles mix freely.

Scripts

.novella files beside the game's images, sounds and fonts. Indentation makes blocks, dialogue is a speaker and a quoted line, and images name themselves from their paths: sprites/qinglan/smile.png is qinglan smile.

label teahouse:
    call chapter_title("Chapter One", "The Teahouse")
    scene bg teahouse with dissolve
    wenjing side_neutral "And a quiet corner."

C#

A NovellaGame in a .NET program, or a class derived from it that implements Setup, Command and the other callbacks. Code answers the story's run commands, and a live script can tell the story as a procedure.

NovellaGame game = new("The Garden", 1920, 1080);
game.AddAssetFolder("Assets");
game.LoadScriptsFromAssets();
game.Run();

Divooka nodes

A Routine or Events graph that creates and runs the game, or Function and Flows graphs that describe a game as data and preview it. A whole game, with every picture, sound and script, can live inside one Divooka document.

Hello Novella's Routine graph: Make Novella Game, Load Script fed by a Text node, and Run
Hello Novella: the whole game in a Routine graph.

Features

Everything a visual novel needs

A screenplay of a script

Labels, jumps, calls with arguments, menus with conditions, if, while, variables and persistent variables.

The stage

Show, hide and scene with positions, z-order and layers; layered images; ATL-style animation with warpers, repeat, block and parallel.

Nearly fifty transitions

From dissolve and fade to pixellate, irisin, pushleft and image dissolves through a mask.

Every screen a player expects

Main menu, save and load with thumbnails, preferences, history, gallery, music room, achievements, about and help, styled by a theme that is plain data.

Save, load and rollback

Every line, menu and input is a checkpoint. Roll back and forward, skip seen text, auto-forward; a save restores the screen exactly, random draws included.

Translations

Line and string translations written in the script itself, with the engine's own interface already in Simplified Chinese, Traditional Chinese and Japanese.

Text

Ren'Py's text tags, ruby for furigana and pinyin, interpolated variables, NVL pages, centred text, side images and typing sounds.

Sound and movies

Music, sound, voice and ambience channels with fades, queues and looping, automatic voicing by line id, and full-screen movies.

Tools for writers

A lint that checks a story against its files, a developer console with a label warp, reload while playing, and headless playthroughs that picture every step.

The opening movie, naming the scholar, the prologue and the teahouse. Recorded from the engine through its real controls, without sound.

The sample game

The Red Thread 红线

Lin'an, a river town of the Song dynasty, in spring. A young scholar studying for the imperial examination; Su Qinglan, the tea merchant's daughter, who plays the guqin and has no intention of being matched by anyone; and Auntie Wang, the town's busiest matchmaker, who has decided otherwise.

  • A prologue under the moon, six chapters and three endings.
  • A complete Simplified Chinese translation, interface included.
  • A gallery, a music room and achievements, one of them hidden.
The Pavilion of Drunken Blossoms, a teahouse hung with lanterns
The teahouse.
Xiaotao calling out in a busy market street
The market, and Xiaotao.
Qinglan at the night festival, with three lanterns to choose from
Lantern riddles at the festival.
Two silhouettes on a riverbank under a starry sky, watching lanterns float away
An event picture: lanterns on the river.

Divooka Explore

Learn from the examples

The Visual Novel folder of the Divooka Explore example pack teaches Novella in order, from three nodes to a whole game. Every document runs as it is.

Moon Festival Riddles: a girl and Grandpa Lu under red lanterns, with three answers to a riddle
Moon Festival Riddles: the first lantern riddle.
Moon Festival Riddles: Grandpa Lu hands over the rabbit lantern
The rabbit lantern, won.
Two figures on an arched bridge against a full moon reflected in the water
Two moons from the bridge.

Begin your story in Divooka

Novella comes with Divooka. Open the Visual Novel examples in Divooka Explore, run one, and start changing it.