Program to resume games from replays - Page 34
Forum Index > SC2 General |
Traditional Fire
United States60 Posts
| ||
heartlxp
United States1258 Posts
| ||
rotegirte
Germany2859 Posts
On April 17 2012 07:48 Wegandi wrote: Remember Blizzard needs us, we don't need them. Is it me or are most people completely oblivious to the leverage at hand? Blizzard risks alienating a large percentage of their clientale if they went and banned tournaments and large swaths of their playerbase. They still have two more expansions they want to sell, and they still have a reputation to uphold. Sure, they can make the suicidal decision, and if they are that dumb then they get their just deserts and we have the truth about the quality of the company. Win/win in either case. They don't need us. We are nice to have. The worst to happen would be a week-long uproar on Reddit. They are financially well on the safe side with Diablo 3 alone. In regards to HotS and ItV, it really depends on their marketing strategy. They could appeal to the base customer. On the other hand, gamers come and go, every year a new generation grows into it. | ||
TheSuperCow
12 Posts
On April 17 2012 04:59 Proseat wrote: The contingency usecase for a tournament using this tool in the event of a disconnect would be the following:
So a pause at the start before the fast forward isn't necessary I think as this can be done by an admin without the respective player present at that time. AI support would also just be a gimmick, and not used in a tournament setting. I suppose when a disconnect happens, no replay is saved for the player who disconnected. This would indeed make it necessary to transfer the replay file between computers. It might be the best idea to ensure everything works anyhow. Regarding the player slots: Starcraft 2 does not actually use player slots, it merely uses teams, and the order players appear in teams is the order they joined in; it is not possible to reorder players in the same team. This is okay for 1v1's, but it might be cumbersome to get the players into the right slots for 2v2's and so on. Observers do not actually affect the game, so it does not matter what order they are in, or if there are more or less present than in the original game. But yes, this usage would work. Note that I have not actually tested this application (and especially the latest version) with more than two players, much less observers (although they should make no difference), so if someone could, I would much appreciate it. | ||
3FFA
United States3931 Posts
+ Show Spoiler + Insert witty comment that I can't come up with by myself here. Couldn't think of anything else to say. This is like meeting the most beautiful girl I've ever seen. Except... better. | ||
StarcraftMan
Canada507 Posts
On April 17 2012 05:18 kerpal wrote: What ever happened with the 'stronger colours' mod? They claimed that blizzard supported that. oh found it: http://www.reddit.com/r/starcraft/comments/lsupz/finally_uploaded_rstarcraft_interviews_dustin/ half-way down someone has summarized. It could be that they'll support this too, although it might be hard for them to set it as an exemption from the warden thing. Dustin Bowder just said "we support IT" in the video. "IT" doesn't necessarily mean the mod or hack. I take it as Dustin Bowder is saying they support the idea of adding a feature for stronger colors in the SC2 client but not that they support a mod. Blizzard cannot endorse mods, even if the mods are not harmful to Blizzard or the SC2 community. I guarantee you that if one of the big tournaments like IPL or MLG ran this color mod, they would hear from Blizzard. While Blizzard cannot endorse any mods, Blizzard can turn a blind eye to certain mods. IMO, the color mod and this resume game mod may qualify as mods that Blizzard can turn a blind eye to because it does no harm to Blizzard and the SC2 community endorses it. However, Blizzard would only turn a blind eye to these mods for individual use or small tourney use - Blizzard would most certainly disallow it at large tournaments. | ||
kerpal
United Kingdom2695 Posts
On April 17 2012 21:01 StarcraftMan wrote: Dustin Bowder just said "we support IT" in the video. "IT" doesn't necessarily mean the mod or hack. I take it as Dustin Bowder is saying they support the idea of adding a feature for stronger colors in the SC2 client but not that they support a mod. Blizzard cannot endorse mods, even if the mods are not harmful to Blizzard or the SC2 community. I guarantee you that if one of the big tournaments like IPL or MLG ran this color mod, they would hear from Blizzard. While Blizzard cannot endorse any mods, Blizzard can turn a blind eye to certain mods. IMO, the color mod and this resume game mod may qualify as mods that Blizzard can turn a blind eye to because it does no harm to Blizzard and the SC2 community endorses it. However, Blizzard would only turn a blind eye to these mods for individual use or small tourney use - Blizzard would most certainly disallow it at large tournaments. do you mean 'almost certainly' in that last line? because otherwise i don't really see where you're coming from. I don't see why blizzard can't/won't ignore the fact that tournaments (large and small) are using this feature to save games that would otherwise be hugely controversial. Well, not ignore so much as choose not to enforce the EULA in those cases. If you mean that in your opinion they won't allow it at high-profile events because it sets a bad precedent then i see what you mean, although i disagree. But if you mean that they for some reason CANNOT allow it at larger tournaments then i don't see why that's the case. | ||
Proseat
Germany5113 Posts
On April 17 2012 16:06 TheSuperCow wrote: I suppose when a disconnect happens, no replay is saved for the player who disconnected. This would indeed make it necessary to transfer the replay file between computers. It might be the best idea to ensure everything works anyhow. Regarding the player slots: Starcraft 2 does not actually use player slots, it merely uses teams, and the order players appear in teams is the order they joined in; it is not possible to reorder players in the same team. This is okay for 1v1's, but it might be cumbersome to get the players into the right slots for 2v2's and so on. Observers do not actually affect the game, so it does not matter what order they are in, or if there are more or less present than in the original game. But yes, this usage would work. Note that I have not actually tested this application (and especially the latest version) with more than two players, much less observers (although they should make no difference), so if someone could, I would much appreciate it. So if a player joins a custom game and lands in slot 2 of a team, he is still handled internally as the first player of that team because he joined first? What if there is a player who joins first, lands in slot 1 of a team, a second player lands in slot 2, but then the former player leaves the game and his slot 1 will be filled by a third player, which player is handled internally as the first player for that team? As for observers: I think they might be needed if they previously (before the disconnect) typed something in All chat? Or how will the fast forward of the replay react if that "player" of the observer team is not there? Will the chat text simply be filtered out? Which leads me to wonder: As the time for loading and fast forwarding of a replay upon entering a custom game largely depends on the type of computer, some will reach the resume time more quickly than others. Why does this not screw things up? Do the replayed commands from one client not translate to commands in the other clients? And is that why each client has to load the replay themselves? | ||
Grovbolle
Denmark3804 Posts
On April 17 2012 22:27 kerpal wrote: do you mean 'almost certainly' in that last line? because otherwise i don't really see where you're coming from. I don't see why blizzard can't/won't ignore the fact that tournaments (large and small) are using this feature to save games that would otherwise be hugely controversial. Well, not ignore so much as choose not to enforce the EULA in those cases. If you mean that in your opinion they won't allow it at high-profile events because it sets a bad precedent then i see what you mean, although i disagree. But if you mean that they for some reason CANNOT allow it at larger tournaments then i don't see why that's the case. Orb uses the color mod when he casts some pretty big tournaments. Yet we haven't heard about him being banned for using it. | ||
hillman
United States162 Posts
On April 13 2012 14:11 ReachTheSky wrote: Interesting but i can't see how this would actually be of use. Maybe, just maybe for tournaments but then again i can't see organizers allowing a third party program like this. Who knows though. Maybe you should add a poll to the OP to get the communities opinion on the matter. Did you watch the GSTL finals dude? I'm pretty sure if Blizz would approve something like this or make their own similar program, this would have solved many problems similar to those seen in the finals... | ||
TheSuperCow
12 Posts
On April 17 2012 22:41 Proseat wrote: So if a player joins a custom game and lands in slot 2 of a team, he is still handled internally as the first player of that team because he joined first? What if there is a player who joins first, lands in slot 1 of a team, a second player lands in slot 2, but then the former player leaves the game and his slot 1 will be filled by a third player, which player is handled internally as the first player for that team? As for observers: I think they might be needed if they previously (before the disconnect) typed something in All chat? Or how will the fast forward of the replay react if that "player" of the observer team is not there? Will the chat text simply be filtered out? Which leads me to wonder: As the time for loading and fast forwarding of a replay upon entering a custom game largely depends on the type of computer, some will reach the resume time more quickly than others. Why does this not screw things up? Do the replayed commands from one client not translate to commands in the other clients? And is that why each client has to load the replay themselves? Basically, there is an internal order of the players, which is the order in which they joined. I am not sure what happens when a player leaves and another joins; the new player might take the old players spot in the "join order", or he might be added at the end. I have not tested this. When Starcraft 2 runs through the players to determine spawn locations and create starting units, it iterates through them in this internal order. The index in this list is used as a unique identifier for each player. Each player is additionally assigned to a team. Players are sorted within a team by their internal index, ie. by the join order. My code tries to match players in the game to the players in the replay by rearranging the internal order so that it matches the order from the original game. It associates them by their position within each team. eg. the first player in the first team is moved to where the first player in the first team was in the original game. It is not possible to land in slot 2 of team 1 unless slot 1 of team 1 is already occupied. If slot 1 is occupied, it will then be impossible to "swap" those two players, again since Starcraft 2 merely maintains which team each player is on, and then sorts them by the join order. There is no slot number. Observers are somewhat treated as their own team, although my code sort of ignores observers since they have no effect on the game, perhaps besides chat as you mention. Any events from players not present in the game (including chat) is ignored, so chat from observers who are no longer present will not appear (theoretically, I have not tested this specifically). As for your last question: none of the events present in the replay (which are quickly processed upon starting the game) are transmitted over the network, not even the pause at the end when the time is reached. For what the game is concerned, these actions might as well be part of the map. It is as if the entire replay was scripted into the map, or at least up until the specified time. This is why all players must choose the same replay (or replay from the same game) and the same resume time. The players can both choose their own replay from the same game, but they must be identical (eg they must both last) until the specified resume time. If something is different between the computers, it is as if they are playing on two different maps; the game cannot possibly stay synchronized then. In fact, the first action sent over Battle.net (besides any chat) is an unpause. This might seem weird since Battle.net saw no preceding pause, and from a little googling it appears maps can not actually pause the game (unlike in wc3), but it is okay since Battle.net cares not about the state of the game; it merely relays the actions between players. The players can speed through the game at different speeds, this is true, but one game can only progress past a "tick" (the game runs at 16 ticks per second) at which it is certain it will not receive further actions for. Most likely, the game always runs with a "gap", a number of ticks that it can progress without worrying about receiving an action saying that something happened during those ticks. All clients must continually confirm that they have reached a particular point in the game, and that they will not send new actions until a specific tick. This introduces delay. The "gap" of one client will equal the lowest confirmed tick from another client - current tick. In other words, one client can progress up until the point at which all other clients have confirmed they will not send actions. If that made any sense. I'm confusing myself. So, uh, what was my point again... uh, the gap increases according to game speed I guess? Yes, it does. Before I introduced the pause, I had it so it reduced the game speed 40 seconds before it reached the desired time. The reason for this is that the delay/gap had grown so large due to the high game speed that it overshot the time by a few seconds. The pause gives the game some time to realize we are back at normal speed and reduce the delay. If the gap reaches 0, the lag screen will appear, since not all clients are keeping up, and if it grows too large the game will speed up since the game thinks it's lagging behind. I could be wrong on any point here, since I have not actually reverse engineered the network parts of Starcraft 2, but I'm probably not so far off. It could also be that Battle.net decides the tick at which actions will occur, instead of the client working out a delay on it's own. This would decrease lag but increase delay. Anyways, I was on a roll so I typed a lot. This is all just my current understanding, so I could be wrong on any part of this post. | ||
Eschaton
United States1245 Posts
/troll | ||
StarcraftMan
Canada507 Posts
On April 18 2012 00:18 Grovbolle wrote: Orb uses the color mod when he casts some pretty big tournaments. Yet we haven't heard about him being banned for using it. When I say "big tournaments," I mean tournaments like IPL, MLG, and GSL. I don't recall Orb using the color mod at IPL or MLG (heck, I don't even recall Orb casting at IPL or MLG before but I may be wrong). | ||
StarcraftMan
Canada507 Posts
On April 17 2012 22:27 kerpal wrote: If you mean that in your opinion they won't allow it at high-profile events because it sets a bad precedent then i see what you mean, although i disagree. ^^^^^^ this If Blizzard allows the color mod at IPL, MLG, or GSL, then it opens a whole other can of worms. What if smaller tournament organizers see IPL, MLG, and GSL are allowed to use mods and want to gamble that Blizzard won't enforce LAN hacks - we all know that Blizzard has already made mistakes in "blacklisting" tournament IPs that properly regiestered in advance with Blizzard for the tournament. | ||
coolcor
520 Posts
On April 17 2012 05:18 kerpal wrote: in no way does it hurt blizzard, but the danger is that accounts will be banned for hacking and tournaments will lose licences.. i think that the most likely scenario is a quiet few emails are exchanged and the tournaments quietly start using it and blizzard turns a blind eye. What ever happened with the 'stronger colours' mod? They claimed that blizzard supported that. oh found it: http://www.reddit.com/r/starcraft/comments/lsupz/finally_uploaded_rstarcraft_interviews_dustin/ half-way down someone has summarized. It could be that they'll support this too, although it might be hard for them to set it as an exemption from the warden thing. I want to note that the first question in this interview was about any alternate solution to tournament disconnects and browder's answer was that some of these solutions are big engineering tasks and some of them may be impossible for them to do. I guess by some of them he meant the ones that aren't this one because it doesn't seem like a big engineering task or impossible. But then why even think or talk about the impossible solutions at all and instead talk about the reasons they haven't done this solution? Did Blizzard really not see this solution or was Browder just trying to make the problem seem much harder to fix than it really is to trick the fans? | ||
Jotoco
Brazil1342 Posts
Not only does it help solve a huge problem of the community, but it is a POWERFUL training tool. Suddenly, you do not need to ask: "What if I did this differently?" You could very well just do it and see for yourself! But the MAJOR problem (for Blizzard) is that this is technically a hack, and it could get you banned for using it. What I would do (and I suspect many will do) is use it anyway, but instead of using it in their clients, they would download a pirate copy of the game (that can play outside B.net) and use this tool offline, so they can't get banned. So this would promote piracy, all because Blizzard is too blind and greedy for their own good. | ||
Attribute
United States6 Posts
| ||
LordWeird
United States3411 Posts
http://www.teamliquid.net/forum/viewmessage.php?topic_id=67365 | ||
theBullFrog
United States515 Posts
| ||
JackDT
724 Posts
On April 18 2012 05:57 Attribute wrote: TheSuperCow, would you consider putting this project on a website such as Github, Google Code, or Sourceforge? Or if you don't want to do that yourself, would you mind formally giving your work a permissive license so someone else can? I'm sure there are a number of coders on TL that appreciate you have released your source code and would like to help if they can. ++ please do. | ||
| ||