Search Unity

Creating a JRPG Cutscene System

Discussion in 'Scripting' started by dann96, Jan 13, 2016.

  1. dann96

    dann96

    Joined:
    Dec 6, 2014
    Posts:
    113
    I'm currently trying to make a cutscene system that functions like your conventional JRPG (ex. FF7). I currently Have a dialogue system in place that creates an asset called "Dialogue" to which I can fill in information such as sentences, fonts, etc. More specifically, I want to make a system in which I can simply create a cutscene that will take in an array of characters, dialogue, and animations and allow me to set up a sequence of events (ex. choose a character, tell it to move to a specified position, and, if I placed an animation and dialogue, trigger that animation and dialogue). I know this seems like a lot, but if you could just point me in the right direction, that'd be great.
     
  2. Fajlworks

    Fajlworks

    Joined:
    Sep 8, 2014
    Posts:
    344
    There is a asset on store called Dialogue System for Unity that might help you:
    https://www.assetstore.unity3d.com/en/#!/content/11672

    I haven't tested it, but the reviews look great, plus it seems it mixes with other asset store components quite well.

    If that doesn't help you, you will have to roll your own. I would suggest you downloading RPGMaker VX demo to check out its Event Commands.


    Using these you can easily create any scenario for your JRPG. It goes like sequence:

    1. Show Text...
    2. Show Text...
    3. Show Choices
    - Choice 1:
    1. Show Text...
    2. Set Move Route... (contains both move and facing)
    3. Play BGM...
    - Choice 2:
    1. Show Text...
    2. Battle processing...

    To translate those into Unity framework, imagine a coroutine:
    Code (CSharp):
    1.  
    2.  
    3. IEnumerator Loop()
    4. {
    5.      yield return StartCoroutine( ShowText(...) );
    6.  
    7.      yield return StartCoroutine( PlayBGM(...) );
    8.  
    9.      //etc....
    10. }
    11. }
    Now the tricky part is to create Editor tools to create objects that will represent those Event Commands. I haven't done anything like that yet so I can't recommend, but you can create UnityEditor scripts to save that data to ScriptableObjects or even create external editor, save your cutscenes into XML / JSON and recreate on the fly by reading that file.

    Be sure to reference RPGMaker because it is a robust tool for making rpg games and you can save a lot of time when developing your own tools. In any case I'm sure it will be a lot of fun :) Hope it helps!
     
    TonyLi likes this.
  3. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Thanks for the Dialogue System mention, @Fajlworks!

    @dann96 - The Dialogue System is used in a lot of JRPG-style games, such as Terra Monsters 2 and Ghost Ring. The Asset Store page has a link to the trial version if you'd like to try it for free.

    If the cutscenes are entirely non-interactive (that is, they don't prompt the player to choose responses), you could instead use a cutscene editor such as Cinema Director, uSequencer, or Animator Timeline Editor. (The Dialogue System has integration packages for all of those, btw.)

    If you decide to roll your own, definitely take the advice of @Fajlworks and model it on RPGMaker. They've worked out a lot of the concepts and pitfalls, so you might as well take advantage of the years of work they've put into the design. And have fun making your game! :)
     
  4. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,913
    You could just make a generic sequencer system. I don't think RPGMaker understands the concept of a "cutscene"- it just runs through a list of Events/Actions as mentioned.

    You can even use GameObjects to represent your actions if it's a small game, so you get a click-and-drag sequence editor for free.

    If you did need a more detailed dialogue system, you would just make a little action that executes it and waits for it to finish.