GOD bless Jon and Client/server architecture vs ugly p2p

Discussion in 'Planetary Annihilation General Discussion' started by doud, June 11, 2013.

  1. antillie

    antillie Member

    Messages:
    813
    Likes Received:
    7
    I think this has more to do with the age of the RTS genre and the fact that there are so few new RTS games being made these days. The only current major RTS games I can think of are Dawn of War, Starcraft, and Command and Conquer.

    Interestingly enough all of these games can trace their lineage (or at least their network stack) back to the golden era of RTS games in the 90's. Back when the enforced fairness of the synchronized model made a lot of sense.

    Starcraft 2 goes back to Starcraft 1, Command and Conquer goes back to the first Command and Conquer, and Dawn of War goes back to Homeworld 1. (Relic developed both.) If you already have a perfectly functional network stack based on the synchronized model that you know works because you have already shipped a game or two with it then it makes no sense not to use it for your next game. Sure you update it a bit but you don't rewrite the whole thing.

    As a result most modern RTS titles have inherited synchronized model networking from their ancestors.

    Since the only other major online game that I know of that Uber has made is an FPS, and FPS games have generally always used the client/server model, Uber already has a nice mature client/server network stack to work with. It would be silly to write a new network stack when they can just modify the one that they already have.

    As a nice bonus the only real reason for synchronized model networking being a good idea has pretty much disappeared over the past 10 years or so. So its a win-win.
  2. neutrino

    neutrino low mass particle Uber Employee

    Messages:
    3,123
    Likes Received:
    2,687
    One interesting thing to note is that TA was p2p but it wasn't synchronous. The net code in PA although different from TA has more in common than you would think.

    One thing to keep in mind is that P2P is simply a network topology and that synchronous is the real issue that's different.

    Originally SupCom was going to use a P2P async model similar to TA. EA's tech guys basically forced us to change that. When we did the analysis it didn't seem like a bad idea so we did change it, then they cancelled the game.

    In retrospect the sync model really hurt SupCom badly. There is no fundamental reason we couldn't have use the model we are using now if we had thought of it back then. Although this game is being designed to take advantage of the larger amount of network bandwidth we have available.

    I wanted to build a game at a fundamentally larger scale than sync sim can handle. Running at the speed of the slowest client really limits the ability scale. A p2p network topo also sucks for scaling. I also wanted to be able to multithread the sim code which is difficult to get much benefit out of when you are synchronous.

    As to why other people are doing this, I think they are simply stuck in the past. Blizzard for example seems to just be copying their previous games with prettier graphics. I seriously doubt they ever considered changing the network model of star craft 2 because it's just outside the wheelhouse of traditional RTS tech.

    I on the other hand think that the technology is a very important aspect of the game and am in a position to execute on that. It's worth noting that Dota2 is client server as well.

    Enough of a rant?
  3. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    Because most of developers don't want to innovate and they really doesn't care at all about post-release support of their games. They release product, grab money, make few patches and that is all about it.

    Other problem that you can't really enforce DRM if you publish your server binary. RTS games need much more server resources than FPS or MMORPG, so it's really not cheap to pay for game servers for years. Blizzard done client-server in Diablo 3, but not in StarCraft and I think it's mainly by this reason.

    Uber don't have same problem because when game will be released there will might be thousands community-hosted servers.
  4. neutrino

    neutrino low mass particle Uber Employee

    Messages:
    3,123
    Likes Received:
    2,687
    The new network architecture doesn't really share anything from our experiences using Unreal for MNC. It's actually a wholly new original design that we cooked up last fall. Mainly it's influenced by our previous work.

    Yeah, pretty much. Basically sync has some advantages but most of those are eroded with modern computing. Our model is going to give us insanely more flexibility.

    To be fair coding stuff in our system is trickier. We are having to invent new tech all the time to solve problems.
  5. legitlobster

    legitlobster Member

    Messages:
    98
    Likes Received:
    0

    shots_fired
  6. veta

    veta Active Member

    Messages:
    1,256
    Likes Received:
    11
    I see PA succeeding as an RTS modding platform because of its architecture. In a way its architecture is an insurance on success because whether or not PA has perfect gameplay modders will have a platform on which to iterate, improve and create.
    Last edited: June 11, 2013
  7. cola_colin

    cola_colin Moderator Alumni

    Messages:
    12,074
    Likes Received:
    16,221
    Nice read.

    Blizzard had no reason to change the whole thing anyway. The scale of SC2 games is so small that it doesn't matter at all that the slowest client can slow down the game and the only problem remaining was the connectivity through firewalls and badly configured routers which is solved by putting in the bnet as a proxy.
    Same thing for most other RTS: They are all so small that synchronous models are sufficient for them.
  8. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    Blizzard don't want to make good networking, they need DRM. And if Diablo 3 doesn't need more CPU/RAM than MMORPG situation with StarCraft are different.

    I think it's just really hard to scale it when you need to simulate 50000-100000 games in same time, it's should be really expensive if they want to sell game in some regions with low price. And it's even more harder to secure all these servers, because somebody just hack one of them and get server code.
    Last edited: June 11, 2013
  9. veta

    veta Active Member

    Messages:
    1,256
    Likes Received:
    11
    IDK anything beyond 2v2 in COH is almost impossible without someone dropping.
  10. antillie

    antillie Member

    Messages:
    813
    Likes Received:
    7
    Interesting. I thought it had a bit more do with being able to salvage old code from an earlier title. I guess not. I wonder how much of Starcraft 1's network code Blizzard just copy/pasted into Starcraft 2.
  11. neutrino

    neutrino low mass particle Uber Employee

    Messages:
    3,123
    Likes Received:
    2,687
    Yeah it's actually radically different than anything we've done before.
  12. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    Unreal Engine got it's own networking inside and probably Uber used it somehow. But even if Uber make their own networking, UE is 50MB of C++ code monster, it's extremely hard to reuse code when it's designed for engine like this.

    And it's should be obvious that they not allowed to copy any string of code related to UE without paying royalties to Epic Games.
  13. antillie

    antillie Member

    Messages:
    813
    Likes Received:
    7
    Powerful and extensible networking is perfectly capable of supporting the extensive security and encryption that forms the foundations of DRM. Heck the protocols for it are already out there. AES, IPSec, TLS, SHA, and X.509 certificates are all well established in the business world and are widely supported pretty much everywhere both in hardware appliances and in proprietary and open source software libraries. Even the home versions of Windows have all of them built in except IPSec, which is found in the server flavors of Windows.

    I think Blizzard is just lazy. They know that Starcraft is going to sell like crazy just because its Starcraft. So what incentive do they really have to work hard to push the envelope of the RTS genre?

    Microsoft fell into this mindset about 10 years ago. Then the iPod and iPhone happened and now they are scrambling to catch up. If Uber is lucky they could really start something here like Apple did back then.
    Last edited: June 11, 2013
  14. antillie

    antillie Member

    Messages:
    813
    Likes Received:
    7
    I hadn't realized how much of the network stack for MNC was part of the licensed Unreal Engine. I stand corrected.
  15. kryovow

    kryovow Well-Known Member

    Messages:
    1,112
    Likes Received:
    240
    I think there are a lot of advantages of Server based Multiplayer:

    • Rejoin
    • less bandwidth for the client
    • it gets harder to cheat
    • everything Uber did that would not be possible with p2p
    • less disconnect
    • no firewall / router issues (think of famous "nil" in supcom it made me go crazy sometimes)
    • lot of things I dont know about or have forgotten to mention

    Though there is a downside (that was mentioned before and in other threads) like everything has a downside.
    • increased cost for servers (though the client's hardware can be cheaper than with p2p)
    • dependency on servers (I really think Uber will support PA for a long time, but look at Forged Alliance Forever. This kind of thing is only possible with p2p, noone could afford Servers for a community project like this)

    Though the last point is also not really hurting, if everyone can "be" a server and client at the same time, i.e. host and play at the same time.
  16. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    To be fair I don't have any ideas how much exactly MNC network code is depends on UE, but I seen vanilla UE source code and seen how other UE-based games source code looks like.

    I think it's would be good comparsion: extracting license-clean part of UE-based code it's probably harder than extract some part you need from Boost or Qt. It's technically possible, but usually it's much faster to write code from scratch. :D
  17. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    It's not actually a problem because if something happen community always might done own master-server.

    Also Uber Uber won't limit servers to be available in master-server list, so there (when they release game server) will be lot of custom servers.

    Do you ever looked on Valve games or any open source client-server games? There is always tons of servers, usually more than people who need them. ;)
  18. Col_Jessep

    Col_Jessep Moderator Alumni

    Messages:
    4,227
    Likes Received:
    257
    Nope. Uber will release the server software. Should all of Uber's PA servers go down one day (zombie apocalypse) you can set up your own server. You can do that on the internet (probably rent a server with everything installed already) or on a PC you own. If you do it on your own PC you can either play against the AI, invite friends over for a LAN party or you can set up a virtual private network (VPN) and play with friends from every corner of the world with internet. I admit that the last part might be a bit optimistic in case of a zombie apocalypse...

    There are not that many RTS devlopers left. There is Blizzard (Starcraft II) and Electronic Arts (C&C, prev. known as Generals 2). I think as far as classic RTS titles are concerned that's pretty much the whole list. C&C will be F2P, so that's going to run on EA's servers.
  19. kryovow

    kryovow Well-Known Member

    Messages:
    1,112
    Likes Received:
    240
    valve games even if they are selling bad will have more players and therefore bigger community than PA.
    Look at FA 500 people left tops^^

    In 5 years it will be seen if PA has more left or less :p
  20. antillie

    antillie Member

    Messages:
    813
    Likes Received:
    7
    And yet there are obviously FA servers still kicking around somewhere.

    The cloud revolution is making real servers cheaper than ever before. And there are lots of people out there with the technical knowledge needed to setup a large scale VPN system based on Linux and OpenVPN/Openswan. Heck I am one of them.

    Even if internet play for PA dies, (Which I don't think it will.) it will live on in LAN play in VPN tunnels across the internet until the end of time.
    Last edited: June 11, 2013

Share This Page