Charm Cities

An open-source city builder game about humans, not cars

We've been playing city builder games for thirty years. They've developed incredibly sophisticated models of traffic flow and economic activity. But we still haven't made a game that reflects the complexity of human societies. Let's come together to change that.

Learn More

Our Goal

We aim to put together a vast community with broad-ranging experiences to develop a first-of-its-kind city builder game built around models of realistic socioeconomic forces. We can't possibly hope to encapsulate all of the complexities of human behavior in a video game — yet. But we believe it is possible to create simple yet powerful models, based on the newest social science and on the lived experience of a wide array of contributors, that will translate some of the real challenges faced by urban planners into an exciting and enjoyable gaming experience that will revolutionize the city-builder genre forever.

We aren't in this to get rich; though we hope that Charm Cities will eventually wind up a commercial project with revenues distributed equitably among contributors (including both coders and non-coders), our larger goal is to make the game into a phenomenon. We are developing this as a collaborative open-source project so that people of all walks of life can contribute and help make this experience more realistic than anything that could be produced at a commercial studio.

The Heart

The key that will make everything possible is the Human Object Nodes (HONs), a swarm of individual AIs each representing a resident of your city. Every HON has a complex array of traits, biases, needs, and desires. At first, your HONs will focus their time and resources on meeting their basic needs — food, water, clothing, shelter, and so on — but, once those needs are met, they will begin to develop a complex web of interconnecting personal relationships. HONs will meet up, make friends, fall in love, and have children.

And, once they've got the human connections that fuel them, your HONs will begin to grow, creating new art forms, unlocking new building types, enabling new research, and changing the very fabric of your city. Who knows what your HONs are capable of?

The World

Cities don't exist in isolation; they are part of larger communities. In Charm Cities, you will serve as the mayor of a newly-founded city in one of several provinces in a large island nation. Each province has its own climate, demographics, politics, economy, and social structures, and each has its own governor, who may aid or oppose you based on the decisions you make. And if your city gets influential enough, it may even start attracting the attention of the national government... which may or may not be a good thing.

Because your city is one small part of a larger society, managing your city won't just come down to balancing tax inflow and expenditures: you will also have to manage your political capital. When a decision comes across your desk, will you go along with the province governor to keep your schools funded in the short term? Or will you take a bold stand, which might end up bringing the entire country to your side with time?

Real World Concepts

  • Race and Ethnicity: The residents of your city will live in a world where various ethnic groups have complex and multifaceted racialized histories which affect how they interact. Your actions as mayor may affect race relations — for better or for worse — throughout the nation.
  • Disability: Some of your citizens will be born with various anatomical and behavioral differences, which may affect how they move, how they learn, or how they perceive the world. Can you ensure that your city is accessible to everyone who lives there?
  • Sexuality: Many of the people of your city will want to seek out relationships and romance, but societal norms may limit their options. Will your decisions ensure that the city is a place where everyone can find love and happiness?
  • Class: Some of your residents will be born with silver spoons in their mouths; others will be lucky to have enough to eat. Can you help your poorest citizens break the chains of intergenerational trauma and poverty? Can you prevent your city from becoming a hotbed of inequality?
  • Gender: Your residents will experience social forces which constrain them into predetermined gender roles. Your decisions may change those roles, bringing new freedoms to all your citizens. How will that shape your city?
  • Religion: Residents will want to build places of worship; some may be unwilling to live somewhere not in walking distance of their worship place. How will your zoning deal with that? Can you ensure that all religious groups have equal ability to build religious sites, even when other residents might not want them to?
  • Poverty: If your citizens can't afford shelter, where will they live? Will you provide them with shelters or will they sleep in your parks? If they can't afford to eat, will you feed them? It's up to you to find the best balance of resources that allows all your citizens to thrive.
  • Intersectionality: None of the above traits exist in a vacuum. Complicated intersecting power dynamics will shape every aspect of your society. In Charm Cities, unexpected emergent effects are going to be part of every game as the socioeconomic structures of your society collide.

What can you contribute?

We need everyone's help to get it done.

Lived Experience

Because only a community can build a city

Anyone with an interest in this project is welcome to be a part of it, even if you don't know anything at all about game design. (Who knows? Maybe you'll learn!) But, most critically of all, we need a broad range of experiences represented here. We are particularly looking to center the voices of:

  • Black and Indigenous people as well as other people of color
  • women, intersex people, trans people of all genders, and non-binary people
  • lesbian, gay, bisexual, asexual/aromantic, and queer people
  • disabled, Deaf, and neuroatypical people
  • people who have experienced poverty, food stress, or houselessness
  • people who do not consider themselves middle or upper class
  • people whose first language isn't the primary language spoken in their city
  • people who live in cities outside of the United States or Canada

The explicit goal of this project is to create a model of a city that actively models these aspects of human existence which city builder games have historically ignored. It would be the highest possible form of hubris to take a few psychology behaviors, use them to model a society, and then call it a day. We need all of your voices to make this game reflect the real impacts that the marginalization of certain groups has on a city as a whole.

Please note that we will aggresively moderate our community to prevent all forms of trolling or harassment. Moderators reserve the right to remove anyone from the community at any time for any reason to keep the community safe — and, in particular, to protect the marginalized voices we rely on to function. If you have community moderation experience, or if you wish to become a moderator, contact the community moderation team.

Come join us on Discord, a free and easy to use chat platform where we'll continue planning our next steps.

Project Management

Because every community needs a plan

If you have experience managing software projects — especially open-source projects and/or game development — we would be thrilled to have you contribute your skills as we launch this project. In particular, we need people interested in working with the entire community to work out what the minimum viable product (MVP) will be, to document that MVP with all its key milestones, and to ensure that we're continuing along the path to MVP as we proceed.

