Every decision to mimic the Visual novel style (SOLVED)

trying to add some visual novel elements to the game I’m facing lots of possible ways to do it. for starter I’m trying to define positions that the character images appear on the screen.


Left, Right and Middle
since I’m going to use this part over and over, I intend to build a proper framework that can handle the job the same way a dedicated visual novel engine does.
I imagine that I have to position something like a game object on the screen for each and add the sprite to it using a script.
the things worth considering are:

  • usually an image added to a position replaces the previous image.
  • the images show and hide with a simple animation
  • a position need to be anchored to the bottom and sides of screen when resized
  • the images are often multi frames animated and composites of multiple images

Now the first question is:
which one is more suitable for this use? game objects, GUI, GUI inside game objects or something else? what do you suggest?

1 Like

I’m a newbie but I think GUI is the best choice.

The truth is you can use both GUI or GO as those sprites. In my opinion GUI has this advantage, that you can fit characters to a different screen easy :wink: when it comes to dialogs I could recommend you my Defork that has built in functions to use Twine conversation maker tool and RichText that display dialog’s nodes in GUI box :wink:

1 Like

I’m not at the dialogue step yet but sure, I’ll check how you’ve done that.
for the time being, finding which method of showing character images have an edge over the other one is my first priority, I have a good idea how to do it, but I’m trying to figure out why should I do it one way and not the other.

1 Like

I too would recommend gui for this, and actually you dont even need to create those sprites at runtime. You just have three sprites and you keep changing their animations to get new characters. Just create three box nodes at the three positions, and change their animations when you want to.
{BTW :- I like these anime characters…:wink: }

1 Like

We implemented this in Interrogation (since it has some visual novel parts). We initially made it GUI, but we had issues when we wanted to dynamically load characters for a scene. We settled on game objects. Adjusting to different resolutions is really not hard at all. Whenever the window size changes, you set the scale of the characters to (window_height / design_window_height) and the position to X = anchor_point * window_width, Y = bottom of the screen.

The code is also cleaner, since each character can have its own script (in fact, we have two scripts: one for movement between the left/right/middle slots and scene entry/leave animations and one for the sprite animations of each character. this way we can have characters that animate differently (some Spined and some blending between frames on a spritesheet)).

Here’s how it turned out: (The dialog bubbles are GUI, though)

https://critique-gaming.com/images/screenshots/Screenshot_5.jpg

5 Likes

game object it is then, thanks for sharing your valuable experience with me :slight_smile:

1 Like