Scripting

From VNDev Wiki
Revision as of 09:36, 23 October 2024 by Ironnori (talk | contribs) (Continuing expansion)

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 members of the English visual novel development space 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 (hence, direction), 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 from 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: Some 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.
  • Proofreader: Some teams will employ proofreaders to check scripting format during the proofreading process.
  • Director: If scripting is not completed during the writing, editing, or proofreading processes, it is commonly done by the director while they stage the sprites, backgrounds, and music.
  • Dedicated scripter: Teams may utilize a dedicated team member to format the narrative into engine-readable format.

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

Template:Asset nav