Search Unity

uMMORPG Official Thread

Discussion in 'Assets and Asset Store' started by mischa2k, Dec 29, 2015.

  1. twick

    twick

    Joined:
    Nov 16, 2011
    Posts:
    31
    Sorry, forgot to mention I already did this. If I click an enemy and attack the character navigates and attacks ok. Just wont click to move. If you look in the screenshot below the navigation mesh is baked and looks pretty good. NPCs wander around fine, etc.

     
  2. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Did you enable the Terrain collider?

    Also you can open the Player.cs script and scroll to the very bottom and find the SelectionHandling function. You could add a few log messages after the "otherwise it's a movement target" comment to see if it actually gets there:
    Code (CSharp):
    1.                 // otherwise it's a movement target
    2.                 } else {
    3.                     Debug.Log("did we get here?");
    4.                     // set indicator
    5.                     SetIndicatorViaPosition(hit.point, hit.normal);
    6.                     CmdNavigateTo(hit.point, 0f);
    7.                 }
     
  3. twick

    twick

    Joined:
    Nov 16, 2011
    Posts:
    31

    Well now, do I feel stupid. The terrain collider was off by default apparently. Thanks. Its working fine.
     
  4. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Good to hear. Let me know if you have any more issues. I will add that terrain part to the documentation, I am sure someone will have the same problem some day.
     
  5. joncrzo

    joncrzo

    Joined:
    Sep 26, 2015
    Posts:
    30
    I just purchased your project and imported it to the unity client right away, but somehow I keep getting this error:

    "Assets/uMMORPG/Scripts/Database.cs(47,30): error CS1501: No overload for method `GetFiles' takes `3' arguments"

    How do I go about fixing it?

    I haven't edited anything, it is all fresh.

    Thank you.
     
  6. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Update: V1.21 is now on the Asset Store. Changes can be seen in the first post!

    Hey,
    I remember someone mentioning that a long time ago. Do you use Unity 5.3.4? And did you select the Standalone platform in build settings? And which operating system to you use?
     
  7. joncrzo

    joncrzo

    Joined:
    Sep 26, 2015
    Posts:
    30
    I'm using version 5.3.5 and somehow when I reinstalled Unity, it didn't install all the support packages. I'm building now and the error is gone.

    I do get some warnings:

    Assets/uMMORPG/Scripts/Entity.cs(92,43): warning CS0109: The member `Entity.collider' does not hide an inherited member. The new keyword is not required

    Assets/uMMORPG/Scripts/UIRefresh.cs(215,63): warning CS0618: `UnityEngine.Application.loadedLevelName' is obsolete: `Use SceneManager to determine what scenes have been loaded'

    Assets/uMMORPG/Scripts/UIRefresh.cs(215,63): warning CS0618: `UnityEngine.Application.loadedLevelName' is obsolete: `Use SceneManager to determine what scenes have been loaded'
     
  8. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Good to hear!
    Those warnings will be there for a while, for downwards compatibility. Application.loadedLevelName was the way to go in older Unity versions, and I don't want to cause too many errors for people that don't use the latest version.
     
  9. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Progress Info: Unity 5.3.5 was released last week, with a fix for the ProximityChecker IL2CPP bug that I reported, and the SyncList callbacks happen at the correct time again. I am currently removing the workarounds in the code, so we will all have to upgrade to 5.3.5 for the next uMMORPG version.

    This is good news. Only two critical UNET bugs remaining: #786248 and #737241.
     
  10. xBeNjO

    xBeNjO

    Joined:
    Feb 6, 2014
    Posts:
    40
    Looks awesome, Is there a way to stop the camera been able to enter terrain, I honestly never noticed it until I used the new teleporting system and noticed the camera could do a full 360 around the player.
     
  11. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Sure, take a look at the CameraMMO.cs script. That feature is commented out right now, but you could turn it on (read the comments).
     
  12. xBeNjO

    xBeNjO

    Joined:
    Feb 6, 2014
    Posts:
    40
    Thanks, my main concern is the camera been able to go through the floor, shame there isn't a way to prevent it going through the nav mesh.
     
  13. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    There is linecasting, which is in the Camera script that I mentioned.
     
  14. joncrzo

    joncrzo

    Joined:
    Sep 26, 2015
    Posts:
    30
    Alright, it is no big deal to me. I just ignore those warning messages most of the time.

    Thank you and yes, everyone should update to the latest unity version :)

    By the way: Are you planning to add chat bubbles? The chat only comes up in the chat window, but there's no bubble on top of the players.
     
  15. jjobby

    jjobby

    Joined:
    Nov 28, 2009
    Posts:
    161
    Do you plan to have instanced dungeon?
     
  16. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    I didn't plan to add those yet. You could take a look at each entity's NameOverlay, so there you already see how to use a UI element in 3D and adjust it to the camera. This should be a good start.

    UNET Phase 3 should make this possible, they talked about this in a presentation.
     
  17. azurn

    azurn

    Joined:
    Aug 21, 2013
    Posts:
    1
    Hey vis2k I'm interested in getting this project but I'm curious about a few things and was curious if you would be willing to answer some questions for me?

    My first questions would be how far do you plan to develop this project?

    My second question is regarding the item interchangeability. Is it possible to enable (or code ourselves) the ability to switch armor and weapons?

    Finally is there current limit to the amount of people you can have on there?
     
  18. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Sure, just ask.

    That's a hard question. The first goal was to have all the MMORPG core features. One could argue what those are, but I'd be very confident to use uMMORPG for my own MMO at this point. Things are good. In the future, we will see a lot of exciting features when UNET Phase 3 is finished, which means splitting the world between different servers, dungeons etc.

    On the other hand, what I don't put into this project is as important as what I do put into it. Simply because bloatware doesn't help anyone. uMMORPG is supposed to be as simple as possible, so that everyone can understand it.

    You can switch armor and weapons already. Simply drag them from the inventory to the equipment and vice versa.
     
  19. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Ingame Mail would be great. And pets and mounts. just sayin.
     
  20. joncrzo

    joncrzo

    Joined:
    Sep 26, 2015
    Posts:
    30
    Would be nice to have the option of male and female as well. I know models are expensive, but at least have the option with the same models so we can switch them at a later time. ;)

    Hey Vis2k, when the client is opened you can see everything in the login part. Is there any way to hide everything but the username and password window?
     
    Last edited: May 29, 2016
  21. Pringles25

    Pringles25

    Joined:
    May 29, 2016
    Posts:
    1
    Hello, considering to buy this asset, but first I need some answers :D

    1. Is hard to "rework" this from 3D to 2D (TOP-DOWN)?
    2. Is possible to have connected users from pc and mobile in same time?
     
  22. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Progress Info: the next version is ready (which requires Unity 5.3.5). I'll wait with the release until the Madness Sale ends, so that people don't get confused when still using 5.3.4.

    Pet's and mounts are interesting. I am not sure about ingame mail just yet.

    You can do that already. Right now the character creation has the 'Warrior' and 'Archer' options. You could easily add more like 'Warrior female', 'Warrior male', etc.

    About the UI: you could probably hide more things by default and then make them visible after a successful login. Or only show them while connected, etc.

    Hey,
    1. It's probably just the camera that has to be changed. Some scripts also make use of Vector3's for positions. You could either change those to Vector2 to save some bandwidth, or just keep them at Vector3 because one coordinate is 0 all the time anyway.

    2. PC and mobile should work.
     
  23. joncrzo

    joncrzo

    Joined:
    Sep 26, 2015
    Posts:
    30

    Awesome!

    Are you planning to add different account levels such as User, Admin, GM, Dev?

    Any new feature expected to be added on the next version?
     
  24. xBeNjO

    xBeNjO

    Joined:
    Feb 6, 2014
    Posts:
    40
    What comes with the next update?
     
  25. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    That's not planned yet.

    The next version will be a maintenance release where workarounds for old bugs are removed, so that the code is more clean and fast. We have been waiting for those Unity bugfixes for a long time, so that's really good news.
     
  26. Sirxy

    Sirxy

    Joined:
    Jun 20, 2013
    Posts:
    3
    hello

    do you plan to upgrade demo?
    as it currently do not allow me to try it from 2 webgl/browsers to see 2 players at once

    character creation always put Alice at the end not mater what i enter as name and always archer not mater if i select warrior or archer

    i mean demo look way out-dated

    Thanks in advance

    note: in current demo noticed click on moveing skeletons is pain :p

    all best
     
  27. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Hey,
    the WebGL demo hosts and connects to its own server. But you simply can't connect to another server that runs in WebGL, that's not possible because of how Browsers/WebSockets/WebGL work.

    Playing with multiple players would require me to host a dedicated server so that people playing the Demo could connect to it. I decided not to do that because then I'd have to spend time with server maintenance, security, uptime, DDOS protection, paying bills etc. My time is better spent coding, so that WebGL demo should be good enough to test uMMORPG.

    The character Alice is hardcoded in the demo, for some technical limitations with the server that I explained above.
     
    Sirxy likes this.
  28. cioa00

    cioa00

    Joined:
    May 31, 2016
    Posts:
    203
    First at all, awesome work :)
    I`ve been playing little bit with files and prefabs and other stuff. Everything seems work pretty well.

    Not sure if someone is already reported that but i`ve noticed that when you target yourself then you can kill yourself and also you will gain offender/murderer status.
     
  29. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Thanks.
    Wow, that's awkward. Will be fixed in the next version, thanks so much!
     
  30. cioa00

    cioa00

    Joined:
    May 31, 2016
    Posts:
    203
    Is there possible to add multiple quests for npc? It seems that at the moment npc can hold only one quest.
     
  31. MHolmstrom

    MHolmstrom

    Joined:
    Aug 16, 2012
    Posts:
    115
    Is it possible to add hack and slash? or are you waiting for WASD for it to happen?
     
  32. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Progress Info: V1.22 was submitted to the store, pending review. Changes can be seen in the first post!

    Not yet, but I prepared for that feature already by using a ScrollView for the NPC Dialogue buttons in one of the last updates.

    You should be able to do something like Torchlight already, where that game doesn't use WSAD movement either.
     
  33. tequyla

    tequyla

    Joined:
    Jul 22, 2012
    Posts:
    335
    hello,

    is possible to add more attributes like dexterity / vitality / etc.. ?

    is possible to add bonus ( more strenght, more damage, etc) on each weapon/ stuff ?

    damage can be other than physical like ice, fire etc ?

    +++
     
  34. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Yes, easily. That's why I added the STR and INT attributes, so that people can see how to do it. Just browse through the player script to find the places where attributes are defined and where they are used to calculate health/mana. Then add your own accordingly.

    Same goes for strength bonus on weapons. Take a look at the Player script's damage/defense properties.

    You can also use different damage types like ice and fire. This is done in the Player / Entity DealDamageAt function.
     
  35. daddyjordan22

    daddyjordan22

    Joined:
    Feb 12, 2014
    Posts:
    5
    I'd be interested to see/read the graphical potential of this, or where you expect it to be down the road. Possibly any games you could reference to? How compatible would third party assets be with this, or is the goal to largely use this system and build the rest of (our) games from scratch? Would someone be able to make assets tailored for this? From what I've read here the last j saw was the system could handle around 1,000 mobs. Is that changed? Do you have any idea what users could expect now for CCU's?

    I really like what you've done here and goal, and I might be shooting to far ahead for you with some/all of my questions. I'm definitely into the KISS mentality!
     
  36. cioa00

    cioa00

    Joined:
    May 31, 2016
    Posts:
    203
    As author posted earlier, its quite easy to add additional attributes. For example when you would like to add critical damage bonus attribute for item, then
    1) Scripts -> Item.cs (add before GameObject model definition):
    Code (CSharp):
    1.     public int equipCriticalDamageBonus
    2.     {
    3.         get { return ItemTemplate.dict[name].equipCriticalDamageBonus; }
    4.     }
    2) open Scripts -> Player.css and add follow code under Damage code block, for example after receiving buffBonus value):

    Code (CSharp):
    1. // critical  bonus
    2. var cdBonus = (from item in equipment
    3.                           where item.valid
    4.                           select item.equipCriticalDamageBonus).Sum();
    5.  
    6. // also dont forget add that cdBonus value to returned value (multiply or use additional magic)
    7.  
    3) open Scripts -> ItemTemplate.css and add declaration (for example after equipDefenseBonus)
    Code (CSharp):
    1.  
    2. public int equipCriticalDamageBonus;
    3.  
    4. // also add this line to show info about that new attribute on tooltip when you hover over your item
    5. if (equipCriticalDamageBonus > 0) tip += "+ " + equipCriticalDamageBonus + " Critical Damage Bonus\n";
    And now you can just go on add critical damage bonus value for your weapon (item values can be changed when you open scriptableobject item in inspector window).

    Hopefully i haven't forgot anything. So, hopefully that helps out someone to figured out how things are working
     
    mischa2k likes this.
  37. daddyjordan22

    daddyjordan22

    Joined:
    Feb 12, 2014
    Posts:
    5
    Yeah I read that part, which is great, but I was thinking more in terms of models and world environment objects and such 3D elements, or animations and effects, ect.
     
  38. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    He was refering to the other question with the attributes. The answer to your question:

    You can do anything that you want when it comes to graphics. 2D, 3D, simple like Minecraft or more stunning like Skyrim, whatever you like. The difficult part of an MMORPG aren't the graphics. They are expensive and take a lot of work, but the real challenge is the networking code, this is what uMMORPG tries to solve. uMMORPG is about carefully crafting and testing the MMORPG core features to perfection. I might add a better environment later, but that's really not that important yet - no one ever requested it either.

    I tested 1000 monsters on a really cheap VPS server. So you can very likely handle more on a really good server that costs more. The CCU number isn't that important yet, because we are still waiting for UNET Phase 3 (the simulation server). This will allow us to split the game world into different servers, hence huge game worlds with huge amounts of players should be possible. There is a video on Unity's youtube channel where Erik talks about that.
    What I am trying to say is: even if your project can only handle a few hundred players right now, I wouldn't worry about it because the simulation server will take care of it eventually.

    Note: I do have an idea how to split the player load between multiple servers. I will consider implementing it if UNET Phase 3 takes too long. But right now it's more important to get all the UNET bugs fixed, do a lot of testing and make sure that one server runs perfectly stable at first.
     
    Last edited: Jun 1, 2016
  39. daddyjordan22

    daddyjordan22

    Joined:
    Feb 12, 2014
    Posts:
    5
    Thanks for the reply vis2k. Yes I was mostly interested in the potential and goals you had in mind so that I knew where this project was aiming to arrive at. The graphical end isn't the main focus and shouldn't be now I agree, I just needed to know what parameters or limitations this project would be having ultimately. I definitely like what you've done and plan to do and more importantly how you are going about it.

    Thanks again and keep up the good work!
     
    mischa2k likes this.
  40. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    165
    @vis2k

    Just wanted to share my excitement LOL, with the release of 5.3.5 i added the following to Player.cs:
    Code (csharp):
    1.  
    2.     public override void OnStartClient() {
    3.         equipment.Callback = OnEquipmentChanged;
    4.         base.OnStartClient();
    5.     }
    6.  
    and it works nicely! i can finally get my skinned items working, not to mention gained a few extra cycles since we are no longer deleting/redrawing the attached items!
     
  41. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Very exciting yes. It's much cleaner and efficient!
     
    Last edited: Jun 2, 2016
  42. IndieScapeGames

    IndieScapeGames

    Joined:
    Jul 3, 2012
    Posts:
    80
    Is it possible to get a video of the ranged combat? I am tempted to buy this but my idea incorporates ranged instead of melee combat.
     
  43. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Did you try the WebGL demo? The Archer does ranged combat.
     
  44. cioa00

    cioa00

    Joined:
    May 31, 2016
    Posts:
    203
    Is there way to detect if chat input is active? Or maybe i haven't noticed that there is already an function for that. I was able to add keydown event listeners for various places to simplify some interactions like taking loot, opening/closing various windows and accepting/completing npc quest. But seems i can't figured out at the moment how to detect if chatbox is active.

    I`ve noticed that there is Utils.AnyKeyDown(chatActivationKeys) which check if enter key has been pressed. Not sure if i should use this or something else.
     
    Last edited: Jun 2, 2016
  45. joncrzo

    joncrzo

    Joined:
    Sep 26, 2015
    Posts:
    30
    Would you mind if I set up a demo version on my vps for people to test it?

    I would actually disable the Server & Play and Dedicated Server buttons and accounts would be wiped every 12 hours automatically.

    Other than that, there wouldn't be any modifications to the project.
     
  46. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    http://docs.unity3d.com/ScriptReference/UI.InputField.html there are a few Selection handling functions here. Perhaps it helps to find a way to detect if it is selected, or modify your code so that you can use one of those functions instead.

    The UIRefresh.cs Script has a UpdateChat function where the chat is selected and where the onEndEdit event is hooked. This might help you too.

    I appreciate that you want to help. People have requested that before. The current WebGL demo is the best solution right now, because everyone who wants to test it can test it, no matter what.

    Running an extra server means: paying bills, ddos protection, security, creating a websocket build and uploading it to the server, starting & stopping the server, online checks etc. All of those things take time and can fail. It would suck for people to see uMMORPG on the asset store and then get a 'server is offline, sorry but you can't test it right now' message.
     
    Last edited: Jun 3, 2016
  47. joncrzo

    joncrzo

    Joined:
    Sep 26, 2015
    Posts:
    30
    Alright, completely understand :)

    Another thing I have noticed, is when the skeletons are killed and you loot them. The body lays there for a few seconds and I can still open the loot window, any way to prevent the loot window from opening when it is empty?

    Also when the body of the skeleton disappears, the name stays visible until it respawns the new skeleton. It is kind of weird. No body, but the name stays visible.

    Untitled.png
     
    Last edited: Jun 3, 2016
  48. nixter

    nixter

    Joined:
    Mar 17, 2012
    Posts:
    320
    I ended up buying uMMORPG despite my hesitance to without a multiplayer demo. I've only tried the multiplayer locally on a single computer but the animations sync fine. Trading works and to me that was the most important feature so I'm happy with my purchase.

    One issue I have right now is that PvP is too easy to initiate when trying to trade. For me it shouldn't be a problem since I'm probably going to remove PvP, but you may want to have a PvP pop-up "Are you sure you want to attack <PC>?" or an icon to initiate PvP.

    This is a great framework. Now that I'm onboard, I'm excited to experiment with it. :)
     
  49. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Glad to hear that you like it. I remember seeing your name on the first page already.

    About PvP: that's true, depending on what kind of game/feel you are going for. Only attacking someone while pressing the Alt or Ctrl key could be interesting too.
    I was very confused about that too the other day. The name stays because you are in 'Play and Host' mode where you are the server too. Which means that hidden GameObjects are still in the Hierarchy, hence the UI is still shown. In other words: only the server sees that, but the clients don't, because hidden NetworkIdentities are simply not existent on the client. So that should be fine. As a matter of fact, that might even be somewhat useful for the server admin to see etc.

    About the loot window: good point. I'll put that on my ToDo list!
     
  50. cioa00

    cioa00

    Joined:
    May 31, 2016
    Posts:
    203
    Thank you very much for giving right direction. Somehow i didnt't realize i should check also unity own docs :p
    For those who might use keyboard keys for various action and not using them when chatbox is active, then you can use http://docs.unity3d.com/ScriptReference/UI.InputField-isFocused.html

    For example on UIrefresh.cs file you could open character inventory by pressing key I
    Code (CSharp):
    1. // find  void UpdateShortcuts(Player player)  and insert there additional row
    2.  
    3. // open player inventory by pressing key I
    4.         if (!chatInput.isFocused && Input.GetKeyDown(KeyCode.I)) { invPanel.SetActive(!invPanel.activeSelf); }