Search Unity

[RELEASED] Quest Machine: Hand-Written and Procedurally-Generated Quests

Discussion in 'Assets and Asset Store' started by TonyLi, Sep 20, 2017.

  1. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    May Madness Sale - Quest Machine 50% Off

    Just a few days left in the May Madness Sale. Make sure to get Quest Machine for 50% off before the sale ends!
     
  2. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    Quest Machine - Invector Integration Tutorial



    (I'll post an Opsive character controller integration as soon as it's ready.)

    Reminder: Just two days left in the May Madness Sale. Make sure to get Quest Machine for 50% off before the sale ends!
     
  3. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    This is the last day of the May Madness Sale.

    Get Quest Machine while it's still 50% off.


    ---

    The latest Invector version has a few changes that affect the integration. An updated integration package will be on pixelcrushers.com soon and will also be included in the upcoming version 1.1.8.
     
  4. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    Updated Invector Integration Available

    The Quest Machine Extras page has an updated integration package for the latest Invector controllers. This integration package will also be in the upcoming Quest Machine 1.1.8 release.

    ---

    May Madness Sale Almost Over

    For just a few hours more, you can get Quest Machine for 50% off in the sale.
     
  5. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    Quest Machine 1.1.8 Released

    Version 1.1.8 is now available on the Asset Store!


    Version 1.1.8 Release Notes
    • Added: Quest Journal checkbox Only Track One Quest At A Time.
    • Improved: QuestBuilder class can now work with an existing quest object.
    • Fixed: Bug in add node wizards that made node's Internal Name uneditable.
    • Text Tables:
      • Added right-click context menu to insert/delete fields.
      • CSV import retains in order from file, now handles blank lines gracefully.
      • Editor window remembers last tab.
    • Save System: Eliminated message on Destructible Saver about missing Save System when exiting playmode.
    Third Party Support:
    • Adventure Creator: Updated for AC 1.67.
    • Dialogue System:
      • Added: Add Lua function to set Quest Machine indicator states.
      • Improved: Conversation Quest Action first tries to find actor by Quest Machine ID. Then checks Dialogue Actor component and GameObject name.
    • Invector: Updated for latest versions.
    • Love/Hate: Added LoveHate Traits To Drives component.
     
  6. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    Out Of Office: May 31 - June 2

    I will be out of the office from Friday, May 31, through Sunday, June 2, 2019.

    When I return on Monday, I'll respond to all messages and emails as quickly as I can. Thanks in advance for your patience!
     
  7. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    569
    my project only supports joypad
    I know this asset lets us scroll Ui with joypad, i want to add my own inventory , will i be able to use joypad to navigate UI (now i can't)?
    What's the easiest way to do that when importing your asset?
    thanks in advance
     
  8. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    Hi @eaque - Quest Machine doesn't include an inventory system, but it has components that can help.

    Quest Machine's UIs are based on a component called UIPanel. This component takes care of a few things:
    • Opening and closing the UI, with optional show/hide animations and UnityEvents.
    • Detecting when the player presses the "back button" (as defined on the Input Device Manager) and providing a UnityEvent that can do something such as close the UI.
    • If the Input Device Manager is in joystick or keyboard mode, it will make sure a selectable UI element is always focused so the player can navigate using the joypad.
    If you're making a custom inventory UI, add a UIPanel component to get this functionality.

    If you're in the market for an inventory asset, my current recommendation is More Mountains' Inventory Engine. It's simple to use, it works well with a joypad, and Quest Machine has an integration package for it.
     
    eaque likes this.
  9. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    569
    hi,
    many thanks for your answer.

    that's exactly what i wanted. do you think this can focus on a ui element of my custom inventory out of the box or anything to tweak in my buttons or slots....?

    Can't wait to play with your asset! i'm very impressed by what it can do!
    cheers
     
  10. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    Hi @eaque - Yes. Just add a UIPanel component to your inventory window. Make sure to call the component's Open() method to show the inventory window, and call Close() to close it. (You can also configure it to play animations when opening and closing if you want.)

    UIPanel will identify all of its children that are UI Selectables (e.g., UI Buttons) and always keep one selected. Here's the API reference for UIPanel.
     
    eaque likes this.
  11. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    569
    many thanks!
    :)
     
  12. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    569
    you made me buy the more mountains inventory! the integration with your quest machine could not be refused!;)
     
    TonyLi likes this.
  13. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    Quest Machine 1.1.9 Released!

    Quest Machine 1.1.9 is now available on the Asset Store.

    Version 1.1.9 Release Notes:
    • Fixed: Inspector headings in 2019.1.
    • Fixed: Input Device Manager System.IndexOutOfRangeException when first importing asset if project's Input Manager is not ready.
    • Save System:
      • Improved: Added SaveSystem methods LoadAdditiveScene, UnloadAdditiveScene.
      • Improved: Savers can now implement optional ApplyDataImmediate and OnRestartGame methods.
      • Fixed: Moved DiskSavedGameDataStorer initialization code from Start to Awake so other scripts can check for saved games in their own Start methods.
    • Dialogue System:
      • Fixed: In Pesky Rabbits demo conversation, QuestID was incorrectly set to harvestCarrots instead of peskyRabbits.
      • Added QuestBuilderWithDialogueSystem class which adds methods to add conversation content and DS markup text content.
    • Invector: Fixed auto equip issue when loading saved games or changing scenes.
    • uMMORPG: Fixed bug in removing items in Add/Remove Item quest action.
     
    Gregorik, ikemen_blueD and eaque like this.
  14. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    30% Off articy:draft 3 in On Humble Store

    articy:draft 3 is currently 30% off on Humble. Quest Machine can import from articy:draft.

    I think articy:draft works better for dialogue, such as for the Dialogue System, which can also import articy:draft. But if you're looking for an all-in-one tool to manage all of your project design content, then articy is a worthy option. Otherwise, I prefer Quest Machine's built-in editor purely for designing quests since it's purpose-built for quests.
     
    Gregorik likes this.
  15. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    Quest Machine 1.1.10 Released!

    Version 1.1.10 is now available on the Asset Store!


    Version 1.1.10 Release Notes
    • Text Tables: Improved performance in very large tables; added PlayMaker actions; GetFieldText() replaces "\n" with newlines.
    • Save System: DiskSavedGameDataStorer inspector now has button to delete saved games; SaveSystemTestMenu is now reskinnable.
    • Invector: Added utility script & example to connect journal UI to Invector's inventory UI; removed "Add shotgun" action from example's Start node; added UpdateQuestUIsOnStart component.
    • uMMORPG: Now saves quest givers' states.
     
    hopeful likes this.
  16. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    The Pixel Crushers discord server is now open for business: https://discord.gg/FwUaCNt

    The discord server is a place for the community to discuss assets and help each other out with quick questions, but not as a primary support channel. For support questions, please post here or on the Pixel Crushers forum since discord isn't a good way to provide answers that other people can easily find in the future.
     
    eaque likes this.
  17. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    569
    thanks for thinking this way!
     
  18. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    Quest Machine 1.1.11 Released

    Version 1.1.11 is now available on the Asset Store!

    NOTE: The next update will set the minimum Unity version to Unity 2017.4. Version 1.1.11 will be the last version that officially supports Unity 5.3 - 2017.3. Unity is ending support for 2017.3 and older, and they're asking publishers to set 2017.4 as the minimum version for assets.

    Release Notes:
    • Added: Quest option 'No Repeat If Successful'.
    • Improved: Disappear Event's onDisappeared event is now public.
    • Improved: QuestMachine.GetQuestInstance now searches quest journals before other quest containers.
    • Fixed: SetQuestStateQuestAction/SetQuestNodeStateQuestAction no longer change state if state is already at specified value.
    • Dialogue System: Misc. fixes to getting and setting quest states in conversations.
    Reminder: We're now on discord: https://discord.gg/FwUaCNt
     
    eaque and hopeful like this.
  19. eaque

    eaque

    Joined:
    Aug 20, 2014
    Posts:
    569
    didn't find the time to play with it but definitely excited by this asset!;)
     
    TonyLi likes this.
  20. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    857
    Hi @TonyLi, We're having a problem with a quest. We have a final quest were we escort a character. If the character dies we want to restart the quest but it's not happening. Abandon doesn't give the quest back to quest giver. fail has the quest as failed no option to restart. success obviously we don't want that. What option am i missing for our use case?
     
  21. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    9,518
    Hi @AndyNeoman - In the example below, the left path is the successful one. The player completes "Pick Up Character", then "At Destination". The right path checks if the character died. The "Character Died" node becomes true if it receives the message "Character" + "Died":

    upload_2019-8-3_16-8-36.png

    If this node becomes true, it resets the characterDied and pickUpCharacter nodes. It also instantiates a new copy of the character and shows an alert message to try again.

    So this quest technically stays active until the player completes it or abandons it (if it's abandonable). If the character died, it just "rewinds" a couple quest nodes to their initial states.
     
    hopeful and AndyNeoman like this.
  22. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    857
    Brilliant, Thanks Tony.