Development Blog Update - NS2 Q&A #2

MaxMax Technical Director, Unknown Worlds Entertainment Join Date: 2002-03-15 Member: 318Super Administrators, Retired Developer, NS1 Playtester, Forum Moderators, NS2 Developer, Constellation, Subnautica Developer, Pistachionauts, Future Perfect Developer
Please post comments on the topic Development Blog Update - NS2 Q&A #2 here
«13

Comments

  • PersianImm0rtalPersianImm0rtal Join Date: 2010-12-02 Member: 75414Members, Constellation, NS2 Map Tester
    edited February 2011
    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->When will netcode be the priority?

    Improving "netcode" has been my focus for a few months, however this doesn't actually involve working on the networking system. The networking system will only deliver a good gameplay experience if the server is able to keep up with the work load and deliver updates at 20 times per second. If the server is only pushing out 1 update per second, you're going to see all types of problems that people often confuse with networking issues.<!--QuoteEnd--></div><!--QuoteEEnd-->

    I am not happy with your answer to netcode...

    Edit: I mean how can it be the servers fault? Every server I join has a horrible ping, so bad that I can not even walk or shoot. My FPS is fine and stable, but the ping is just so bad, and I don't know what you mean by saying its the servers fault, when it is every server that is hosted right now. How is it possible that every single server hosted can't keep up with the work load. Sorry if I sound like a winer, I just want to make sure you guy's are fully aware of this so that come release of the game, you don't have massive connection problems. Since, you guys probably play on the office LAN, and do not see what we see.
  • douchebagatrondouchebagatron Custom member title Join Date: 2003-12-20 Member: 24581Members, Constellation, Reinforced - Shadow
    edited February 2011
    it's generally incorrect to say it's due to the "ping" because the ping is just the latency, the time it takes to send a packet to the server and get a response. If you go to the console and put in the commandy "net_stats" then you'll see some info about the server. in every case (at least for me, and most others) where you experience a "laggy" server, it's caused by a low server tick rate.

    This means the server is so bogged down, it can't calculate updates fast enough. if it's not calculating updates, you can't do anything, and it feels like you are lagging out.

    improving server performance will fix this.

    If you get on a server that has recently restarted, you'll be getting about 15 ticks per second. it's not great, but it's playable. after a while server performance degrades and eventually it'll get to 2-5 ticks per second.

    Max's answer is right on.

    even if you play on a lan, server performance will degrade and you'll see this problem.
  • MaxMax Technical Director, Unknown Worlds Entertainment Join Date: 2002-03-15 Member: 318Super Administrators, Retired Developer, NS1 Playtester, Forum Moderators, NS2 Developer, Constellation, Subnautica Developer, Pistachionauts, Future Perfect Developer
    <!--quoteo(post=1830650:date=Feb 8 2011, 05:38 PM:name=PersianImm0rtal)--><div class='quotetop'>QUOTE (PersianImm0rtal @ Feb 8 2011, 05:38 PM) <a href="index.php?act=findpost&pid=1830650"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I am not happy with your answer to netcode...

    Edit: I mean how can it be the servers fault? Every server I join has a horrible ping, so bad that I can not even walk or shoot. My FPS is fine and stable, but the ping is just so bad, and I don't know what you mean by saying its the servers fault, when it is every server that is hosted right now. How is it possible that every single server hosted can't keep up with the work load. Sorry if I sound like a winer, I just want to make sure you guy's are fully aware of this so that come release of the game, you don't have massive connection problems. Since, you guys probably play on the office LAN, and do not see what we see.<!--QuoteEnd--></div><!--QuoteEEnd-->
    Your ping can never be higher than the update rate for the server. So if the server is updating at 1 tick per second, your ping time is going to be at least one second.
  • CrispixCrispix Join Date: 2007-01-10 Member: 59543Members, Constellation, Reinforced - Supporter, Reinforced - Silver, Reinforced - Gold, Reinforced - Diamond, Reinforced - Shadow
    Glad to have my question answered! Thanks a bunch Max! :)
  • playerplayer Join Date: 2010-09-12 Member: 73982Members
    That was the single most informative blog-post ever. We don't see answers of such a technical nature often enough, I'm very pleased. Ideally, I'd like to go even deeper into the material, but you can only hope for so much.

    As for the netcode remarks, I've contemplated it and came to pretty much the same conclusion. Bandwidth-usage at the moment isn't spectacular (and thus not so much a culprit), and there is a clear link between the tick-rate\update-rate, and the various issues that are experienced (rubber-banding, hit-registration et cetera). So I'm expecting significant improvements on all fronts of net-play when the server is easier on the CPU.
  • PersianImm0rtalPersianImm0rtal Join Date: 2010-12-02 Member: 75414Members, Constellation, NS2 Map Tester
    <!--quoteo(post=1830654:date=Feb 8 2011, 09:00 PM:name=Max)--><div class='quotetop'>QUOTE (Max @ Feb 8 2011, 09:00 PM) <a href="index.php?act=findpost&pid=1830654"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Your ping can never be higher than the update rate for the server. So if the server is updating at 1 tick per second, your ping time is going to be at least one second.<!--QuoteEnd--></div><!--QuoteEEnd-->



    So are you saying its the server's fault? And if yes then, why can't I find a single good server then?
  • SupernornSupernorn Best. Picture. Ever. Made. Ever. Join Date: 2002-11-07 Member: 7608Members, Constellation
    edited February 2011
    Good questions, followed by good answers. It makes a change from 'external' interviews where the first question is usually "so what is NS2?"


    PersianImm0rtal if I read it correctly, the game is creating too much data for the servers to handle. The netcode itself is not a problem but the servers themselves are getting overloaded with too much game data, which causes them to choke and create problems.
  • playerplayer Join Date: 2010-09-12 Member: 73982Members
    <!--QuoteBegin-'PersianImm0rtal'+--><div class='quotetop'>QUOTE ('PersianImm0rtal')</div><div class='quotemain'><!--QuoteEBegin-->So are you saying its the server's fault? And if yes then, why can't I find a single good server then?<!--QuoteEnd--></div><!--QuoteEEnd-->

    As far as servers go, I find endar's server to be the best performing (powerful hardware perhaps?). You should be able to have a reasonable game on it.
    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->203.12.139.127:27015 Australia-Pure NS2<!--QuoteEnd--></div><!--QuoteEEnd-->
  • Kouji_SanKouji_San Sr. Hινε Uρкεερεг - EUPT Deputy The Netherlands Join Date: 2003-05-13 Member: 16271Members, NS2 Playtester, Squad Five Blue
    edited February 2011
    You said your ping is bad. Making me guess it is either something with your computer (hardware/OS/Divers combo) and Spark having a some unknown conflict or you have a problem with your router/internet connection and Spark. I for example see European servers in between 25-80ms and oversea servers >120 (ingame and inserverbrowser)

    Or is your actual latency good, but you have such a bad FPS you can't move or do stuff, ifso how about on a localhost?
  • RuntehRunteh Join Date: 2010-06-26 Member: 72163Members, Reinforced - Shadow
    I'm pretty sure what Max is trying to say is that it is the server code that is causing issues with tick rate.

    He is not talking about the hardware setup, location or bandwidth. It is that the information it recieves can't be processed and sent fast enough, which probably means a whole lot of problems for the clients.

    It is like a group of people throwing a ball to each other, except they are throwing 100 at once and keep dropping them.

    I'm hoping that is right and fairly good analogy.

    Programmers never get the praise that the artists do, so go easy on the guy. Keep it up Max, great read. Looking forward to 163 :)
  • PlasmaPlasma Join Date: 2003-04-26 Member: 15855Members, Constellation, Squad Five Blue
    Thanks Max that post was fantastic.

    A serious heartfelt pat on the back to the entire team for their work so far, its really neat watching this game progress and talking with the developers.

    I had a post about map support at <a href="http://www.unknownworlds.com/ns2/forums/index.php?s=&showtopic=112527&view=findpost&p=1827691" target="_blank">http://www.unknownworlds.com/ns2/forums/in...t&p=1827691</a>

    It's a long way off of course, but I'd be interested in knowing how you'd tackle custom maps. I think map developers would agree having some sort of publishing system to make it painless to play custom maps would be fantastic.
  • Deagle2Deagle2 Join Date: 2010-11-30 Member: 75360Members
    Great ! I'm englighted on plenty of things now. Goog Job.
  • douchebagatrondouchebagatron Custom member title Join Date: 2003-12-20 Member: 24581Members, Constellation, Reinforced - Shadow
    with a program as unoptimized as this, even the best of servers will degrade. I've been running a lan server with only me in it on my i7 machine which is fairly beefy. It started at a tickrate of 25, but after about 30-40 minutes of me dinking around by creating/destroying buildings, my rate has decreased to 9-10, which is borderline unplayable.

    weaker machines will degrade faster, but every machine will eventually degrade.
  • garvanigarvani Join Date: 2009-09-02 Member: 68678Members
    <!--quoteo(post=1830664:date=Feb 9 2011, 02:24 PM:name=player)--><div class='quotetop'>QUOTE (player @ Feb 9 2011, 02:24 PM) <a href="index.php?act=findpost&pid=1830664"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->As far as servers go, I find endar's server to be the best performing (powerful hardware perhaps?). You should be able to have a reasonable game on it.<!--QuoteEnd--></div><!--QuoteEEnd-->

    oooooh he renamed it! hell, wish i knew that a while ago, ive been looking for his ausradasucks server and been disappointed not to find it! the gameplanet server sucks ass and crashes on a very regular basis. I vouch for this server too, you might get a high ping coming from the US tho.

    Great post Max, very informative, post like this will hopefully keep the whiners at bay.
  • playerplayer Join Date: 2010-09-12 Member: 73982Members
    <!--quoteo(post=1830667:date=Feb 9 2011, 03:35 AM:name=Runteh)--><div class='quotetop'>QUOTE (Runteh @ Feb 9 2011, 03:35 AM) <a href="index.php?act=findpost&pid=1830667"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->He is not talking about the hardware setup ... It is that the information it recieves can't be processed and sent fast enough, which probably means a whole lot of problems for the clients.<!--QuoteEnd--></div><!--QuoteEEnd-->
    Which can be led back to the hardware setup. At least that's what I understand when the word 'processed' is used. I'm not saying the servers out there are rubbish, but rather that Spark has some nasty inefficiency-issues at the moment, that make it run poor on the most powerful of setups.
  • McGlaspieMcGlaspie www.team156.com Join Date: 2010-07-26 Member: 73044Members, Super Administrators, Forum Admins, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, Squad Five Gold, Reinforced - Onos, WC 2013 - Gold, Subnautica Playtester
    Way to go Max! Laying the smack down with a wall of text. I love it, and thank you very much for spending the time on that post, good stuff.

    <!--quoteo(post=0:date=:name=Runteh)--><div class='quotetop'>QUOTE (Runteh)</div><div class='quotemain'><!--quotec-->Programmers never get the praise that the artists do, so go easy on the guy.<!--QuoteEnd--></div><!--QuoteEEnd-->Sadly very true and thanks for saying so Runteh.

    For anyone that's interested, you can verify the server problems by watching process (and child threads) CPU/Cycles usage in correlation with the number of objects (buildings, hydras, players, grenades, etc.). It happens in all contexts, listen or dedicated server.
  • schkorpioschkorpio I can mspaint Join Date: 2003-05-23 Member: 16635Members
    Thanks Max! I read every word :)
  • ZenoZeno Join Date: 2007-09-05 Member: 62183Members
    Very, VERY interesting read.

    And quite a few of my questions were answered too, thank you a lot for that, Max!
  • DY357LXDY357LX Playing since day 1. Still can&#39;t Comm. England Join Date: 2002-10-27 Member: 1651Members, Constellation
    Thanks for the info Max. We appreciate you taking the time to put up a lengthy and informative post.

    Keep up the great work.
  • mattoXmattoX Join Date: 2007-08-01 Member: 61739Members
    I & sure enough everyone else applaud all your efforts to update the community as frequently as you do. It's awesome to see, considering how freakin' busy you guys are.

    Keep up the good work and keep following your dreams no matter the circumstance!

    Matt.
  • FehaFeha Join Date: 2006-11-16 Member: 58633Members
    edited February 2011
    Thanks max! I loved to see you answered my questions (atleast I think the ywere mine ;D)!
    Incase someone wonder what the hell I talk about:
    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->When will there be some better documentation for modding and how do you make custom entities exist in Spark map editor?<!--QuoteEnd--></div><!--QuoteEEnd-->

    I hope the documentation goes fast, but seeing as you are doing q&a now, I bet it will become really rapid. When a dev wonder something, they can ask, wait a few days/weeks (how often are you gonna do a q&a blog anyway?), and if they havent figured it out themself yet (at which point they would have said they dont need help anymore), we will get answer for someone who knows the engine ;).
    Atleast I hope that it will be like that :P.


    Also, that info about adding stuff to map is something I have wanted to know for a long time, thankyou!
    I will try to mess in that file tomorrow, probably mostly with water (I agree thats something we should get XD). Hopefully I suceeds at giving spark map editor a water entity thats scaleable like other cube entities.
    I doubt that I will give it any graphics though.
    Or maybe I will, that post processing system sounds interesting, and doing a "under water" overlay might be fun just to learn it ;)

    Well we will see tomorrow, dont get your hopes up, I often leave my projects when they work, but are really buggy :P.


    night <strike>guys</strike> <strike>humans</strike> sentient beings!
  • FocusedWolfFocusedWolf Join Date: 2005-01-09 Member: 34258Members
    From experience, the lag is least at the very start of a round and grows from there (structure lag and probably memory leaks play a part). Hydra DO contribute to the lag (or rather the worst lag i've ever felt in v162, the other day, featured 2 rooms filled with 10-18 hydra each [kustomkarnage server]).
  • GaidinTSGaidinTS Join Date: 2003-08-10 Member: 19319Members, Constellation, Reinforced - Shadow
    Great post. So much information, I love it. I really appreciate you taking the time to write all of this up. Great stuff.
  • PistachioPistachio Join Date: 2005-05-26 Member: 52481Members
    This is exactly the kind of post I like to see on the main site. Thanks, Max.
  • Slickk-Slickk- Join Date: 2007-11-26 Member: 63019Members
    Read every word of that post. Thanks for taking the time to write it.

    Just watched the meet the team video too, very nice to see you all and this post has topped it off for me.
  • HughHugh Cameraman San Francisco, CA Join Date: 2010-04-18 Member: 71444NS2 Developer, NS2 Playtester, Reinforced - Silver, Reinforced - Onos, WC 2013 - Shadow, Subnautica Developer, Pistachionauts
    Thanks for taking the time to post Max it was a great read!

    PersianImm0rtal, they don't test on LAN before releasing. Where Max mentions that Australians and Europeans regularly play on the San Francisco server, he speaks truth. Many people working for Unknown Worlds are in Europe, along with many internal playtesters, and Simon is in Aus. I also join the playtests from Aus (see my channel for examples). So they are truly more brutal tests than 'real-life' where people generally play within the one geographic region.
  • resresresresresres Join Date: 2007-10-16 Member: 62652Members
    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->Will we expect more graphics options in beta so we can further tweak our performance

    Probably. One of the limiting factors on this right now is that the main menu UI is coded in Flash and is very difficult for us to modify. We're going to be rewriting the menu in Lua, like we did with the in-game interfaces, to make it easier to add additional options.<!--QuoteEnd--></div><!--QuoteEEnd-->

    This! This is what I'm waiting for, and would significantly increase my playtime and my promotion to my 'networks' about this game.
  • yourbonesakinyourbonesakin Join Date: 2005-08-06 Member: 57682Members
    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->About a week ago we started answering the questions that were posted in this forum thread.

    We recorded video responses to many of the questions, but we've been having some difficulty getting those into a format suitable for posting on the website. In lieu of having the video responses, I wrote up answers to all of the technical questions I saw.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Damn, Max. Gettin' it done, like a boss.

    Perhaps you can enlist Hugh's help to fix the videos.
  • TKMRTKMR Join Date: 2010-12-23 Member: 75881Members
    Unless I missed it, I didn't see anything regarding which version of PhysX you guys are using? Will you be upgrading to PhysX 3 (or are you already using it) to take advantage of the SSE instruction set (as opposed to x87)?
  • PlasmaPlasma Join Date: 2003-04-26 Member: 15855Members, Constellation, Squad Five Blue
    Forgot to mention it before but:

    --
    There are optimziation tasks in Pivotal Tracker (OnProcessMove, Hydra, etc.) that have been there for quite a few builds under gameplay tasks. When will these be done or are they awaiting engine work on Lua interface optimisation?

    The gameplay tasks come from the schedule for Brian and Charlie, so I was not intending to work on these specific tasks, which I believe are currently the slowest parts of the game code. In terms of engine optimization, I am going to be working on the general slowdown we get from executing Lua code due to the garbage collector and interfacing with the C++ code. <b>I'm hoping my system level changes will eliminate the need for any gameplay code changes in Lua and these tasks won't be necessary.</b>
    --

    Sounds really good and what I was hoping for :)
Sign In or Register to comment.