1. The Electorate
  2. News

The Electorate News

Dev Log #9 - Offices & Congressional Districts

[p]Hi all! I’ve been ramping up development over these last few weeks and lots of progress is being made. No exact dates on a launch schedule, but it’s getting close. Today, I’m going to be discussing the mechanics around campaign buildings, their impacts, and the finances around them.[/p][h2]Building a Ground Game[/h2][p]“Ground game” is a common term you’ll hear in American elections, but it’s just another term for “campaign infrastructure.” A good ground game usually features a strong base of volunteers, a clear organizational structure in a county, and some sort of operation for turning out voters.[/p][p]In The Electorate, you’ll be planting the seeds of a ground game through the use of campaign offices. In each county, you’ll have access to four distinct buildings that give passive effects each turn:[/p]
  • [p]County Campaign Headquarters: Establishes a presence in the county.[/p]
  • [p]Canvassing Center: Volunteers make contact with voters and drive turnout.[/p]
  • [p]Volunteer Field Office: An improved space for volunteers to become more effective and lower the weekly costs of other buildings.[/p]
  • [p]Merchandise Store: A storefront to drive donations through merch sales.[/p]
[p]In order to build any office in a county, you first have to construct a County Campaign Headquarters. HQs add +0.01 to the state’s enthusiasm every turn, generate donations, but more importantly, unlock the other offices for construction. Canvassing Centers improves county turnout by 1% every turn, while Merchandise Stores generate revenue equal to 25% of the county’s registered voters every turn. Finally, Volunteer Field Offices amplify the impact of each by adding an additional +0.01 to and HQs generated enthusiasm, +0.10% to turnout from Canvassing Centers, and reduce the cost of operations for every building by 10%.[/p][p]An example of office infrastructure in Los Angeles County. Still balancing the effects and costs of each office.[/p][p]Each office has a fixed cost of construction, but their weekly costs are variable depending on the registered voter population of a county. For example, weekly costs for an HQ in Los Angeles can be upwards of $80,000 per week but will be significantly less in smaller counties. As a result, Volunteer Field Offices have an outsized impact in larger counties, but may not be worth the squeeze in smaller ones.[/p][p]Meanwhile, Merchandise Stores are designed to bring in recurring revenue for your campaign. It’s important to realize that there are situations where these stores may not be profitable. Merch Stores require weekly inventory and payroll, so they’re expensive to run, plus a flat construction cost.[/p][p]With these balances, it’s important to plan your ground game strategy correctly. You cannot spam buildings in every county, and expect to have enough funds to conduct the rest of your campaign. Additionally, your opponents will be making similar decisions.[/p][h2]Update on Congress[/h2][p]In the last dev log, I explained what I had in mind for the Congressional system in the game. If you haven’t read it already, you can find it here.[/p][p]I coded my theory for the system last week and found that it works pretty well. There’s a few things to balance, but it works well enough.[/p][p]Basically, the game will generate a few thousand candidates using random first and last names, give them an archetype (more details on them in a later dev log since I’m still working out what these should be), a random name recognition score (from 0.01-1), a random ideology, and then a party that corresponds to their ideology, with an 8% chance of being an independent (that’s just how the math worked out, plus 10% felt too high).[/p][p]Once the list of random candidates is generated, they’re filled into the districts at random. Districts will have a minimum of two candidates, but can go as high as eight. After they’re sorted, the script will loop through the counties inside the district and retrieve the voter population data for each one. With the data from each county, they’ll fill a voter profile for a total of 700,000-800,000 voters for the district (US Congressional Districts average about 750,000 people). [/p][p]Then, the candidates inside that district will be bucketed by party, and their maximum vote totals as a share of the electorate in that district will be divided by the total number of same-party candidates. Then, to get their starting turnout, we multiply by 0.4, and then multiply that by their name recognition.[/p][p]After all of that, you actually wind up with pretty believable voting numbers. A scenario that happened during testing showed that the Republican primary for a seat located in the San Diego suburbs was divided among three candidates. One had the archetype of “Local Hero” and had .80 name recognition and the Moderate ideology. Another was a Nationalist with the archetype of “Firebrand” with a name recognition of 0.43. Then, an incumbent Conservative known as a “Backroom Broker” had a name recognition of 0.96. The Nationalist had 12% in the polls, the Firebrand had 23%, and the incumbent Conservative had 55%. Scenarios like this happen across all 435 districts amongst all parties. It’s pretty cool and can create a lot of narrative-driven content. [/p][p]Additionally, you’ll be able to endorse and campaign with these candidates.[/p][p]In Los Angeles, I have the opportunity to campaign with Favian Manson, a Populist Republican.[/p][p]It doesn’t make a huge impact on your presidential campaign, but if you’re interested in immersing yourself in the election, it’s a cool way to amp up the stakes.[/p][h2]What’s Next[/h2][p]Like I said earlier, progress is really churning along. The core UI panels are 90% programmed and ready to go, so that’s been a big boon to making the game feel alive. I’ll keep everyone up to date as I work through smaller items on our Discord server. If you haven’t joined already, you can here.[/p][p]Thanks![/p]

