feat: ATL pictures/contains/function/time, colour matrices and more Python for Ren'Py
ATL
- Image blocks become timelines: picture steps with dissolve, parallel, contains,
finite repeat, time, function f(trans, st, at), calls of other transforms with
arguments, on hover/idle events for buttons. Animations stop when their element
leaves the page
- Pictures defined by an expression (get_face_path("base")) are drawn at show time
- Purely graphical hints (shader, mesh, gl_*, u_*) are accepted and dropped
Colour
- matrixcolor and im.matrix.* as 5x5 matrices combined with `*`, applied through SVG
filters; im.MatrixColor/Scale/Crop/Blur/Composite and Text/Image as values
Python
- match statement, re/copy/time/datetime/defaultdict/functools.partial, more
str/dict methods, Character(...) created by code
- narrator("..."), Character calls, renpy.say and renpy.show/hide with expressions in
Python blocks become script nodes
- Audit follows reachability: functions and classes nothing refers to (custom
statement lexers, unused tools) no longer block an import
Docs: README and ARCHITECTURE now describe a multi-engine library (GameMaker and
QSP planned). Tests for the new runtime pieces.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
62ece25902
commit
ea03cebf6a
21 files changed
+1264
-93
No files matched your search
@@ -1,11 +1,23 @@
|
||||
# PGames — локальная библиотека визуальных новелл
|
||||
# PGames — локальная библиотека игр в браузере
|
||||
|
||||
Загружаете архив с игрой на Ren'Py или Unity-игру на Naninovel (включая
|
||||
отдельный адаптер Tomie) — сервер распаковывает его, переводит
|
||||
скрипты и ассеты в собственный формат **PGVN** (JSON-скрипты, WebP, Opus, WebM)
|
||||
и удаляет исходники. Игры других движков отклоняются на входе. Играете в браузере во встроенном плеере. У каждой игры
|
||||
может быть несколько версий (форков) от разных пользователей; версии делят
|
||||
общие ассеты, поэтому форк почти не занимает места.
|
||||
Домашний сервер для коллекции игр, которые играются прямо в браузере: визуальные новеллы,
|
||||
игры-«песочницы» с открытым миром, текстовые квесты и другие. Вы загружаете архив или папку с игрой,
|
||||
сервер распознаёт движок, переводит сценарии и ассеты в собственный формат **PGVN** (JSON-скрипты,
|
||||
WebP, Opus, WebM) и удаляет исходники; играть можно во встроенном плеере, без установки.
|
||||
У каждой игры может быть несколько версий (форков) от разных пользователей; версии делят общие
|
||||
ассеты, поэтому форк почти не занимает места. Есть редактор модов и переводов, ревизии и слияние.
|
||||
|
||||
Каждый движок и каждая особенная игра подключаются профилем (см. [docs/GAME_PROFILES.md](docs/GAME_PROFILES.md)):
|
||||
|
||||
| Движок | Состояние |
|
||||
| --- | --- |
|
||||
| Ren'Py | основной: сценарии, Python-песочница, ATL, экраны |
|
||||
| Unity + Naninovel (в том числе Tomie) | импорт скомпилированных сценариев |
|
||||
| GameMaker (песочницы вроде FF692) | планируется: загрузчик `data.win` и виртуальная машина GML |
|
||||
| QSP (Quest Soft Player) | планируется: текстовые квесты `.qsp` |
|
||||
| Unity (без Naninovel), Godot, RPG Maker | пока отклоняются при загрузке |
|
||||
|
||||
Игры других движков отклоняются на входе: неподдерживаемое никогда не «импортируется наполовину».
|
||||
|
||||
Подробности устройства — в [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).
|
||||
|
||||
|
||||
Reference in new issue
Block a user