Спецификация системных требований для Suika3
1. Обзор
Suika3 — это высокопроизводительная среда выполнения скриптов, оптимизированная для Visual Novels (VN) и 2D-игр. Она предоставляет многослойную DSL-среду, сочетающую простоту использования с расширяемостью профессионального уровня.
2. Основные компоненты (стек DSL)
Suika3 предоставляет авторам четыре специализированных языка:
-
NovelML (DSL на основе тегов): простой язык разметки, использующий теги
[]для быстрой разработки сценариев VN. -
Anime (DSL для анимации): специализированная система для послойной анимации растровых изображений с управлением последовательностями аффинных преобразований.
-
GUI (UI/UX DSL): гибкий набор инструментов для создания интерактивных экранов с кнопками, оптимизированными под требования VN.
-
Ray (скриптовый язык общего назначения): мощный скриптовый язык с VN API.
- Настройка: определение собственных тегов NovelML.
- Производительность: JIT-компиляция на ПК для быстрых итераций; AOT-компиляция в нативные бинарные файлы для соответствия требованиям iOS.
- Низкоуровневый доступ: прямые точки подключения к C API ядра Suika3.
3. Ключевые цели и философия дизайна
-
Подход mobile-first: спроектировано исходя из идеи, что смартфоны являются основным вычислительным устройством. Suika3 избегает UI/UX, ориентированного на ПК, в пользу нативного мобильного ощущения.
-
Совместимость с публикацией в магазинах: полное соответствие политикам магазинов iOS/Android за счет AOT-компиляции и адаптивного дизайна.
-
Высокая переносимость:
- Уровень 1: iOS, Android, HarmonyOS NEXT, Windows, macOS, Linux
- Уровень 2: игровые консоли
- Уровень 3: Chromebook, Wasm (WebAssembly)
-
За пределами визуальных новелл: хотя движок ориентирован на VN, базовая 2D-основа позволяет смешивать жанры (например, VN + RPG или Action).
4. Вне области применения / ограничения
Для сохранения переносимости и производительности Suika3 явно исключает:
-
Возможности только для ПК: Suika3 не является заменой устаревшим VN-движкам, предназначенным только для ПК.
-
Полноценное веб-развертывание: порт Wasm предназначен для демонстраций, а не для основного распространения.
-
3D-графика: в настоящее время фокус сделан на 2D (поддержка 3D в будущем планируется вместе с генерацией ассетов на основе ИИ).
-
Проприетарное middleware: закрытые технологии вроде Live2D не поддерживаются, чтобы обеспечить максимальную переносимость движка.