Dev Log #8 - Update on Congress and Primaries

[p]Happy New Year! I hope you all enjoyed your holiday.[/p][p]Today’s dev log will talk about what I’m thinking about doing with the congressional system in the game, explain the thought process behind it, as well as give a quick update on primaries. [/p][p]I first want to start by addressing the fact that The Electorate’s scope has evolved significantly from when I first started this endeavor. At first, I planned on making a basic presidential election simulator with just the 50 states and DC. That turned into all of the counties in the country. Then, after several other increases in scope, I realized that this wouldn't be complete without congressional and gubernatorial elections. I added it as a post-launch feature to be developed, but after discussing with some of you and gathering some feedback, I feel like it’s important to deliver a better experience at launch, with features to add post-launch. Here’s what I’m thinking.[/p][h2]Data-Driven Campaigns[/h2][p]While I fully recognize that there are games on the market that allow you to assume the role of a congressional candidate, and even as low level as a school district official, I cannot truthfully say that I find that type of gameplay fun. The Electorate is a sprawling campaign with plenty of options for how you want to run for office, but it’s built to operate at the highest level. If I gave players the ability to play as a congressional candidate competing for a single district, you would be locked into only campaigning in that district, which means strategy goes out the window, and you’d be constantly spamming the rally event since it would be the only reasonable thing to do.[/p][p]I just don’t think that’s fun.[/p][p]However, I have a solution.[/p][p]Instead of playing as a congressional candidate, you can play as a party chairperson. Want to run the Democratic National Committee, manage candidates, send funds to their campaigns, and build a sprawling ground game infrastructure? You’ll be able to. [/p][p]Want to run a small independent party that’s hyper focused on electing deeply conservative candidates? You can do that too.[/p][p]I think expanding the scope and allowing you to assume the role of the party is far more engaging and fun than playing as a single candidate in one district.[/p][p]Meanwhile, these campaigns can overlap with the presidential campaign, senate races, and gubernatorial races, and as a party leader, you can help those candidates win as well. Then of course, you can get the same type of overlap when playing as a presidential candidate as well, and even campaign with those candidates in their districts. But that brings me to the next issue.[/p][h2]The Congressional Map[/h2][p]If you’ve been following American politics as of late, you may have heard about the redistricting battles happening across the country right now. Maps are redrawn at least once or twice every decade. That means that a map I make for the game is guaranteed to be outdated at some point. The issue, of course, is that the maps I have for the game are not the easiest to generate, and require significant work to get right as well as map its data with the game’s systems.[/p][p]I’m not saying I can’t do it, but I am saying that it’s a real pain to do.[/p][p]The biggest issue is that voter population data is tied to counties. Some counties have several districts inside them, and some are so badly gerrymandered that counties may have a small sliver of a district.[/p][p][/p][p]I think a potential, admittedly slapstick solution to this, is to simply multiply the county’s data by the percentage of the district that overlaps it to get the right proportions, and then just divide the total US population by 435 (the number of House seats) and apply the proportions to the number that comes out.[/p][p]So, if District 1 is 100% in Palm Beach County, then Palm Beach’s voter profile would be applied to ~800,000 voters. If District 1 is 80% in Palm Beach and 20% in Broward County, then we take 100% of Palm Beach’s profile and apply it to 80% of the district’s population, and then 100% of Broward and apply it to 20% of the district.[/p][p][/p][p]This would obviously not be a fully accurate depiction of districts. Districts that run through the urban core of a city are likely to be significantly more democratic than a large county that holds the city and its more conservative suburbs. In this case, I may apply boosts to voter shares based on the dominant county’s ideology. Ideology for counties are set based on the highest share of voters that live in that county. If a district is large and covers multiple counties, then we’d search for the highest percentage in the geographical boundary, get the main ideology, and apply a significant boost to the voters who share the ideology in the district, while removing an equal amount from the other groups to keep it balanced. [/p][p]Once again, not a perfect solution, but it's at least somewhat close to being accurate. Importantly, though, it does allow it to be dynamic and make it possible to change district barriers without having to make completely new maps from scratch. At least in theory.[/p][p]The alternative to this is to simply not have a congressional map and list districts by state and the counties they are a part of. It’s not ideal, but it’s much easier to do this in the meantime as I get the game closer to launch, and revisit the map later as a post-launch content update. There can be a mix of auto-generated candidates along with their real-life counterparts, and you’ll be able to see a heatmap of how these battles are going by looking at a map mode of the states. This would only be for House elections only, though. You would still get a full experience with Senate elections and gubernatorial races, but that’s because those maps are based on counties.[/p][h2]Update on Primaries[/h2][p]I’m happy to say that primaries are really fun in The Electorate. Primaries take full advantage of the voting system, but with a couple additional factors. Candidates who share similar positions with an ideology group will receive larger vote shares of that group compared to a candidate who doesn’t. However, when multiple candidates share similar positions, the game divides those shares down the middle. This led to many instances where same-party candidates were statistically tied in every county.[/p][p]Los Angeles County polls on turn 1 without name recognition activated.[/p][p]To fix this, I’ve added a variable for primaries only called Name Recognition. Name Recognition scales from 0.01 to 1, and is designed to create more variability in the starting position of each candidate during a primary. Candidates have a base name recognition that’s set pre-election, which will be filled for each state, and then a candidate’s home state will receive a +0.3 boost from their base score. These base scores are also supposed to represent the general knowledge of a candidate and their positions, not necessarily whether you've ever heard of them or not. These scores are set subjectively (by me, of course), but will be editable in the election settings before a game begins.[/p][p]Here’s the result of implementing this variable with just their base score.[/p][p]Los Angeles County polls on turn 1 using national name recognition.[/p][p]As you can see, Bernie Sanders takes a significant leap due to being the most well-known out of the three here. Now, here’s how it looks when you factor in the candidate’s home state advantage.[/p][p]Los Angeles County polls on turn 1 using home state name recognition.[/p][p]Harris maintains her positioning, but Gavin Newsom gets a +13% bump due to being the state's governor. This sends Sanders down to 26.7%, who despite his national reputation, is up against two California natives.[/p][p]From here, it’s up to how each candidate campaigns. In a larger primary, name recognition has an even larger impact. If you want a real world example, just look at 2016. Jeb Bush, with a well known family name and decent track record in Florida was the clear leader of the Republican primary until, well…you know what happened.[/p][h2]What’s Next[/h2][p]Lots of work. I’m getting there. This project has been very rewarding to work on and I can’t wait to release it, but I also really want to make sure it's polished. So, please bear with me as I work diligently over the next few months.[/p][p]Thanks,[/p]

