Search Unity

uMMORPG Official Thread

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

  1. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Sounds like you called the RPC from within a client. Make sure that you have some kind of 'if isServer' or '[Server] check in the function that calls the RPC.
     
  2. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    165
    Thank you so much!! That did the trick, thanks to you I now have a 90% working skinnedmesh gear system.

    -J
     
  3. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    ya no worried about getting them to work myself, since many assets that seems to happen.

    Far XML, for miltiplayer, so how are u handling inventory items etc..
     
  4. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    With UNET's SyncListStruct. This works really good, because it's synchronized to clients automatically.
     
  5. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    oh ok, good to know. That part is not my field, something I been getting into. I'm more of a front end. But learning the rest. So good to know. Thinking about giving this asset a try to see how well it might work, not really making a MMO right now, we are making other games our company. But I have loved MMORPG.com since UO , Asheron Call 1. I have worked on a few as well.
     
  6. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Weekend Progress Info: I reported a WebGL bug that caused camera zooming to be 50x more sensitive than in standalone builds. I implemented a workaround that will be in V1.19 and updated the WebGL demo already.
     
    Cyance likes this.
  7. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    165
    Thats great news!

    Are you looking into allowing players to group or is that further down the road?

    Thanks,
    -J
     
  8. hufsa

    hufsa

    Joined:
    May 2, 2016
    Posts:
    2
    Hey! I've been following this thread for quite some time now and I just wanted to say good job. The project is very clean and understandable, even for someone like me who has a system developer background but haven't spent much time in Unity.

    I'm very excited to see WSAD Movement, and it's been in the "soon" section for a time now. Any news about this?

    Thanks,
    -Huf
     
  9. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    I haven't considered this yet. There are more important features on the roadmap still.

    Thanks. I am still waiting for UNET's new network controller before starting WSAD movement: http://forum.unity3d.com/threads/state-of-unet.386521/#post-2516024
     
    Last edited: May 2, 2016
  10. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Do you consider to add mounts and pets?
     
  11. nixter

    nixter

    Joined:
    Mar 17, 2012
    Posts:
    320
    Glad to see you are still making progress on this kit and have a commitment of support for your customers.

    I've been in the mood to work on something multiplayer so I checked your demo to see how far you've come. I like the uGUI and missile combat. Unfortunately, I'm still not inclined to purchase a multiplayer kit I can only test in single player. I can't even try out the trading feature, which for me is the big selling point. I hope you can find a way to make your kit work properly in WebGL.

    Also, there seems to be a bug in the latest demo. If I create two characters, it always selects the first one.
     
  12. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    I will need it for my own MMORPG sooner or later, so someday yes.

    It does work properly in WebGL. What you see in the demo is UNET's Host mode (aka Server & Play). The character 'Alice' is hardcoded in the demo, you can't create another one there.

    There's no doubt that a dedicated server would be nice for people who want to test it.
    I want to focus 100% of my attention on the code though. Worrying about SSH, security, DDOS protection, server bills, file transfers and log files will just get into the way.
     
    Last edited: May 2, 2016
    Cyance likes this.
  13. nixter

    nixter

    Joined:
    Mar 17, 2012
    Posts:
    320
    Has anyone in this thread produced a working game? If so, I could test that.
     
  14. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    not yet. I wait for WASD controls
     
  15. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    165
    @vis2k,

    not sure if you have submitted 1.19, would you be able to squeeze the following?

    Code (csharp):
    1.  
    2.         if (netIdentity.observers == null || netIdentity.observers.Count > 0)
    3.             SendMessage("Update" + state, SendMessageOptions.RequireReceiver);
    4.         else if (state == "DEAD") SendMessage("Update" + state, SendMessageOptions.RequireReceiver);
    5.  
    added the "else if" otherwise when a player kills a monster and logs out or runs out of view the monster remains dead and doesnt respawn.

    -J
     
  16. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    165
    @vis2k

    Question regarding SyncVar it did not take long before i ran into the 32 limit, mainly due to Attributes i.e. Str, Intel, End etc...

    Would you know a better way i.e. perhaps SyncListStruct so we can store all our attributes in a single place yet still be able to perform all the neat LINQ buffs etc ... that way all attributes count towards a single SyncVar vice individuals?

    I hope im making sense LOL

    Thanks,
    -J
     
  17. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Good point. I am not 100% sure if we need to update dead monsters, there might be an easier way. I have this on my ToDo list now and will look into it. Until then, your way works too.

    Did you search the UNET forums? Perhaps there is a way to increase that value. Otherwise adding more values to another placeholder component might work - which is not very elegant though.
     
  18. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    V1.19 was submitted for review. Changes can be seen in the first post!
     
    Cyance likes this.
  19. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    165
    Thank you!
     
    mischa2k likes this.
  20. xBeNjO

    xBeNjO

    Joined:
    Feb 6, 2014
    Posts:
    40
    Just bought this as really wanted a good clean base to work from, One question that I have not seen answered is how do you run the server on a windows dedicated? I compiled for windows and ran it and clicked dedicated, I can connect from my pc fine but the lag is unreal. Not sure exactly how to make the server work correctly with a windows server as the help files say build for Linux (which I can't run on my windows server). Takes around 2-3 seconds to start moving once I click to move.


    I would also like to suggest updating your demo as I was really put off with logging in via admin, then testing alice, then deleting her to make a warrior and im still Alice with a bow.
     
  21. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Hey,
    Unity can't build a headless mode for Windows. So your build would come with 3D graphics, etc. My guess is that your server has no good graphics card, hence the rendering slows everything down to 1 FPS or so, causing a big delay when processing packets.
    You could try to use the fastest mode in quality settings, or ask Unity to support a Windows headless mode, or use a Linux server, or use a Windows server with a fast GPU.

    About the WebGL demo: you can't create or delete characters there, because usually you can't run a server in WebGL due to how WebGL and UNET work. It's just a little workaround so that people can try the demo easily, with the character being hardcoded. The alternative is to host a dedicated server and let the WebGL demo connect to it. But as I mentioned before, that comes with a lot of maintenance and it's much smarter for me to spend my time on the code instead.
     
  22. xBeNjO

    xBeNjO

    Joined:
    Feb 6, 2014
    Posts:
    40
    A dedicated server does not run a graphics card, It runs purely from cpu/ram so such a shame my server can't handle the game server. I did try lowering the quality and did not really help. I'll have to try come up with something.

    How about having -batchmode or something, or maybe clicking dedicated toggles the camera off etc?
     
    Last edited: May 12, 2016
  23. jjobby

    jjobby

    Joined:
    Nov 28, 2009
    Posts:
    161
    Hello vis2k

    In the document you said that "Right now we can't use UNET to connect from one UNET server to another UNET server, which makes transferring players impossible without some really weird workarounds" I need to make player teleport to another scene/map. I don't know when Unity will update their network so can you tell me what's weird workarounds you've mentioned in your document?
     
  24. xBeNjO

    xBeNjO

    Joined:
    Feb 6, 2014
    Posts:
    40
    How does one use a linux build to run the server? The guide only shows how to do it via a command type screen. How do I run the build using a remote connection? When i double click to open it it says the message about searching for a program to run it. Never used Linux or Ubuntu before and not sure how to use it.
     
  25. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    The easiest solution is to use Linux. For example, Ubuntu or Linux Mint are very user friendly, you shouldn't have much trouble configuring them when coming from Windows (especially Linux Mint). Headless mode is the way to go for dedicated servers, we shouldn't waste any resources on graphics at all.

    You are almost there. Open a terminal, browse to the folder via 'cd /my/folder/', then enter './game.x86_64' in the terminal, done. Some file explorers also have a right click 'open terminal here' option, which makes it even easier. Or you create a 'run.sh' file and put './game.x86_64' into it, then double click the run.sh file.

    You could open a tcp connection to another server and then send around the player data and reconstruct it on the other server. This will be a nightmare to deal with, I don't recommend it. I also have this other idea that I am playing with, which would make it much easier, almost trivial. I am hesitant to invest too much time on it though, because UNET's simulation server will solve that problem eventually.
    My suggestion is: work on all the other features and then do that part in the end.
     
  26. xBeNjO

    xBeNjO

    Joined:
    Feb 6, 2014
    Posts:
    40
    Thanks, that helped alot! Just need to figure out how to connect to a VM on my dedicated, It has internet just cant seem to connect to it via client.

    how does one implement this to work correctly?

    http://noobtuts.com/unity/detect-headless-mode


    edit:

    it looks like its already in the scripts detecting it, just trying to figure stuff out
     
    Last edited: May 12, 2016
  27. mischa2k

    mischa2k

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

    You are right, it's already implemented!
     
  28. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    I looked into this, as promised. The next version will use deathTimeEnd and respawnTimeEnd instead of 'timeElapsed' and 'Invoke'. What this means is that a dead monster will immediately respawn if it's updated again after not having been updated a long time. It also makes the code cleaner, because we don't have to increase a 'deathTimeElapsed' variable anymore.
     
    pushingpandas likes this.
  29. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    165
    thats great news, thank you!
     
  30. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Will the development of this asset now slow down since you are release soon your new DOTA-like asset?
     
  31. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    how to add sounds to the skills?! When I click heal I want to hear something...
     
  32. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    How to make a registration service for the game? Can you please create a php example?!
     
  33. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Server Question. I got the server running on my linux ubuntu server. I can connect via Unity Editor and osx complied app. But when I try a WEB GL it cant connect. Saying DISCONNECTED. Do I need to change something? What is the websocket on the network settings? Its currently off. Do I need to enable it for web gl? On client and server?
     
  34. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    I have some issues. The skillbar does not save and i cant level higher than level 3.
     
  35. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    A majority of the bug fixes since V1.15 were only possible because I found issues when using the code in the new project. For example, that new distance calculation based on bounding boxes was really important, yet I would have never noticed that without uMOBA (where buildings have a really huge bounding box). It uses about 80% the same code, which means more testers, more bug reports (if any), higher quality, etc.

    For anyone curious, this is the new project: http://forum.unity3d.com/threads/umoba-create-your-own-dota-league-of-legends-game.404593/

    Sounds aren't implemented yet, but you can learn about them here: https://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/sound-effects-scripting

    The NetworkManager's IsValidLogin function has a long comment for that.

    You have to enable 'use Websockets' in the NetworkManager in order to work with WebGL.

    Perhaps your maximum level is level 3. Check the player prefab.

    Does the skillbar save properly in a build?
     
  36. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    oh man I feel stupid now. Yes, prefab only max 3 level :D

    Thanks!
     
  37. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Could the QUIT button jump back to character selection instead of shuttingdown the app? Will you add OPTIONS to it later? Like setting Shortkeys for skillbar etc?will you add ingame mailsystem?
     
  38. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Could you add a shortcut to enable/disable the minimap? Thank you
     
  39. mischa2k

    mischa2k

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

    I didn't plan any of those features yet. Will see if many people request it.

    You should be able to do that fairly easily. Just requires a simple key check and setting the UI to active/inactive.
     
    Cyance likes this.
  40. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    when comes the next feature update?
     
  41. xBeNjO

    xBeNjO

    Joined:
    Feb 6, 2014
    Posts:
    40
    How do we add projectiles? Trying to add effects to the skills but when I add them to the projectiles folder, it still says 'None' when clicking on the spell then Projectile field. Nor can i drag & drop my prefabs into the field. Anyone know how to do this? I can remove and drag & drop the default Arrow onto the slot but none of my spells I bought.
     
    Last edited: May 20, 2016
  42. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Very soon, I implemented a Npc dialogue teleport option today.

    Try to drag the Arrow into the Hierarchy, modify it to your needs, rename it and then drag it back into the Project Area to create another prefab. Modifying existing things is the safest way to go.
     
    xBeNjO and pushingpandas like this.
  43. xBeNjO

    xBeNjO

    Joined:
    Feb 6, 2014
    Posts:
    40
    Awesome that worked, Is there a reason why the default arrow shoots downwards into the feet of the NPC? Not sure how to adjust it to shoot at the body area rather than at the NPC's feet/ground below him.
     
  44. mischa2k

    mischa2k

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

    That's a temporary issue, related to the NetworkProximityChecker WebGL bug that I added to the first page. Will be the center again as soon as Unity 5.3.5 is released, which should be very soon.
     
    xBeNjO likes this.
  45. Mike237548

    Mike237548

    Joined:
    Mar 23, 2013
    Posts:
    5
    Hi, great asset! I am wondering if anyone could help me increase the size of the gui for mobile.

    thank you!
    ~Michael
     
  46. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Good news: uMMORPG is part of the Asset Store Madness Sale! Grab it now for a reduced price.

    Thanks!
    You can select the Canvas in the Hierarchy and then configure the CanvasScaler component to make it bigger.
     
    Last edited: May 23, 2016
  47. dbordzo

    dbordzo

    Joined:
    Aug 14, 2015
    Posts:
    34
    Hello, of course this asset is great, and you made great work.

    But I wanna ask you, because I saw that you added this :
    Soon:
    • Area of Effect Skills

    And It would be really nice to have area of effect skills. But could you please tell us when you think you will add this? : )
    Have a nice day : )
     
    Cyance likes this.
  48. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Thanks! The feature requires a Unity bug fix (#786499). It's supposed to be fixed in Unity 5.3.5. I have the main logic for AoE skills already planned out, so it should go quickly as soon as the bug is fixed.
    I can go more into detail if anyone is interested.
     
  49. twick

    twick

    Joined:
    Nov 16, 2011
    Posts:
    31
    Hello, first of all. Quality asset. I wanted to dip into multiplayer gaming and this is a fantastic example.

    Just one little issue is not obvious to me. I disabled the Floor prototype prefab and instead just want to use terrain so its easier to add some terrain details. However, the click to move feature doesn't work on terrain and its not obvious what the reason for that is. Clues?
     
  50. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Thanks.
    It uses Unity's Navigation system. So you have to select Window->Navigation from the top menu, then click the Bake button to bake the Navmesh. Also make sure that your Terrain has the static checkbox enabled in the Inspector before baking.
    You should then see a blue navmesh in the scene (like the picture in the first post here), which is the walkable area.