GGOverlay (or Groggy Gaming Overlay) is a lightweight lobby based overlay that I built in C# to use with my group of friends. Find the source code on Github here. The installer to use the Overlay can also be found on Github. 

We started a tradition during Covid of playing games remotely while talking on discord, and every once and a while we would make a drinking event out of it. I built this overlay to make the experience more enjoyable.

GG (Groggy Gaming)

Groggy gaming is a tradition my friends and I created over the grueling years of Covid lockdowns. The premise is pretty simple. One of the players will decide on a game to play, a theme behind the game, and come up with a set of rules to follow while playing the game. These rules usually are centered around drinking. All the way back in 2020, the first Groggy Gaming session ever happened, and it involved trying to beat Minecraft while following various drinking rules. Ever since, we have gotten together to have another unique fun experience about once a month. Here is a beautiful example ruleset for one of our previous grogs, made by the one and only Nash Batten: 

You don't have a pdf plugin, but you can download the pdf file.

GGOverlay

The goal of the overlay is to make keeping track of rules and drink counts easier for everyone in the lobby, and to keep the players immersed by removing the need for a side monitor to see the rules. The overlay application is built in C#, and its networking is based on a Host-Client system. One player decides to host, and the other players enter the IP of the host, and join the lobby together. 

The Connection window which opens when you first launch the application

Once you enter the lobby, it will show you everyone that is connected to the lobby (including yourself on the far left), as well as the game ruleset that has been loaded.

The lobby screen, with rules loaded and 3 people connected to the lobby

Any player can click EditPlayer to adjust their name, and their drink modifier. The drink modifier is a fraction used to scale the drinks, letting people account for their relative alcohol tolerances.

Edit Player Window

The host is able to click EditRules, which brings up the Rule Editing window. Within the rule editing window, you can load a ruleset from a file, you can create a brand new ruleset, or you can edit an existing ruleset. Rules are specified by weather they affect one person or the whole group, a rule description, and a punishment description, as well as a punishment quantity. The punishment quantity is in the unit of "Sips", where 20 sips is a full standard drink.

Edit Rules Window

Once the rules are set and everyone has joined the lobby, you can click Launch Overlay to launch the game overlay. The game overlay is very configurable, with the ability to drag it around wherever you want on your screen, resize it however you like, and even change fonts and opacities of different elements. You can also save or load the layout of your overlay, which can be useful whenever a certain setup works for a certain game. 

The overlay open, with the OverlaySettings menu open

The same overlay with different settings to show customization

The overlay has two modes, which you can switch between using the keyboard shortcut Shift + `.  In Interactive mode, the settings button is available, and you are able to click on the rules and players in order to trigger game rules. In Background mode, the overlay is not able to be interacted with whatsoever, and it will not interrupt your gameplay. When you want to trigger a group rule, you click on the rule and then click the confirm checkmark button. Individual rules are similar, but you click the rule as well as the player who the rule pertains to. 

A player ready to activate the Someones Bro appears in a cutscene rule for Nash

When a rule has been activated, it will show up for everyone in the lobby. If the rule requires you to drink, it will not go away until you enter interaction mode, and click confirm, confirming you have completed the rule.

Rule Message appearing on the screen


As you play, the drink counters for each lobby member will update, keeping track of the status of each player.

That touches on most of the functionality. There are more feature ideas I would like to add in the future, like tracking what rules occur over time, and a drinks over time statistics page, or even something interesting like a periodic survey asking the players to rate their sobriety from 1-10.

I have open sourced the code for this as well, so anyone interested can fork the repo to make improvements and submit a PR accordingly. If you are interested in trying it out with your own group of friends, have fun and enjoy responsibly!

Additional Features added in 1.0.1:

There is now the ability to toggle a Drink Pace for a ruleset. This will allow you to specify the number of sips each player needs to have completed in a certain time. In the screenshot below 20 sips (1 beer) must be completed every half hour. If a player has not reached their goal, they will get a message after 30 minutes telling them to drink the remaining quantity needed. 

Setting the Drink Pace in the Game Rules Editor

The timer is shown when the Overlay is in Interactive Mode in the top right corner of the screen. There is also a new button in the corner next to the timer, called the Finish Drink button. To keep track of sips taken when not drinking for a specific rule, whenever you finish a whole drink (can of beer, glass of wine, etc), you can click the orange Finish Drink button. It will dole out the neccesary amount of drinks to get you to the next round number, and notify everyone else of your accomplishment as well.


Timer and Finish Drink button

The final new feature is the addition of the AllButOne rule category. As it sounds, this rule type will give drinks to everyone except the selected player. If everyone wants to cheers someone who did something good, or if you feel bad for letting a certain team mate down, this is the rule category you can use.