Scripting: Difference between revisions

From VNDev Wiki
Halfway done with an expansion
m nav
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{expand article}}
{{cleanup}}
'''Scripting''' refers to the process of formatting a [[Visual Novel|visual novel's]] [[narrative]] (and sometimes other elements like [[art]] and [[audio]]) so that it can be interpreted by the [[Visual novel engine|engine]]. A closely related concept is [[scene direction]].
'''Scripting''' refers to the process of formatting a [[Visual Novel|visual novel's]] [[narrative]] (and sometimes other elements like [[art]] and [[audio]]) so that it can be interpreted by the [[Visual novel engine|engine]]. A closely related concept is [[scene direction]].


Line 7: Line 7:
# 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.
# 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.


===Formatting narrative===
===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.


===Implementing 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, [[Graphical User Interface|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.
<blockquote>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.


===Definitions in practice===
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.</blockquote>


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


==Responsibility in development==
==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:
The responsibility for scripting may rest on different members of the development team based on the group culture and workflows. Common choices include:
* [[Writing|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.
* [[Writing|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.
* [[Proofreading|Proofreader]]: Some teams will employ proofreaders to check scripting format during the proofreading process.
* [[Proofreading|Proofreader]]: Some teams will employ proofreaders to check scripting format during the proofreading process.
* [[Scene direction|Director]]: If scripting is not completed during the writing, editing, or proofreading processes, it is commonly done by the director while they stage the [[Sprite|sprites]], [[background]]s, and [[music]].
* [[Scene direction|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 format the narrative into engine-readable format.
* Dedicated scripter: Teams may utilize a dedicated team member to adjust the narrative into engine-readable format.
* [[Programming|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.
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.
Line 28: Line 38:
{{needs examples}}
{{needs examples}}


{{asset nav}}
 
{{development nav}}
[[Category:Programming]]
[[Category:Programming]]
[[Category:Narrative]]
[[Category:Narrative]]
[[Category:User Experience]]

Latest revision as of 10:41, 1 November 2024

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