Scripting

From VNDev Wiki
Revision as of 10:41, 1 November 2024 by Ironnori (talk | contribs) (nav)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Scripting refers to the process of formatting a visual novel's narrative (and sometimes other elements like art and audio) so that it can be interpreted by the engine. A closely related concept is scene direction.

Definitions

In the English visual novel development industry, scripting has two commonly used definitions:

  1. Scripting is formatting the narrative so it is readable by the engine. For example, in Ren'Py, every line of speech or narration must have quotation marks at the beginning and end.
  2. Scripting is implementing scene direction so it is readable by the engine. This definition is broader than the first, and includes formatting the movements of art and audio assets.

As distinct from scene direction

Some developers use "scene direction" interchangeably with "scripting". However, most separate the two terms. While scene direction is a more creative process of laying out the assets in-game, scripting is generally understood to be the process of actually implementing that direction in code.

Alternatively, under definition (1) above, scripting is a completely separate process that is a prerequisite for scene direction.

As distinct from programming

Scripting refers to conversion of game progression into code, while programming generally implies more intensive design work. A programmer's tasks are often more involved, and will typically result in a system or utility that could be reused rather than simple implementation of a section of the game's narrative. Programming tasks may include minigames, Steam achievements, GUI implementation, and creation of scripting tools like custom transitions or shaders.

Definitions in practice

The following example can help clarify the distinctions between scene direction, scripting, and programming.

A team is working on a horror/sci-fi VN. On this team, the writer is also serving as the scene director. This person has designed a scene where the characters are frightened, and wants a sort of glitch effect on screen.

The scripter has implemented most of it, including music, characters moving, etc. However they're stuck at the 'glitch effect' as it's not a native Ren'Py element.

The programmer will implement a glitch shader (or reuse one of the many that are out there), and wrap it in a convenient transform that the scripter can use.

Often, definitions and roles are blurred in practice because most visual novel development teams have members who fill more than one role. See the Responsibility in development section below for more.

Responsibility in development

The responsibility for scripting may rest on different members of the development team based on the group culture and workflows. Common choices include:

  • Writer: Most writers create their first drafts in engine scripting format to begin with. Others will write in a format similar to what is needed, and minor revisions will be made later in the workflow. Writers will also commonly make notes about scene direction as they work, though these are typically incomplete & not always in engine-readable format.
  • Proofreader: Some teams will employ proofreaders to check scripting format during the proofreading process.
  • Scene director: It is relatively uncommon for basic formatting to not be completed during the writing, editing, or proofreading processes. In such cases, though, it is done by the scene director.
  • Dedicated scripter: Teams may utilize a dedicated team member to adjust the narrative into engine-readable format.
  • Programmer: Scripting, and even scene direction, are occasionally assigned to the programmer of a project.

Regardless of which team member completes this work, they are typically listed in credits as "scripting" in addition to other responsibilities they may have completed.

Examples