Skip to content

Getting Started Guide

Awe Morris edited this page Mar 31, 2026 · 1 revision

Welcome to Suika3! This guide will help you jump-start your very first visual novel project in just a few easy steps.

1. Your First Run

Let's get the engine running so you can see the magic happen!

  • Download: Grab the latest release ZIP file from the official source.
  • Extract: Right-click the ZIP file and select "Extract All" to a folder of your choice.
  • Launch: Open the folder and run suika3.exe. A sample game will start immediately!

2. Personalize Your Story (start.novel)

Now, lets make the game say exactly what you want.

  • Open: Find the start.novel file in your project folder and open it with your favorite text editor.
  • Edit: Replace the existing text with the following command:
[text text="Hello, world! This is my first game."]
  • Test: Save the file and run suika3.exe again. You should see your new message on the screen!

3. Customize the Screen (main.pf)

You can easily change the look and feel of your game window.

  • Locate: Open the main.pf file in your editor.
  • Modify: Look for the func setup() section. You can change the resolution and the title of your window here:
// Called when the window is opened.
func setup() {
    return {
        width:      1280,            // The width of your game
        height:     720,             // The height of your game
        title:      "My First Game", // Your game's title
        fullscreen: false            // Set to true for full-screen mode
    };
}

4. Under the Hood (Advanced Tips)

The bottom part of your main.pf file contains the core engine logic. It's best to leave these functions as they are unless you are doing advanced customization:

  • func start(): This is called once when your game launches.
  • func update(): This runs every single frame to handle game logic.
  • func render(): This draws everything on the screen after the update is done.
// Called before the game starts.
func start() {
    // Load plugins here.
    // Suika.loadPlugin("testplugin");

    // Do not delete the following line.
    Suika.start();
}

// Called before a frame rendering.
func update() {
    // Do not delete the following line.
    Suika.update();
}

// Called every frame rendering.
func render() {
    // Do not delete the following line.
    Suika.render();
}

[!TIPS] These functions are the core mechanism of the Playfield Engine that powers Suika3. Suika.start(), Suika.update(), and Suika.render() must remain in place for the game to function properly.

Clone this wiki locally