We're certainly going to need to set up some tools to document and manage this project as we move forward. If you have preferred tools, we want to know about that.

We have a lot of work to do and discussions to work through to determine what the actual MVP will be, much less how we're going to get there. Please feel free to join in those conversations on our Discord server

Coding in Unity

Because we won't get far without code

We will be developing Charm Cities in Unity. If you have experience with Unity development in C#, we want you on board! (And if you don't, consider learning! If you have previous programming experience, Unity won't hold any big surprises.)

Perhaps the most unique challenge will be implementing the AI for the individual "Human Object Nodes", or HONs, who populate the city. We're going to need coders who can really think through the different ways humans interact with each other in real life and, guided by community input, abstract away from real life into a model that achieves the desired behavior without melting anyone's computer. It sounds like a fun problem, right?

We will be using GitHub for Unity to handle version control and keep our work synchronized in our GitHub repository. It's quite straightforward to use and is integrated into Unity.

Actual code work won't begin until our community has worked out a road map. A road map isn't much help if coders can't implement it, though, so we want you involved in these planning discussions. Join our Discord server and catch up with the conversation!

Math, Logic, and Statistics

Because we can't code what we can't model

Charm Cities is going to rely on turning abstract, messy data about human interaction into straightforward algorithms that our code team can implement. We're going to be implementing separate but interrelated political and socioeconomic engines at the city, province, and national level, and will be creating the most detailed model of human behavior in the urban environment ever developed for a computer game. In a world where most AIs max out in complexity at the guard who goes to investigate a noise before returning to a patrol route, we want to generate tens of thousands of individual AIs who work, play, love, hate, and grow. There's gonna be some pretty cool math in all that.

If you have a background or an interest in math or statistics, we definitely want you to be involved in this project. Come join our Discord server and let's figure out how to translate social science into beautiful math.

Urban, Architectural, and Social Science

Because we can't model what we can't understand

This is a game about urban development, and while we don't want to prioritize academic experience over lived experience, the human city is a complex organism and sometimes you just need to call in the experts. The city-builder genre is built on urban design principles that are half a century out of date by now, and we badly need an infusion of new ideas into the genre. For example, for three decades now, virtually every city-builder game has had three types of zoning: residential, commercial, and industrial. Every urban planner has their own opinion about what the right zoning plan should look like, but one thing's for sure: it's not that.

We want you to challenge every assumption of the city-builder genre. We want to see a game where exercising eminent domain has real consequences, where car-centric design creates induced demand, where rapidly increasing a neighborhood's land value might not actually be to anyone's benefit, and where ill-considered building codes create perverse incentives. We're not looking to replace fun with realism, of course — we're creating a game! — but we want to challenge players to see the true complexity of the systems they're building, and we want to make that fun.

You've devoted your life to studying how cities run, how people interact, and how built landscapes shape the world. Now you get the opportunity to turn your research into a game that will be enjoyed worldwide. If you've done research on a subject that may be of interest to us, why not pop into our Discord server to set up a quick presentation or AMA? If you like it, stick around. We want your input!

3D Modeling and Art

Because a city needs buildings

It'll be some time before we're actually creating custom assets; the initial "minimum viable product" release will almost certainly use simple colored primitives to represent different building types rather than beautiful assets. But that's no reason to hold off on joining our Discord server! Are there particular buildings or architectural styles you're really interested in creating? Get involved early and let us know!

And let's be clear: this game will require a lot of assets, more even than most city builders. We want the cities of Charm Cities to evolve uniquely over time — perhaps the citizens of the city can actually start inventing new architectural styles and changing the entire face of the city.

We could also use some graphic design, web design, and branding help as we begin setting up our community. Please let us know over on Discord if you're able to assist with that.

Communication and Marketing

Because we can't do this if no one knows about it

The one thing that will be required to make this project work is community. No matter how good the code we write is, if we don't have a wide range of experiences represented here, we're only going to be telling one story about how cities work. That's why it's so important that we get the word out as widely as possible.

Please, tell your friends about this project! And if you'd like to help us discuss and plan our communications strategy, or even do something like fix up this website that was thrown together in 24 hours, come join our Discord server.

Financing and Other Resources

Because no community can do everything

Our eventual goal is to release a commercial game product. Although the project code itself will be released under a free software license, the art and assets will be released under a more restrictive license, meaning that — while an individual could theoretically build the project themselves if they want to — no one else would be able to sell a clone of our work. In other words, this project will be "free" as in "free speech", not "free" as in "free beer". We believe most people would rather pay a reasonable amount to support the project rather than go through the time and trouble of learning how to use Unity to build it themselves (and those people who wouldn't would pirate it anyway).

For now, however, this project is being built by volunteers with no certain knowledge that we'll ever end up with a commercial product. Additionally, we already have some small expenses (like web hosting) and there will be more down the line.

If you want to contribute to the financial health of the project, you can sign up via LiberaPay, a non-profit crowdsourcing service that is designed to support open-source teams and does not (unlike Patreon and other crowdsourcing companies) take transaction fees. Contributors — including non-coding contributors — will be able to access these funds in their own local currencies. You can directly fund the entire team or fund a contributor whose work you want to recognize. Your funding allows people who might otherwise not be able to afford the time commitment of contributing to an open-source project to keep the lights on.

LiberaPay logo

Details of the project finances will be discussed regularly in our Discord server, and are open to all community members. We aim for total transparency in our finances.

Join us on Discord
Fund us on LiberaPay