|
On April 13 2012 14:34 Gorkon wrote: Using an unauthorized program would probably incur a Bnet ban, so I'll just wait until Blizzard creates their own similar feature. Good idea, though. Sins of a Solar Empire has a feature that lets you resume multi-player games, and it works quite well. I'm sure Blizzard is working on it. Even Age of Empires had a save function for multiplayer games.. It's nothing new really.
|
Does anyone know what happens if the next game you play is a ladder game? Does it crash or what?
I have not tried yet but my assumption is BNet is much less liberal with the random seed in ladder games. War3 didnt use BNet in custom games and was very loose with custom games as they were direct to IP. I think the random seed not being strictly enforced is because BNet isn't actually playing the game state out (to save resources) and as long as the peers trust each other / agree on the game state they won't drop it.
With ladder games they are playing the game state out and if you change the random seed I would expect a desync.
|
Random nerd joins TL, saves the world. Awesome film
|
Even Age of Empires had a save function for multiplayer games.. It's nothing new really.
Does anyone know of another game that has a rolling save feature like this? One where you don't have to explicitly save and can resume at different times?
|
On April 13 2012 18:47 kayrice wrote:I've only glanced at the source code, but I really want to clear up some serious confusions I'm reading in this thread. First off it's totally NOT a hack or cheat of any kind. It takes advantage of the fact that as long as players agree on the synchronized game state the game will stay alive. Also I saw someone defending Blizzard for not implementing this because the guy that made this "might know something they don't". That's really odd to say considering they have the source code to the game and he had to reverse engineer the entire thing. They could have added this feature easily since they have the entire blueprint of the game. He has a very very narrow view of the source code that is cryptic and extremely hard to understand. For example: What the hell is that? Who knows. Blizzard doesn't even need to know this because they have the source code to the objects and aren't concerned with their location in memory. This guy had to find out where that is, along with everything else. Seriously need to respect the fact that he's doing this with pokes and prods at bytes while Blizzard can't do this with a team of hundreds of developers, millions of dollars, and the original source code / blueprint. Another good example is: Here he's calling "Function #31" essentialy. Blizzard probably has a really nice and simple name for this function, and a description of all it's arguments and how it works. He knows it's Function #31 and has to read the assembly code to determine how it may work. The only thing that could be considered a "hack" could be how the random seed can be overridden: Maybe for custom games the random seed isn't created by BNet and as long as the game state hash matches the players will not de-synchronize. Not counting the basic glue needed to make any Windows program and hook into the Starcraft process, StormLib, MPQ, etc. the whole thing is done in about 300 lines of code. Impressive! *Hats off*
agreed ^^ as a CS student this is really respectable work, has impressed me as well.
|
On April 13 2012 19:01 kayrice wrote:Show nested quote +Does anyone know what happens if the next game you play is a ladder game? Does it crash or what? I have not tried yet but my assumption is BNet is much less liberal with the random seed in ladder games. War3 didnt use BNet in custom games and was very loose with custom games as they were direct to IP. I think the random seed not being strictly enforced is because BNet isn't actually playing the game state out (to save resources) and as long as the peers trust each other / agree on the game state they won't drop it. With ladder games they are playing the game state out and if you change the random seed I would expect a desync.
Ah ok, I can imagine that using this program and then accidentally entering a ladder game could quite easily be misinterpreted as someone using a hack, hopefully that won't cause problems :/
|
On April 13 2012 19:01 maartendq wrote:Show nested quote +On April 13 2012 14:34 Gorkon wrote: Using an unauthorized program would probably incur a Bnet ban, so I'll just wait until Blizzard creates their own similar feature. Good idea, though. Sins of a Solar Empire has a feature that lets you resume multi-player games, and it works quite well. I'm sure Blizzard is working on it. Even Age of Empires had a save function for multiplayer games.. It's nothing new really. Thats some futuristic stuff your talking about, technology isnt there yet ! they said so
|
On April 13 2012 18:57 kayrice wrote:Show nested quote +it's not incompetence. Stop being ignorant. Go learn some basics of computer science so you have some common sense on the issue or don't post. Cool I've got my masters degree please edify us.
you really think blizzard is too incompetent to write this? Seems like you fled under the radar with that degree.
|
On April 13 2012 18:50 felisconcolori wrote: Interesting tool, but I think Blizzard would not like it for one reason - the injects. Because it's actually not playing a replay, so much as it's playing a custom game at high speed while replicating all of the actions both players took (using the replay as a script) until it hits a certain point, then it stops and you take over. Not entirely, and I apologise because this misconception might have stemmed from my description of how it works. The program itself does not inject any actions into the game. Instead, the program simply "forces" SC2 to play the replay, even though it's in a custom game. All of the "at this time in the replay player 1 moved this unit, so now i'm going to move this unit" stuff is handled by SC2 itself through the very same functions that are used when you load up a replay. The only difference is that those functions are being activated inside of a playable game, rather than the replay viewer. So instead of all of those unit movements and actions and such affecting a replay state that you cannot affect in any way, only observe, they affect the current playable game state. In a very real sense it is actually playing a replay, just on a different stage than usual.
On April 13 2012 18:50 felisconcolori wrote: Great for what the OP created it for. Seriously, badass. But unintended consequence - you can also use it (with modifications, since the OP gave us the source for it) to create a bot which will play the game. Imagine if you could start a game, then let this take over and have an absolutely perfect starting build order/opener. This is the part where blizzard gets unhappy - it's using essentially bannable botting techniques for good. Which means with a little bit of reprogramming, it can be used for evil. I like what it offers, and think it's a great proof of concept - Blizzard has really no excuse for not being able to offer this kind of functionality from within the client over bnet in an approved and secure way. But I think Blizzard will be very skeptical of it, and probably treat it exactly the same as a maphack/bothack because it is using the same techniques. In an attempt to see if this were possible, I altered the program to move through the replay at normal speed instead of super speed. I then ran it only on one of my clients while both started a custom game. Immediately upon the game loading, both clients hit a Desync window and had to exit. So I'm not sure if it is possible to use this technique to automate one client without the other's permission.
edit: this might have something to do with the program changing the RNG seed. Perhaps if you didn't change it there might not be a desync, but then the automation may not work properly due to variance.
|
Does this even works for multiplayers games?
|
On April 13 2012 18:53 Exempt. wrote:Show nested quote +On April 13 2012 15:11 DigitalDevil wrote:On April 13 2012 15:06 hegeo wrote:On April 13 2012 15:04 DigitalDevil wrote: One programmer can do this within such a short span of time and Blizz can't implement something decent for who knows how long? I'm wondering - did they ever say they couldn't? I don't think so. Who cares if they ever said they could or couldn't? The fact that it's not implemented speaks for itself, and if it is technically this easy to implement, then there is unlikely to be good justification to not have it implemented. Blizz is either lazy or incompetent. it's not incompetence. Stop being ignorant. Go learn some basics of computer science so you have some common sense on the issue or don't post. Did you completely miss the posts I made further in the thread?
|
Ah ok, I can imagine that using this program and then accidentally entering a ladder game could quite easily be misinterpreted as someone using a hack, hopefully that won't cause problems :/
I would imagine with how locked down BNet is now-a-days any dsync is flagged. However they are likely aware that the process is hooked and have a CRC32 or similar hash of the shared libraries and binaries that are hooking into the process. They did this with other games with the "Warden" system. They can't assume anything hooking into the process is a hack as there are a wide range of programs that do this, such as (ironically) anti-virus programs.
As Blizzard gets more flags they will make their choice to flag this as a hack or not.
|
you really think blizzard is too incompetent to write this?
Judging by the high demand and lack of implementation with the abundance of resources, what would you classify it as other than incompetence?
|
On April 13 2012 19:09 DigitalDevil wrote:Show nested quote +On April 13 2012 18:53 Exempt. wrote:On April 13 2012 15:11 DigitalDevil wrote:On April 13 2012 15:06 hegeo wrote:On April 13 2012 15:04 DigitalDevil wrote: One programmer can do this within such a short span of time and Blizz can't implement something decent for who knows how long? I'm wondering - did they ever say they couldn't? I don't think so. Who cares if they ever said they could or couldn't? The fact that it's not implemented speaks for itself, and if it is technically this easy to implement, then there is unlikely to be good justification to not have it implemented. Blizz is either lazy or incompetent. it's not incompetence. Stop being ignorant. Go learn some basics of computer science so you have some common sense on the issue or don't post. Did you completely miss the posts I made further in the thread?
What, did you contradict yourself later? If so my mistake for calling you out, otherwise it doesn't matter. It's a highly silly viewpoint to think blizzard couldn't write code to do the same thing if they wanted to.
Anyways on a side note I'm not detracting from the OP, like I said earlier it's impressive that he wrote it.
Pathetic that there can't be a thread without fucking blizzard bashing.
|
So guys at Blizzard go to work every day a week, sit infront of their computers for 8 hours "working" and we get laughable amount of promised features 2 years after release. Im curious, what exactly do they fucking do, especially because Browder said for a million things such as shared replay viewing or clan features that they "love the idea and are looking into it and its definitely on their to do list". But I guess first on that list is what than? Modeling 5 units that they managed to come up within one year? Blizzard DOTA?
-Hey guise i tell em we look into ther ideas haha! -Oh dustin yu epic troll you!
-Promises tons of features; clan support, shared replay viewing, custom game interface, arcade, removing ip blacklisting for tournaments, better chat and social features, name changes, implementing user maps in ladder, all kinds of balance promises. -Gives none of those in two years.
/close enough
|
On April 13 2012 19:11 kayrice wrote:Judging by the high demand and lack of implementation with the abundance of resources, what would you classify it as other than incompetence?
edit: removed
|
I dunno
Answer I was expecting. Maybe you should stop trying to have a logical discussion considering you have no viewpoint?
|
That's nice, would save a lot of difficult decisions for tournament hosts.
|
It's a highly silly viewpoint to think blizzard couldn't write code to do the same thing if they wanted to.
Ok I can play your game. Your arguments are _highly_ silly and I can cure cancer. Damn this is easy.
|
On April 13 2012 19:17 kayrice wrote:Show nested quote + It's a highly silly viewpoint to think blizzard couldn't write code to do the same thing if they wanted to. Ok I can play your game. Your arguments are _highly_ silly and I can cure cancer. Damn this is easy. Welcome to TL
|
|
|
|