1. The Electorate
  2. News
  3. Dev Log #5 - Ideology Groups

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]