Search Unity

UTAGE Unity Text Adventure Game Engine [RELEASED]

Discussion in 'Assets and Asset Store' started by madnesslabo, May 29, 2014.

  1. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    http://u3d.as/content/madness-labo/utage-unity-text-adventure-game-engine/6US

    Utage is a tool to create visula novel. Made in Japan.
    You can edit a scenario using Excel!

    $ScreenClip [13].png

    Japanese Web player demo
    Japanese Site

    English Web player demo
    English Document

    Features
    You can edit a scenario using Excel!
    Optimized file manager
    Supports download content
    Work with Unity Basic
    Full open source C#
    2D drawing-based SpriteRenderer
    Supports simple UI

    Text adventure Features
    Text display (color change, variable display tab)
    Character display and facial expression change
    Background, event CG, sprite display, and fade out.
    Voice, BGM, ambient audio, SE playback and fade out
    Choices, dialog branches, scenario jump
    Tween animation
    Embed parameter (Int, Bool, Float, String) formulas
    SendMessage function
     
  2. djdavidrevolution

    djdavidrevolution

    Joined:
    Nov 16, 2014
    Posts:
    8
    Really interested in this asset but firstly I would like to know if you are planning to update Utage and integrate the new uGUI of unity 4.6. If that is the case, when do you plan to release that update?
    Thank you!
     
  3. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
  4. djdavidrevolution

    djdavidrevolution

    Joined:
    Nov 16, 2014
    Posts:
    8
    That was a fast reply! Thank you very much goodtime, keep up the good work and give us more English documentation! :D
     
  5. onidavin

    onidavin

    Joined:
    Jan 17, 2014
    Posts:
    5
    I'm having difficulty with the 'param' feature. I'm setting a param in one scene and then attempting to retrieve it in another. The scene all happens within the same scenario xls file. If I just jump scenes, the params are maintained. The moment I do a LoadLevel, however, the param values revert to their initial states (as specified by the scenario XLS file). Is there any way to maintain params across scenarios?

    Edit: Found a way! I made a handler that writes each param to the PlayerPrefs, along with an index of params and loads them again when the scene loads. This allows for doing that, but is a bit hacky.
     
    Last edited: Jan 1, 2015
  6. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
  7. cowlinator

    cowlinator

    Joined:
    Mar 15, 2012
    Posts:
    69
    Hello,

    I am considering purchasing your engine, but I have some questions.

    Which platforms are supported? (e.g. Windows, Android, XBox, etc.)

    Also, how well does it "plug in" to other game systems? If I have a game that has a text adventure element, but is then interrupted by a different game mechanic (e.g. text adventure chapter 1, then Mario-style platform-er, then text adventure chapter 2...). Can I turn Utage on/off at runtime? Can I read/write Utage params from my own script?

    Also, under which license is Utage distributed? After I purchase it, am I free to use it in commercially sold products?

    Thank you!
     
    Last edited: Feb 8, 2015
  8. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    Thank your purchase.

    >Which platforms are supported? (e.g. Windows, Android, XBox, etc.)
    I tested Android,iPhone,WindowsPC,MaxOsX,WebPlaeyer. Others are not tested, but may work.
    I have confirmed that there is a problem to build Windows Store App. It will be fixed later.
    Not yet support Keyboad or Joystick Contoler.

    >Can I turn Utage on/off at runtime?
    Yes. Please use Method of JumpScenario and IsEndScenario.
    Sample code...
    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using Utage;
    4. public class TalkArea : MonoBehaviour {
    5.     public AdvEngine engine;
    6.     public string scenarioLabel;
    7.     void OnCollisionEnter()
    8.     {
    9.         StartCoroutine( CoTalk() );
    10.     }
    11.     IEnumerator CoTalk()
    12.     {
    13.         engine.JumpScenario( scenarioLabel );
    14.         while(!engine.IsEndScenario)
    15.         {
    16.             yield return 0;
    17.         }
    18.     }
    19. }
    20.  
    Detail document. But this is Japanese.
    http://madnesslabo.net/utage/?page_id=402

    > Can I read/write Utage params from my own script?
    Sample Code
    Code (CSharp):
    1.         public AdvEngine engine;
    2.         void Hoge()
    3.         {
    4.             engine.Param.GetParameter(“flag1");
    5.            engine.Param.TrySetParameter(“flag1”,true);
    6.        }
    >Also, under which license is Utage distributed?
    It is the same with the other license of AssetStore.
    http://unity3d.com/legal/as_terms


    > After I purchase it, am I free to use it in commercially sold products?
    No problem. Use it.
     
  9. cowlinator

    cowlinator

    Joined:
    Mar 15, 2012
    Posts:
    69
    Thank you very much for your prompt reply! =D
     
  10. pixelminer

    pixelminer

    Joined:
    Jul 24, 2011
    Posts:
    26
    Hi. I tried running Utage on Android but I'm getting "LoadResource Error"s. The strange thing is in logcat the errors have the last slash reversed into a backslash so instead of:

    Game/Texture/Character/Character.png

    it says:

    Game/Texture/Character\Character.png

    Could this be the problem? What would cause something like this?
     
  11. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    I tried to examine this error, but did not know the cause.

    This slash is programmed like this.

    Assets\Utage\Scripts\ADV\DataManager\SettingData\AdvBootSetting.cs
    Code (CSharp):
    1.  
    2.         public void BootInit( string resorceDir )
    3.         {
    4.             characterDirInfo = new DefaultDirInfo { defaultDir = @"Texture/Character", defaultExt = ".png" };
    5.  
    6. ...]
    7.  
    8.             InitDefaultDirInfo(resorceDir, characterDirInfo);
    9. ...]
    10.         }
    11.         void InitDefaultDirInfo(string root, DefaultDirInfo info)
    12.         {
    13.             info.defaultDir = root + "/" + info.defaultDir + "/";
    14.         }

    If you were rewritten source code, may occur an error.
     
  12. pixelminer

    pixelminer

    Joined:
    Jul 24, 2011
    Posts:
    26
    Thank you for the prompt response. Figured out what's wrong. Because I am keeping my character images in separate folders inside the characters folder I was calling them out as "CharacterName\CharacterName.png" instead of "CharacterName/CharacterName.png". I changed to "CharacterName/CharacterName.png" and everything is working fine now. Thanks for looking into it!
     
  13. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    I was also able to understand.
    Thank you for your report.
     
  14. Spike-Liu

    Spike-Liu

    Joined:
    Aug 28, 2014
    Posts:
    10
    Hi, just bought this asset, it looks really good, and it supports Live2D now which is really cool. I just started a new project following the tutorial, however, the start screen is in Japanese. Is there a language setting you can change it to English? Thanks.
     
  15. cowlinator

    cowlinator

    Joined:
    Mar 15, 2012
    Posts:
    69
    Hey, YyFiRe, I've been using Utage for a bit, and I had the same problem when I started.

    Use the Language Manager at Utage/Template/ScriptableObject/LanguageManager.asset, and uncheck "Ignore Localize Ui Text" (false), then save the project. Don't change any other settings.

    Let me know if this doesn't work for you.

    Also, (in case you haven't already found it), here is the English documentation (scroll to the bottom of the page)
    http://web.archive.org/web/20141208151000/http://madnesslabo.net/utage/?page_id=33
    and the English example file
    www.madnesslabo.com/UtageDemo/En/Sample%20English.xls
     
    Last edited: Oct 30, 2017
  16. Spike-Liu

    Spike-Liu

    Joined:
    Aug 28, 2014
    Posts:
    10
    Hi cowlinator, thank you! It works.
     
  17. Bogu-94

    Bogu-94

    Joined:
    Dec 11, 2013
    Posts:
    58
    Need a Quick answer here. I want to create an RPG game that has Visual Novel like conversation.
    but as I see the example (the excel) it looks like I have to set everything in the excel.
    Indeed this is convenient to make the VN element, but can I achieve this with UTAGE?

    1. Suddenly creates the Conversation GUI via script, without having to edit the XLS? Like
    - Talking to an NPC (and having different conversation everytime I talk. until reaching certain point)
    - Using "your name" or "your skill" or "quest item name and amount" in the conversation
    2. Using NGUI
     
  18. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    'UTAGE' is using 'Unity GUI System' to gui.
    Customize is possible, but not easy.
    Sorry
     
  19. cowlinator

    cowlinator

    Joined:
    Mar 15, 2012
    Posts:
    69
    Hi johanesnw.

    For "having a different conversation every time", you can lay out all the conversations one character will speak as sets of dialogs in the .xls, label them, and then you can start any of them in code (at random, or by any other order).

    For using "your name" or "your skill" in the dialog, yes, you can do that. Example:
    advEngine.Param.TrySetParameter(“skillName”, "gopher herding");
    Then, in the .xls, you embed "<param=skillname>" in the text.

    For NGUI, that would be rather difficult.
     
  20. UnisonRU

    UnisonRU

    Joined:
    Apr 13, 2017
    Posts:
    1
    Hi!

    Adapts to different screen resolutions?
     
  21. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    Yes. 
    Please check this page for details.
    If you change the language to English pages, it will be old information,
    Please read the Japanese page using Google translation etc.

    http://madnesslabo.net/utage/?page_id=392
     
  22. cowlinator

    cowlinator

    Joined:
    Mar 15, 2012
    Posts:
    69
  23. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    Thank you for your report.
    I mistyped my spelling.
    It is "Narrow".
     
  24. Drakoqwerty

    Drakoqwerty

    Joined:
    Mar 30, 2019
    Posts:
    1
    I downloaded a game which use your UTAGE engine, but there’s a big problem, the animations are stuck, they don’t move. My pc is well more powerful than the game requirements so the game developer told me to contact the UTAGE developer. Other people have this problem too, do you know what the cause may be?
     
  25. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    Thank you.
    I have reported the same problem from the developer and I am investigating.
    I guess it is a problem caused by the language setting of the PC.
    May I ask you for a solution?
    What is the language setting of the PC where the bug occurs?
    For languages that use a comma as a decimal point instead of a period, this bug may occur.
    This is a known bug and will resolve if the developer brings my package to the latest version.
    This is a bug caused by the change in the C # version of Unity, which is probably due to Unity changing the specification without warning.
     
  26. jraiketchum134

    jraiketchum134

    Joined:
    Apr 16, 2019
    Posts:
    2
    Hello everyone!

    I've started poking around with UTAGE for a group I'm a part of to use for our visual novel project. The reason I picked it up was because we are wanting to use Live2D for our game. I've done the tutorial on the site, as well as poking around the other capabilities and want to try the Live2D extension. However, the link is broken on the website to get the Live2D scripts. Is there any other place I can find it? My team is really interested in using this engine since it simplifies A LOT of the coding and writing from a writer's perspective.

    Thanks!
     
  27. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    Perhaps you are looking at an old page.
    The latest is here. Only in Japanese.
    Please use the Google translation function for English.
    http://madnesslabo.net/utage/?page_id=9621
     
  28. jraiketchum134

    jraiketchum134

    Joined:
    Apr 16, 2019
    Posts:
    2
    That's what was happening! Thank you! ^^
     
  29. CHOPJZL

    CHOPJZL

    Joined:
    Dec 5, 2016
    Posts:
    55
    Hello!
    About the workflow, I only knows the basic of excel, do I have to tpye all the content correctly by hand? I am afraid there is a big probability that I spell something(command, arg,,,) wrong, and it seems difficult to find out
     
    Last edited: May 10, 2019
  30. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    An error message will be issued for errors such as command names.
     
  31. CHOPJZL

    CHOPJZL

    Joined:
    Dec 5, 2016
    Posts:
    55
    It's kind of unsure without a select&assign approach in the editor, but still a great engine.
    By the way, is it easy to build a popup bubble dialogue system like Falcom's Kiseki series?
     
  32. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    I do not know the features needed for that system.
    It is possible to call it as a dialog, not a novel game.
    But you will need to write a control program for your project.
     
  33. CHOPJZL

    CHOPJZL

    Joined:
    Dec 5, 2016
    Posts:
    55
    My thought is to treat MessageWindow like characters. Then in the Text edit of excel, use args to control the position and size of the MessageWindow. Maybe also a bool to switch popup mode or visual novel mode.
     
  34. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    It is impossible if you can not write a program.
    The expansion method is prepared. Read the official site documentation. It is Japanese, so use Google Translate etc.
    http://madnesslabo.net/utage/
     
  35. CHOPJZL

    CHOPJZL

    Joined:
    Dec 5, 2016
    Posts:
    55
    I have read documentation yesterday. I think I could do the job the with UI-kei command now and some program arrangement, but seems complicated. So, consider it a feature request if it is not bother:)
    By the way, can I write my own custom command? If I can, how and what should I pay attention to in case not crush the engine
     
  36. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
  37. CHOPJZL

    CHOPJZL

    Joined:
    Dec 5, 2016
    Posts:
    55
    Hello!I have another question:)

    Can I start 2 dialogue at the same time? For example. A and B talking scenarioX in messageWindow1, C and D talking scenarioY in messageWindow2. Both of them can be auto or manual. Player can control each of them by clicking the corresponding messageWindow. Or use mouse click to control messageWindow1 and a keyboard button to control messageWindow2.
     
  38. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    Can not do that.
     
  39. CHOPJZL

    CHOPJZL

    Joined:
    Dec 5, 2016
    Posts:
    55
    Emm...Is it able to pause a scenario by event, then resume it? Like in the document, a game event called a dialogue, then I set up an other event that happen at a random moment to pause the scenario at a random line. If this is still impossible, can I stop an unfinished dialogue by event?
     
  40. CHOPJZL

    CHOPJZL

    Joined:
    Dec 5, 2016
    Posts:
    55
    I think I found the way to pause, just call engine.ScenarioPlayer.Pause() in code instead of using command in excel. But what if I want to start another dialogue scenarioY after the pause, and resume scenarioX after scenarioY ends? If this is not able to be done for the engine now, I hope to know what data is needed to build a reatore feature myself, like store the data in a proper place, and resume whichever scenario I want by restore the data
     
  41. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    That is impossible.
     
  42. CHOPJZL

    CHOPJZL

    Joined:
    Dec 5, 2016
    Posts:
    55
    Em...I thought it works like the saveload system, except it does not need a file, but an gameobject. After all this is not a must feature, I'll dig it a little more later on:)
     
  43. CHOPJZL

    CHOPJZL

    Joined:
    Dec 5, 2016
    Posts:
    55
    Hi!How can I show pattern faceIcon only without standing picture?

    In the Character command, if I set pattern arg2 to <Off>, the faceIcon will become the default pattern.
    I tried to set up another character pattern in Character sheet that has no standing picture, but the faceIcon doesn't show either.
    It works when I set the character position far away from the camera so we won't see it, but is there a proper way to do the job?
     
  44. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    I'm sorry. There is no smart way.
    Prepare a transparent texture and display as a picture of the character as a dummy.
    The UTAGE save system works because it can not handle things without objects.
     
    CHOPJZL likes this.
  45. Skiriki

    Skiriki

    Joined:
    Aug 30, 2013
    Posts:
    69
  46. madnesslabo

    madnesslabo

    Joined:
    Nov 8, 2012
    Posts:
    59
    I don't think there will be any significant issues.
    In general, unnecessary files are automatically unloaded.

    However, unloading assets in novel games can be a complex process. Novel games often require frequent loading and unloading of assets, so even assets that have become unused are cached to some extent in preparation for the next load. As a result, seemingly unnecessary assets may remain in memory.

    With Utage's FileManager, you have the ability to adjust the number of on-memory assets using the 'Range Of Files On Memory' feature.
    Additionally, you can fine-tune the frequency of calling 'Resources.UnloadUnusedAssets' through FileManager.UnloadType. If it is set to 'None,' UTAGE will not automatically call 'Resources.UnloadUnusedAssets.' In such cases, please perform this at your discretion.
    https://madnesslabo.net/utage/?page_id=464


    If you encounter any issues, please feel free to reach out to our support forum for assistance.
    https://groups.google.com/g/utageuser
     
  47. Skiriki

    Skiriki

    Joined:
    Aug 30, 2013
    Posts:
    69
    Oh, I'm not using UTAGE, I just thought I'd surface the potential issue. I've let the person in the other thread with this issue know though.