
Создай свою визуальную новеллу
Создавайте фантастические визуальные новеллы с любимыми JS-фреймворками
Pixi’VN — это очень гибкий и мощный 2D-игровой движок, основанный на JavaScript/TypeScript и PixiJS.

1
Создай.
Инициализируйте новую игру с помощью команды.
Terminalnpm create pixi-vn@latest ◇ Project name│ My Game│◆ Select the type of game you want to create:│ ● Visual Novel│ ○ Game Engine
2
Пиши.
Пиши свою историю на любимом языке повествования.
=== start ===
# show image bg bg01-hallway
# show imagecontainer james [m01-body m01-eyes-smile m01-mouth-neutral01] xAlign 0.5 yAlign 1 with movein direction right speed 300
james: You're my roommate's replacement, huh?
What is your name?
# rename mc { _input_value_ }
const startLabel = newLabel("start", [
async () => {
await showImage("bg", "bg01-hallway");
await showImageContainer("james", ["m01-body", "m01-eyes-smile", "m01-mouth-neutral01"], { xAlign: 0.5, yAlign: 1, });
narration.dialogue = { character: james, text: `You're my roommate's replacement, huh?` };
},
() => narration.dialogue = "What is your name?",
{ labels: { start: [
{ operations: [
{ type: "image", alias: "bg", operationType: "show", url: "bg01-hallway" },
{ type: "imagecontainer", alias: "james", operationType: "show", urls: ["m01-body", "m01-eyes-smile", "m01-mouth-neutral01"], props: { xAlign: 0.5, yAlign: 1 }, transition: { type: "movein", props: { direction: "right", speed: 300 }}}
], goNextStep: true },
{ dialogue: "james: You're my roommate's replacement, huh?" },
{ dialogue: "What is your name?" },
{ operations: [{ type: "operationtoconvert", values: ["rename mc ", { type: "value", storageOperationType: "get", storageType: "storage", key: "_input_value_" } ] }], goNextStep: true }
]}};
start.ink
animations-labels.ts
Множество вариантов дизайна
Больше уровней.
2D-рендеринг полностью основан на PixiJS и компонентах Pixi’VN. Добавляйте слои PixiJS или HTML (React, Vue и др.), чтобы создать инновационный интерфейс.
