Skip to content
This repository has been archived by the owner on Mar 28, 2023. It is now read-only.

Text-based markup language version of the timeline structure #25

Closed
Crystalwarrior opened this issue Dec 31, 2021 · 6 comments
Closed
Labels
enhancement New feature or request

Comments

@Crystalwarrior
Copy link
Collaborator

Crystalwarrior commented Dec 31, 2021

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Instead of using an UI a user could optionally open the timeline file to read and modify it with basic text editing. Syntax should be extremely simple so non-programmers can understand stuff.
Example:

# looping blip strategy, using one sound file, with blip rate of 2. Everything not specified is default values.
use blip loop with sounds "narrator.wav" with rate 2
# Showname of "" saying everything after : inside the ""
"": "One day..."
# looping blip strategy using blips same as character with blip rate of 2.
use blip loop with rate 2
# Have the character Jack join with specified expression on default coordinates
"Jack" joins with "Happy" expression
# Jack shows up as ??? via showname, but the dialog knows which character to use due to "as". (next) means to proceed next immediately. Opposite to (next) is (stop) but it's optional for text event.
"Jack" as "???": "Hello! My name is " (next)
# cont. continues previous text, "Jack" due to being a character with a defined showname assumes it's a character.
cont. "Jack": "Jack, and I love Godot!" (next)
# wait event can be miliseconds, deciseconds, seconds, minutes, hours.
wait 1.0 seconds
# Use two randomized blip sounds
use blip loop with sounds "unknown1.wav", "unknown2.wav" with rate 1
# Blank character as "Jack" clears its reference and gives a showname to a default non-character state. Not entirely necessary, but should be possible.
"" as "Jack": "Actually, am I Jack..?"
# Same as "jump to event", go to the start of the timeline. You can also use goto "thing" where "thing" is a tag defined as tag "thing".
goto start
@Crystalwarrior Crystalwarrior added the enhancement New feature or request label Dec 31, 2021
@AnidemDex
Copy link
Owner

AnidemDex commented Dec 31, 2021

Sounds like a regex nightmare.

I was thinking about this format instead

[Character Name]:[text] --[options]
Bob: Hey Mark! --blip strategy=blip once --continue at end

Or something like that. I think that AnidemDex/Godot-DialogPlugin#42 has a little mockup with the relation between events and what they do

copied from the issue

[CharacterJoin GodoBot]
GodoBot: Oh, hi mark!

[EmitSignal "do_this"]

[CharacterJoin Godette]
[ChangeExpression Godette "Anger"]
Godette: Do you have to make the same joke everytime we meet?
 ...

@Crystalwarrior
Copy link
Collaborator Author

Oh your method seems even better!

Also real Chads parse it themselves without using Regex 😎

@AnidemDex
Copy link
Owner

Basically, events uses its own format but by default, evets are between [] by default, with the name of the event on it and its properties contained

@IcedQuinn
Copy link

Could get troublesome with custom events.

@AnidemDex
Copy link
Owner

AnidemDex commented Apr 30, 2022

The plan is to make all events use the specific format, but each event can tell what format they use. I'm not sure if I'm going to integrate that in event system, I'll probably integrate it on textalog instead, using yarnn format

@AnidemDex
Copy link
Owner

This is not going to be included in EventSystem. The editor is being improved in the debug branch and text-based markup language is no needed or produces no benefit at all for the time needed to implement that feature (at least, no for event system).

I'm closing this issue for now, but if someone has a reason why this should be included in event system I'll be glad to read it

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants