## ukulelelesheep dreams of server For quite a while, I've had a dream. I don't know how long I've had it, but at least in the seven or so years I have owned Minecraft, there has been this longing. I wanted... a world. A world that felt real, a world with a story, but of which I was the author. I wanted civilization. War. Peace. Power. I wanted to be the hero. I wanted to be the villain. I also wanted to launch TNT cannons at a friend's castle, and was super frustrated when I couldn't figure it all out. I am probably unusual in this community in that I have yet to actually play CivEx for longer than a month. My entry into this genre and this community comes perhaps five years ago, when stumbling through server ads desperately trying to fulfill this deep-seated dream, I found the RealmsMC server (now dead, but if you weren't aware, it was the "roleplay oriented" civ server). It was the claims map that drew me in. National borders painted over a map made up of several continents and various islands. So badly I wanted to find the food that could satiate the great big greedy beast my dream had become, but no matter how hard I tried, I couldn't find it. I continued to play, to build houses I mostly never finished, to participate in votes for things that didn't matter, and to fight wars that didn't make sense. I wrote stories that didn't happen, I imagined what it was so desperately I was craving, but just wasn't getting. As I leaned towards the pool to drink, the water flowed away, always just out of reach from my grasp. Two summers ago, I wanted to make CivEx. My dreams had lain dormant for some time, but always they were there just below the surface, waiting for any moment to come up. I read all the dev posts, and I thought, this could be it. This could finally be where the dream comes true. But I didn't know how to code. So frustrated with my inability to reify my dreams into reality, I turned to joining a nation, one with people I knew from Realms (mostly people I had pissed off tbh). I joined Bastion. Passionately I began work to flesh out the nation, to spark life into our collective ideas. I became enflamed by the concept we had landed on, a nation inspired by Italian Renaissance culture. I delved into books, videos, everything I could about domes, arches, columns, cathedrals, popes, artists, condottieri, ceremoniere, and the close comforting walkways of narrow Italian roads. The beta server released. I did not play. I do regret to say that perhaps I did not give the nation's theme enough momentum to sustain without me, so it happened that the "Italian Renaissance" theme ended up receiving mixed reviews from critics. I was doing other things. It's fine. When I eventually did log in, the world into which I dreamed of stepping into had all but dissipated. The streets were quiet, the train lines abandoned, and spiders kept spawning in the unlit rivers and attacking me. I clearly didn't find what I have been searching for, so I decided to see if I could try develop, to see if I could take an active role in turning the dream into reality. I had this idea for a plugin that let you create villagers with trades you could send to other cities. I had no idea what to do. I started with tutorials, and copy and pasted what I learned into my plugin. My code had more in common with an Italian restaurant than the well ordered architecture of a Renaissance cathedral. But I made the plugin. I mean it's an unusable trash heap that cannot be expanded upon without causing my brain to spontaneously combust, but I made it. And then I learned I could make sheep move in cool patterns if you turn off their AI and teleport them around. It was productive. I learned more and more. And I talked more and more about game design, and I became consumed with the idea that perhaps I was helping conceive the most revolutionary game ever made. Minecraft servers change lives, I tell you. I travelled, but I would talk about game design on the train, intensely irritated when a tunnel would cut out my cell reception. I would draw diagrams in notebooks while sleeping on the benches at bus stops and train stations. I knew I would get somewhere. I read more books on how to program in such a way that one can actually understand what's going on, I watched lectures on writing object oriented decoupled code, and I looked up design patterns I could use. I also read about how to design games, watched the entire backlog of the Extra Credits YouTube channel, and thought hard and long about every video game, mobile game, and board game I have ever played. I watched Khan Academy videos early in the morning where I learned what comparative advantage is. I learned more and more, and my obsession with the dream almost took over my life. The ideal in my head was so clear, but real life always disappoints our dreams. Everything needed to be perfect. Everything needed to be carefully tested to make sure it all worked. I could see the destination off on the horizon, but no matter how far I walked, it came no closer, like stars in the sky. The development team wasn't working out, so I tried to work on my own, but that wasn't working out. Eventually the stars faded, and I just... gave up. I had resolved that this chapter of my life had ended. But then a world-wide pandemic came. Perhaps as the world stands transfixed I can stand to dream... It is worth at least sharing what I discovered. Discovery comes in the pattern of long periods of deep frustration, followed by sudden revelations that come when they are least expected. The revelation seems like it changes everything in the moment, but as time passes, you see how it wasn't such a big deal after all. But now to reflect back over the course of a year, one can appreciate how all those revelations build together to create something. So let's delve into this dream. What I want is a political landscape, a medium in which people share, exchange, and fight for power. But I also want there to be the feeling of civilization, there needs to be some form of collaboration. We dream of nations, of people banded together to form a common cause. People form groups, and groups form cities. OK, so here's a crazy idea, what if we were to make these cities completely safe. Unobstructed by hostile enemies, people in cities could build freely. The resources they need to build and be happy could come easily. This would have people in communities, happily building without any frustrations to stop them. There will be cool builds, people will work together, and they'll have a lot of fun. That sounds real nice, but there's nothing at stake, there's no reason to care. That sort of server is not why we are here. So what if other cities had the power to be able to take that perfect safety away. First, let's flesh out these cities a bit better, living in a city provides several benefits. A city has a wall that prevents mobs from spawning, the builds and chests within from being easily destroyed, and enemies from gaining entry. Cities give a safe place for people to build and a place for friends to gather. Cities passively provide resources in generous quantities, enough to fulfill everyone's basic needs with ease. Cities also facilitate easy trade between each other. However, all this comes with the caveat that in exchange for the benefits of banding together to form a city, there are costs to maintain. Almost all services the city provides are accompanied by a certain upkeep cost. Players must produce enough resources such that they can pay all of these upkeep costs, and maintain their ability to run their city, and keep it powerful. Because these resources are so important and commonly used, there is demand for them. If you cannot continuously maintain these costs, the city will stop existing, and you will become helplessly vulnerable. That sounds like a lot of stress and work, but producing the resources the city needs is actually super easy because the city itself creates these resources on its own. I know that sounds confusing and paradoxical, but I promise you that this part is absolutely essential. I hope it will make sense in a bit. There is a measure of power each player has that represents the things the city can do for them. A player starts with a small amount, but as time goes on, it grows up to a point, and it must be maintained with resources or it will diminish. You can delegate someone else as responsible for this power. In this way, cities can choose how centralized they want the power, either in the hands of everyone, or all condensed into one person. As a metaphor, we can call this measure of power, "population." You could imagine yourself as a feudal lord ruling over peasants, or imagine whatever you like, it's actually just a number, but calling it population makes it more intuitive. Across the world there are these resource nodes and as a city you work to control these. Even though they have resource and a defined location, these nodes are abstract. You can't actually see them in the world, but once a node is controlled, anyone in the city can assign their population to that node, and then will receive that resource. The resources produced are generally goods that are difficult or impossible to gain by other means (such a mining/gathering). Each node has diminishing returns the more population it has assigned to it, so having multiple nodes of the same resource given the same population assigned increases your output of that resource. The resources produced are generally necessary for the improvement and maintenance of the city. Food resources are those that help grow or maintain population. Other resources, either directly, or through some sort of refinement or combination process, are used to maintain defenses and control resource nodes, as well as purchase potential upgrades. There is therefore true scarcity, because even if these resources are ridiculously plentiful and you are getting them for free, there is always constantly a huge demand for these resources, and because your population is finite, there are only so many resources you can produce. Exploiting one resource has the opportunity cost of all the other resources you could have otherwise exploited (as an example, say you control gold and iron nodes equally, every population point you assign to get 1 iron has the opportunity cost of 1 gold). This is a really key point in all of this. This turns all civ server logic on its head. There's no macro you can write to increase your population beyond its cap or give you resource nodes you don't have. You already produce in massive quantity, but the it raises a really important decision you must make, what is it you choose to actually produce. Each city has different opportunity costs for each resource they might choose to produce, because each city maintains different resource nodes, partly because of which nodes the city chose, and partly because different areas of the map have different concentrations of resource nodes. This mismatch of opportunity costs is what comparative advantage is. If you are not familiar, what this means is that by specializing in the resource they are relatively better at producing (no matter even if they are in absolute terms terrible at producing it), *both* cities will produce more than they otherwise would have been able to had they produced the same resources themselves. This is a fundamental part of economics, this is the reason why people actually trade. Even though each city has not increased anything else, just by the fact that they have traded, both cities have increased their income. This creates a surplus which allows you to produce things that you otherwise would have been unable to produce on your own. For example, you would now be able to control more resource nodes, but controlling those extra resource nodes increases the maintenance costs of your city, and so, to a certain extent, these two trading cities become codependent, depending on the survival of the other for their own livelihood. Cities can decide, to what extent am I willing to sacrifice my self-sufficiency for the benefits I recieve by specializing? Cities grow, they build infrastructure improvements to increase their productivity and defensive capabilities, and they control more resource nodes. However, resource nodes (scattered all over the map) scale in upkeep cost and have diminishing returns the further away they are, so a city's control is centralized in the area they are in. A city has more of a desire to control a node right next to them than a nation across the world. There will almost always be valuable places to build your city because the value of the nodes change depending on where you are, and it is impractical for a city to control all nodes of a single type of across the entire world because maintaining that control is several times more expensive than the value of any monopoly. Because population is assigned to players, not cities, each player has a certain say in the direction the nation goes, which allows for a broad gamut of political systems. Players can choose to delegate all control to one player or a small group to manage everything, they can keep everyone's population points distributed and make all decisions based on consensus or democracy, or they can create a feudal system with one king that holds the majority of the power but still with some power among the "lords." They can create an anarchy society where each citizen maintains their own population and does whatever they like. Anyone who is managing someone else's population for whatever reason has to keep in mind that they only hold that population so long as that person remains an active member in that city. If that player moves, or quits entirely, the person managing it will slowly lose those population points, so it is in their best interest to keep that player actually wanting to play and live in their city. The resources the population produces initially always belongs to the player who controls that population, so cities can decide how their resources are controlled as well, either completely communally, or perhaps each person keeps the resources to themselves. Players can decide for themselves the ultimate question, to what extent should individuals give up control of power for the greater good of the society. So as there is a power to give players plentiful resources and ultimate protection, there is the power to take it away. A city can take a portion of their population and resources and launch an attack on another city. In doing this, they put the city under siege and cut off it's ability to collect food. The attacker can do this as long as they keep the population used for the attack, which is then unavailable to be used for production, supplied and fed, the costs of which scale with distance. The city under siege will slowly start to lose their population if they have no reserves of food, but they can receive support from any adjacent city (or any continuous line of nearby cooperating cities), which can send it population (which they will easily restore if they themselves have enough food). Food is an abstract resource, so it cannot be physically brought to the nation in need. The attacker can launch an attack on the city if they like. The defender will have a time they set for all attacks against them, and at that time, the attack will take place. The specifics of exactly how the fight is resolved is not important, but people fight, and at the end there is a winner and a loser, and an amount of losses incurred on both sides. The defender always has a much easier win condition (generally just needing to prevent something from happening rather than actually needing to achieve any objective). If the attacker wins, they can forcibly take control of a defender's resource node, take control of a portion of the defending population, and take an amount of resources the nation has in surplus. A defender may counterattack to try start up their food development again, but they must fight outside the walls of their city, are further from their supply lines, and have a much harder victory condition than if they stayed in their walls. If they win though they can capture the attacker's population which ends the siege. If a city under siege has run out of resource nodes or population, than the attacker can claim the city as their own. All the buildings in the city become under their control. They can do whatever they like, move in, raze it to the ground, anything. If someone's population gets below a certain threshold, the population loss will enter a positive feedback loop and more rapidly reduce to zero. This is also the case in circumstances where most players in a city have left or gone inactive. However the amount of resources that would be required for a prolonged war to get to that state would be tremendous. It would be essentially impossible that one city would be able to take another of a similar size and completely destroy it because with what they would be losing in all the fights their population would start spiralling down. Cities might locally skirmish over resource nodes, but a full-on war would require the efforts of large networks of cities on both sides to be sustained. And at every point of the way, it is in the interest of both sides to agree on some sort of peace, because both sides are losing a lot of resources by fighting. The defender can give the attacker resources (maybe continuously), they could freely give up a resource node, or they could give control of their population. However long distance population control has large costs, so perhaps in extreme cases, the defenders let one of the attackers join their city, and give them some or all of the control of their population. Battles where the outcome is already known before hand are a massive waste of resources. If you know you can definitely win, you are better off just demanding what you want than wasting your resources on battles. Some cities might feel that any concession or agreement to terms is dishonorable. That is perfectly valid, but those cities also might have to face consequences. Attacking people relies on your population, and you lose part of your population to attack people, so you can only attack so many people before you run out and need to wait for it to grow back. War becomes as much about fighting skills as it is about economics, tactics, and grand strategy. Cities who are reluctant to battle will always find themselves in a fight they have the greatest advantage in, either defending their walls, or defending against a counterattack when they are sieging someone. You don't have to be the best PVPer defend yourself or be powerful, though a strong fighting force is absolutely essential to being able to fight wars efficiently and decisively. The cost of war scales with the power differences between you and your enemy, and how far away they are. So if you are a well established nation and someone sets up their nation directly next to yours, it would not be very hard to simply starve them early on unless they have substantial outside help. So if there are groups of players that are consistently causing trouble for everyone, and no one wants to let them settle near them or trade with them, then it is unlikely that they would ever be able to gain enough resources to launch any attacks. People can live in the city, but for people who scorn the idea of being tied to one place, it is possible to be nomadic. Nomads can roam the world, explore all the cities who allow vagrants through their gates. They can mine for basic resources, in fact much better than any city dweller would be able to, they can build in the woods, reinforce their house just enough to keep it safe. They bother no one, and no one bothers them. Maybe they hoard whatever resources they scrounge in a deep box somewhere, with as much use for them as a fish has for a bicycle. But who would ever want to live like that? The dream is this. Cities scattered across a world of resources. Cities with enough safety and building materials that the architect thrives. A system of internal power that serves as a playground for the political scientist to explore. A web of city relationships where the diplomat is key. A system of war that lets the warrior defend his city to become a hero, but allows the nation of merchants to exert pressure on others without even lifting a finger. Cities can court for global popularity, while others can enact their policies through fear and intimidation. A world of stories, of heroes; a world to live in. I have shared with you the basic mechanics of how such a world could exist, and what I think would happen as a result of those basic mechanics. There is an easy way to create a safe place for you to build, and the game fundamentally resolves around keeping that place safe, maintaining your ability to threaten other people's places, and being able to impose your will upon the world around you. One of the most important principles of this world is that as much as possible, the "civilization" is not added, it simply emerges from how all these systems interlock. People are not driven by the external objectives the game gives them, but by the economic incentives their intrinsic objectives guide them towards. There are resource management mechanics (a lot of the specifics of which we could straight rip off from Civilization or resource management board games) which creates a system of scarcity (actual scarcity, not based on the scarcity of "time I'm willing to spend doing a boring activity"). There is a system of resource nodes in which comparative advantage emerges, which creates specializations, strategies for cooperation and trade, and actual reasons for conflict. There is a system of managing the power within your nation to distribute it however you like. Maybe there are upgrades of infrastructure you can build for your nation, but they serve as additional resource sinks and rewards for prosperous nations. The mechanics of actual attacks might have to be a bit staged, but only by necessity that creating a concrete battle structure that is fun and satisfies all the design requirements it needs to meet is significantly less work than designing the "rules of the universe" to make the fights happen exactly how they should. Because this is a game that wants to make you feel like you are immersed in a world of civilizations, but also respects that you are also firmly planted in the world of reality, that you can't be responding to random attacks while you're asleep or at work, that you can't be spending hours grinding for resources for a fight while you have a baby in the other room you need to take care of. It may all seem overly complicated if you yourself have not immersed yourself with the fundamental question of what makes civilization, but trust me, this is as simplest working solution I can think of. Maybe we'll get a geopolitical landscape that looks like real history. Maybe someone will figure out how to form an empire and take control of the whole world. I'm not sure, I think that's just part of the civilization experiment. But maybe it won't work. That's entirely possible. Maybe the system is fundamentally broken such that the whole landscape is a toxic wasteland. There might be glaring loopholes and exploits, so feel free to point them out. But I think I just have to hope, I just have to believe, that it will all work, once all the math equations are balanced, the resource recipes are written, the battles play-tested, and the code written. What I fear even more is that even if this is it, the holy grail of the civ server that we have searched for, maybe it just can't be made. It's as minimalist as it can be but maybe even that is too complicated for volunteer coders to put together without it having code that's too buggy, an indecipherable user interface, and a smooth enough launch that people play and take it seriously. I intensely fear that there is not enough time to give each delicate equation upon which the entire economy rests the care they need, the cruel tragedy of being so close to actualizing your dreams and to find yourself powerless. It's a terrifying thought. But anyway, here it is. This is my dream. This is where a year of development got me.