All Projects → Strrationalism → YukimiScript

Strrationalism / YukimiScript

Licence: MIT license
Scripting language for visual novel.

Programming Languages

F#
602 projects

Projects that are alternatives of or similar to YukimiScript

WebGAL
全新的基于 Web 的 视觉小说引擎 | A brand new Visual Novel engine based on Web.
Stars: ✭ 1,309 (+4934.62%)
Mutual labels:  visual-novel, galgame
tenshin.js
天神乱漫,JavaScript实现
Stars: ✭ 34 (+30.77%)
Mutual labels:  visual-novel, galgame
UniGal-Script
A kind of mark script for separate different part of Galgame script
Stars: ✭ 59 (+126.92%)
Mutual labels:  visual-novel, galgame
Misakatranslator
御坂翻译器—Galgame/文字游戏/漫画多语种实时机翻工具
Stars: ✭ 2,211 (+8403.85%)
Mutual labels:  visual-novel, galgame
em-onscripter
An emscripten port of onscripter-jh
Stars: ✭ 26 (+0%)
Mutual labels:  galgame
ksalpha-repair
Katawa Shoujo Prealpha Repair
Stars: ✭ 19 (-26.92%)
Mutual labels:  visual-novel
perfume
A Programming language perfume. And text editor Pmacs writen by Perfume.
Stars: ✭ 20 (-23.08%)
Mutual labels:  script-language
unity-visual-novel-toolkit
WIP: Create a Visual Novel with no programming
Stars: ✭ 34 (+30.77%)
Mutual labels:  visual-novel
Script
Script is an object-oriented interpreted programming language. Being migrated to CppUtils
Stars: ✭ 18 (-30.77%)
Mutual labels:  script-language
Galgame-Engine-Collect
各种视觉小说引擎合集
Stars: ✭ 23 (-11.54%)
Mutual labels:  galgame
LearnToCodeRPG
A visual novel video game where you learn to code and get a dev job 🎯
Stars: ✭ 853 (+3180.77%)
Mutual labels:  visual-novel
Renpy
The Ren'Py Visual Novel Engine
Stars: ✭ 2,734 (+10415.38%)
Mutual labels:  visual-novel
ErogeHelper
A visual novel tool for win-tablet based on Textractor
Stars: ✭ 68 (+161.54%)
Mutual labels:  visual-novel
Coda
The visual novel game (galgame) engine using PyQt5.
Stars: ✭ 23 (-11.54%)
Mutual labels:  galgame
PlayniteVndb
Enables VNDB as a Metadata source for Playnite
Stars: ✭ 47 (+80.77%)
Mutual labels:  visual-novel
GalTiankeng
No description or website provided.
Stars: ✭ 16 (-38.46%)
Mutual labels:  galgame
ugo
Script Language for Go
Stars: ✭ 75 (+188.46%)
Mutual labels:  script-language
nj
NJ is a simple script engine in golang with Lua-like syntax.
Stars: ✭ 19 (-26.92%)
Mutual labels:  script-language
ITHVNR
feature/engine update for ITHVNR
Stars: ✭ 72 (+176.92%)
Mutual labels:  visual-novel
language-renpy
📑 🔌 Ren'Py package for Atom and Linguist Grammars
Stars: ✭ 42 (+61.54%)
Mutual labels:  visual-novel

Yukimi Script

为描述视觉小说而设计的领域专用语言。

参见Github Wiki页面

适用于

  • 视觉小说
  • 文字类游戏
  • 需要对话演出的游戏

特点

  • 类似krkr的键值对传参和flags传参语法。
  • 按行Parse,便于分析。
  • 以可用性为优先。
  • 可选的静态强类型系统。
  • 可编译到多个目标。

谁在使用?

弦语蝶梦游戏工作室 - 《空梦》

设计原则

  • 按行Parse
  • 易于实现实时可视化编辑器
  • 可以实时检查任意点状态
  • 引入的特性需要切实解决实际开发中遇到的问题

安装

你可以在这里安装用于Visual Studio Code的YukimiScript代码高亮工具。

在.NET中通过NuGet安装YukimiScript命令行工具

dotnet tool install -g YukimiScript.CommandLineTool

手动安装不依赖.NET运行时的YukimiScript命令行工具

Release页面下载对应平台的可执行文件并将其拷贝到可被命令行环境访问的目录中。

在.NET项目中引用YukimiScript Parser

dotnet add package YukimiScript.Parser

概览

- extern systemAPI_sleep_begin force  # 在这里定义宿主命令
- extern systemAPI_sleep_end
- extern systemAPI_sleep time=1 
- extern systemAPI_jumpToSection target
- extern name

- macro jumpToSection target
@__diagram_link_to target
@systemAPI_jumpToSection target

- scene "entrypoint"
@jumpToSection "场景 第一个场景"

- macro wait time=1 force=false
@systemAPI_sleep_begin force    # 这里的内容将会被展开
@systemAPI_sleep time
@systemAPI_sleep_end

- scene "场景 第一个场景"
y:你好~我叫[name],[wait --time 1 --force]<ani 很高兴认识你!> \
欢迎你来我家里玩~
@wait 3
y:感谢您使用由纪美脚本语言!
@wait

# 以上文字内容编译为
# @__text_begin --character "y"
# @__text_type --text "你好~我叫"
# @name
# @__text_type --text ","
# @wait --time 1 --force true
# @__text_pushMark --mark ani
# @__text_type --text "很高兴认识你!"
# @__text_popMark --mark ani
# @__text_end --hasMore true
# @__text_begin
# @__text_type "欢迎你来我家里玩~"
# @__text_end --hasMore false

# @__text_begin --character "y"
# @__text_type --text "感谢您使用由纪美脚本语言!"
# @__text_end


- scene "场景 第一个场景 的子场景" inherit "场景 第一个场景"
# 这个场景的状态机将会继承于"场景 第一个场景".

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].