Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VEP 3 - Introducing [jump] Tag #9

Closed
yudonglin opened this issue May 21, 2024 · 0 comments · Fixed by #11
Closed

VEP 3 - Introducing [jump] Tag #9

yudonglin opened this issue May 21, 2024 · 0 comments · Fixed by #11
Assignees
Labels
VEP VNS Enhancement Proposals
Milestone

Comments

@yudonglin
Copy link
Member

yudonglin commented May 21, 2024

Abstract

This VEP proposes a new tag for branching dialogues, [jump], to enable developers to jump from the current dialog to another specified dialog within a scenario. This enhancement aims to facilitate more complex and nested dialog structures, offering enhanced narrative flexibility when combined with existing tags such as [end], [block], and labels.

Motivation

In the development of Visual Novel Scripts (VNS), complex storytelling often requires dynamic transitions between dialogues that are not linear. The existing tags support basic flow control but lack the ability to efficiently implement more intricate dialogue pathways that can enhance player engagement and narrative depth. The introduction of the [jump] tag addresses this gap by allowing explicit and clear transitions, improving both the writing experience and gameplay mechanics.

Specification

Syntax

The [jump] tag will follow a straightforward syntax:
[jump]/[jmp] <label>
Where is the identifier of the dialog section to which the flow should be redirected. This label must be predefined in the script.

Example Usage

Consider the following script snippet:

Alex:
- this is not true

[jump]alice_answer

Alex:
- or is it?

[end]

[label]alice_answer
Alice:
- why not?

In this scenario, once Alex says, "this is not For true," the dialogue will immediately continue with Alice's response, "why not?" The line "or is it?" will not be reached unless accessed through a different [jump] command. The dialogue sequence will terminate at Alex's "or is it?" if reached without a preceding [jump] due to the [end] tag.

Behavior with Other Tags

  • [end]: Closes the current dialogue branch. If encountered after a [jump], the sequence does not continue past the [end].
  • [block]: Prevents returning to a previous dialogue point once passed, ensuring linear progression post-block unless redirected by another [jump].

Rejected Idea(s)

Reusing [br] Tag:

Initially considered, the [br] tag was deprecated in VNS 2.0 due to its limited utility and potential confusion with the new [jump] functionality. Its reintroduction could mislead developers about supported features in the current VNS standard.

Rationale

The [jump] tag offers explicit control over dialogue flow, crucial for developing non-linear narratives and complex interaction patterns in visual novels. By providing a clear, standardized method for script branching, developers can craft more engaging and intricate stories with greater ease.

Backwards Compatibility

The introduction of the [jump] tag will not affect existing scripts as it introduces new functionality without altering the behavior of current tags.

VEP Development Process

A live draft for this VEP lives on GitHub. There is also an issue tracker, where much of the technical discussion takes place.
The draft on GitHub is updated regularly in small increments. The official VEPS repo is (usually) only updated when a new draft is posted to the Linpg Foundation.

Copyright

This document has been placed in the public domain.

@yudonglin yudonglin added this to the 2.3 milestone May 21, 2024
@yudonglin yudonglin added the VEP VNS Enhancement Proposals label May 27, 2024
@yudonglin yudonglin changed the title VEP 3 - Better Branching System VEP 3 - Introduce [jump] Tag Jun 13, 2024
@yudonglin yudonglin self-assigned this Jun 16, 2024
@yudonglin yudonglin linked a pull request Jun 16, 2024 that will close this issue
@yudonglin yudonglin changed the title VEP 3 - Introduce [jump] Tag VEP 3 - Introduce [jump] & [goto] tags Jul 7, 2024
@yudonglin yudonglin changed the title VEP 3 - Introduce [jump] & [goto] tags VEP 3 - Introduce [jump] tag Jul 7, 2024
@yudonglin yudonglin changed the title VEP 3 - Introduce [jump] tag VEP 3 - Introduceing [jump] tag Sep 29, 2024
@yudonglin yudonglin changed the title VEP 3 - Introduceing [jump] tag VEP 3 - Introducing [jump] tag Sep 29, 2024
@yudonglin yudonglin changed the title VEP 3 - Introducing [jump] tag VEP 3 - Introducing [jump] Tag Sep 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
VEP VNS Enhancement Proposals
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant