NouVeL/README.md
2025-01-23 22:29:22 -05:00

55 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# NouVeL
NVL scripting engine is a visual novel engine comprising an interpreter for the DSL and a cross-platform (Windows/macOS/Linux/WebAssembly) display frontend supporting LTR Unicode (no shaping) and different renderers backends (DirectX11/12, OpenGL, Metal, Vulkan).
![ADVect client displaying a game state](static/screenshot.png)
Here is an example of a script file (more can be found in `ADVect/runtime`):
```
BEGIN Scene1
// Set a variable
Set var 2
// Enter and exit dialogue mode with <<- and ->>
<<-
[Alex]
Hello. Welcome to dialogue mode. "Click" to proceed to the next line.
Bailey will speak in French next.
[Bailey]
Je ne suis plus Alex.
Actuellement Catherine apprend le japonais.
[Catherine]
どうもCJKテスト
[David]
I will talk about markup syntax.
Bold and italics look like [b]{this} and [i]{this}, and you can [b,i]{combine both}.
Parametrized can be used like [wiggle_y(5)]{this}.
Furigana-style ruby text can be done like [rb("that")]{this}.
[Elliot]
To grab a value from the environment, do it like this: ${var}.
[NARRATOR]
Thanks!
->>
// This will jump to another script defining "Scene2".
// JUMP Scene2
// Instead we will terminate the script here
END
```
## Libraries
- SDL2
- bgfx
- freetype
- stb_image
They are included in the repository as git submodules. Please clone git submodules (recursively).
## Building
Use `CMakeLists.txt` in the root directory. The default build target is `Game`.