Hey guys,
I have a few suggestions for the features to include in Patch 1.34:
- Clans
- Custom Campaigns
- Reconnect button
Hopefully we can get some news on when the next patch will drop soon!
Hey guys,
I have a few suggestions for the features to include in Patch 1.34:
Hopefully we can get some news on when the next patch will drop soon!
I don’t want a “reconnect button.” I want a reconnect feature. I.e. if the game crashes or you’re dropped from the game, being able to get back in, at least in team games.
That whole “waiting for players” thing that people call a “reconnect button” in W3C isn’t really a reconnect feature, as it only works as long as the game is still running and only works for very brief connection interruptions, otherwise you just get dropped by the other people in the game.
What should happen:
Oops, game crashed.
Game continues while you’re gone, but players can pause as usual if they’re willing to wait.
Load game up
“Rejoin Match” button on main menu, much like in Overwatch.
Reconnect to game.
Yay I’m back.
That’s what reconnecting is to me.
Such a feature is not possible. Peer saves cannot be used because peers cannot be trusted to upload an accurate or correct version of the state. Implementing it like Heroes of the Storm does requires fast forwarding the gameplay, which is why it never really worked well there as catching up 16 minute match could take minutes. WC3 cannot even use auto saves to try and improve the catch up time since save/load cycling changes the state.
Assuming the client is still in game (not crashed), having some way to reconnect and catch up would be viable and is again what Heroes of the Storm does. However the maps being played would have to also be made to support this. Such as not defeating leavers.
The main question is:
what are these almighty servers doing besides disrupting 20 years of good gameplay?
Keep track of the state in these wonderful servers maybe?
Or are they just used to increment the lag, the disconnections and other unneeded problems?
Does it require to rebuild how the network is implemented?
They could move the assets from the footprints to something more meaningful maybe…
I’ve posted a thread on this topic in the PTR but a major feature I want blizzard to add is for them to update the replay files to include information about which items dropped from neutral camps
A simplec automatically generated command block that just contains an itemID. Should be easily ignored by the game clients and also not inflate replay size by much
Too costly. It would effectively mean that the server is having to run the game client as well. Instead of a single server being able to service 100s of games it might only handle a few dozen at best before memory bandwidth becomes an issue. Even then it would open up players to a new type of “lag” where the server cannot keep up with gameplay forcing all clients to slow down. As server CPUs usually clock lower than consumer CPUs this could happen frequently, especially in custom games. Let us not forget a new potential DoS type where malicious people might swamp all available hosting servers with custom maps just designed to waste CPU power and cost Blizzard money.
Well, they should have thought about it before implementing this silly way of hosting games.
Honestly I don’t think that a server where games are simply advertised and then hosted locally (the old bnet) is more costly than all the silliness they put up now.
Let people host their games and deal with lags and reconnections. It has already been widely proven that community solutions are far better than anything they may come up with…
All RTS games use the same approach… Always have, probably always will unless computation power really becomes as good as free.
Still opens up issues of trust. You cannot trust some random host to send you a correct and accurate copy of the game state. Look at legacy Diablo II’s open battlenet vs the closed battlenet. Closed battlenet does have the server calculate everything while open battlenet was full of hackers and cheaters.
What happened to the good old custom games hosting?
And by the way, LoL or Dota2 have a normal reconnection function. How comes?
I have played thousands of custom games. Never had any trust problems. We used the normal host in the beginning and the ghost bot later on. There wasn’t a single problem…
Untrusted hosts loose popularity very quickly. It’s a natural evolution.
That uses the exact same synchronisation model? Only difference with peer hosting is that the “host” runs both the coordination server and their own local copy of a client that is connected to the coordination server. In old versions of Warcraft III you could be kicked by your own coordination server as host lol.
They are not RTS games. The engine they use is optimised for FPS/third person games. As such it works similar to how Diablo II/Diablo III/World of Warcraft/Overwatch works as opposed to Age of Empires, Empire Earth, StarCraft, WarCraft, e.t.c. These use a heavy server to run all game calculations and all the clients do is receive a stream of the current game state. This works for games with not very complicated game state, but struggles to scale very well which is why RTS games avoid it. For example it will not do very well with sending 1,200 Zergling around at the same time.
Yet hosts used tools to kick whoever they wanted from their games… They could also run all the maphacks they wanted without repercussions.
And this was with just childish people abusing the system. A malicious hacker could probably find some sort of exploit to potentially do malicious things to your computer or at least Warcraft III install, similar to what happened with the Dark Souls/Eldin Ring series recently.
SCR started out in a similar way to Reforged (which also uses proxies to host games). But, it had the luxury of three year’s worth of further development, which had an emphasis on connectivity, They got it to a pretty good place by the time the Classics team was nixxed.
Unfortunately, Reforged didn’t get much at all seeing it was forced out before it was ready and the Classics team was nixed less then a year later.
So hopefully with more development, the connectivity of Reforged will smoothen out too.
Ye that’s what I mean. Bnet was only used for advertising games.
mmm well if you think about it you only need the commands, not the whole state. It is true that it goes back to the untrusted problem, but I think that there is a whole part of grown up people here who just wants to enjoy the game as it is and it is not interested in corporate greed.
And no one would join their games then.
That’s why you build a solid community. Now it is impossible to get back to it…
If the game has vulnerabilities that’s no player’s fault. Besides the denial of service, if you cannot provide a secure client maybe you should keep from publishing it… or at least advice of the possible vulnerabilities…
Nothing is impossible. Unlikely / requires too much work / dont want to do it, sure. But nothing is impossible.
The fact that other games have it means its not impossible. In team games, other players are not deleted from the game when they disconnect- the game automatically shares control to other players instead. It would be entirely possible, with some engine work, to allow people to come back to the game if they crash or are otherwise dropped and the game hasn’t ended yet. So yes, it would require significant redesign of certain game components but it is not impossible.
Again, the “waiting for players” box you used to see and what W3C re-enables is not a reconnect feature. It allows you to stay in the game for short periods of connection instability. We need something better than that or nothing at all, because it’s garbage and doesn’t actually allow one to reconnect.
. Implementing it like Heroes of the Storm does requires fast forwarding the gameplay,
Huh?
When you reconnect after a crash etc. in most games, you don’t start the game from the beginning and “fast forward” it to where it currently is. You just get the current game state from the server/host and bam, everything is as it was. Again, while the engine can’t currently do something like this, it certainly could be reworked to be able to do it.
There is no trusted server to get that state from. Take Heroes of the Storm as a good example. If you were to rejoin by getting one of the other players to send you the map state what could happen is that player purposely caps their upload rate to you just so that you do not manage to rejoin and so they get an easy win for them, or they can force the game to end faster if an ally.
The issue with a trusted server is that they are computationally intensive, especially for RTS games which are already computationally intensive. It may work for games like Diablo II/III but is just too expensive for RTS games. Even World of Warcraft requires a monthly subscription for that reason (a lot of players in huge battles).
It depends on the size of the playerbase and how many games are being hosted. Diablo II was client server since its launch and they handled plenty of simultaneous games with no issue, you could even rejoin a game you were the only one in, within 5 minutes. Diablo II Resurrected did have some database-related troubles because they were using the same back-end systems as classic D2 and that system couldn’t handle the influx of players from the game’s launch. But they’ve since addressed those issues and the placerbase has also normalized.
Comparing war3 to WoW is not a good comparison. WoW runs entire clusters of servers with sub servers to manage all of the thousands of people connected to a given realm simultaneously. Wacraft III only has up to 24 players in a single game, and realistically one modern server machine could handle multiple games. Yes, it would cost more than the current setup but it’s not as outlandish as you’re implying.
On this DrSuperGood is right. Having to record the current state of too many games is stressful (especially for their cheap architectures^^).
Exactly.
Since they love this internet authentication so much, they may add a token to reconnect to the game during the waiting time. The game status could be sent by all players so that it could be compared. If it does not match, well, somoeone was cheating anyway^^. Remember we are in the waiting time, so nothing is happening. All computers have full computational capabilities.
Then the status is sent by the server to the disconnected client.
I can show you a whole community for which waiting for a player to reconnect is way more important that cheating. The question is: are catering kids to waste money a la Diablo mobile or do we want people to enjoy a game?
I mean he already admitted in the same post that Blizzard already has existing archetectures that handle much larger playerbases than Warcraft III has. So no, he’s really not right.
We’ve had first person shooters since the late 90s that shared the game state to players as they freely come and go from the server- it really isn’t as much data or as difficult as you think. It really isn’t hard to do this. Warcraft III went peer to peer because it was cheaper (not needing to host game servers at all, just the battle.net chat and matchmaking) and because players weren’t (ordinarily) going to be coming and going during a game. The structure made sense for the game at the time as well as other RTSes. But obviously this structure means if one person lags, everyone does, and the game comes to a complete halt if someone lags badly enough or disconnects.
Those other games are less complex though. They are not dealing with a troll map spamming 20,000 units that runs at 20 FPS on a Core i9 12900K. Diablo III might have 100 units on screen and even then the servers start to struggle (simulation speed drops). Diablo II (classic) out rights drops players if too much happens as part of their anti DoS protection.
Well, on one side, ok, it is a problem. On the other, once you enforce the hosting on your servers you also take whatever comes with it.
I have been hosting games for 1-2 years long ago when there were no bots and stuff, just because my computer could handle them slightly better than others in my group.
But that’s just part of being a reliable host…
They’re more complex than you think. FPS games like Overwatch in particular require much greater precision- they update a smaller number of things (usually) but with much greater frequency. Also every projectile, non-inanimate object, etc. carries information with it the same as a unit in an RTS. Reforged doubled the maximum player count, so clearly there was plenty of room for more information to be sent in more directions already.