|
On June 15 2015 05:07 Odowan Paleolithic wrote:Show nested quote +On June 15 2015 04:51 JCoto wrote:On June 15 2015 04:19 deacon.frost wrote:On June 15 2015 03:54 ElMeanYo wrote: ^ I guess the technology isn't there yet. Yeah, it is just almost 20 years old idea... I think it should be pretty doable. A damn 5v5 game with minions without much problems allows it and not SC2? How the fuck did they code their client? I think that a solution would be quite easy, since the replay file is being created while the game is on. So, theoretically, I think you could spectate the replay file with a 2 minute delay instead of the game going on, without much trouble. Instead of joining the match, join the broadcast. The game engine loops and sends info several times per second, how the hell isn't it going to be able to transmit a replay file? It could work with some infrastructure behind it, for sure. Because there is only 10 heros + minions, and the server give 0 fuck when someone lags. http://www.teamliquid.net/forum/starcraft-2/117158-some-notes-regarding-sc2-networking
So you think that observing a delayed replay file is impossible? This is 2015....
I think in any case an SC2 developer should be talking about SC2 network functions and how packages are transmitted.. Bringing a 2010 post whose autor has crossed out because it was wrong is not the best argument at all.
There has to be a connection to a server at some point, even if it's peer to peer, that could be used to create a replica of the replay file. I think Dota2 / LoL use some system like that, since they work by 2 minute delay by default if i'm not wrong, so obviously, you aren't looking or inside the match directly like any of the players.
And even with that, a simple system to have access to the replay of your friends if you want after the match ends would be a very easy way to give some viewing experience, that could be broadcasted. Many tournaments upload the replays of the games, so why not doing it with an automated feature on the client? Imagine a very simple feature implemented in autotournaments system (going to be implemented in LotV) that allows you to upload a bunch of replays to the automated tournament brackets. It could be done very easily, and could be just done with official tournements to prevent spam....
There are thousands of workarounds to be done or solutions, obviously because implementing many direct in-game observers would simply add more problems than benefits (map awarness cheat, dictating builds, shared vision, ingame lags...). It's all about spending time and having the engineers to code and review their engine. But Blizz simply prefers to have streaming and video services to broadcast their games and simply, avoid that kind of technical problems, which is a very good solution. The real problem is that Blizz fails at managing content and having it linked in a webpage: charts and twitch/YT links. They don't manage well the competitive content they promote
|
Cool. But thre should be an option if you wan to allow someone or not.
|
Why not go one step further and, like Dota, allow us to view the top matches going on with delay? Also, curious who would not want the ability to see friend's games--abuse possibly?
|
I didn't know I had a game about friends...perhaps you mean I can observe my "friend's" game. Punctuation can be the difference between helping your uncle, Jack, off his horse and helping your uncle jack off his horse.
|
On June 15 2015 00:05 AgamemnonSC2 wrote:Aisora on Battle.net explained why it is not possible: "The engine doesn't allow it. Which is why there's no spectator function in Heroes of the Storm aswell. Wether or not this is happening will depend a lot on wether or not they want to add it for Heroes of the Storm, I think.
It'd help making Starcraft a lot more social experience, yeah. It'd be amazing. But I'm afraid this will never really happen.
As far as I understand, the engine basicly works in a way that transfers user input to all clients. Which is why the game will lag for you, when it lags for the opponent. So when you want to join a game, that's already going on, you'd have to watch it from the start (because the input from all prior commands would be missing). At the same time, it'd cause the game to lag or get out of sync, once you have slight connection problems as a spectator.
In order for that to work, there would have to be an additional server that tracks all user input for all players. But the problem here would also be: "If the spectator server lags, your game will too".
When connecting to this server as a spectator, it has to send you the exact state of the game in the moment you join the game.. Causing a lot of traffic (when a lot of people watch you), making it very likely for your game (as a player) to lag.
You can see the problem of recreating a gamestate, when looking at recreating a game from replay." Now I'm worried we will never have this feature  This may be the way it works but, with enough effort, I am quite sure they could muscle in a some sort of feed out of a game that could be watchable. A 3rd server side member of every game, some sort of virtual observer, that somehow then feeds it to clients doesn't sound like an absolute impossibility. They need to do something :/ why not this. They've always bragged about how "the engine could do anything"
|
Czech Republic12129 Posts
On June 15 2015 14:49 CursOr wrote:Show nested quote +On June 15 2015 00:05 AgamemnonSC2 wrote:Aisora on Battle.net explained why it is not possible: "The engine doesn't allow it. Which is why there's no spectator function in Heroes of the Storm aswell. Wether or not this is happening will depend a lot on wether or not they want to add it for Heroes of the Storm, I think.
It'd help making Starcraft a lot more social experience, yeah. It'd be amazing. But I'm afraid this will never really happen.
As far as I understand, the engine basicly works in a way that transfers user input to all clients. Which is why the game will lag for you, when it lags for the opponent. So when you want to join a game, that's already going on, you'd have to watch it from the start (because the input from all prior commands would be missing). At the same time, it'd cause the game to lag or get out of sync, once you have slight connection problems as a spectator.
In order for that to work, there would have to be an additional server that tracks all user input for all players. But the problem here would also be: "If the spectator server lags, your game will too".
When connecting to this server as a spectator, it has to send you the exact state of the game in the moment you join the game.. Causing a lot of traffic (when a lot of people watch you), making it very likely for your game (as a player) to lag.
You can see the problem of recreating a gamestate, when looking at recreating a game from replay." Now I'm worried we will never have this feature  This may be the way it works but, with enough effort, I am quite sure they could muscle in a some sort of feed out of a game that could be watchable. A 3rd server side member of every game, some sort of virtual observer, that somehow then feeds it to clients doesn't sound like an absolute impossibility. They need to do something :/ why not this. They've always bragged about how "the engine could do anything" That's why I mentioned HLTV earlier, because it is just an observer which starts its own server from where it distributes every information needed.
In theory it is absolutely in their power to do it - you will have to enable this "observer" to connect to the game(or add it to the LotV client), you will have to enable some way to connect to this observer instead of the game lobby and then rework the network code to be more efficient. Like don't wait on laggers(it's a replay watching service, not a game). Maybe add sufficient delay so you can send compressed information for a period instead of every information right now(which is good enough for replay watching service but horribly wrong for players playing the game) etc.
I don't think they want to do it, maybe it's too expensive, because their code is one huge mess(as it happens from time to time) and they would need to do more than just "add some thinks"
|
On June 15 2015 17:56 deacon.frost wrote:Show nested quote +On June 15 2015 14:49 CursOr wrote:On June 15 2015 00:05 AgamemnonSC2 wrote:Aisora on Battle.net explained why it is not possible: "The engine doesn't allow it. Which is why there's no spectator function in Heroes of the Storm aswell. Wether or not this is happening will depend a lot on wether or not they want to add it for Heroes of the Storm, I think.
It'd help making Starcraft a lot more social experience, yeah. It'd be amazing. But I'm afraid this will never really happen.
As far as I understand, the engine basicly works in a way that transfers user input to all clients. Which is why the game will lag for you, when it lags for the opponent. So when you want to join a game, that's already going on, you'd have to watch it from the start (because the input from all prior commands would be missing). At the same time, it'd cause the game to lag or get out of sync, once you have slight connection problems as a spectator.
In order for that to work, there would have to be an additional server that tracks all user input for all players. But the problem here would also be: "If the spectator server lags, your game will too".
When connecting to this server as a spectator, it has to send you the exact state of the game in the moment you join the game.. Causing a lot of traffic (when a lot of people watch you), making it very likely for your game (as a player) to lag.
You can see the problem of recreating a gamestate, when looking at recreating a game from replay." Now I'm worried we will never have this feature  This may be the way it works but, with enough effort, I am quite sure they could muscle in a some sort of feed out of a game that could be watchable. A 3rd server side member of every game, some sort of virtual observer, that somehow then feeds it to clients doesn't sound like an absolute impossibility. They need to do something :/ why not this. They've always bragged about how "the engine could do anything" That's why I mentioned HLTV earlier, because it is just an observer which starts its own server from where it distributes every information needed. In theory it is absolutely in their power to do it - you will have to enable this "observer" to connect to the game(or add it to the LotV client), you will have to enable some way to connect to this observer instead of the game lobby and then rework the network code to be more efficient. Like don't wait on laggers(it's a replay watching service, not a game). Maybe add sufficient delay so you can send compressed information for a period instead of every information right now(which is good enough for replay watching service but horribly wrong for players playing the game) etc. I don't think they want to do it, maybe it's too expensive, because their code is one huge mess(as it happens from time to time) and they would need to do more than just "add some thinks" 
That's more or less what I've said: just take the replay file that is being writed while the game is on, with 2-5 minute delay, and enjoy the match from a replay instead of being conected to their game.
|
starcraft 2 version of this would be great.is this even possible on lotv engine?
|
On June 12 2015 12:59 -Kyo- wrote:Show nested quote +On June 12 2015 11:22 graNite wrote: Why with a delay? Why not only from your friends perspective. You can only see what he can. Higher ranked players could instruct lower league players on how to win from a position without any delay. It doesn't have to be a huge delay, but the system CS:GO and others have seems to work great. Honestly, this would be really cool to see added but I have my doubts it will...
You can have a good friend sitting behind you giving you tips in real life, you can share your screen or stream and have people online help you. There are already plenty of ways to cheat like that.
Granted, it would make it a lot easier but there are ways to that even now.
|
The only real issue i see with this which could be ezily averted is High Level Players. You can add anyone as your friend in which case you could add lets use Demuslim as an example and jump into his game which 4K ppl jumping into his game is going to avert them from using twitch and they will not want to do that. So I'd say they would have to make it Real Friends where you have to add them through email and accept in order to watch their games.
|
United Kingdom20322 Posts
On June 12 2015 17:02 Pandemona wrote: Be cool Dota 2 function version would be the best on a delay or something because of course it opens up to cheating. Or like you say you just straight up ban chat.
Think this should only be used for 1v1 2v2 3v3 4v4 ladder though and nothing else.
The Dota 2 client is really powerful and solves some of the problems quite well in my opinion.
- If you want to coach you join the game as a coach from the beginning and the loading screen displays who is coaching. Vision is reduced to whatever the team you are coaching sees, no delay
- If you only want to watch a game you join and can see everything. But there is a deleay - im not sure about it anymore but you can rewind and fast forward the game too (up to the point the game is played already)
- tournaments can be viewed through the client
- you can choose camera mode : free roam, obs, directed by the client itself etc.
Dota 2 engine is very different from sc2's by design choice, they have very different priorities
also, being able to see everything is a much bigger problem in sc2 than in dota i think. In a MOBA game there is little that you'd have to keep hidden for 10 or 15 minutes - while in sc2 there are occasionally situations where a 5 or even a 10 minute delay would be too little time and somebody watching could significantly influence the game from seeing something like a hidden expansion (or somebody upgrading air while building mech for example) 5-10 minutes after it started to happen
|
Thank you Cyro.
To Illustrate.
https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking for Dota 2
http://www.gamasutra.com/view/feature/131503/1500_archers_on_a_288_network_.php for SC2 and most if not all RTS
Note: Planetary Annihilation is different, here is how: http://forrestthewoods.com/the-tech-of-planetary-annihilation-chronocam/
I have no information on League except I see people regularly "rejoined the match".
@JCoto
I can tell you right now the packets are routed, See The Revolution of StarCraft Network Traffic. This does not necessarily mean the Battle.net server store a copy of every replay everyone ever played.
On June 15 2015 17:56 deacon.frost wrote:Show nested quote +On June 15 2015 14:49 CursOr wrote:On June 15 2015 00:05 AgamemnonSC2 wrote:Aisora on Battle.net explained why it is not possible: "The engine doesn't allow it. Which is why there's no spectator function in Heroes of the Storm aswell. Wether or not this is happening will depend a lot on wether or not they want to add it for Heroes of the Storm, I think.
It'd help making Starcraft a lot more social experience, yeah. It'd be amazing. But I'm afraid this will never really happen.
As far as I understand, the engine basicly works in a way that transfers user input to all clients. Which is why the game will lag for you, when it lags for the opponent. So when you want to join a game, that's already going on, you'd have to watch it from the start (because the input from all prior commands would be missing). At the same time, it'd cause the game to lag or get out of sync, once you have slight connection problems as a spectator.
In order for that to work, there would have to be an additional server that tracks all user input for all players. But the problem here would also be: "If the spectator server lags, your game will too".
When connecting to this server as a spectator, it has to send you the exact state of the game in the moment you join the game.. Causing a lot of traffic (when a lot of people watch you), making it very likely for your game (as a player) to lag.
You can see the problem of recreating a gamestate, when looking at recreating a game from replay." Now I'm worried we will never have this feature  This may be the way it works but, with enough effort, I am quite sure they could muscle in a some sort of feed out of a game that could be watchable. A 3rd server side member of every game, some sort of virtual observer, that somehow then feeds it to clients doesn't sound like an absolute impossibility. They need to do something :/ why not this. They've always bragged about how "the engine could do anything" + Show Spoiler +That's why I mentioned HLTV earlier, because it is just an observer which starts its own server from where it distributes every information needed.
In theory it is absolutely in their power to do it - you will have to enable this "observer" to connect to the game(or add it to the LotV client), you will have to enable some way to connect to this observer instead of the game lobby and then rework the network code to be more efficient. Like don't wait on laggers(it's a replay watching service, not a game). Maybe add sufficient delay so you can send compressed information for a period instead of every information right now(which is good enough for replay watching service but horribly wrong for players playing the game) etc. I don't think they want to do it, maybe it's too expensive, because their code is one huge mess(as it happens from time to time) and they would need to do more than just "add some thinks" 
The most likely truth considering the amount of ladder games we grind each day.
We can hope LotV uses the Planetary Annihilation model (even when the beta is already 2 month in). The bandwidth on server upstream is targeted at 1Mbit per player if you read the article at the end. I reason the bandwidth requirement on SC2 is lower but should not be much different because there are spells and micros that are not simply updated using "curves". Then again you always hear people complaining lag on that side.
|
Im sure it would be implementable in starcraft. The replays also get saved on blizzards end, im sure. A replay file is fairly small traffic, and im pretty sure it already gets uploaded to blizzard (or they should have it since its on their server). if it is uploaded live it should definitely be possible to watch your friends game in a replay format - at worst after the game has finished.
|
|
|
|
|
|