Inspiration
Over my 18-year career in politics, I've knocked on thousands of doors and planned field operations for hundreds of thousands more. In those few cities with the proper GIS data for sidewalks and walkways to buildings, it was possible to rank neighborhoods based on the number of linear meters between target households. Compared with treating every household as taking an equal amount of time, this allowed us to essentially max out the number of doors a crew of organizers could knock per hour. It was always my dream to fully optimize starting points and complete routes, but I lacked the programming skills at the time to execute it. Then AI came along.
What it does
OrganizerWars creates a game board from a real voting precinct in Richmond, Virginia, complete with building footprints, road segments, sidewalks, and walkways to buildings. The player picks a starting point, builds a route around the neighborhood, and selects whether they are canvassing houses on one side, both sides, or neither side of each segment. After an initial planning period, the canvass begins, and the user must continuously add new planned segments to ensure the canvasser doesn't stall out. An optional leaderboard allows users to compete for the fastest times and shortest distances.
How I built it
OrganizerWars was designed from the ground up so that every meaningful action the user can take is representable as a tool an agent can call. The first playable precinct is Woodland Heights in Richmond, Virginia, which is my home precinct. I used GIS data from the City of Richmond and converted it into a connected navigation graph to support starting-point selection, route selection, door visits, and measured walking distance. I used Codex to do all the coding and GIS processing according to my instructions, based on my real-life experience canvassing and planning canvassing operations using CiviCRM and QGIS.
Challenges I ran into
The largest challenge was turning GIS data into a playable game system with a workable navigation graph. Road centerlines, sidewalks, buildings, crossings, and entrances do not naturally form one clean network. It took a lot of trial and error to get things looking right and to make the game properly simulate the walking patterns that I knew real canvassers would use. Making that interface work across desktop, tablet, portrait mobile, and landscape mobile also required repeatedly simplifying the interface and its concepts.
What I learned
I learned that good games and good agent experiences are simple, with complexity layered on top.
What's next for OrganizerWars
This initial version is frozen with one precinct and no voter engagement model. The next step is to expand it to simulate entire election districts and allow multiple organizers to be deployed at once. After that, I will begin modeling actual voter interactions so the game can determine whether someone answers the door and whether they decided to support your campaign. That will enable modeling text messages, TV ads, direct mail, etc., which can change the probability that someone will respond positively to your canvass. All of that, combined with multiplayer involving either humans or agents, will enable a highly realistic campaign simulation game.
Built With
- codex
- node.js
Log in or sign up for Devpost to join the conversation.