Hi all! Today’s dev log is about Election Night.
This feature, along with the polling system, is ultimately what drove me to make this game. It’s by far my favorite feature that I’ve worked on, and it’s so fun that I’ve lost a few hours of development time just watching it.
And for good reason. Election Day in America is my Super Bowl. It’s especially great during presidential elections, but even the midterms and off-year special elections are fun to watch. My personal preference is to watch CNN’s John King explain vote counts and dive into electoral history on his “Magic Wall,” but plenty of other TV stations have capitalized on the spectacle that is Election Night.
Additionally, online sources like the New York Times and Decision Desk HQ have created in-depth maps and analysis where you can watch real time votes get counted, track against previous years, and search for early signs of which candidate has momentum. In 2024, my focal point was the early returns in Virginia to see whether Trump had momentum similar to his 2016 campaign compared to 2020, when he was crushed by 10% in the state. As the votes came in and it was clear that he was more competitive than even in 2016, I knew he’d have a pretty good night across the country.
When I set out to design the election sequence, I wanted to combine these two ways of interacting with an election into one. Keep in mind as I walk through this that this is currently in an Alpha (maybe pre-Alpha state), but since its such a core feature of the game, I wanted to showcase it now. Without further ado, I present to you Election Night in The Electorate.
At the top of my list of must-have features was creating a news-like broadcast that immerses you in the election as if you’re watching it live. In The Electorate, when elections begin, the HUD will clear and a broadcast will begin with headlines reading that early exit polls are in and the countdown to the first votes are coming. The United States spans nine different timezones, and a state’s timing for counting votes is reflected in the game.
The first votes will trickle in from Eastern States and make their way to the West. In cases where a state has two time zones, the counties report votes based on the timezone they are in, and won’t report until the correct time comes. For example, you’ll see this play out in Florida, where most of the state is in Eastern Time, but the conservative “panhandle” region is in Central Time.
As the votes come in, the ticker on the bottom will switch between states, giving you the latest look at where each state is. Votes are counted using a function that closely resembles real life.
Votes trickle in slowly for the first couple of ticks, then ramp up quickly until slowing down as you get closer to the final tally. Each county has a randomized speed of reporting, with a control for larger counties so that votes will come in dramatically slower than smaller counties, as they often do in real life. If you’re playing as a Republican candidate who has a 2% lead in Pennsylvania with most counties finished, but the Democratic stronghold of Philadelphia has only reported 38%, you might be in big trouble when it’s all set and done. Even worse, the reported votes will only get slower and slower as you watch your lead bleed, leaving you in suspense.
Below is a charted look at how votes get counted depending on the final votes of each candidate. First, here’s what a blowout looks like.
As you can see, it will be pretty clear early on who’s going to win this race. However, when the final votes are much closer, you can see how much tighter it gets.
This is a classic example of a “red mirage,” where a Republican who dominates in the rural areas appears to be cruising to victory, only for the lagging urban centers to drag out the night until eventually giving a Democrat enough votes to win.
The broadcast will make calls on the winner of a state when there’s enough of a gap between first and second place compared to the remaining votes in a county to call it.
Mitt Romney edges out a win in North Carolina. The race wasn't called until 99% of the votes were reported.
However, some states may be called the moment polls close despite not being counted yet if the final votes margin is wide enough (the game knows the winner of an election from the beginning, but the votes are counted up to their final totals, which makes this possible). But don’t worry about too many states getting called immediately. The margin has to be very significant, upwards of 20%. You should only expect the common ones to be called immediately, like Wyoming, West Virginia, Massachusetts, etc. If one of those isn’t called immediately, then it should definitely raise some eyebrows.
Once a candidate reaches 270 electoral votes (or whatever the greater than 50% is for your scenario), the broadcast will declare them President-Elect.
Along with the presidential elections, you’ll be able to keep tabs on House, Senate, and Gubernatorial races. You can switch map modes to see the status of them as you please. The state ticker below will keep track of those elections too, along with updated Senate seat and House seat counts.
Now, as far as the amount of time an election takes, you’ll have multiple options. The default option is meant to be long, around 30 minutes. This is what the experience is built around, but you can fast forward to make it 10 or 5 minutes, and if you really just want to see the final results, you can skip straight to the end. You can also slow it down and make the elections last an hour or more. It’s up to you.
And this works for primaries too.
Kamala Harris cruises to victory in her home state, setting herself up for another run at the White House.
The UI for primaries is not complete. For example, I’m going to add a delegate counter similar to the electoral vote counter above, but one that supports more candidates and better context. Plenty of other things will need to be added and adjusted for primaries as well.
That’s just a preview of what’s to come for Election Night. Much more will be added and fleshed out in the coming months.
I plan on diving into the campaign staff system in the next dev log, so be on the lookout for that.
As always, thanks for the support around this project. If you haven’t already feel free to join our growing Discord server, and if you’re excited about the game, wishlist it on Steam and follow for more updates like this!