Search Unity

uMMORPG Official Thread

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

  1. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Update: V1.10 is now in the Asset Store. Changes can be seen in the first post.

    Oh, you kept the UI but simply showed the character in the background. That is nice, I like that. Gives it a nice feel. I might add something similar to one of the next versions.
     
    Last edited: Mar 5, 2016
    Cyance likes this.
  2. Cyance

    Cyance

    Joined:
    Jan 4, 2015
    Posts:
    50
    Hi Vis2k maybe another uNet bug.
    using the ummorpg v1.10 clean install project and added my IP number (for the test game server). Building it for Linux and upload it to the server.

    Will get the following error:
    UNet Client Disconnect Error: CRCMismatch
    UnityEngine.Networking.NetworkIdentity:UNetStaticUpdate()

    If iam using Server & Play it looks all fine it is just Login on the game server. Had some difficulties also on 1.9 with my own project but the ummorpg was ok. Couldn't connect to the server.

    Any ideas on this?

    thanks

    Dont know if you need the Player.log

    Initialize engine version: 5.3.3f1 (910d71450a97)
    Forcing GfxDevice: Null
    NullGfxDevice:
    Version: NULL 1.0 [1.0]
    Renderer: Null Device
    Vendor: Unity Technologies
    AudioManager: Using Unknown: NoSound Driver
    Begin MonoManager ReloadAssembly
    Platform assembly: /root/server018_Data/Managed/UnityEngine.dll (this message is harmless)
    Loading /root/server018_Data/Managed/UnityEngine.dll into Unity Child Domain
    Platform assembly: /root/server018_Data/Managed/Assembly-CSharp-firstpass.dll (this message is harmless)
    Loading /root/server018_Data/Managed/Assembly-CSharp-firstpass.dll into Unity Child Domain
    Platform assembly: /root/server018_Data/Managed/Assembly-CSharp.dll (this message is harmless)
    Loading /root/server018_Data/Managed/Assembly-CSharp.dll into Unity Child Domain
    Platform assembly: /root/server018_Data/Managed/UnityEngine.UI.dll (this message is harmless)
    Loading /root/server018_Data/Managed/UnityEngine.UI.dll into Unity Child Domain
    Platform assembly: /root/server018_Data/Managed/UnityEngine.Networking.dll (this message is harmless)
    Loading /root/server018_Data/Managed/UnityEngine.Networking.dll into Unity Child Domain
    - Completed reload, in 0.056 seconds
    Platform assembly: /root/server018_Data/Managed/System.Core.dll (this message is harmless)
    Platform assembly: /root/server018_Data/Managed/System.dll (this message is harmless)
    UnloadTime: 1.061000 ms
    headless mode detected, starting dedicated server

    (Filename: /home/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Socket: bind failed, error: Only one usage of each socket address (protocol/network address/port) is normally permitted.
    Cannot open socket on ip {*} and port {7777}; check please your network, most probably port has been already occupied

    (Filename: Line: 488)

    StartServer listen failed.

    (Filename: /home/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)
     
    Last edited: Mar 5, 2016
  3. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    CRC mismatch means that you don't use the exact same project for the server and the client. Your log also says that a port is already occupied, so it sounds like there is some old server or client still running somewhere.
     
  4. Cyance

    Cyance

    Joined:
    Jan 4, 2015
    Posts:
    50
    Will reboot the server, thanks
     
  5. Cyance

    Cyance

    Joined:
    Jan 4, 2015
    Posts:
    50
    Hi vis2k ok i got a procedure now how for uploading and running the game on the server.
    Sofar it looks almost ok, except the arrow doesn't spawn.
    Works all fine in server & play, but not if i connect to the server.

    If you would like to test it on my game server let me know i can give you the IP and login.
     
  6. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Does it work on your local computer if you run the server in the editor and the client in a build?
     
  7. Cyance

    Cyance

    Joined:
    Jan 4, 2015
    Posts:
    50
    changed it back to localhost and editor in dedicated server, client in a build and animation shooting Arrow stuck so no Arrow spawning. If i select server & play for editor and client in a build it works fine.
     
  8. Disastorm

    Disastorm

    Joined:
    Jun 16, 2013
    Posts:
    69
    That is true but actually its because i just threw it together lol. I think it actually would look better without the ui.
     
  9. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Progress Info: V1.11 was submitted to the Asset Store, changes can be seen in the first post.
    It's another maintenance release that contains fixes to the bugs that were discussed during the last few days. Unity's development console only works in development builds, so there is a problem where player's would never actually see errors in real builds, unless they browse through the log files (which no one ever does). This is why I added a very simple console that shows errors and exceptions in all builds:
    2016-03-07_consolegui.png
    Now we have all error logging in one place, instead of throwing it into the Chat or showing popup messages.

    I also added the FAQ 'Why can't an Archer use a Sword etc. or a Warrior use a Bow? And why can't classes learn skills from other classes too?' to the first post, it might be interesting for some of you. I actually considered implementing this logic for V1.11, but the whole thing is so ridiculously complex that I just can't see much value in it.
     
    Last edited: Mar 7, 2016
    Cyance likes this.
  10. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    164
    Sorry for the bother, im still sifting thru ummorpg (great product btw!), im relatively new to UNET and how server/client is shared from a single scene, any change you (or anyone else for that matter) could provide an example of a "buff" ability, im having a tough time wrapping my head around the timers without "feeling" like im unable to have the server side track it instead of being client side, which i dont want. Hope im making sense.

    Thanks,
    -J
     
  11. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Progress Info: working on the patcher today, the core features are done. I still have to test it on Windows & Mac and then figure out the best way to make it available for others.

    Thanks!
    Buffs are on the Roadmap already (see first post), which means that I will implement them sooner or later. So you could either wait for that uMMORPG update and focus on your other features first, or you could try it yourself.

    I didn't plan it out completely yet, but I'll probably use a 'buff' category for the SkillTemplate in the ScriptableObjects folder. I will probably use some kind of 'BuffEnd' time in the Skill class and then set that time when casting a buff. I will also add some kind of UI indicator that shows the currently active buffs. And then I will add some kind of 'buffHpIncrease' etc. flag to those skills, and calculate them into the Player's Health, Mana, Damage, Defense etc.

    I can't give you an exact date yet, but Buffs are one of the features that I am most interested in right now, along with the game patcher.

    Greetings
     
    Cyance likes this.
  12. cevkiv

    cevkiv

    Joined:
    Mar 9, 2016
    Posts:
    3
    I apologize if this has been addressed elsewhere and I just didn't see it.

    I am very interested in using this, as, even if I simply use it to see "how it's done" and write my own custom implementation, it's a godsend in what it offers all in one package. I'm currently trying to decide on the specific look I want, and I'm torn between something realistic, and something that would use the aesthetic of CubeWorld/Trove -- colored blocks in a voxel terrain. This is a rather broad question, but how much would work it be to replace the current... terrain engine with another one, such as the Uniblocks one?

    Another question is exactly how the game/server handles extremely large worlds. Does it load specific chunks of the world based on where players are, or does it have to keep the entire world loaded at once? If it does keep the entire thing loaded, roughly how large of a world is supported?

    And while I feel somewhat stupid with this final bit, since you are quite obviously a much better programmer than I am, when I was younger I wrote a simple MUD, with basic functionality. The way I handled buffs, and you well could have a better idea, was there was a linked list of 'status effects' attached to the character. Spells/effects could add things to the list, or overwrite them with 'fresh' copies. The status effect objects themselves contained a list of modifiers, and a duration integer. So if you cast a buff on yourself that increased your maximum HP, you would add an entry to the status effect list that would say something like "hpbuffnamegoeshere" that contained its own list with the entries "HP+15" and "duration 100 units".

    When there was a change in character state worthy of updating statistics, such as application of a buff, wearing of of a buff, or unequipping or equipping armor or weapons, the status effect list is gone through, and checked for relevant entries. And then every x seconds, whatever the tick length is, the duration would get decremented, and if 0, the buff would be removed. This is actually how I handled everything stat related. Armor did not have fixed statistics, it was simply an object holding a list of statistics, weapons similarly, containing damage, etc. It also allowed buffs such as "on melee attack execute x action" and "on getting hit do x" to be done by simply going through the list at the appropriate step in the damage/attack calculations to search for buffs that contained a "on-hit"/"on-attack" attribute. It's probably an inefficient and possibly stupid solution (I last worked on that MUD a decade ago when I was first learning C), and you may well already have a better idea, but I thought I'd mention it.
     
  13. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Hey,
    it doesn't use any terrain engine right now, the floor is just a simple Plane object. You could use Unity's terrain engine or any other though, as long as a navmesh can be baked on it.

    The game server loads the whole world right now. That's not a big deal if you run it in headless mode - right now it only needs about 200mb RAM. If you have 16 or 32 or more GB of RAM, then you should be able to throw a huge world at it.
    Note that UNET Phase 2 and 3 will probably allow us to split the world in-between multiple servers.

    About the buffs: that is one option. I will probably just use the one skill list that we already have and add a 'buffTimeEnds' to it, which is better for UNET and for performance. Using a 'timeRemaining' timer that is decreased all the time would require an additional Update call. Don't worry, buffs will come soon and they will be awesome :)
     
    Cyance likes this.
  14. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Update: V1.11 is now on the Asset Store!
    The patcher is coming really close to a stable first version. I could use some testers for Linux, Mac and Windows. If anyone is interested, please send me a private message and I will send you a test version during the next few days.

    Note: if anyone is interested in UNET and the issues that affect this project, read this: http://forum.unity3d.com/threads/official-multiplayer-improvements.390823/#post-2547463
     
    Last edited: Mar 10, 2016
    Cyance likes this.
  15. Tahlan

    Tahlan

    Joined:
    Feb 2, 2016
    Posts:
    10
    I know you're working on the patcher, but I am sure I am not the only one that is anxious to know what you are planning for 1.12?
     
  16. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Hey,
    I want to wait a few days and see if any bugs will be reported. So far everything is fine and my ToDo list is completely out of bugs - which is a great feature itself.

    As for features, I will probably add buffs next.
     
  17. Azthetik

    Azthetik

    Joined:
    Mar 20, 2013
    Posts:
    16
    How far out do you think PvP is?
     
    Nateply likes this.
  18. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    164
    @vis2k

    Regarding UMA2 am i correct in that NetworkManagerMMO Class is where i need to make all necessary changes in order to support UMA2 for character creation? Im still sifting through all the code and trying to acquaint myself with client/server.

    Thanks,
    -J
     
  19. Rowell

    Rowell

    Joined:
    Sep 22, 2014
    Posts:
    26
    You can probably do PVP right now, with some minor tweaks to the code. When using an Attack skill, there's a check in the code to see if the target is a Monster before using the skill. Just add Player type to that check (or Warrior and Archer).
     
    Cyance likes this.
  20. xlar54

    xlar54

    Joined:
    Mar 12, 2016
    Posts:
    1
    I love this project. But I wonder if its sustainable for one person. While you certainly deserve financial credit for your work, have you considered open sourcing it? Having a crowd developed MMORPG core might help it evolve quicker.
     
  21. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    I am not working on it yet. If you quickly need it then you can modify the Player's TrycastSkill and UpdateCasting functions and simply remove the 'if target is Monster' checks, then you can also attack players. But real PvP is more than that, it needs some kind of punishment for killing players etc.

    NetworkManagerMMO and NetworkManagerMMOUI. uMMORPG includes 2 different classes, so adding a third one would be as easy as dragging another prefab into the NetworkManager's spawnableObjects list. Customizations like height and eyecolor etc. are more complicated. I never used UMA2, but I guess you could send those height, eyecolor etc. parameters to the server and then the server creates+saves the character data including those parameters.
    Thanks, good question. Being sustainable for one person is the whole point of uMMORPG. This is why I am so eager to keep the code short and simple. I don't want a project that needs a team of developers to maintain it. Then we might as well buy the source code of an existing MMO and hire 20 people.

    As for open source: I think the current situation is perfect. People that purchase the package get the full source code without hiding anything in DLLs, and it makes some money to invest into it (3D models are incredibly expensive, artists won't work for free either, sounds will also be needed some day, I have to pay the pizza guy, etc.).
     
    Last edited: Mar 13, 2016
    Cyance likes this.
  22. Azthetik

    Azthetik

    Joined:
    Mar 20, 2013
    Posts:
    16
    Thanks for the hints! You're awesome guys!
     
  23. VValdus

    VValdus

    Joined:
    Mar 15, 2016
    Posts:
    6
    Hi!
    I am trying to add a function "walk => Run"
    Do you have an idea?
    Thank you very much.

    (Sorry for my bad English, I'm French.)
     
  24. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Progress Info: still working on the patcher. Some fine tuning and more testing...
    Can you go more into detail? Do you need it for the player or for the monster or..?
     
  25. VValdus

    VValdus

    Joined:
    Mar 15, 2016
    Posts:
    6
    I'm Sorry.
    For the player please :)



    The player Walk, but, I would like the player run with press Key button. (Shift, space
    Or anything).


    Is it possible in your script ? Do you have a idea to give me?

    Thank you
     
    Last edited: Mar 16, 2016
  26. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    There are a lot of options. There was a Unity Mecanim demo a while ago that had click movement with walk+run. They simply used the NavMeshAgent's properties (speed, acceleration etc.) and then had a WALK and RUN state in the animator. The animator would automatically switch between those states, e.g. 'if speed > 1 then walk', 'if speed > 1.5' then run. This looked really good actually.
     
  27. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    164
    One of the biggest reason i really like this project is how well organized and clean the author made things, with that being said you could easily add something like this:
    Code (csharp):
    1.  
    2. if (Input.GetKeyDown(KeyCode.LeftShift)) { agent.speed <...handle speed here...> }
    3.  
    im not sitting in front of the project however you could place that in the move update if i remember correctly.

    -J
     
  28. VValdus

    VValdus

    Joined:
    Mar 15, 2016
    Posts:
    6
    Thanks for your help vis2k/jagatai33
    I see!

    I love uMMORPG, very, very, very great job!! :D
     
  29. Rowell

    Rowell

    Joined:
    Sep 22, 2014
    Posts:
    26
    I have to admit, I was skeptical that it could all work with under 4000 lines of code.
    After delving in a little, I have to say, good job. Elegant in its simplicity.
     
  30. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Progress Info: trying to build the patcher for OSX now..
    Thanks!

    Thanks, that's exactly what I was going for!
     
  31. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    164
    Not sure if this is a bug (havent been able to troubleshoot). If you setup a dedicated server and build a client the archer class generates the following error:
    Code (csharp):
    1.  
    2. NullReferenceException: Object reference not set to an instance of an object
    3. Player.UpdateCASTING () (at Assets/uMMORPG/Scripts/Player.cs:379)
    4. UnityEngine.Component:SendMessage(String, SendMessageOptions)
    5. Entity:Update() (at Assets/uMMORPG/Scripts/Entity.cs:119)
    6.  
    is the (Server) unable to find the "ProjectileMount" on the bow?

    ummorpg v1.11

    -J
     
  32. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    164
    @vis2k
    Looks like this wont go inside "Armature" where "ProjectileMount" is located, i just realized that function being called is only sifting through the actual Archer prefab and not the white bow.
    Code (csharp):
    1.  
    2.     // transform.Find only finds direct children, no grandchildren etc.
    3.     public static Transform FindRecursively(this Transform transform, string name) {
    4.         foreach (var t in transform.GetComponentsInChildren<Transform>(true))
    5.         {
    6.             Debug.LogWarning(t.name);
    7.             if (t.name == name)
    8.                 return t;
    9.         }
    10.         return null;
    11.     }
    12.  
    After more testing, the above is only sifting through the Archer and not the bow prefab, this is only happening when running dedicated server with clients, doesnt happen with Server&Play.

    ** Just FYI for anyone simply replace the var pos with var pos = agent.transform.postion. its an ugly hack but works LOL.
     
    Last edited: Mar 16, 2016
  33. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Thanks for letting me know. There was a bug in my workaround for this bug: https://issuetracker.unity3d.com/is...-still-has-old-value-inside-callback-function
    I just submitted V1.12 to the Asset Store that fixes the workaround. You can do it manually if you don't want to wait by simply commenting out the
    Code (CSharp):
    1. [ClientCallback]
    attribute above the Player.cs LateUpdate function. This won't be so weird anymore as soon as Unity 5.3.5 is released with a fix for the UNET bug in the first place.
     
  34. Azthetik

    Azthetik

    Joined:
    Mar 20, 2013
    Posts:
    16
    I just realized that one of my shields is floating above my character when equipped. I have no idea how to fix it either ;-;
     
  35. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    164
    @vis2k

    Quick question regarding "EquipmentShoulders" .. how does it work if i have two separate items for Shoulder_L and Shoulder_R? Do i need to create two separate shoulderMount points? _L and _R ?

    Also, how about if my character uses Wrist_L and Wrist_R, do i simply create a Catagory for it and then the proper wrist_LMount and wrist_RMount points? What scripts looks for those components?

    Thanks,
    -J
     
  36. Cyance

    Cyance

    Joined:
    Jan 4, 2015
    Posts:
    50
    Run your game and set on pauze. Go to your character and look for the shield attachment. Left hand somewhere. Go to your scene screen and move your shield to the left hand (you can pause your game also if your character isnt standing still). Copy your position of your shield. Then get out of game mode and past your shield pos. When you run the game now you will see that the shield is attached correctly. Hope you understand what i mean ,try to do my best to explain it :)
     
  37. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Progress Info: still working on the Patcher. Windows+Linux versions work. Tried it on OSX today, it worked too but couldn't be built because of a weird Python bug. Will install Maverics tomorrow and try to build the patcher again. Afterwards back to uMMORPG!

    Your character's hands should have a EquipmentLocation script attached to them. The script has the accepted equipment category, like 'EquipmentShield'. You have to attach it to something that moves along with the animation (usually the hands).

    Good question, I knew this would be needed some day!
    You need two shoulder mount points (see my answer above). Both need the same category (EquipmentShoulder). Then use the Transform component to mirror one of them (scale.x = -1 etc.). Pretty much just basic Unity stuff. I designed uMMORPG so that it automatically equips your 3D item into all the slots with that category, for exactly that reason.

    The Player script looks for those components in the RefreshLocation function.
     
    Last edited: Mar 17, 2016
  38. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    End of the week progress info: I finished the patcher in python already, but it failed to build on all Mac systems because of a 'segmentation fault' bug that occured in a external C library when building it, no matter what I tried.

    I then decided to switch to Clojure. The code is much shorter, more elegant and it works even better now. Clojure also uses the java virtual machine, which means that I can just generate a .jar file and it will work on Linux, Mac and Windows. It also means that I can use Java libraries that have been around for a long time and work really well.

    Now some more testing and then hopefully a release soon. I really want to get that patcher done once and for all, so that we can all use it for our (Unity) games on all platforms.
     
    Cyance likes this.
  39. VValdus

    VValdus

    Joined:
    Mar 15, 2016
    Posts:
    6
    Good job!!
     
    vis2k likes this.
  40. Cascadex

    Cascadex

    Joined:
    Oct 5, 2014
    Posts:
    68
    Hello im interested in your asset..But before buying i would like to know if you could implement the following below...

    How far off is Pvp?Is it possible for you to implement a Resource gathering system such as mining,woodcutting,fishing?All Mmorpg's have some sort of resource gathering i would buy this right now if it had resource gathering/crafting and pvp. Any thought on adding rideable mounts?How hard would it be to switch out the main character and add our own main character/animations.Is there any character customization?Such as Characters skin tone,hair color,height.An finally one last question for now how well does this character controller work with caves/hills/mountains meaning if i click to go up a mountain or hill or click on the floor inside a cave will it allow me to walk there or can it only be a flat surface and for about walking into a cave will the camera follow my character and allow me to see inside the cave or no?

    Thankyou for your time and i look forward to hearing from you..

    How about random hit's say the higher the strength a player has the higher the max damage he or she can do but its random and not always the same amount of damage?An another suggestion for pvp is what about randomly dropped loot the player keeps the 2 items and drops the rest there needs to be a reward/punishment system in tact for pvp
     
    Last edited: Mar 21, 2016
  41. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Hey,
    • Pvp: you can easily modify the player script so that he can also attack other players (I explained that in one of my previous posts). Real Pvp is a bit harder though: you need some kind of punishment for killing other players etc. I am not 100% sure on how I will implement that yet, I also can't give you a date yet.
    • Resource gathering: I just put this on the Roadmap, because many people seem to be interested in it. This is far away though.
    • Rideable mounts: I do need that feature for my own MMO too, so it's very likely that I will add it to uMMORPG sooner or later. Again, no date on that yet.
    • Switching out the character is easy. It's explained in the documentation and I also talked about it in this thread a few times. We do have two different character classes, so you can easily switch one out or add another one.
    • Character customization: not yet. This is really hard to do and would likely require some external package.
    • Movement: it uses Unity's Navigation system, so you can specify a step height etc. Hills are no problem, as long as they are not too steep.
    • Random hits: you can easily add this yourself. The damage formula is really easy to modify, it's just one function.
    Note that I can't give you an exact date on most features on the roadmap, because I am focusing on one at a time. Right now it's the game patcher.

    Hope that helps.
     
  42. Azthetik

    Azthetik

    Joined:
    Mar 20, 2013
    Posts:
    16
    Adding PvP took about 10 minutes, and 2 more to make it look like it was a polished feature for me, and I have almost no experience with C#.
     
  43. Azthetik

    Azthetik

    Joined:
    Mar 20, 2013
    Posts:
    16
    How far out is the patcher? I noticed you said you were working on the linux and MacOS build, but does that mean the windows one is already done?
     
  44. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Windows was done in the Python version before, but I won't release that one because of the Mac bugs and some other issues.

    The new patcher is just one patcher.jar (Java) file. It runs on Linux, Mac and Windows (and Solaris and so on) without any modifications.

    I was able to solve a lot of issues by switching to Clojure+Git instead of Python+SVN and it works perfect so far. I am now working on the configuration part, so that it supports different game download urls and not just mine. Afterwards I might add some custom builds for Linux, Mac, Windows for cases where people don't have Java installed etc. And then I'll send it to the testers again and release V1.0 shortly after.

    Here is a screenshot, it looks rather simple, but it solves some really hard problems in the background:
    2016-03-21(001).png
     

    Attached Files:

    Last edited: Mar 21, 2016
  45. MoMoGames360

    MoMoGames360

    Joined:
    Feb 26, 2014
    Posts:
    7
    Hey, this whole kit looks extremely well done to me so far, the only thing keeping me from purchasing it is how there is no mobile control support (although I see it on the roadmap) I will purchase as soon as that is done, unless there is a possibility that we could add our own movement/gui navigational controls.

    Cheers!
     
  46. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    Hey,
    I didn't test it on mobile yet, but I read that Unity's new UI system works on mobile by default. The only modification needed is the Player's click movement, which right now reacts on mouse clicks. It would have to react to touches instead, that's all.

    If you want to wait, that's fine. After finishing the patcher, I have 'buffs' and 'mobile support' as the next features on my ToDo list, so it shouldn't take too long.
     
  47. Azthetik

    Azthetik

    Joined:
    Mar 20, 2013
    Posts:
    16
    Awesome to hear! You are killing it right now!
     
    vis2k likes this.
  48. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    164
    @vis2k

    Wanted your advice if you have time, i wanted to help the server side of ummo spend less cycles by not having to "update movement on monsters" that have absolutely no players in its proximity.

    basically i wanted to add a quick check before the monsters update occurs to see if there even are any players around its proxmity, and if not simply "return;" rather than spend cycles processing movement etc.... on an entity thats not going to interact with a player and simply leaving the monster in IDLE state.

    roaming monsters alone seem to consume large amounts of CPU, so i figured if we can eliminate that by a quick check to see if its even worth spending the cycles or just pass on it to save additional cpu even more so on large populated single scenes.

    Thanks,
    -J
     
  49. Tristanl0gd

    Tristanl0gd

    Joined:
    Nov 11, 2013
    Posts:
    3
    One thing I noticed while playing around with things yesterday, if you start a server + play in the editor, and join with a built client, make 1 archer, 1 warrior. When the archer dies, and respawns, the warrior sees the archer slowly walking back to the spawn point instead of a normal respawn. I didn't test this extensively but thought I would bring it up.

    I am also on a mac if that makes a difference (Didn't think it would but just in case)

    Thanks for the kit it's pretty awesome!
     
  50. vis2k

    vis2k

    Joined:
    Sep 4, 2015
    Posts:
    3,301
    You can check the NetworkIdentity's observers property to find out if there are any surrounding players. Just filter out those that have GetComponent<Player>() != null.

    Also please let me know if that makes a huge performance difference.

    Thanks for letting me know, I will look into that before working on the next features. For now you can work around it by replacing my NetworkNavMeshAgent components on the entities with UNET's default NetworkTransform again. NetworkTransform's interpolation is not very good though.
     
    Tristanl0gd likes this.