Displaying character texts. Different solutions

  • #1, by sebastianSunday, 23. September 2018, 22:07 3 years ago
    I thought i open this topic to discuss some ways and styles to handle the displayed character texts. Maybe you have further ideas we could add to this list and talk about ways on how to
    achieve these.

    1. Text above character 
    default in Visionaire Studio and needs no additional settings beside the font settings and applying that font to a character. The text gets displayed above the characters head and will stick to the edge of the screen or reposition itself automatically when the text would reach the border of the screen. 
    Often these texts have a max. line length, so that too long texts get automatically displayed in a multi-line string. Manual line breaks are also possible.

    2. Text at fixed point on screen
    the Character texts get displayed at a specific position (mostly at the bottom) of the screen and often can cover the whole screen width. Here especially longer texts per "display text action" can be displayed at once without overlaying a big area like in "method 1". Mostly only 1-3 lines are displayed at once.
    This can also be combined with a dynamically background image behind the text to make it more readable.
    The reposition of the text can be achieved via the setTextPosition Hook or via a "textStarted" EventHandler.
    The dynamically resizing background for the text can be rendered via the lua draw function "drawSpriteWithNineRect".
    An additional feature which can be used here a extra face art graphics like in visual novels or
    topdown jRPG styled games (face sets)

    3. Speechbubbles
    the character texts get displayed like the normal character text, but will have a dynamically resizing speechbubble / textbox graphic behind the text. This would make sense, when the character texts need to "pop out" a bit more. The difficult thing here is that the speechbubble graphic gets rendered above the normal displayed text. So you need to render a new text above the speechbubble via lua, too. Because the text is also displayed via a lua draw function ( graphics.drawFont(...) ), you can mix in additional information like the character name in different color, etc. The possibities which are doable with speechbubbles could also be used in the "method 2", mentioned here.

    4. No text at all
    for games where the language and texts are not or rarely used at all, you can display texts, thoughts, etc over images/sprites which get rendered either in combination of a speechbubble or loosely floating over a characters head or different positions on screen.
    For this you can come up with lua based cataloges/tables of different sprites to get rendered or just use a custom font where each different Letter is a specific symbol/image.

    5. ... more ideas?

    kind regards

    Thread Captain

    2346 Posts

  • #2, by afrlmeSunday, 23. September 2018, 22:59 3 years ago
    2. extended. mood avatars. I wrote a script for the upcoming game Minotaur which utilized Lua tables to display the text, a mood avatar & animation (sweat, tear, lightbulb, anger hashtag, exclamation point, etc).

    Would also be possible to use characters as avatars & use the lip sync system for lip sync or to manually control expressions/moods while the character talks.

    Also, still waiting on Simon to implement text effects, if he hasn't already done so... type writer, fade in/out, scale in/out, etc.


    6983 Posts

  • #3, by stothewSunday, 23. September 2018, 23:01 3 years ago
    i would love to have my text "popped in" in the exact spoken moment like you see it in the youtube subtitle... but i guess this would be very hard to achieve. :S

    Forum Fan

    125 Posts

  • #4, by sebastianSunday, 23. September 2018, 23:02 3 years ago
    I guess the fixed position text has a lot of positive additions you can make.

    Regarding my initial post: maybe some of you guys have also ideas to improve readability for visually impaired and make it more accessible for all kind of people...

    i would love to have my text "popped in" in the exact spoken moment like you see it in the youtube subtitle... but i guess this would be very hard to achieve. :S
    Hmm... would be a thing to split the spoken string at " " to have each word in a table.
    Then adding each word to a string after X seconds (length of audio file/amount of words in string) to make the words appear equaly. Not sure how to achieve that the words really appear when the spoken words get spoken, though ...

    Thread Captain

    2346 Posts

  • #5, by afrlmeSunday, 23. September 2018, 23:20 3 years ago
    Would have to be a table with timestamps. Just like SRT subtitle files or like how the lip sync system works. You just update the value/variable by adding the next word onto the end of the current string - it would only work for single lines though as I don't believe it's possible to add in line breaks when display text with a value linked to it, but maybe that's possible via the Lua draw functions?


    6983 Posts

Write post