All Projects → viniciusgerevini → clyde

viniciusgerevini / clyde

Licence: MIT license
Dialogue language and tools for games.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to clyde

rlox
Lox Interpreter/REPL written in Rust
Stars: ✭ 31 (+47.62%)
Mutual labels:  interpreter
MonkeyLang.jl
"Writing an Interpreter in GO" and "Writing a Compiler in GO" in Julia.
Stars: ✭ 30 (+42.86%)
Mutual labels:  interpreter
X11Basic
X11-Basic BASIC programming language.
Stars: ✭ 42 (+100%)
Mutual labels:  interpreter
CSLisp
C# Scheme / Lisp implementation for embedding in .NET projects
Stars: ✭ 27 (+28.57%)
Mutual labels:  interpreter
Vaquero
A scripting language for cowboy coders
Stars: ✭ 18 (-14.29%)
Mutual labels:  interpreter
scheme.js
Scheme语言解释器的JavaScript语言实现
Stars: ✭ 57 (+171.43%)
Mutual labels:  interpreter
jingle
🔔 Jingle is a dynamically-typed, multi-paradigm programming language designed for humans and machines.
Stars: ✭ 34 (+61.9%)
Mutual labels:  interpreter
termission
Cross-platform Serial (COM Port) / TCP Terminal with Scriptable Auto-Response
Stars: ✭ 39 (+85.71%)
Mutual labels:  interpreter
jispy
A JavaScript interpreter in Python, built for embedding JavaScript.
Stars: ✭ 43 (+104.76%)
Mutual labels:  interpreter
jaws
Jaws is an invisible programming language! Inject invisible code into other languages and files! Created for security research -- see blog post
Stars: ✭ 204 (+871.43%)
Mutual labels:  interpreter
malluscript
A simple,gentle,humble scripting language for mallus, based on malayalam memes.
Stars: ✭ 112 (+433.33%)
Mutual labels:  interpreter
BQN
No description or website provided.
Stars: ✭ 16 (-23.81%)
Mutual labels:  interpreter
2021-dialogue-summary-competition
[2021 훈민정음 한국어 음성•자연어 인공지능 경진대회] 대화요약 부문 알라꿍달라꿍 팀의 대화요약 학습 및 추론 코드를 공유하기 위한 레포입니다.
Stars: ✭ 86 (+309.52%)
Mutual labels:  dialogue
TalkerMakerDeluxe
A FOSS Branching Game Dialogue Editor
Stars: ✭ 90 (+328.57%)
Mutual labels:  dialogue
dew-common
Java common tools collection, support for GraalVM
Stars: ✭ 52 (+147.62%)
Mutual labels:  interpreter
fast-formula-parser
Parse and evaluate MS Excel formula in javascript.
Stars: ✭ 341 (+1523.81%)
Mutual labels:  interpreter
lambda-dti
Interpreter of the ITGL with dynamic type inference
Stars: ✭ 18 (-14.29%)
Mutual labels:  interpreter
hematita
A memory safe Lua interpreter
Stars: ✭ 118 (+461.9%)
Mutual labels:  interpreter
SemEval2019Task3
Code for ANA at SemEval-2019 Task 3
Stars: ✭ 41 (+95.24%)
Mutual labels:  dialogue
vein
🔮⚡️Vein is an open source high-level strictly-typed programming language with a standalone OS, arm and quantum computing support.
Stars: ✭ 31 (+47.62%)
Mutual labels:  interpreter

Clyde - Dialogue Language

Clyde is a language for writing game dialogues. It supports branching dialogues, translations and interfacing with your game through variables and events.

It was heavily inspired by Ink, but it focuses on dialogues instead of narratives.

You can play with the online editor here.

Here is a simple dialogue:


The Wolf:   Jimmie – lead the way, boys – get to work.
Vincent:    A "please" would be nice.
The Wolf:   Come again?
Vincent:    I said a "please" would be nice.
The Wolf:   Get it straight, Buster. I'm not here to
            say "please."I'm here to tell you what to
            do. And if self-preservation is an
            instinct you possess, you better f****n'
            do it and do it quick. I'm here to help.
            If my help's not appreciated, lotsa luck
            gentlemen.
Jules:      It ain't that way, Mr. Wolf. Your help is
            definitely appreciated.
Vincent:    I don't mean any disrespect. I just don't
            like people barkin' orders at me.
The Wolf:   If I'm curt with you, it's because time is
            a factor. I think fast, I talk fast, and I
            need you guys to act fast if you want to
            get out of this. So pretty please, with
            sugar on top, clean the f****n' car.

This dialogue results in something like this:

Clyde interpreted dialogue sample

This is just a simple example. There are many features not included above, like branching, variations, tags and ids.

You can read the complete language definition with examples on LANGUAGE.md.

Tools

Interpreters and parsers

There are three Node libraries which can be used to play with this language:

@clyde-lang/parser: Parses Clyde strings to JSON.

@clyde-lang/interpreter: An interpreter that can be used by Node and web applications.

@clyde-lang/cli: CLI tool for executing, parsing and debugging Clyde dialogues.

Clyde Godot plugin

Godot plugin with importer and interpreter features. It was written completely in GDScript, so it does not require any external dependency. More information in its repository.

Syntax highlighting

I originally created the editor for the demo page, but I know no custom editor would be better than your editor of choice. With that in mind here are some syntax highlighting plugins:

Vim/Neovim syntax highlighting.

VSCode syntax highlighting.

Online Editor and Interpreter

Playground page.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].