Git Product home page Git Product logo

Comments (10)

Jeremi360 avatar Jeremi360 commented on August 19, 2024

What you think @theludovyc and @MatteoPiovanelli-Laser ??

from rakugo-dialogue-system.

MatteoPiovanelli-Laser avatar MatteoPiovanelli-Laser commented on August 19, 2024

I haven't dug in rakuscript enough to really weigh in on this.
Personally, I never use the in keyword in if clauses, because I've been writing ifs without it for too long, but it's just a matter of habit.

What is your reasoning against loops?

from rakugo-dialogue-system.

Jeremi360 avatar Jeremi360 commented on August 19, 2024

I haven't dug in rakuscript enough to really weigh in on this. Personally, I never use the in keyword in if clauses, because I've been writing ifs without it for too long, but it's just a matter of habit.

in in ifs are allows to write complied conditions with many ands or ors easier.

if true in [x, y, z]:
# is same as gdscript
if x or y or z:

What is your reasoning against loops?

RakuScript is aim to write branching dialogs,
if you really need loops RakuScript supports gdscript blocks with which you can write almost any gdscript code.

from rakugo-dialogue-system.

MatteoPiovanelli-Laser avatar MatteoPiovanelli-Laser commented on August 19, 2024

So you are saying to have a base rakuscript that does what the scripting in renpy does, and is easy to parse by a non programmer into one (or several) text files for the dialogues and scenes (as in, not necessarily godot's scenes, but a story's scenes). If someone has to put complex logic into them, then they have the option to use gdscript directly. Right? I can support that.

from rakugo-dialogue-system.

Jeremi360 avatar Jeremi360 commented on August 19, 2024

So you are saying to have a base rakuscript that does what the scripting in renpy does, and is easy to parse by a non programmer into one (or several) text files for the dialogues and scenes (as in, not necessarily godot's scenes, but a story's scenes). If someone has to put complex logic into them, then they have the option to use gdscript directly. Right? I can support that.

Yes.

from rakugo-dialogue-system.

MatteoPiovanelli-Laser avatar MatteoPiovanelli-Laser commented on August 19, 2024

as possible counterpoints to what I just said:

  • the syntax with gdscript should allow mixing gdscript and rakuscript clearly, so that it's possible for example, to have a character say a line 10 times by looping 10 times.
  • renpy has an explicit while statement to avoid having to mix syntaxes per my previous point.

from rakugo-dialogue-system.

Jeremi360 avatar Jeremi360 commented on August 19, 2024

the syntax with gdscript should allow mixing gdscript and rakuscript clearly, so that it's possible for example, to have a character say a line 10 times by looping 10 times.

Sorry for some reason I had some block in my mind I could think about loops only in case of every advanced code, but you are right in this case loop would be useful, so I no longer against it.

renpy has an explicit while statement to avoid having to mix syntaxes per my previous point.

I didn't know that renpy has loops I didn't saw it in any renpy code I saw, and if it is in their docs I miss it.

from rakugo-dialogue-system.

MatteoPiovanelli-Laser avatar MatteoPiovanelli-Laser commented on August 19, 2024

To be fair, I can see not needing loops in 99% of "normal" vns.
But there are several things a while statement can make nicer. For example, a character describing their clothes/inventory in a dialogue, by iterating over them.
Link to renpy's while statement: https://www.renpy.org/doc/html/conditional.html#while-statement
Honestly, I've never seen it in the wild, but I've never looked too hard for it.

from rakugo-dialogue-system.

Jeremi360 avatar Jeremi360 commented on August 19, 2024

renpy has an explicit while statement to avoid having to mix syntaxes per my previous point.

You are wrong here @MatteoPiovanelli-Laser, every programming language has while loop, but is not used so often.

I moved this discussion about loops to separated issue #64

from rakugo-dialogue-system.

Jeremi360 avatar Jeremi360 commented on August 19, 2024

This issue is should closed a long time ago, as our if to check its condition uses Godot's Expression class.
A class that allows you to execute the GDScript code given in string, and GDScript supports in so our RakuScript too.
So I closing it @theludovyc .

from rakugo-dialogue-system.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.