Dev Log #7 - UI Updates

[p]Hi all![/p][p]Today’s dev log will finally be image heavy. I’ve been stuck in the weeds of UI, and I’m happy to say that a lot of progress has been made. [/p][p]Much of the original UI was thrown together quickly, and while somewhat functional, it was certainly not pleasant to look at. With many elements of the game programmed at this point, I 1) needed a break from programming, 2) felt the need to start showing more of the game as we get closer to release and 3) got tired of losing track of temporary debug buttons.[/p][p]So, that brings me to now. I’ve gone ahead and completely rehauled the original UI, using a new visual style, color palette, and the introduction of dark mode, which became very necessary after using the old UI. While still a work in progress and not production-ready, the overall visual style is complete, and I’ll be giving you a brief preview of some of the things I’ve been working on.[/p][h2]Selection Screens[/h2][p]When you load up the game and go to start your first campaign, you’ll be greeted by this election year screen.[/p][p][/p][p]As you can see, there’s a number of different scenarios that will be available at launch. Here, you’ll also be able to get information about the demographics of the election, as well as the historical results. Additionally, you’ll see what makes the election unique. For 2024, the election is Polarized which means the various ideologies have very little crossover with each other. Additionally, 2024 is Turbulent which increases the chance of a random event having a larger impact on the campaign. Finally, 2024 has an Incumbency characteristic, which gives an enthusiasm advantage to the party not in power (the republicans, in this case). [/p][p]Once you choose a year, you’ll see the roster of candidates available to play with.[/p][p][/p][p][/p][p]Each scenario will have plenty of options to choose from, and each candidate will come with different traits and attributes. You can add multiple candidates to a campaign, and while they aren’t displayed on this screen yet, you’ll eventually be able to see all of the candidates who will be a part of the campaign as a list. [/p][p]After adding candidates, you’ll see a screen where you can configure the election to your liking, such as randomizing populations, electoral votes, editing ideology names and positions, disable polling fog of war, and more. That screen isn’t ready yet, but it will be exciting for all of you election nerds to see, and something that I think will bring huge levels of replayability to The Electorate.[/p][h2]HUD 2.0[/h2][p]I was never satisfied with the original HUD. The white was too dominating, it was very blocky, and the red and blue outlines added a lot of clutter. I’ve revamped the HUD to do two things: increase the amount of visible screen space and improve overall accessibility.[/p][p]The following is the result.[/p][p][/p][p]This is still not a finished product, but I feel like it’s a lot of progress from where it was at before. On the top left, we now have a smaller candidate portrait, a thinner bar for cash, favorability, momentum, enthusiasm, and stamina. Below, you’ll find buttons for the polling dashboard, advertising, campaign staff, finances, media, endorsements, and volunteers. On the top right, you’ll find the current date, how many days are left until the election, and a button with the turn number.[/p][p]Finally, on the bottom right, you’ll see the same dashboard as before with the current national poll average and estimated electoral vote count, but now with the addition of map modes! Currently featured is the county map, state map, electoral vote map, population map, and the ideology map. More are certain to come, but that’s what I’ve landed on so far.[/p][p]And yes, the HUD can be changed between dark mode and light mode.[/p][p][/p][h2]County Cards 2.0[/h2][p]I’ve spent more time on county cards than any other UI element of the game because they are what players will be interacting with the most. It’s so important to get these right, and while the old card style was fine, I was not happy with it. For one, it created problems that would have to get resolved in the future anyway, namely, the lack of space for additional buttons and the fact that you cannot show more than two candidates at a time on the card. For most U.S. general elections, that’s fine, but in primaries that certainly won’t work.[/p][p]So, the originally the goal was to add at least one additional candidate to the old cards and then add a button for you to see the polls of all of the candidates in the county. Once I started on this work, I realized that the entire county card design style had to be tossed. It just wasn’t good enough.[/p][p]Today, I’m pretty happy with the direction I’ve gone, and I hope you are too.[/p][p]Now, when you click on a county, you’ll be presented by this screen.[/p][p][/p][p]First, you’ll notice that the pie charts are inaccurate and the percentage breakdowns in the stats are not accurate to the real world numbers. That’s because this is a mockup, so I didn’t feel the need to spend time making them accurate here.[/p][p]With that disclaimer out of the way, let’s talk through the card. First, the blue color is used to show who’s winning the county. Then, you’ll see the county’s population (9,663,345), the registered voters, and then the estimated turnout for the county (which will increase as the campaign continues). On the far right, below the exit button, you’ll see the progressive symbol, which is a quick identifier for the county’s primary ideology. Then, we see the current poll breakdown with a button to see all polls in the county. After that, we get to see the party registration breakdown, the ideologies present in the county, along with race demographics. [/p][p]There is a chance where I make changes to this screen to either add additional demographic information, or remove the race info to instead link to an additional screen with census info. There’s two challenges here. The first is whether it’s actually necessary to showcase race information, at least in this way. The most important stat here, by a long shot, is ideology information, and then party information. By adding the button to show all demographic information, the next challenge is collecting enough data from previous elections to always have something to show on this screen. The reality is that while the U.S. Census provides a great deal of information about demographics, it can get a little messy going far back. We’ll see how it goes. Anyway, this comes in dark mode as well.[/p][p][/p][p]Next, we have the campaign actions screen.[/p][p][/p][p]This screen has more work to do than some of the others, but you can get the idea. This is where you’ll perform campaign actions and see what other candidates are doing in the county. You’ll also notice that this county is red, so a republican is leading the county, and it also has the shield emblem, which means it’s a conservative county. When you click on a button here, a popup window will open to the side of the county card, where you’ll then be able to apply a little more control over each action. Those windows are not ready to be showcased yet, but just know that there’s more to do here than just click a button. You’ll also notice that there’s numbers inside these buttons. They are used to represent the cost of each action and the expected outcome. I’m still tinkering with that. At the moment I think it’s confusing and cluttered, so expect it to change.[/p][p][/p][p]Finally, we have the campaign buildings screen. First, the county is purple because it’s highly contested. If a county is polling two candidates who are within 5% of each other, it’s considered a contested county and will be purple. You’ll also notice that this county has a scales emblem, meaning it’s a moderate county. Then, we have a breakdown of the buildings available for the county. All counties require an HQ before they can build additional buildings. Buildings are quite powerful and essential to your campaign, but they come with a cost. First, there’s an upfront cost to the construction of a building. Then, you have weekly expenses that are scaled to the population of a county. For example, you pay an operating expense for each building, payroll for your HQ, and an inventory expense for the merch store. All of these are not static costs, and will be more expensive in larger counties. However, each of these buildings also provide bonuses to your campaign that are also scaled. For example, the merch store, while expensive in a larger county, brings in revenue scaled to the county’s population at a much higher amount. [/p][p]Above, you can see that the cost of buildings in this county is resulting in a -$966,000 deficit. However, assume that these buildings have only recently been built, and will likely become profitable in the future. Plus, remember, the goal is to win votes, not make the most amount of money. [/p][h2]Tooltips[/h2][p]No strategy/simulation game can be complete without an enormous amount of tooltips to explain how everything works. I won’t spend too much time explaining these, because they’re supposed to explain themselves. Hopefully you find them helpful![/p][p][/p][p][/p][p][/p][h2]Quick Polls[/h2][p]Finally for today, we have some new quick poll popups. These are for when you don’t want to click into a county or state but still want to see their polls quickly. This popup activates after hovering your mouse over the target for a short period of time. These will also be used during election night.[/p][p][/p][p][/p][p][/p][p]And yes, there’s dark mode as well.[/p][p][/p][p][/p][p][/p][h2]What’s Next?[/h2][p]The holidays are here. For us Americans, Thanksgiving is this Thursday, so I will be traveling to see family. I plan on spending a lot of time on UI for the next few weeks, and then I’ll be on the home stretch with development going into next year.[/p][p]As always feel free to join the Discord server to discuss the game, give suggestions, and help make the ultimate election simulator![/p][p]If you’re excited about the game, be sure to add it to your wishlist and hit the follow button.[/p][p]Thanks for tuning in![/p]

