This commit is contained in:
lachrymaLF 2025-01-23 22:22:17 -05:00
parent cbd9f9a693
commit 342c83ba38
3 changed files with 52 additions and 1 deletions

1
.gitignore vendored
View file

@ -7,3 +7,4 @@ NVL/out
.cache
vs
**/.DS_STORE
.gitconfig

View file

@ -1,5 +1,55 @@
# NouVeL
NVL Script Engine
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 Unicode and different renderers (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`.

BIN
static/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB