Search Unity

Feedback Would you use Unity to make a dialogue game?

Discussion in 'General Discussion' started by Negatiw, Jul 12, 2020.

  1. Negatiw

    Negatiw

    Joined:
    Jul 3, 2016
    Posts:
    4
    Hello. Let me elaborate a bit on the question from the title. Would you use unity to make a dialogue game or would you use something else? What I mean when I say a dialogue game, and I don't know if those kind of games have a specific name please tell me if they do, is a game with multiple 2D characters that share a story together.

    Lets say that you start out as a pizza delivery boy that will be a superhero (main character) and you go through a dialogue with other characters when you click or use the space bar. Depending on the dialogue options that you chose you will become bad or good, the characters facial expressions will change, depending on the action you choose from the dialogue art with them fighting will pop up, so I plan to use art based on the options you will choose, the spirtes will change often, with each option that you chose you fill that bad meter or you subtract from it.

    So, getting back to my original question. Should I use unity for something like this, or is there something better fitting for these types of games?

    I need to mention that I have worked on some tutorials with Unity (I am fairly familiar with it) and I know C#.
     
  2. kdgalla

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    4,639
    It sounds like you are talking about a visual novel. Unity is definitely capable of this, but your game will run at 30-60 fps or more, so it may run a bit heavier than you need. There are a few free visual novel frame works on the asset store that might help you get it done faster.

    Other authoring tools for this genre are Ren'PY and Twine. You might check those out too. They might be easier to use, since they specialize in the type of content that you are going for.
     
  3. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,573
    It is called a visual novel.


    They're usually implemented as multiple character sprites (which change between several poses) against static background and text window on top. Often feature choices, can be voice acted, and critical events have custom artwork called "CGs".

    Another possibility is "interactive fiction" where art, music, voice, and sounds are completely absent and you only have text, with possible choices. Sometimes interactive fiction becomes closer to adventure game and let you type commands or move across the world. One example of such game is "Zork".

    Yes, unity is suitable for it. You might have easier or harder time with Ren'Py instead of unity, depending on what you're doing, but Ren'Py is written in Python, and Python has smaller amount of compile time checking, which can produce sleeper bugs that can only be detected at runtime. Another possible option is RPG Maker, which is often used for visual novel/jrpg hybrids.

    But, yes, unity is suitable for this.
     
    Martin_H and bobisgod234 like this.
  4. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    3,144
    Have you heard of Fungus?
     
  5. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    If your question is as per the title "Would you use...", then yes I would. It may not be ideal, but I know Unity, and although there may be some overhead, I would feel more comfortable using something I know can do the job and push to just about platform I care about, rather than investigating a bunch of other tools.

    If the question is "Should I ..." well thats a harder question and depends on lots of other factors. Do you already know Unity well? Are you planning on building a lot of these sorts of things? Are you planning on building different sorts of games? Etc, etc.
     
  6. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    I haven't checked in detail, but I think they've made some decent strides in addressing some of the stuff that would make it less-than-ideal. For instance, I think that the new Input System stuff can be decoupled from the rendering loop, so you can now do things like lowering the frame rate when you know nothing is changing on screen without making your controls unresponsive.
     
    JohnnyA likes this.
  7. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    3,144
    Lower the framerate? Why would you do that? These games typically have at least one continuously moving element (usually the indicator at the end of the sentence) that would benefit from being as smooth as possible..

    I just have flashbacks to practically single-digit FPS VNs...
     
  8. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Don't permenantly drop it, just at times when you're waiting for user input with no movement on screen. If you've always got movement then don't do it.

    As for why, it's because otherwise you're consuming energy / generating heat re-rendering the whole screen at 30 or 60 hertz just to keep showing the same image. On mobile platforms that means chewing up battery for nothing.
     
    Martin_H and EternalAmbiguity like this.
  9. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    3,144
    Fair point. I'm targeting Android for some stuff with mostly static screens so I should look into this.
     
    Martin_H likes this.
  10. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,573
    Energy saving.

    In times of software rendering it was not unheard of to track changed screen regions and only repaint those.

    Additionally applications that use window systems work the same way - the only modify changed region.
     
  11. Negatiw

    Negatiw

    Joined:
    Jul 3, 2016
    Posts:
    4
    Thank you very much for the responses. I'm gonna look into some things before I make a final decision. Thanks again!
     
  12. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    I'd recommend Renpy. It's dead simple, hardly anything to figure out at all.
     
  13. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    3,144
    Yeah, as a primarily-desktop-user battery's something I rarely think of.
     
  14. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    "Energy" isn't just battery. It's also heat, and just general waste.
     
    Ryiah and EternalAmbiguity like this.
  15. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
    EternalAmbiguity and TonyLi like this.
  16. EternalAmbiguity

    EternalAmbiguity

    Joined:
    Dec 27, 2014
    Posts:
    3,144
    Speaking of which...I know there's an old video about using it for a VN, but @TonyLi would you say that's still accurate?

    I'm happy to stan for the Dialogue System, but the only "problem" is all the other stuff that usually goes with a VN, stuff like the sprites and backgrounds and music, would have to be redone, when there are already solutions that handle them, and those other solutions include some form of dialogue system.
     
  17. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    There is a free visual novel starter framework addon for the Dialogue System, and many visual novels have been made with the Dialogue System. But if the OP is making a pure visual novel, a dedicated visual novel system such as Ren'py, or even @Elringus's Naninovel might fit better. However, if the OP is making a game that combines visual novel elements with other gameplay -- such as a shooter, an RPG, or even an idle clicker -- then something like the Dialogue System is a strong choice. And we're all making the assumption that the OP is talking about a visual novel. If the original idea was a different kind of gameplay, then that might shift things in Unity's favor.

    That said, this only covers the technical aspect of VNs. Most of the work of a visual novel is the art and writing.
     
    Elringus and EternalAmbiguity like this.