We love comics, and we wanted all the conversations in the game to look like drawn straight from the visual novels. Comic books have by now developed a substantial “standard language” how to convey some ideas.
Bubbles of all shapes and sizes
For example, there are clearly defined ways how to differentiate between someone speaking and whispering, or just speaking with a weak voice and the narrator bubbles often have a distinct background.
We also knew that we will have some… “special guests” speaking. This is the game where you can speak with The Devil himself, and his comic bubble should not look like a mere mortal. For this, we looked at how Neil Gaiman’s The Sandman uses various comic bubble types to represent various special characters (like “the endless”). E.g. the Dream has a special bubble that is filled with black, has a strong white outline and is wobbly. You automatically imagine that it’s not a normal voice speaking these words.
So, we wanted it all in our game. To achieve this, we developed a simple system of defining comic bubble types. We have many comic bubble types, and each type may have different shape, outline, colors and font. Each NPC can have his/her special bubble type, also a particular phrase (like shout) may use a particular comic bubble type.
Here’s how hero shouting may look like:
The simplest, early comic bubble type looked like this when designed in Blender:
As you can see, a bubble type has actually three bubble shapes: one to the left, one to the right, and one going to the top. We use a particular direction in game depending on various things. In the “walking view” the direction (usually) depends on the direction between a speaker and a listener. In the “first-person view” (when we fight) the direction depends on the position of speaker’s mouth on the screen.
Oh yeah, each NPC has a specifically configured “mouth” position.
Inside the bubble, we have a special area where the text must fit. We first put the text inside, wrap it, and then we adjust bubble scaling to make the best fit around the text.
The screenshot above shows a comic bubble for “choice”, used when a player needs to make a choice in the conversation. The three bubbles never overlap each other, this way choices are displayed correctly. This is how it looks like in game:
When a person speaks, we use a different bubble shape:
Will it blend?
We use Blender’s Bezier curves to define comic bubble shape. And we make some comic bubbles animated, using Blender’s “shape key” animation, exported to Castle Game Engine animation format.
During the game, we wanted to show “hints” to the player, indicating that a player can press something to interact with something (enter a house, speak to someone). We realized that this can be nicely shown as a comic bubble indicating that a hero is thinking: “Hmm, I can enter this house…”. Comics have already established a standard how to show a “thinking bubble” of a person, so we can use this.
Here’s how the “thinking” bubble looks like in Blender:
And here’s how it looks in game:
We have plans to extend the system, and use it more intensively. E.g. we have not yet used the feature „various NPCs and various phrases may have various bubble types” as intensively as we want to. We will!
If you like our “bubble science”, please add The Unholy Society to your wishlist to stay up to day with all further announcements.