Integrazione del linguaggio ink
Scrivere narrazioni interattive utilizzando ink, un linguaggio di scripting progettato per storie ramificate, integrato con Pixi'VN.
Pixi’VN ti consente di scrivere narrazioni interattive utilizzando ink, un linguaggio di scripting progettato per storie ramificate.
Cos'è ink? ink è un semplice linguaggio di scripting per storie interattive, utilizzato in giochi come 80 Days, Heaven's Vault e Sorcery! Per saperne di più, visita il sito web di ink.
L'integrazione ink + Pixi’VN utilizza inkjs e PixiVNJson per analizzare il codice ink e generare JSON che Pixi’VN può interpretare. Ciò significa che JavaScript/TypeScript e ink condividono lo stesso spazio di archiviazione e la stessa area di lavoro, e puoi avviare knots (o labels) di ink da JavaScript/TypeScript e viceversa. Ottieni il meglio da entrambi i mondi: scrivi la narrazione in ink e usa JavaScript/TypeScript per i minigiochi o le animazioni avanzate.
=== start ===
We arrived into London at 9.45pm exactly.
* "There is not a moment to lose!"[] I declared.
-> hurry_outside
* "Monsieur, let us savour this moment!"[] I declared.
My master clouted me firmly around the head and dragged me out of the door.
-> dragged_outside
* [We hurried home] -> hurry_outside
=== hurry_outside ===
We hurried home to Savile Row -> as_fast_as_we_could
=== dragged_outside ===
He insisted that we hurried home to Savile Row
-> as_fast_as_we_could
=== as_fast_as_we_could ===
<> as fast as we could.
-> startPerché?
Scrivere una narrazione direttamente in JavaScript/TypeScript può essere lento e complesso, soprattutto per i principianti. ink è molto più facile da imparare e scrivere.
I nuovi sviluppatori possono iniziare con un modello ink, per poi imparare gradualmente JavaScript/TypeScript per ottenere funzionalità avanzate.
Installazione
Templates
Stai iniziando un nuovo progetto Pixi'VN? Utilizza un template che includa già ink.
Per installare il pacchetto ink in un progetto JavaScript esistente, utilizzare uno dei seguenti comandi:
npm install @drincs/pixi-vn @drincs/pixi-vn-inkInizializzare
Dopo l'installazione, usa importInkText() per caricare il tuo script ink:
import { importInkText } from '@drincs/pixi-vn-ink'
const inkText = `
=== start ===
Hello
-> END
`
importInkText([inkText, ...])Ora puoi eseguire un ink knot (o label) utilizzando le funzioni Pixi’VN:
import { narration } from '@drincs/pixi-vn'
narration.call(`start`, {})Prossime funzionalità
Queste funzionalità sono in fase di sviluppo.
Mostra il tuo interesse mettendo "Mi piace" o commentando gli argomenti.
- Functions and Game Queries (#11):
- User-created functions (#32)
CHOICE_COUNT()TURNS()TURNS_SINCE()SEED_RANDOM()
LIST(#15)Tunnels(#38)
Sintassi ignorata da Pixi'VN
Pixi'VN ignora parte della sintassi ink. Puoi usarli nel tuo script ink (ad esempio, per testare nell'editor Inky), ma Pixi'VN li ignorerà.
INCLUDE
INCLUDE è un'istruzione ink per includere un altro file ink. In Pixi'VN, dovresti usare importInkText() per caricare più file ink, quindi INCLUDE viene ignorato.
Narrazione fuori dai knots
La narrazione al di fuori dei knots (o labels) viene ignorata, fatta eccezione per le variabili.
Ad esempio:
VAR my_var = false // ✅ This will be handled (because it is a variable)
Hello // ❌ This will be ignored [!code warning]
-> start // ❌ This will be ignored [!code warning]
=== start === // ✅ This will be handled
My name is John // ✅ This will be handled
-> DONE // ✅ This will be handled