Previous updates:
GameHeart Project, Update #1
GameHeart Project, Update #2
GameHeart Project, Update #3
GameHeart Project, Update #4
Update -
This is going to be a shorter update than normal as I did spent quite a bit of time out of town over the holiday so I did not get as much work done, but there is still some interesting things to talk about. Unfortunately none of those things really warrant the pretty pictures I usually try to include in these posts so it is going to be a lot of text.
So the week before last we saw the launch of GHLight (or the new GameHeart). Featured first in the Break Out Invitational, and then Red Bull Battle Grounds it was exciting to see it in action. With many features yet to be implemented, it was only the core of what I plan for GameHeart Light to be, but I was pleased with the result anyways.
We also saw the older version of GameHeart used at Dreamhack this last weekend. In fact, I am going to go ahead and say that I think that will be the last time we see the old GameHeart but I will talk about that in a later section.
Stronger team colors
I think I am actually going to remove stronger team colors from GHLight for the time being. When extension mods are released I will create two separate mods, one without STC and one with STC but for now I am going to remove it from the GHLight maps.
Why? Because implementing the HotS units with STC is going to take a little time and having some units with STC and some without looks kind of strange. I think STC is a really fantastic addition to spectating Starcraft but it needs to be presented well and I don’t think having half the units unaffected is the way to do that.
Pzea has already provided me with the textures for the HotS units but adding them can be complicated so the delay is all on me.
Event recap and preview -
So we saw the new GameHeart used in both the Break Out Invitational and Red Bull Battle Grounds New York over the last two weeks, as well as the old version used at Dreamhack. I want to quickly go over all three events, the things that went wrong, and what I have done to fix them. But first I am excited to announce that both Shoutcraft America and ASUS ROG will be using the new GHLight maps for their events this weekend. And there are more events to come! Well let’s go over the events this last week then.
Break Out Invitational
The BOI was the first tournament ever to use the new GameHeart and I am really grateful for Feardragon64 putting his faith in me that it would work and be a boon for his tournament. This guy puts in a huge amount of hard work on his projects and I know from experience it can be difficult to trust other people to do their part sometimes when you are so heavily involved in something.
He helped me test GHLight for hours and hours before and after his event, and his observer Kuren helped out massively as well. I cannot thank these two enough for the time they put in to help me get GHLight ready.
Now with that said we noticed a couple of problems before and during the event, and while I do not think they had much of a negative impact on the event itself I want to go over them now.
Logos not always appearing
We noticed this bug early on for both Feardragon and Kuren. I was really confused by the issue at first but I eventually settled on the cause being something related to the Gax3 actor phasing tech I was using that was created by Renee. Don’t get me wrong, the phasing tech Renee created is AWESOME and has always worked perfectly for me in the past. But for some reason it seemed like it did not work as I expected for observers.
For those of you unfamiliar with what the actor phasing tech does (why would you be?) it adds functionality to the sc2 editor that allows you to show or hide actors (actors are anything you see on the game stage, like a unit’s 3D model, a missile flying through the air, or an explosion effect when something blows up… they are all actors) for specific players. Essentially it is what allowed me to hide the logos from the players in the original GameHeart while keeping them visible for observers.
Because I was fairly certain the issue was related to this actor phasing tech for observers, and I did not understand how it fully worked I had to sit and think for a little bit about a solution. The only thing that came to me was to explore something that my partner on GameHeart, Ahli, had mentioned before. Apparently Blizzard had added a player filtering system to actors in the data editor which would make it so specific players could not see an actor. It was a relatively new system and I had never tried it so I went exploring. Boy am I glad I did. This system is perfect for the needs of GHLight. It would not have worked for the original GameHeart because of some limitations with it, but for GHLight it was absolutely perfect.
Not only would this new system work reliably and efficiently for showing the actors to observers, and hiding them from the players, it would also hide them from observers when they switch to player vision. This is huge because one thing with GameHeart is I always get a lot of comments about ‘can the players see the logos?’ or ‘if players can see the logos then they can get an advantage’ etc. Players cannot see the logos, and using this system viewers can clearly see that when the observer switches to player vision and they all disappear.
What is the limitation? Basically I cannot change what players are being filtered out by the actor dynamically. I tried but it appeared to be a locked or disabled feature. That means that to have all combinations of players for a logo you would need many thousands of identical actors with minor adjustments. But because we wanted to filter it out for everyone but player 14 (or whatever the observer ID is) we only needed about 16 actors total.
So I used this new actor filtering system to redesign how decals function in GHLight and it worked with great success when testing it with Ravi (Feardragon). He was able to always see all of the logos and it made me feel the problem had been solved. I was quite happy.
Until the event started. Once it began it became clear that while we had solved the problem for Ravi we had not fixed it for Kuren. Some logos were showing up for him as they were meant to, but others were not. It was troubling to me to have an imperfect launch for GHLight and a handful of people in the chat did notice that some bases had logos and others didn’t. So it appeared that whatever was causing Ravi’s issue (and we actually learn more about this later when dealing with a stronger team colors issue) and whatever was causing Kuren’s issue were two different things.
Because his problem was only affecting him we decided to take a look at graphics settings as a potential culprit before day 2. I had him take a screenshot of his graphics settings and send it over. Luckily we had very similar graphics cards so whatever was affecting him would be very likely to affect me as well. After mirroring his settings sure enough when I loaded a game some of the logos were showing up and some weren’t. Now that we knew the issue was related to graphics settings I was able to go through each setting and change it individually to try to find the exact culprit. It turned out to be the ‘effects’ setting.
So that is the anti-climactic end to the tale of the mysteriously randomly invisible logos. You just have to set your ‘effects’ setting to high or better in your graphics settings and it resolves the issue. I will go back to the guy who made the decal model to see if he can help me make a new one that works 100% of the time even on low or medium settings but for now this is a fine solution as most tournaments will already be using high or better settings.
Strong colors not showing up on starting units
The next issue we noticed was that stronger colors was not showing up for some of us on the starting units. In fact, it appeared to only be showing up for them on units that ‘warped in’. Another mysterious problem that was difficult for me to fix because I was not suffering from it, which made testing very challenging.
However we knew there were already some issues with the phasing tech when working with observers from the logo problem before hand, and the stronger colors system used the same phasing tech to hide the STC textures for the players while showing them to observers. This time though, there was no work around, no other recently added system by Blizzard that I could use to circumvent the issue. I needed to better understand that phasing tech.
Upon examination it uses a special actor called “TriggerPerPlayerActorAgent” to help show/hide actors to specific players. It is the only element of the function in the data editor so I took a closer look at it. The actor had a number of strange ‘events’ I did not understand. Actor events are there to make connections between the art and what is happening in the game. So you could for example setup an event where if the unit the actor is tied to takes any damage it can start playing the dance animation.
The actor for the phasing tech was using a lot of the ‘flyer helper’ functions in it’s event. A strange function but it makes a lot of sense when you think about it. For those of you unfamiliar with the flyer helpers, they are those lines you see coming down from air units to indicate where they are relative to the ground. These helpers appear to be actors, which means that they need to be shown on an individual basis to players, as some players will have them set to ‘always on’, ‘selected’, or ‘none’ based on their preference.
But why did the phasing tech always work for players but not observers? It appears that Renee is briefly overriding whatever ‘flyer helper’ setting a player has to make the function work. But unfortunately it seems you cannot override the setting for observers so in the new GHLight where it uses real observers instead of players that just don’t have any units, the issue surfaced.
Fortunately though this does mean there is a simple solution to the problem. Observers just need to set their ‘show flyer helper’ setting in gameplay options to ‘selected’ or ‘none’ instead of ‘always’ and STC will work correctly.
So those were the problems we noticed before and during the Break Out Invitational. But just a couple of days later Red Bull Battle Grounds would be using GameHeart. I was very confident that nothing would go wrong.
Red Bull Battle Grounds
In truth, that confidence wasn’t entirely misplaced. Red Bull went very well for GHLight for the most part though there were a handful of strange issues. Almost all pretty minor but I did feel that two rather serious problems emerged. First let’s talk about the minor problems.
Worker counts not showing up above base buildings or refineries
This was a strange issue but it should now be resolved in all of the GHLight maps. It was related to the alliance setting between the players and the observers. The alliance settings are quite complex and they do not always make sense to me. Sometimes an alliance setting affects something you do not expect, but this is now fixed.
Refineries and mineral patches always show zero for current harvesters in the unit info panel
I never managed to find a solution to this problem but it’s pretty minor in the grand scheme of things. Because you can now see the worker counts on a refinery or base building using the method fixed in the last problem I mentioned, there isn’t a huge need to see the same number in the unit info panel. None the less I will keep looking for a solution.
No team logos at gold bases
It never occurred to me to add logo support for gold mineral bases to GameHeart because nobody was ever using them. But SidianTheBard had other plans and threw me for a loop with his Habitation Station map! Anyways, that has been fixed now so add all the gold bases to your maps that you want!
Logos appearing for macro hatcheries
We also saw that logos will appear for macro hatcheries if they are close enough to a mineral line, even if the main hatchery in that mineral line already has a logo. This looks bad so I fixed it so this shouldn’t happen anymore.
Weird spire texture
I am not sure what causes this, but sometimes when a unit is given a ‘texture reset’ message in the editor it shows with strange textures. The spire does this, as well as missile turrets. The spire was being given a texture reset message it wasn’t supposed to so I removed that and I haven’t seen the issue since. So hopefully that is the last of it.
Logos appear as pink boxes
The first of the more serious issues. This bug we saw on TaKe’s stream during Red Bull Battle Grounds. It appears to be some kind of texture load error that occurs on some machines. Luckily it appears you can fix it by adjusting your indirect shadows and shader settings so it has a simple fix. Hopefully we can fix it using a new decal model so that no matter what your shader and indirect shadow settings are in the future, this problem will not occur.
Medivac ‘cargo bar’ not visible below it’s HP bar for observers
Another strange issue related to alliance settings. A few people during the event were mentioning being unable to see medivac cargo and I was really confused. I kept thinking they were talking about the unit info panel which showed cargo fine, but they actually meant the bar underneath the hp bar of the medivac. That is a pretty serious issue because you don’t know how much cargo is in the medivac when it is about to get shot down. Luckily Bomber was the only terran at RBBG so it didn’t come up much.
It wasn’t until Idra mentioned it on Chanman’s show Unfiltered that I realized people were talking about the bar under the hp bar. Believe it or not in order to make this appear for observers you have to make a player share their ‘defeat conditions’ with the observer. How this is related to medivac cargo I do not know and it took me awhile to narrow it down but it shows correctly now. I have to apologize to Red Bull for that oversight, it is definitely something I should have caught before their event.
Dreamhack
Dreamhack has been using the older version of GameHeart for their events for nearly a year now so there weren’t many surprises.
Vehicle weapons upgrade not showing on resource bar
One thing we did notice was that the vehicle weapons upgrade for terran was not showing up on the resource bar for that player after being researched. This is just because I forgot to go back and swap in the new upgrade after Blizzard combined ground and air vehicle weapons in a recent patch. I fixed the problem before the finals but I don’t think Taeja even researched vehicle weapons in the finals so it didn’t matter.
It’s funny, a year ago terran had 6 upgrades to the protoss and zerg 5 upgrades and it made it annoying trying to design an interface that would show all of them. Now I get annoyed that protoss and zerg have 5!
Allied chat
Ah yes, the perpetual problem. The thing I get more complaints and comments on than any other issue. I cannot fix this, or I have not found a way. By this point most players are very familiar with it though, so you don’t need to worry about them too much. They are big boys and they can figure out that their opponent probably GGed they just weren’t able to see it. This isn’t an issue in the new GameHeart so thats a relief at least.
Anyways that is everything I can think of.
Retiring GameHeart Classic -
I have decided to retire the old version of GameHeart now that DreamHack is done for the year. There are a lot of reasons for this but the main one is just that I do not think it will be feasible to get GameHeart Classic working well with extension mods, and I really believe they are the future for SC2 spectator mods.
Even if it were possible I think that focusing on the new version of GameHeart is the way forward. It’s ease of use and simplicity are a huge boon to convincing tournaments to adopt it, and having this extra chunky version of GameHeart also floating around creates a lot of confusion about what exactly GameHeart is. Combine that with the confusion about what exactly interface files are or Blizzobs as I call it, and that GameHeart also produces Blizzobs files which are totally separate from the GameHeart custom maps (which there are two different versions of) well it can get really messy. I am finding it more and more difficult to discuss GameHeart with people because everyone has a totally different idea of exactly what it is. That is my fault but I want to start moving in a positive direction on that front, and retiring GameHeart classic is just one step in that direction.
Why would I consider keeping it if I have this fancy new version of GameHeart in the first place? Well because Dreamhack found that the in-game lobby really helped them with their production. The ability to press ‘start’ and know that the game was going to start in exactly 10 seconds instead of whatever random time it takes the game to load is definitely beneficial when you are trying to put on a high quality production.
But the cost of keeping that functionality is high. And not to put words in their mouths but I think it will be a huge relief to Adebisi, Apollo, Nathanias and anyone else who is switching back and forth between spectating using the normal observer UI and the old GameHeart.
Hopefully someday Blizzard will make a change or two that will give tournaments this control naturally, or will allow me to give it to them with the new GameHeart. But for now, I think it is best to focus on what we can do with the new GameHeart and make it as good as it can be.
New discussion topic -
This is something I have been thinking about for awhile and I want to maybe get people thinking about it.
Dynamic ‘arena’ maps
For me the idea is always to put the focus on Starcraft as an esport. To sort of distance the idea of it as an esport from the lore, the immersion and the space aliens. I see the units as game pieces, and the maps as game boards.
A lot of people will disagree with me on that as a goal, but I really feel like to build something as an esport we need to bring the focus on the skill, the strategy and the players of the game and everything else has a way of serving as a distraction from that goal in my view. With that in mind I would like to see maps go in a direction where they are more like arenas, purpose built for not just a game of starcraft, but a game of starcraft that is meant to be viewed.
What is the difference? Well here is one idea, the map could change as players ‘capture’ parts of it by building expansions.
Obviously the players shouldn’t be able to see this or it could give away starting positions and hidden expansions, but we now have a few different tools to hide something like this from the players so I feel like it is worth looking into now as an option.
You will also notice that I used very simple textures in that screenshot. Simple textures will allow units to ‘pop’ more and make it easier for streaming software to encode games in higher quality. Things like tons of doodads all over the place, or many mixed or busy textures can be really distracting and make it difficult to tell what is going on in a game at a glance. I made a quick gif to sort of show what I mean. Imagine now that xsplit or some other video software is trying to compress these two. Which do you think will look better afterwards?
Other ideas might be designated areas on the map where a team logo, or team sponsor might appear as players inhabit that area. Or perhaps designated areas on the map where information about the game or tournament is displayed.
I am not asking that we change everything tomorrow. But I want to experiment with this idea of simpler maps purpose built for esports broadcasts. If you are a map maker I would love to discuss the topic with you in more detail, please add me on skype as 'rtschutter' or get my attention in the TL Map Cave by typing 'GameHeart'. And if you are just a fan I would love to hear your ideas as well. Please feel free to share your thoughts in the comments!
Rumble in the Bronze -
I mentioned Rumble in the Bronze in the last update but I want to mention it again. There has been a slight change of plans in that they have moved the date to the 14th instead of the 7th to avoid conflicts with Shoutcraft and ASUS ROG.
You can click on the image to go to their TL.net thread.
Okay I think that is all, talk to you guys next time!
*Edit* Oh right don't forget to vote for me in the L'sTLCMAT Tournament!