Dev Log #6 - Rallies and Fundraisers

[p]Welcome back to another dev log! Today, we’re going to discuss an important subset of campaign activities: rallies and fundraisers. Other activities, like advertising, are larger and more intricate systems, along with media events and whatnot, and require their own dev logs. The following are the moves you’ll be interacting with more often than anything else, so I figured it would be good to get a full overview of how these work.[/p][p]Overall, rallies are used to boost turnout, and fundraisers are used to raise money. Let’s talk about each activity.[/p][h2]Rallies[/h2][p]At the core of your campaign are rallies. As we know in the real world, rallies are a boisterous representation of a political campaign. It’s a chance for candidates to connect with their supporters in an engaging setting where they can take their political masks off and be a real human. It boosts enthusiasm, makes voters feel connected to the campaign, and, of course, is an opportunity to sell a lot of merch.[/p][p]Rallies in The Electorate are your key tool to boosting turnout where you need it most. With access to every county in the United States, planning your strategy requires identifying key regions where turnout can make or break your campaign on election night. [/p][p]Despite being one of the more simple actions in the game, rallies have quite a bit of logic behind them.[/p][p]First, rallies cost stamina. Currently, it costs 8 stamina to hold a rally, but this is likely to change. [/p][p]Second, rallies cost money. Every rally’s cost is equal to 5% of the county’s population size. For example, Miami-Dade County’s population is ~2.8M, which means it will cost your campaign ~$140,000 to rally there. This is used to model the real-world requirements of rallying, which includes staffing, security, venue costs, etc., and also prevents candidates from simply spamming the largest counties. [/p][p]Third, once a rally is held in a county, that county has a four-turn cooldown. Any rally held in that county during the cooldown will incur a 50% penalty to its turnout impact. [/p][p]Fourth, your candidate’s effectiveness at rallying is directly tied to their charisma attribute, which is used in the calculation for the rally’s turnout. Additionally, any traits a candidate has that impact rallying are added to a cumulative modifier. [/p][p]Fifth, rallies can generate revenue for the campaign via merchandise sales. Total merch sales are equal to twice the size of the rally. This is a great way to offset some of the costs incurred from holding the rally, but keep in mind that you still pay the full cost of a rally even when the cooldown penalty is active, but you will receive half the turnout and, therefore, half the sales.[/p][p]Sixth, and finally, the county’s share of ideology groups determines how effective a rally’s turnout is. Ideologies most aligned with your candidate will turnout at a rate equal to your candidate’s overall likelihood of winning a particular voter. This means that candidates like Gavin Newsom, a social democrat, will find it much more rewarding to rally in urban areas like Charlotte, NC, as opposed to rural North Carolina.[/p][p]Planning your rallies accordingly is vital. Not every county is equally important. Republicans face the challenge of choosing from many counties with small populations, while Democrats face the challenge of fewer counties with higher populations, but devastating cooldown penalties.[/p][h2]Fundraisers[/h2][p]Fundraisers are incredibly important to a campaign, and in The Electorate, I’ve tried to model them realistically. In many political games, fundraisers are simply a button you press on a state, and you receive funds as a percentage of that state’s population. In The Electorate, we go a step further.[/p][p]There are three different fundraiser types: Grassroots Drive, Exclusive Gala, and Interest Group Meetup.[/p][h3]Grassroots Drive[/h3][p]Grassroots Drives are small, low-cost, low-stamina fundraisers that connect directly to the frontlines of your campaign. These fundraisers simulate email blasts and small community meetups, and generate contributions equal to 5% of the county’s population. They also cost the least amount of stamina (5) of the fundraisers, and do not cost money to run, as they are operated by volunteers of the campaign.[/p][h3]Exclusive Gala[/h3][p]Galas are the black-tie events of your campaign where you sell high-ticket plates to your guests. Since these require a good chunk of your time and effort, you’ll have to spend 12 stamina on these events as well as invest in quality food, a venue, and event planners. That means galas are not free, and will go down in your balance sheet as a hefty expense, costing a total equal to 3% of the county’s population. [/p][p]However, they’re major money makers. Expect to earn contributions equal to 25% of the county’s population. That means a gala held in Miami-Dade County will cost ~$84,000 but yield ~$700,000 in contributions. Keep in mind, though, that these events can only be held in a county once.[/p][h3]Interest Group Meetup[/h3][p]These fundraisers target an interest group that aligns with a particular ideology. Think of large labor unions, or conventions like CPAC or AIPAC. The Electorate has dozens of interest groups with varying levels of funds to commit to your campaign. You can hold fundraisers with these groups for 10 stamina and expect to receive 35% of the group’s available funds. Some groups have larger treasuries than others, but depending on the ideology of each group, you’ll also receive a slight boost to turnout after holding a fundraiser with them, creating a balance between raising funds and getting more votes.[/p][h2]What’s Next[/h2][p]Soon, I’ll have some new screenshots to show off some of the new features and UI elements I’ve been working on. I’m working towards showing off some gameplay footage soon as well, so stay tuned for more.[/p][p]That’s all for today! As always, feel free to join the Discord server to discuss the game, give suggestions, and help make the ultimate election simulator![/p][p]If you’re excited about the game, be sure to add it to your wishlist and hit the follow button.[/p][p]Thanks for tuning in![/p]

