Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/viniciusgerevini/clyde-js
Dialogue language and tools for games.
https://github.com/viniciusgerevini/clyde-js
clyde dialogue game-development interpreter language
Last synced: 24 days ago
JSON representation
Dialogue language and tools for games.
- Host: GitHub
- URL: https://github.com/viniciusgerevini/clyde-js
- Owner: viniciusgerevini
- License: mit
- Created: 2020-12-26T15:20:15.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-11-27T04:28:49.000Z (2 months ago)
- Last Synced: 2024-12-27T06:08:33.923Z (about 1 month ago)
- Topics: clyde, dialogue, game-development, interpreter, language
- Language: TypeScript
- Homepage:
- Size: 17.8 MB
- Stars: 62
- Watchers: 5
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Clyde Dialogue Language for JavaScript/TypeScript
![Parser and Interpreter tests](https://github.com/viniciusgerevini/clyde-js/actions/workflows/main.yml/badge.svg?branch=master)
![Editor tests](https://github.com/viniciusgerevini/clyde-js/actions/workflows/editor.yml/badge.svg?branch=master)
![Playground deploy](https://github.com/viniciusgerevini/clyde-js/actions/workflows/gh_pages.yml/badge.svg?branch=master)
[![Coverage Status](https://coveralls.io/repos/github/viniciusgerevini/clyde-js/badge.svg?branch=master)](https://coveralls.io/github/viniciusgerevini/clyde-js?branch=master)> Clyde is a language for writing game dialogues. It supports branching, translations and interfacing with your game through variables and events.
You can play with the online editor [here](https://viniciusgerevini.github.io/clyde-js/).
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](clyde_readme_sample.png "Clyde 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](https://github.com/viniciusgerevini/clyde/blob/main/LANGUAGE.md).
## Tools in this repository
### Interpreters and parsers
There are three Node libraries which can be used to play with this language:
[@clyde-lang/parser](./parser): Parses Clyde strings to JSON.
[@clyde-lang/interpreter](./interpreter): An interpreter that can be used by Node and web applications.
[@clyde-lang/cli](./cli): CLI tool for executing, parsing and debugging Clyde dialogues.
### Online Editor and Interpreter
[Playground page](https://viniciusgerevini.github.io/clyde-js/).
## More
There are other tools like a Godot plugin and syntax highlighting. Check the language [repository](https://github.com/viniciusgerevini/clyde) for more tools.
## Contact
If you are looking for help on how things work, general questions, ideas to improve the language or just want to share something, please use our main discussion forum: https://github.com/viniciusgerevini/clyde/discussions
I also would love to see what games you've been making with Clyde. If you have any released game using clyde, share it with us on: https://github.com/viniciusgerevini/clyde/discussions/3