Banner and Crosspost

Home    Overlay   Discord   Mutators   Maps   Integration   Links   About

March 16, 2021

Transmission 06 - API, replays, post-game screens

API, Replays, Post-game screens

Getting moment-to-moment gameplay just right is very important, but there is more to a game than that. Many things outside of gameplay can make the game feel more meaningful and enjoyable, improve socialization, and empower the community around the game. I want to look at a few improvements to these things. This includes replays, APIs, post-game screens, and more.

Campaigns on Arcade

Custom variations on official campaigns are a great way to enjoy and replay campaigns anew. Mapmakers have shown their creativity in StarCraft II by modifying campaigns to be playable in party, with different races, randomized units, or even by switching sides with the enemy.

While StarCraft II has recently improved support for custom campaigns, it's still not perfect. I would love good support for mapmakers from day one – letting them modify and share their campaigns easily. Meta-progression and areas like Hyperion or Leviathan could be easily reused and modified, and movie sequences triggered.

In reversed campaigns, you switch sides with the enemy AI (StarCraft II)

This would, of course, come with a system that checks whether a user has purchased the campaign. This somewhat works in StarCraft II, but it's left to mapmakers and so it can be confusing and inconsistent. For example, users cannot filter which missions they can play in menus. Some campaigns will kick the user after a mission starts, other maps will complain but let the user play, and some just don't care.

While resuming from replays is a great feature for single-player when it's enabled, it's not consistent with how saves work in the original campaigns, and some players might not be aware of it at all. This can be another point of friction for users. To sum up, custom campaigns greatly improve replayability for the audience that enjoys single-player content, and there are ways to make the experience better.

Custom campaign section (StarCraft II)


Replays are excellent for learning, tournaments, or just coming back to awesome games. They also enable a lot of projects for tracking player's progress and performance. I have my Co-op overlay and an older webpage with various tournament statistics.

The existence of replays depends on how the engine is used and the networking architecture. If replays weren't supported, it would still be nice if users were given the option to save similar match data to a local file – even if the game couldn't be replayed from these files. That would make possible similar analyses with community-built tools.

Statistics about ally commander choices taken from my replays (overlay)

Current replays contain a good amount of data; only a few other things like coarse unit locations or whether abilities were actually executed would be useful. Also, when you are watching a replay, it might be interesting if you could see when a unit received a command from a player, perhaps in a form of floating text above the unit. That might make it easier to learn execution in certain situations or appreciate micromanagement.

Ability sequence for Dehaka (StarCraft II)

Another interesting use of replays could be after a game. If you lost, an algorithm would find a replay of a game with the same map, races, compositions, and situations, but where your side won. This would be useful for learning. It might also reduce balance complaints since many of them stem from not being able to identify how the player could have won.

Replays would be chosen from better players, so there are things to learn. However, the skill gap can't be too high, there are just too many differences between for example gold and grandmaster league players. Player names in replays might need to be anonymized. How fast replays can be loaded and replayed is also important. If it's too slow, most players won't bother. A better algorithm will also affect the effectiveness of this system, it might find more useful replays, and perhaps even point to specific things where to improve like macro, army composition, or control.

Post-game screens

There a few things that a post-game screens can provide:

  • Show progression
  • Provide insight into the game via stats
  • Tell a story that can be shared

As for the last point, players want to share and talk about games they had. A nice screenshot from the post-game screen can greatly help with that. Both my overlay and score screens on MM maps were designed to be shareable, but it can be improved further with mission-specific backgrounds or cleaner UI. Things like font-sizes should be considered based on what players see in-game, and how the screen will be shared. There could be dedicated buttons for saving a screenshot or sharing it directly. This could improve socialization and serve as free marketing, so it warrants at least some attention.

A pretty compact way to tell a story, though some important info is missing to tell it whole (Age of Empires 2)

Videos can be shared as well. An algorithm would choose a few good plays for each player, and players could share any of those moments with one click, or save them to their profile.

This has similar positive effects as mentioned with screenshots, plus the player can feel better about a game when rewatching these cool moments even if they lost. Overwatch has a somewhat similar system where players can render and encode gameplay highlights to local video files, but it's not as streamlined, and not a one-click solution. Magnum Opus has integrated gif-maker for sharing your solutions (example). It's a popular feature, and because of it I will recognize the game despite not playing it.

★ ★ ★

Showing progression in a mode like Co-op is quite simple via earned XP and unlocks. However, in competitive modes this can be more tricky when dealing with wins and, more importantly, losses. From a post describing the design of slot machines:

