Initial commit: NovelasVM platform with multi-engine support and Umineko Web integration

This commit is contained in:
2026-06-14 23:51:40 +00:00
commit 8ded9cc4c8
24 changed files with 3688 additions and 0 deletions

140
docs/ENGINES.md Normal file
View File

@@ -0,0 +1,140 @@
# Guía de motores soportados
NovelasVM soporta varios motores de novelas visuales. Esta guía describe cómo preparar y publicar cada uno.
## Tabla de motores
| Motor | Extensión/detección | Build | URL resultante |
|-------|---------------------|-------|----------------|
| Ren'Py | `project.json`, `game/script.rpy` | Compilación web | `/games/<slug>/` |
| Unity WebGL | `Build/`, `TemplateData/`, `index.html` | Copia directa | `/games/<slug>/` |
| Web genérico | `index.html` | Copia directa | `/games/<slug>/` |
| ONScripter | `0.txt`, `nscript.dat`, `ons.cfg` | Copia + OnscripterYuri | `/games/<slug>/` |
| ONScripter-RU / Umineko | `*.file`, `default.cfg`, `chiru.file` | Contenedor Docker | `/games/umineko/` |
---
## Ren'Py
### Estructura esperada
```
mi-novela/
├── project.json
├── game/
│ ├── script.rpy
│ ├── images/
│ └── audio/
└── meta.json
```
### Comando
```bash
sudo /opt/novelas/bin/build-novela.sh mi-novela /opt/novelas/projects/mi-novela renpy
```
### Consideraciones
- Requiere `xvfb` para compilar sin display.
- El build puede tardar varios minutos.
- Se generan `index.html`, `renpy.js`, `renpy.wasm`, `renpy.data`, `game.zip`.
- Recibe headers `COOP`/`COEP` automáticamente.
---
## Unity WebGL
### Estructura esperada
```
mi-juego/
├── index.html
├── Build/
│ ├── mi-juego.data.gz
│ ├── mi-juego.framework.js.gz
│ ├── mi-juego.loader.js
│ └── mi-juego.wasm.gz
└── TemplateData/
├── style.css
└── UnityProgress.js
```
### Comando
```bash
sudo /opt/novelas/bin/build-novela.sh mi-juego /opt/novelas/projects/mi-juego unity
```
### Consideraciones
- No requiere compilación adicional.
- Asegúrate de que los nombres de archivo en `index.html` coincidan con los de `Build/`.
---
## Web genérico
### Estructura esperada
```
mi-web/
├── index.html
├── css/
├── js/
└── assets/
```
### Comando
```bash
sudo /opt/novelas/bin/build-novela.sh mi-web /opt/novelas/projects/mi-web web
```
### Consideraciones
- Cualquier proyecto con un `index.html` funciona.
- Si carga recursos externos, asegúrate de que CORS lo permita.
---
## ONScripter (genérico)
### Estructura esperada
```
mi-ons/
├── 0.txt # o nscript.dat
├── default.ttf
├── ons.cfg
├── backgrounds/
├── sprites/
└── sound/
```
### Comando
```bash
sudo /opt/novelas/bin/build-novela.sh mi-ons /opt/novelas/projects/mi-ons onscripter
```
### Consideraciones
- Usa OnscripterYuri web.
- Si el script está en `nscript.dat`, OnscripterYuri debería soportarlo.
- No soporta los archivos `.file` encriptados de ONScripter-RU (ver Umineko).
---
## ONScripter-RU / Umineko
Ver [`docs/UMINEKO.md`](UMINEKO.md) para la guía completa.
Resumen:
```bash
sudo /opt/novelas/bin/umineko-web.sh start
```
- Se sirve desde contenedor Docker en `http://IP:8081/`.
- El portal redirige desde `/games/umineko/`.