Dev Log #5 - Ideology Groups

[p]Hello! Welcome back to another dev log! Today, we’re covering ideology groups, and how they impact each election in a huge way.[/p][h2]How Voters Vote[/h2][p]In a general sense, voters vote based on the issues that matter to them. Whether it's about how the economy should be run, if they think AI should be more or less regulated, or whether healthcare is a human right, voters tend to pick candidates that most closely identify with their personal positions. Furthermore, these positions are informed by their ideology.[/p][p]In The Electorate, this dynamic is modeled through ideology groups, of which make an evaluation about who they want to vote for based on their position on issues, and their weighted importance of those issues.[/p][p]There are eight ideology groups and 10 key issues in any given election scenario. Today, we’ll discuss the 2024 scenario as our example, but these groups and issues will differ by year and are also customizable. [/p][h2]Ideology Groups[/h2][p]The Electorate utilizes eight ideology groups to determine vote shares to each candidate taking part in a race. In the 2024 scenario, the eight groups are:[/p]
  • [p]Progressives[/p]
  • [p]Social Democrats[/p]
  • [p]Liberals[/p]
  • [p]Moderates[/p]
  • [p]Libertarians[/p]
  • [p]Populists[/p]
  • [p]Conservatives[/p]
  • [p]Social Conservatives[/p]