The basic idea is to make good things (for profitability) feel better than bad things feel bad. To do this, manufacturers and developers simply make wins salient and losses non-salient. Wins are an audio-visual spectacle with flashing lights, colorful motion graphics, amplified coin pouring sounds, and a loud and cheery victory jingle. Losses are the exact opposite, the user interface just fast-tracks the player to the replay button without any spectacle.

Eric Still - How Does Gambling Work?

A similar approach can be used in games as well. Make wins a spectacle with audio and visual effects, show all the progression and rewards. Losses can have a more neutral tone while showing things where players made progress and statistics where they did well. Also, players should be able to skip screens after losing quickly.

Overwatch focuses on positive things and places where you made progress.
(though this screen isn't that interesting to be shared)

While I believe MMR shouldn't be hidden, I don't think it should be the main focus either.

Artosis is not happy about losing his points. See the chat. (StarCraft Remastered)

In this example, the perceived loss of progression is in the forefront and even animated – prolonging and amplifying the negative experience. He might have learned few things in that game, actually improved and progressed forward, but the game is set on informing him that he just lost all the progression he has been working toward for the last hour.

★ ★ ★

But I have to give it to StarCraft Remastered, the idea to display real players, preferably friends or rivals, relative to your position is a nice touch. Showing your progress in the context of players you know can help to make the game feel more meaningful and alive. It seems more elegant than being in a StarCraft II division with random 99 players you don't care about.

On a related note, the game could post notification messages when a friend achieves something noteworthy – advances into the next league or completes a difficult challenge – to make the experience feel less isolated. Battlenet does something similar with achievements, but individually those are of no consequence. These messages could be also automatically linked to discord servers if set up that way.

Data for mapmakers

An option to see various statistics and logs would be useful for mapmakers. This could include things like games played, winrates, used lobby settings, game lengths, and more. A mapmaker could also decide to log a small amount of data in-game to get stats uniquely important to their maps. All of this could help mapmakers to create higher quality maps and with better balance.


APIs are another thing that can help the community to grow and build tools around the game. Server APIs can be used to get various statistics about the ladder, while local game client provides data useful for example for automatic scene switching for OBS.

I have been mostly using what the local game client provides. And while there are things that I wish were added, the most important thing is that developers can easily add or remove things.

An example of data provided locally by the game client (StarCraft II)
A few additional things I would have found useful:
  • Unique player handles
  • MMR in competitive
  • Map
  • Clan tags or ids
  • Co-op mutators
  • Players' commanders, levels, masteries, and prestiges


I think a coach should be able to spectate their student on the ladder while being limited to the student's vision. I don't believe it would undermine the integrity of the ladder, as it's not too different from sitting next to a person.

This would reduce the barrier to coaching when compared to finding a suitable opponent and setting up a custom game. Socialization would be improved whether this is used for coaching or just friendly spectating.

Students could be able to rate coaches. Highly rated coaches would be rewarded with some goodies like special portraits, borders, or other cosmetics.

More on Spectating

I already wrote something about spectating previously. It might be interesting if there was always a list of ongoing games that you might find interesting. You could update your preferences based on matchups you want to watch, favorite players, or leagues. Games with more viewers or with your friends would be more likely recommended.

Spectators would be able to chat with each other, form a party to join another game together, or bet on game outcomes. When it comes to my interest in one particular game, betting on one player can do wonders. There could be cosmetic rewards tied to spectating and betting.

Overall, I believe this could be good for socialization, learning, and just maintaining the interest in the game. Some days you just don't want to play, but if you could hop in and spectate few games of your friends or with them, then that's something different. I don't believe online streaming provides quite the same experience, it has a barrier to entry, and not everyone can or will stream.
StarCraft II is great for spectating, but it's limited to custom lobbies.

An interesting idea is to have a random game running directly as a background for game menus. In a clan chat, it could be a randomly chosen game of a clan member. This might be cool, but it would also be a big technical challenge to make it seamless and not too resource-intensive. Still, things like that could make the game feel more alive and social.


Thank you for reading. These were just a few ideas for improving the experience outside of gameplay. Some of the ideas might fit into the game, while others will not. The focus was on reducing barriers, learning, improving socialization, making the game feel more meaningful, and empowering mapmakers and the community around the game.

For discussion check this thread on r/FrostGiant.

Previous posts:

Recent posts



Powered by Blogger

Main post