|
Not to rain on this parade.. as it's an awesome tool if its all legit, But.... There should be a way to limit the replay function to only games that match the logged in account name and code. Otherwise what is to stop someone loading up a replay under someone else's name.. typing a bunch of racist BM or something, and then using it to start a shitstorm. I'm sure if Blizzard implement this type of thing that won't be possible because using someone elses ID is somewhat against the ToS..
Unless when you load a replay it inserts your name when you type etc. (which I can't see it doing)
|
I imagined a suggestion thread when I saw the title in the sidebar, and I was thinking up a reply along the lines of "what a pointless thread, go make it yourself and stop complaining >.<"
But turns out it actually is that somebody who already made it. Wow thank you so much, this is incredible work you've done. <3 <3 <3
|
On April 13 2012 18:22 Gingerninja wrote: Not to rain on this parade.. as it's an awesome tool if its all legit, But.... There should be a way to limit the replay function to only games that match the logged in account name and code. Otherwise what is to stop someone loading up a replay under someone else's name.. typing a bunch of racist BM or something, and then using it to start a shitstorm. I'm sure if Blizzard implement this type of thing that won't be possible because using someone elses ID is somewhat against the ToS..
Unless when you load a replay it inserts your name when you type etc. (which I can't see it doing) You can edit replays easily... any text editor will do. This program "could" do that but why bother with much easier options available
Awesome concept. Blizzard seriously needs to step their game up T_T
|
If this works and doesn't get accounts banned, then seriously sick props for making this.
I hope this gets into tournaments.
|
On April 13 2012 18:22 Gingerninja wrote: Not to rain on this parade.. as it's an awesome tool if its all legit, But.... There should be a way to limit the replay function to only games that match the logged in account name and code. Otherwise what is to stop someone loading up a replay under someone else's name.. typing a bunch of racist BM or something, and then using it to start a shitstorm. I'm sure if Blizzard implement this type of thing that won't be possible because using someone elses ID is somewhat against the ToS..
Unless when you load a replay it inserts your name when you type etc. (which I can't see it doing)
Or you can just edit the replay file and insert chat commands with any of the numerous tools available to do so already. A lot of replay sites add "downloaded from X" to the replays, it's really not hard to do
|
On April 13 2012 18:26 tnud wrote:Show nested quote +On April 13 2012 18:22 Gingerninja wrote: Not to rain on this parade.. as it's an awesome tool if its all legit, But.... There should be a way to limit the replay function to only games that match the logged in account name and code. Otherwise what is to stop someone loading up a replay under someone else's name.. typing a bunch of racist BM or something, and then using it to start a shitstorm. I'm sure if Blizzard implement this type of thing that won't be possible because using someone elses ID is somewhat against the ToS..
Unless when you load a replay it inserts your name when you type etc. (which I can't see it doing) You can edit replays easily... any text editor will do. This program "could" do that but why bother with much easier options available Awesome concept. Blizzard seriously needs to step their game up T_T
Ah yeah, forgot about that. It's been months since I saw that kind of spam thing, you used to see it a lot on casted replays on youtube, but not much recently. I retract my worry.
As long as people don't get banned using it, then this is an awesome tool. Goes to show the community could look after the game itself even without blizzard. (tbh we could patch the game ourselves using the editor too, if it ever got to that.)
|
On April 13 2012 18:22 Gingerninja wrote: Not to rain on this parade.. as it's an awesome tool if its all legit, But.... There should be a way to limit the replay function to only games that match the logged in account name and code. Otherwise what is to stop someone loading up a replay under someone else's name.. typing a bunch of racist BM or something, and then using it to start a shitstorm. I'm sure if Blizzard implement this type of thing that won't be possible because using someone elses ID is somewhat against the ToS..
Unless when you load a replay it inserts your name when you type etc. (which I can't see it doing) It does do that. Any text that was typed in the original game, and any text that you type yourself, appears with your name (or the name of the person who is joining the replay with you). For all intents and purposes that I can see (eg chat, score screen, match history, etc) it replaces the original players with yourselves.
edit: while testing this I discovered what could be considered to be a bug. Chat from the replay is inserted into the game even past the resume point. Not really a big problem for its intended use but it's probably not desirable.
|
United Kingdom1381 Posts
I'd love to have a play with this, can I compile on a mac or is it windows only?
|
On April 13 2012 17:55 bgx wrote: The possible implications are even bigger than it seems, 2 players can grind certain unusual situations in game to perfect it, you can train 100 various ways to defend particular cheese or you can jump to some tournament game and play it out, even more you can judge and even critisizice some pro players play in their matches by showing different ways of doing something.
Blizzard banning players for using this program would be cutting their own leg, this tool provides more utility than whole battle net system when it comes to training. You dont need to play 100 custom games to learn something, you can perform an opening and start games after this when you only need particular segment to train. Again, you can use SALT maps for this, which unlike this tool, doesn't do injections and thus isn't considered a hack by Blizzard standards.
|
can you download a pro replay and relive the scenario for yourself?
|
On April 13 2012 18:36 cravin74 wrote: can you download a pro replay and relive the scenario for yourself? Yes but you'll need someone else to take over for the other player. You can't just play one side and have the ghost of MMA or the computer control the other side, for example (I think it technically would be possible to alter the tool to have the other client keep inputting the replay's actions, but nearly any deviation by yourself would make their actions nonsensical. You might be able to play against a 2-base all-in as executed by MC, but at the point that his units interact with yours (ie the attack happens) nothing would make sense). So you won't be able to practise against MKP's marine splitting.
|
I want to try it but I feel blizzard will use the banhammer on me..
|
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:
void*game = (void*)0x16C8C40;
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:
(void*&)f = vftable[31];
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:
offset<uint32_t>((void*)Pz[0],0x659C) = random_seed;
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*
|
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.
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.
Also... someone mentioned "It can't be a virus, it's open source!" Umm... lots of virus programs are open source, worked on as a collaborative effort. It's just that it'd be a real tough thing to hide when you've got the source to read through and compile on your own. Plus, just because the source posted isn't viral, doesn't mean that tempting binary might not be! (I'm not saying it is, just that I would rather people be cautious than trusting - I have been the IT Helpdesk before, and just a touch more paranoia makes all of our lives easier.)
|
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*
I totally agree. I have said a couple times that it should be easy for blizzard to implement something similar. I will definately take a look at the source code when I get back home
|
On April 13 2012 15:11 DigitalDevil wrote:Show nested quote +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.
edit; unnecessary, rude
|
HOW DO WE GET THE PARTING MARINEKING REPLAY????
|
I havn't tried it out yet, but according to some users in this thread this actually works?
Wow, just wow. If that's the case, then my hat's off for you sir. You're doing god's (blizzard's) job here my friend.
|
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.
|
Does anyone know what happens if the next game you play is a ladder game? Does it crash or what?
|
|
|
|