On May 18 2013 04:36 Ichabod wrote:
Would it be possible to default the GameHeart game speed to "fastest" to ensure that accidents aren't made? (Like in GSL, potentially)
I am not sure if this is entirely independent of map, but if it can be done, I think it could be helpful for consistency.
Would it be possible to default the GameHeart game speed to "fastest" to ensure that accidents aren't made? (Like in GSL, potentially)
I am not sure if this is entirely independent of map, but if it can be done, I think it could be helpful for consistency.
The lobby settings in the GameHeart maps are currently set to hide the speed option (as far as I know). Thus the user can't change the game speed.
Unless the default speed setting of the map itself was set wrong, the speed will be "faster". If you ever encounter that problem in a gameheart map, please let us know immediately. You can verify the speed in the gameplay options of SC2.
It is possible to alter the game speed with triggers. We can hardcode fastest speed usage in triggers, but you shouldn't be able to alter the speed anyway. So, this is not really required, but we might add that one line of code.
There was a rare bug after patch 1.5 or during 1.5 arcade beta where games could start with normal speed ignoring the lobby's speed value. But this has been fixed a long time ago.
In the GSL incident, a normal map was used in addition to an observer interface.The problem was likely to be caused by a referee pressing the hotkey that slows down the game speed. By default it's set to the Minus button on the Numpad.
Gameheart cannot use referees and spectators in the sc2 lobby due to the way we have to do parts of the UI and special features like the zoom. Thus, this hotkey functionality is impossible to work in gameheart.
-> So, GSL can avoid that mistake, if they unbind that button on the accounts that play as referees ingame.
-> Blizzard could improve the transparency of this by making the gamespeed changes visible on the viewer's screen as a chat message to all spectators ("Game Speed set to fast."). So, at least the casters and other viewers can alarm a referee to correct this, if this was accidentally caused by a referee. Alternatively they could just disallow referees to alter the game speed ingame.
Also, "fastest" only exists in Broodwar. SC2 labeled the fastest speed "faster".
I'm amazed how gameheart is pretty fast blamed for everything that goes wrong...
The only time we screwed up was the blue icon for the broodlings afaIk. This was caused by not filtering out the "Broodling (Escort)" unit created by the arming ability of the Broodlord.
Carrier and Ghost Academy use these types of abilities, too, and the nuke construction has to be displayed, so we had to filter a few things out and missed the "Broodling (Escort)" unit. Not filtering that case out made the engine use an image file that didn't exist in the created text tag resulting in a blueish image. That image is used in SC2's engine as a fallback image.
This problem was only visual and couldn't alter the game for the playing players.
A little talk about observer maps: challenges, solutions and problems (spoiler because it is really long.):
+ Show Spoiler +
The way these observer maps works can potentially screw up a lot, if not handled, created and tested carefully, as it is an arcade map. I build a diablo map, so you can see how much you can actually change... pretty damn much. But we can't do everything we would like to.
To make the observers have special features, we are required to execute code for them to let them interact with the game.
Sadly this means that we can't use the observer features SC2 grants as those are only available to real observers which cannot interact with the game state (anymore since WoL patch 2.0.4 fixed it).
We would use the real observer's features, if we could. But there are no trigger actions existing that provide that possibility. I would love to see Blizzard adding a way for triggers to control a few aspects of it like the fog information. But I will come to that in a little bit.
So, every observer map has to simulate all observing features using real players acting as fake observers. This means that we had to manually try to rebuild all features with the tools the editor provides.
Well, the truth is that we can't simulate everything because a few aspects might be impossible and simulating a few aspects would make the game unplayable because the workaround would cost huge amounts of performance.
Let me list what comes to my mind right now:
Fog:
- Fog doesn't change when you "switch into a player's vision". You might notice that on stream when the creep stays visible in the fog, even if the player shouldn't have seen it. You are still watching through the fake observer player's eyes. Also, the light gray fog areas aren't updated to become dark fog areas when the player didn't scout that fog in the game. So, you are always using your own fog data and not the data the other player's use.
- "Snapshots", images that a building generates for a player when it is covered in fog after being scouted, aren't loaded when you switch into player's view. At least Ryan came up with the genius idea to mark the buildings that a player saw, allowing us to hide all non-marked buildings when you change "to a player's view" (= receive shared vision with player; unshare with all other players).
Referee/Observer chat and pauses:
- Referees, we can't make a player a referee. Referees are observers that can alter the game state a bit. They can pause/unpause the game unlimited times and alter the game speed. It's not possible to alter the count of pauses for our fake observers. Thus we can't use unlimited pauses. Luckily it seems that this isn't a huge problem. Before I feared that this would be a big deal, but it seems that the tournaments are fine right now.
- Normal spectators can pause games. Normal spectators can write text visible to all.
- These chat "problems" could be fixed via using another chat instead of the default chat panel (= fake chat). But this means that we would need to sacrifice the ability for teamchat and referees would need to write a few special chars to be able to talk to all. The problem is that it's not possible to differentiate between team chat and global chat. Thus, we can't mirror the message into that fake chat. But we would be able to display icons, etc, into the chat, if we would use a fake chat.
Referee speed changes:
- Since we can't use referees, they can't alter the game speed with their sc2 hotkeys anymore. Well, this fixes the problem with the accidental speed changes as it seemed to have occurred during a GSL match. But it would be possible to simulate that and give notices to the other fake observers. But this is something that really doesn't need to be in this map as you would always want to play on "faster" in sc2.
Team colors:
- Team colors tint both players yellow because that's what the function does, if used as a player.
Critter explosions:
- Fake observers can blow up critters via spamming clicks on them (common Easter-egg in Blizzard's RTS games). Real observers cannot blow them up. I removed the behavior in my own observer mod, but Ryan didn't alter anything with that so far as he wasn't aware of this until now. So I might "fix" that in future. I don't know of any caster actually exploiting that. Are there even critters in the maps gameheart provides?
There have been a few challenges we solved, too. Well, mainly all observer features that you experience and the following one:
- The production queue and rally points are visible to the fake observer because the fake observer shares control with the player (!). This sounds like a major problem, but with a few other settings, the observer can't do anything with the units of a player.
But there was one bug/problem we had to fix. Due to the balance change in WoL beta that disallowed the injection of a hatchery via the unit panel, if you had queens and hatcheries selected, the transport UI (bunker/medivac/...) wasn't included in those types anymore. At least I assume that the problem in the engine started back then.
So, this means that observers were actually able to unload units via clicking onto the wireframe in the UI. We fixed this in GameHeart via making these unit's buttons unclickable with an invisible frame in front of that after receiving knowledge of this problem. The trigger API provided by Blizzard is lacking that one command type and thus it was/is a problem on Blizzard's site. We can't know every engine bug or missing aspects before experiencing these. =/
I hope you appreciate that I wrote this down to give you all more insights in observer mods. Also, I hope Blizzard reads this as they can improve the engine on their end for these types of mods, if they want. But currently they are all buried under work, afaIk. Also, I wanted to educate them because they weren't aware of the way we need to do things to make this even happen.
Please note that I didn't write this to scare tournament away from using these observer mods. Basically I want to show you that observer mods have small problems, but we do our best to solve them. I just want to play with open cards and present the facts and the current state.
Observer mods open up a few new features, but they always contain a risk because we aren't the ones that update sc2. Each patch could break something. There is always a risk and it's impossible to avoid that. But we do our best to keep the risk as tiny as possible.
It will always be a trade-off between security and more functionality if you don't use a default map. But if you don't encounter problems, it's likely that everything is fine. Well, a lot of software that you use might have security holes and you use it. Well, if you can read this you are already risking something because your device is/was connected to the internet.
Since this is only an observer mod, the things that are most likely to break are only aspects of the mod for the observers. We don't alter crucial game data.
Well, the only game data that is changed are small additions for the stronger team colors. Due to the way sc2 adds code to the actors, there is a chance that this can bug the visual representation of a unit in some way.
Also, Blizzard started to warn us, if they alter a few things that can cause bugs in maps (as seen here). So it really is unlikely that something will break, but it's impossible to guarantee that it won't. Well, even Blizzard breaks a lot of things with their patches within their engine, so the default game isn't safe.
In the past 3 years, triggers didn't break and this mod uses triggers for pretty much everything like all the crucial parts to make observers work.
So, in the end I think that it's fairly safe to use it.
If something breaks, you will either notice it the first time you use it after it broke or you won't even notice it at all because it's just a tiny detail. Well, after each patch we will test the mod for problems, too, so you might never encounter obvious problems.
In any way, if something breaks, we might not be aware of that problem. So, please notify us, give us a replay and the name of the player that used that and we can fix/work around the problems as fast as we can (as we did before).
Also, keep in mind that not every problem is created by us. For example, there was a problem that a caster had with following a unit. In the end this was a user error because it's a functionality of sc2 that we cannot alter/break. Also, things don't randomly break. New problems will most likely occur due to major patches (which appear maybe once a year), but usually these big things have a beta phase where mods can be tested and converted and I assume that I've a big chance to receive beta access due to the amount of work I did in the editor.
Thanks for reading.
As a little extra:
I think that I will release the observer interface with the gameheart UI soon.
I taught the leaderpanel to only show levelable upgrades, but I can't move that out of the default leaderpanel into its own leaderpanel. This was possible a few patches ago.
I hope that this will be made possible by Blizzard again, since this allows gameheart's weapon/armor upgrades visible on the UI, if I can create a second leaderpanel and make the upgrades frame always visible.
Since I don't know any more features to add to the UI, I should release it.
This interface should be used for non-gameheart maps/replays to give you the same UI. Also, I hope to create a standard in the interfaces with it. For example, I used the message log window to display the hotkeys. Atm, you can only toggle the replay/observer toolbar, but I assume I will add more in future versions. I suggested Blizzard to add a way for us to put that information into a frame displayed when the F10 game menu is shown as that is the hotkey everyone knows, so the most intuitive place to put it would be there.
To make the observers have special features, we are required to execute code for them to let them interact with the game.
Sadly this means that we can't use the observer features SC2 grants as those are only available to real observers which cannot interact with the game state (anymore since WoL patch 2.0.4 fixed it).
We would use the real observer's features, if we could. But there are no trigger actions existing that provide that possibility. I would love to see Blizzard adding a way for triggers to control a few aspects of it like the fog information. But I will come to that in a little bit.
So, every observer map has to simulate all observing features using real players acting as fake observers. This means that we had to manually try to rebuild all features with the tools the editor provides.
Well, the truth is that we can't simulate everything because a few aspects might be impossible and simulating a few aspects would make the game unplayable because the workaround would cost huge amounts of performance.
Let me list what comes to my mind right now:
Fog:
- Fog doesn't change when you "switch into a player's vision". You might notice that on stream when the creep stays visible in the fog, even if the player shouldn't have seen it. You are still watching through the fake observer player's eyes. Also, the light gray fog areas aren't updated to become dark fog areas when the player didn't scout that fog in the game. So, you are always using your own fog data and not the data the other player's use.
- "Snapshots", images that a building generates for a player when it is covered in fog after being scouted, aren't loaded when you switch into player's view. At least Ryan came up with the genius idea to mark the buildings that a player saw, allowing us to hide all non-marked buildings when you change "to a player's view" (= receive shared vision with player; unshare with all other players).
Referee/Observer chat and pauses:
- Referees, we can't make a player a referee. Referees are observers that can alter the game state a bit. They can pause/unpause the game unlimited times and alter the game speed. It's not possible to alter the count of pauses for our fake observers. Thus we can't use unlimited pauses. Luckily it seems that this isn't a huge problem. Before I feared that this would be a big deal, but it seems that the tournaments are fine right now.
- Normal spectators can pause games. Normal spectators can write text visible to all.
- These chat "problems" could be fixed via using another chat instead of the default chat panel (= fake chat). But this means that we would need to sacrifice the ability for teamchat and referees would need to write a few special chars to be able to talk to all. The problem is that it's not possible to differentiate between team chat and global chat. Thus, we can't mirror the message into that fake chat. But we would be able to display icons, etc, into the chat, if we would use a fake chat.
Referee speed changes:
- Since we can't use referees, they can't alter the game speed with their sc2 hotkeys anymore. Well, this fixes the problem with the accidental speed changes as it seemed to have occurred during a GSL match. But it would be possible to simulate that and give notices to the other fake observers. But this is something that really doesn't need to be in this map as you would always want to play on "faster" in sc2.
Team colors:
- Team colors tint both players yellow because that's what the function does, if used as a player.
Critter explosions:
- Fake observers can blow up critters via spamming clicks on them (common Easter-egg in Blizzard's RTS games). Real observers cannot blow them up. I removed the behavior in my own observer mod, but Ryan didn't alter anything with that so far as he wasn't aware of this until now. So I might "fix" that in future. I don't know of any caster actually exploiting that. Are there even critters in the maps gameheart provides?
There have been a few challenges we solved, too. Well, mainly all observer features that you experience and the following one:
- The production queue and rally points are visible to the fake observer because the fake observer shares control with the player (!). This sounds like a major problem, but with a few other settings, the observer can't do anything with the units of a player.
But there was one bug/problem we had to fix. Due to the balance change in WoL beta that disallowed the injection of a hatchery via the unit panel, if you had queens and hatcheries selected, the transport UI (bunker/medivac/...) wasn't included in those types anymore. At least I assume that the problem in the engine started back then.
So, this means that observers were actually able to unload units via clicking onto the wireframe in the UI. We fixed this in GameHeart via making these unit's buttons unclickable with an invisible frame in front of that after receiving knowledge of this problem. The trigger API provided by Blizzard is lacking that one command type and thus it was/is a problem on Blizzard's site. We can't know every engine bug or missing aspects before experiencing these. =/
I hope you appreciate that I wrote this down to give you all more insights in observer mods. Also, I hope Blizzard reads this as they can improve the engine on their end for these types of mods, if they want. But currently they are all buried under work, afaIk. Also, I wanted to educate them because they weren't aware of the way we need to do things to make this even happen.
Please note that I didn't write this to scare tournament away from using these observer mods. Basically I want to show you that observer mods have small problems, but we do our best to solve them. I just want to play with open cards and present the facts and the current state.
Observer mods open up a few new features, but they always contain a risk because we aren't the ones that update sc2. Each patch could break something. There is always a risk and it's impossible to avoid that. But we do our best to keep the risk as tiny as possible.
It will always be a trade-off between security and more functionality if you don't use a default map. But if you don't encounter problems, it's likely that everything is fine. Well, a lot of software that you use might have security holes and you use it. Well, if you can read this you are already risking something because your device is/was connected to the internet.
Since this is only an observer mod, the things that are most likely to break are only aspects of the mod for the observers. We don't alter crucial game data.
Well, the only game data that is changed are small additions for the stronger team colors. Due to the way sc2 adds code to the actors, there is a chance that this can bug the visual representation of a unit in some way.
Also, Blizzard started to warn us, if they alter a few things that can cause bugs in maps (as seen here). So it really is unlikely that something will break, but it's impossible to guarantee that it won't. Well, even Blizzard breaks a lot of things with their patches within their engine, so the default game isn't safe.
In the past 3 years, triggers didn't break and this mod uses triggers for pretty much everything like all the crucial parts to make observers work.
So, in the end I think that it's fairly safe to use it.
If something breaks, you will either notice it the first time you use it after it broke or you won't even notice it at all because it's just a tiny detail. Well, after each patch we will test the mod for problems, too, so you might never encounter obvious problems.
In any way, if something breaks, we might not be aware of that problem. So, please notify us, give us a replay and the name of the player that used that and we can fix/work around the problems as fast as we can (as we did before).
Also, keep in mind that not every problem is created by us. For example, there was a problem that a caster had with following a unit. In the end this was a user error because it's a functionality of sc2 that we cannot alter/break. Also, things don't randomly break. New problems will most likely occur due to major patches (which appear maybe once a year), but usually these big things have a beta phase where mods can be tested and converted and I assume that I've a big chance to receive beta access due to the amount of work I did in the editor.
Thanks for reading.
As a little extra:
I think that I will release the observer interface with the gameheart UI soon.
I taught the leaderpanel to only show levelable upgrades, but I can't move that out of the default leaderpanel into its own leaderpanel. This was possible a few patches ago.
I hope that this will be made possible by Blizzard again, since this allows gameheart's weapon/armor upgrades visible on the UI, if I can create a second leaderpanel and make the upgrades frame always visible.
Since I don't know any more features to add to the UI, I should release it.
This interface should be used for non-gameheart maps/replays to give you the same UI. Also, I hope to create a standard in the interfaces with it. For example, I used the message log window to display the hotkeys. Atm, you can only toggle the replay/observer toolbar, but I assume I will add more in future versions. I suggested Blizzard to add a way for us to put that information into a frame displayed when the F10 game menu is shown as that is the hotkey everyone knows, so the most intuitive place to put it would be there.