[p]Now, get ready for some technical information, because the way these groups figure out who they want to vote for requires a somewhat calculated algorithm. [/p][p]The Electorate utilizes an algorithm called a “multinomial logit spatial voting model.” It simulates voter choice by positioning ideologies and candidates on a 1-9 scale across 10 issues, with each ideology assigning importance weights to those issues. The model does some math to find the distance of a candidate’s position relative to the ideology group, checks the weighted importance of those issues, and then determines a “utility value.” The utility is then used to find the probability of an ideology group voting for a particular candidate when weighed against the other candidates in an election.[/p][p]What this means is that there is an incredible amount of realism in how these ideologies select candidates. It also means that primaries are incredibly competitive, and while yes, does render some candidates as unelectable if they are too moderate for their party, it does also make them a particularly strong general election candidate if they happen to win the primary. If you pay attention to general election polls during primary season, the “moderates” of each party tend to poll very well in a one-on-one matchup with the opposing party, but tend to lag in their own party’s primaries. [/p][p]In the general election, the model is quite accurate as well. A matchup between Kamala Harris and Donald Trump in California weighed out to 59%-41%, which is only a few points off from the 58%-38% final tally in the actual election. If you add Bernie Sanders as a spoiler candidate running as an independent, Donald Trump actually wins California by a few points because Sanders wins 68% of the progressive bloc (California’s largest voter base), but splits the rest of the Democratic Party down the middle with Harris. [/p][p]However, as you might recall from a previous dev log, turnout is the actual mechanism for winning an election, and that’s no different here. While each ideology may have their voting preferences, that doesn’t mean they’ll actually show up to vote. Candidates must spend the rest of the election turning out voters, regardless of their ideology or party. Donald Trump only receives 0.02% of progressive voters at the start of the 2024 scenario, but with turnout, he may well receive 1% of their votes (although his efforts would be better spent elsewhere). [/p][p]Turnout also makes it possible to differentiate between independents and the major/minor parties. It would be very unlikely that Bernie Sanders, as an independent, would siphon off enough votes from Harris to deliver California to Trump. Therefore, independent candidates receive a major turnout disadvantage at the beginning of the game while the major parties start at a higher threshold. However, if you want to mix it up, you can easily adjust this setting prior to an election, making independents as competitive as you want. I’m still exploring ways to make independents more competitive organically, but as you might know, the nature of America’s two-party system makes this difficult. A random event might do the trick, though.[/p][p]One major point before we wrap up. Voters vote for candidates, not parties. The game is programmed around candidates “owning” their votes. This allows for cross-party voting, but most importantly, an abundance of candidates! At the moment, you can play an election with up to 10 candidates, with an aim for more at some point.[/p][h2]Status Update[/h2][p]To close, I figured I’d give you some insight into what I’m working on this week. [/p][p]Development is steady-going. Obviously, it takes time to get a lot of this stuff right and make sure it’s balanced and fun. A lot of the work lately has gone into refining and improving the campaign activities system by implementing more player choice and offering more control over how you run your campaign. Advertising, in particular, has been a pain to get right. It would be easy to just add a small modifier to turnout after running an ad and calling it a day, but that isn’t fun.[/p][p]I’ve also been working on optimization improvements. Originally, start times were quite extensive since I was loading data in a less optimal way. As the game’s scope has increased, I decided to tackle these issues now instead of later, and as a result, have reduced loading times significantly and improved memory usage to be more efficient. It pays to make these fixes now instead of rushing to get them done later, but it inevitably slows down development on gameplay features, so please bear with me on that.[/p][p]Pretty soon, I’m making some sizable changes to the campaign map. You’ll be able to see the names of key cities listed on the map, and candidate icons will be visible so that you know where your candidate is located, as well as your opponents. I’ll also be implementing map modes so that you can see population sizes, party registration, and ideologies.[/p][p]That’s all for today! As always feel free to join the Discord server to discuss the game, give suggestions, and help make the ultimate election simulator![/p][p]If you’re excited about the game, be sure to add it to your wishlist and hit the follow button.[/p][p]Thanks for tuning in![/p]