Search Unity

NextGear inventory system

Discussion in 'Works In Progress - Archive' started by Zurusona-Kitsune, Sep 26, 2013.

  1. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    NextGear inventory system

    NextGear inventory system is a very powerful system made for NGUI that include a lot of features such as dual wielding and 2 handed sword.
    It will automatically display your item on your character, support items stack and is easy to code new effects for your items.
    Currently item effects included are : health recovery, mana recovery but also summoning a 3D object in the scene and a skill item that push all rigidbody away from the character.

    *Update
    Here is the first video uploaded demonstrating some item effects when right clicking them:


    This will be an asset sold in the asset store once I have finished working on it.
    The package will include the free 'Angelic Sword Set' that can be found on the asset store at this link :
    http://u3d.as/content/bitgem/angelic-sword-set/3bh
    with authorization from BITGEM.

    If you are interested in the package, feel free to post your feedback here.

    features :

    - work on any characters. No need to import your 3d models pre-equipped with armors and weapons.
    - easy to create and add new items to the game.
    - customizable look
    - 2 handed sword
    - equipping one handed sword in either hands
    - dual wielding
    - slot limitation such as shield on 'off hand' / 'left hand' only
    - Equipment slot can be either unique to allow to display an equipped item on multiple part of the character(ex boots)
    - Equipment slot can be non unique allowing to equip multiple items of the same types(ex : 5 rings slots)
    - equipments requirement limitations(ex: lvl or stats requirement)
    - physically display equipments on you 3D character model
    - auto equip on pickup
    - equip from inventory on right click
    - character stats calculation from character + equipements stats
    - items stacking and unstacking
    - items cooldown.
    - easily code new item effects
    - multiple item effects on one item.(nice for elixir, recover both health and mana)
    - dynamic display of item effects fields in the database inspector
    - drag item into the game and pick it back into the inventory.
    - tooltip on items
    - a custom window that allow to search an item or to drag and drop them onto either the scene view or your own custom fields in the inspector.
    - inventory layout update in editor.
    - multi tabs inventory.
    - multi characters support
    - and more...

    screenshots : (still in wip, so not the final look):

    $NG01.png

    $NG02and03.png

    $NG04.png
     
    Last edited: Aug 18, 2014
  2. MrMassively

    MrMassively

    Joined:
    Sep 4, 2013
    Posts:
    115
    Looks great,

    question:

    i did not see in your post if this setup is for your own game design, or is it for sale or will be, or is it for free or you just showing off what you have done?

    if this is for sale or will be i think you should specify your intentions with it, or the reason why you started this thread.

    unless i missed the actual purpose of this post.

    regards
     
  3. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    this will be for sale on the unity store once I finish it.

    Actually thanks for making me notice this omission, I will modify my first post to reflect it.
     
    Last edited: Sep 26, 2013
  4. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    Progressing quite smoothly.
    I have updated the slot system so that it is not necessary anymore to select it again on the weapon.
    So I also removed that option on the item inspector now.
    Here is a screenshot on how one would add a slot:
    $NG05.png
     
    Last edited: Sep 30, 2013
  5. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    First video of NextGear inventory system uploaded to Youtube.
    This show the items effects in action :
     
  6. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    I've added drag and drop support to the inventory and equipment slots, and I also added item limitation on usage(ex: the player cannot consume a potion when the character's health is full).
    The item also have a new option to choose if it need all effects to meet the limitation demand or if only a single limitation need to be met.
    Ex: for Elixir, which recover both health and mana, you can choose if the the character need both health AND mana to not be at maximum or just either health or mana before the user can consume the item.

    There are still some features left to be added and I need toclean and comment the code but with those done, I'm getting quite close to finishing this package.
     
  7. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    I've now updated the code to work on NGUI 3.0.
    I am currently working on the saving system but very soon I will start making videos showing the functionality of the inventory system in action.
     
    Last edited: Oct 20, 2013
  8. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    Finally finished adding the new options for the tabs buttons.

    Here are some screenshot:

    This image show the new options, and the tab buttons on the right.
    $NG07.png

    and this image show the tab buttons repositioned to the middle to make it looks better :
    $NG08.png

    I also added a save function to save the items that are in the inventory, and improved the drag and drop feature which is the reason for putting the tab buttons on the right, since now they automatically change the active inventory when dragging on top of them.


    I think all features are now in, so I am currently working on improving the overall looks and adding items sound effects before starting to make videos and releasing it in the asset store.
     
  9. Grohowiak

    Grohowiak

    Joined:
    Mar 20, 2012
    Posts:
    34
    Looks great. Have Few questions though.
    1. Does it allow to set up (not sure how to explain it) only a specific use for picked up object?
    Example. I pick up few things and then want to use them with a specific objects placed in the scene to create action. Select key in inventory press on door lock in the scene = door opens and so on.
    2. Does it work with mobile touch interface?
    3. Equipped item. Any option so it doesn't appear on character (first person but no body parts visible) but in a predefined window so player knows it's equipped.
    4. Will the inventory save state when switching scenes or saving game state?

    Sorry if I'm not being clear. En is not my first language.
     
  10. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    Hi, thanks for your reply.

    1. Right now, dropping an item on top of a GameObject in the scene is not possible since I designed it to drop the item in the scene when dragging it out of the inventory window, like any hack and slash game, but it wouldn't be difficult to write a script to do what you are describing
    (if I understand correctly, it would work like items in the game 'Myst' or any other point and click).

    It is also currently possible to check if the inventory hold a 'door key' item when clicking on the door. There is currently a method to do just that.


    2. Currently I am focusing on computer but I have just finished adding drag and drop so in theory if i disable the click event and only allow the drag and drop event, there is no reason not to support mobile touch interface. I will probably add this feature later.


    3. Yes, if you don't add an attachment point to display the item on the character, the item will still register on the character slot list.
    I design it so for example, in an hack and slash game it would be possible to equip rings and trickets without displaying them on the character.


    4. Yes there is an option for this but I think the best thing to do in most case is to add a script at the top of your user interface GameObject to not destroy your entire UI, unless you have a game which change the UI at every screen.

    Don't worry about your English, I can understand it quite well. Also English isn't my first language either.
     
    Last edited: Oct 23, 2013
  11. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    Here are some screenshot of the new UI:
    this is the what you can see in the scene view in unity editor :
    $04.png

    And in the game, when the inventory has items in :
    $01.png


    As you might have noticed I added a new feature to the equipment slots, now instead of text under the slot, you can choose to have a background picture when the slot is empty and a different background pic when an object is equipped(Here, a blank picture).

    I also noticed that I forgot an important feature before which is why it took so long to post an update. I forgot to save the character items along the inventory.
    But now everything is ready except for some missing sound effects and a step by step tutorial on how to use it.
     
  12. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    I know it has been a long time since I updated this thread but I have a good news. The inventory system is finally ready for release.
    I struggled a lot with health issue which is the main reason for the long delay. Also one of the NGUI update broke the compatibility with the old version so I had to rework the code. Now I am pleased to say NextGear inventory system is compatible with the latest version of NGUI and unity.

    Also anyone who will buy this version will get the upgrade which will work without NGUI and be adapted to the new Unity GUI once it is released.

    I still have to contact a few people before putting this on the asset store. Once done you will finally be able to buy it.

    My intention with this project is to make the most advanced inventory for unity. A package of the quality as high as a AAA inventory, able to do nearly anything you would imagine an RPG inventory to be able to do.
    So if you have any thoughts on how to improve, your input are very welcome.
    I've made the setup as simple as I currently can, so now it is mostly a matter of drag and drop
    and I added a tutorial for it.

    I also have my own idea on which direction I want to take to move this project forward so look forward to new and improved features.

    And don't hesitate to ask questions.
     
  13. RealSoftGames

    RealSoftGames

    Joined:
    Jun 8, 2014
    Posts:
    220
    will this be compatible with RFPS and a Manual on how to make it compatible?
     
  14. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    I do not own the RFPS asset so I cannot say how easy or hard it is to combine both NextGear inventory system and RFPS together.

    For now the asset was declined on the asset store because it include some free 3d models from the assets store.
    I am currently in the process of making my own 3D models to replace them but this will take time since I am not the best modeler.

    Once the asset is released and depending of it's popularity, I will expand it as far as I can to have compatibility with the most popular assets on the store.
    Of course that would also mean adding a manual on how to make it work with those assets.
     
    Last edited: Sep 24, 2014
    RealSoftGames likes this.
  15. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    greatly interested in this. is it extensible for example if i dont want to use drag and drop but having a button that call a function like TryEquipItem(Item); ?
    it would be great to have access to some function for mobile with a context menu:
    -select item on touch
    -context menu: loot/drop/equip/unequip/destroy

    do you plan to include shops, and chest?
    ETA for this assets to be on the store?
     
    Last edited: Sep 25, 2014
  16. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    That's a great idea. I will add this feature to my todo list.
    The way I would do it would be to make a custom event which you could inherit to call your context menu.
    The reason I do not wish to make my own menu is to allow everyone to decide what would happen during the onclick event.

    I do plan to have a shop and chest system included.
    Technically the chest system would already work as multiple inventory or even multiple inventory managers(for multiple characters like in Xcom or baldurs gate) already exist. I'd just need to add a way to add items to them and to save the chest content.

    As for the ETA, I hope for the middle of next month.
     
  17. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    which method do you plan for saving ? it would be great and more flexible to have a serialisation to save all that stuff as a string, this is helpfull to avoid playerprefs, having a key in a db or on a cloud data
     
  18. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    Currently I save it as a binary file because there are a few variables that cannot be saved as a string in xml.
     
  19. docgonzzo

    docgonzzo

    Joined:
    Dec 10, 2013
    Posts:
    19
    Is there more documentation besides the readme.txt and in-file comments?

    Do you have a .pdf manual or user guide with diagrams?
     
  20. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    Not yet, I am currently in the process of separating the UI to it's logic and adding support to the new unity UI.
    Once I do that I think I'll work on adding a pdf with more details on the inventory functioning.
     
  21. Zurusona-Kitsune

    Zurusona-Kitsune

    Joined:
    Mar 11, 2012
    Posts:
    94
    BTW Since the current version is lacking a manual, If you have any question you can write me to the email address I added in the readme.txt.

    Also now the official thread for this project is : http://forum.unity3d.com/threads/re...special-item-effects-are-now-possible.266771/