Skip to content

Instantly share code, notes, and snippets.

@Zarkonnen
Last active January 23, 2019 11:55
Show Gist options
  • Select an option

  • Save Zarkonnen/0acee5ae81ccbc7d2dfc78521c77af90 to your computer and use it in GitHub Desktop.

Select an option

Save Zarkonnen/0acee5ae81ccbc7d2dfc78521c77af90 to your computer and use it in GitHub Desktop.

Hi! This is a giant writeup of the design and design options that I'm considering for the next, final major Airships update. I've done my best to be thorough and detailed here, and it also means that this comes with a whole bunch of notices and caveats.

You may be tempted to just say "do the most complex and in-depth of all these options", but consider:

  • Implementing this stuff takes time. Far more time than you think. Many, many months. It has to work with multiplayer, translations, and modding. It has to be balanced and tested. The AI has to be made to work with it in a competent fashion. It has to be comprehensible to new players.
  • When considering a complex option, don't just think of a scenario where having this complexity would be cool. Also consider whether there'd be a lot of scenarios where it ends up being tedious.
  • In general, I make this game for a broad audience of players, and at any given time many of them are new to the game. Putting in features for a small core audience is a great way to make a game inaccessible to everyone else. And then no one buys it and I'm sad.
  • So ultimately, there is also a financial calculation here. I can't really justify doing weeks and months of work on a feature that a core group of players find exciting but adds little value for new players. And I have never intended or promised to work on Airships forever. At some point, the game has to be Done, and future work must go into an expansion pack or into some other new game.

Also, note that this is all design and planning, and does not constitute a promise that any of this will actually appear in-game.

Logistics

Right now, the winning strategy is to make one giant fleet and fly around with it rapidly, conquering everything. Real war doesn't work like that, and it's mostly down to logistics. So the idea is to introduce a logistics system that encourages keeping your forces in a set of sensibly-sized individual fleets rather than a giant doom-stack.

Ships already have a supply value. This will now also be used as the amount of supply that they use when flying somewhere. They have a supply capacity that's fixed at some multiple of this supply value, basically giving them a radius in which they can fly somewhere.

When they arrive, they have to re-supply. The speed at which a fleet re-supplies is based on the size and location of where they are. Cities supply more than towns. Places connected to the rest of your empire by a road or sea route supply more. Places that are pacified supply more. But in general, a fleet that uses twice the supply will take twice the amount of time to re-supply.

Instead of instantly re-gaining all resources at the end of a battle, restocking coal/ammo/water/repair tools/crew will also be tied to this resupply process.

So sending a giant fleet to a tiny village across the map will leave it nearly stuck there for a while.

Why nearly? Well, given that fleets still need to be able to retreat, you can always go somewhere outside your supply range, your speed is just severely reduced as you crawl along, foraging to sustain yourself.

So the point is that it now makes sense to use fleets of a reasonable size and spread out your forces so they can re-supply quicker. But if there's some epic final battle, you can still make a giant fleet ball, it will just take a long time to recover.

The supply capacity of your ships, and the speed at which they resupply can be improved through tech. You can't build supply ships or something, because the supply mechanic is an abstraction of these supply ships and all the logistics and organisation already existing in the background.

Resource models

In general, territories will have resource nodes like coal mines or forests. The question is how to handle the resource effects. Here are four options:

  1. Unlocks

Certain modules and armours require certain resources to be buildable. Eg a Suspendium Chamber needs Suspendium. When you lose the resource, you just can't build more.

  1. Capacity

The same model as in Civ. You have x amount of a resource and a ship permanently takes up y amount of it. So eg you have a mine that produces 5 coal and that cruiser you build will take up 2 of it. This is a bit weird when it comes to a cruiser permanently taking up 2 steel. When you lose the resource you just can't build more, or maybe there's some kind of financial penalty.

  1. Quantities with ongoing costs

Resource nodes produce a certain quantity of resources per time unit. For example, a forest produces 5 wood per income cycle. Ships etc. require some resources (money, steel, wood, etc.) when they're built, and consume some resources (money, coal) continually. If there's a shortage of a resource that needs to be consumed, it's automatically bought, resulting in reduced income. So if you're out of coal and need 5 coal for fleet maintenance, this costs you 5 x the coal price per income cycle.

  1. Quantities with costs when used

As above, but resources are only used up when you're actually using them. Eg coal only gets used up to resupply coal-fired ships when they've used it to fight or fly somewhere. If there's a shortage, the resource is automatically bought.

My current preferred options here are either 1. Unlocks or 3. Quantities with ongoing costs.

Diplomacy and reputation

Each empire will have a reputation score between 0 and 100.

High reputation effects

  • Better espionage defence.
  • Less likely to be attacked by some AI players and human monsters like pirates and mad scientists.
  • Conquered cities and towns have a chance to surrender peacefully.

Low reputation effects

  • Worse espionage defence, requiring stronger secret police.
  • Some AI players and human monsters see you as more of a target.
  • Conquered cities take longer to pacify.

You gain reputation by killing monsters or declaring war on empires with low rep. You lose reputation by breaking diplomatic agreements. Note that "peace" is not a diplomatic agreement. You do not lose rep just by declaring war on some other empire.

Diplomatic Statuses, from least to most friendly

  • War: You automatically fight. The way it is in the game right now.
  • Ceasefire: Agreed upon to end a war. Breaking it has a rep penalty. After some time, it turns into peace.
  • Peace: The new default. You don't fight, but a declaration of war is quick and painless.
  • Non-Aggression Pact: You promise to not fight, so a declaration of war has a rep penalty.
  • Defensive Pact: You automatically join in on defensive wars.
  • Alliance: You automatically join in on offensive wars, too. You can joint win the game.

Downgrading a diplomatic status doesn't cost you rep, but starts a cool-off period where declaring war will cost you rep. So if you break an alliance, wait ten seconds, and then declare war, that's just as bad as going straight from alliance to war, you back-stabber, you.

Apart from that, you can also trade resources and money.

Ideally, once you're in a defensive pact or alliance, you can also fight together in the same battle, of course. There's some tech obstacles to this, so I can't guarantee it.

Coronation

As an additional victory condition apart from conquering all cities, you can now crown yourself emperor. For this, you need very high rep and need to be in control of a strict majority of cities. You can then start the festivities for coronation, which are very long and drawn-out, and can be sabotaged by other empires to make them even more long and drawn-out. If at any time, your rep or number of cities drops below the required amount, the coronation is cancelled.

City Upgrades and Economics

A bunch of options of sharply rising complexity:

  1. City-level Upgrades

Each city and town has a number of specialization paths available: industrial (more resources/more $ from resources), research (science), shipyard (faster construction), income (more $), logistics (faster resupply), defensive (cheaper/faster building construction). Higher level specializations and global bonuses are unlocked through tech. The main map appearance of the cities changes, but the city defensive view is unaffected.

  1. Economic Buildings

Much as in a number of existing mods, you can build buildings with modules that increase the city's output in the same categories as above. There are limits as to the number of such modules you can put in a city based on available tech and resources to prevent players from scaling up to near limitless quantities of income, deploying gigantic fleets, and, uh complaining that the game is slow. This still doesn't make the city look like a real city, though. Downside: needs a massive amount of new graphics, and your fingers will fall off from micro-ing the construction of economic buildings in every podunk town you capture.

  1. Economic and Civilian Buildings

As above, but the city also contains civilian buildings like houses, shops, churches, schools, and so on. Do you build them or do they pop up automatically? Needs a truly huge amount of new graphics, and also some coherent mechanical reason why eg having a village school is a good thing.

My preferred option here is 1. City-level upgrades because the other options, while kind of cool, will take a lot of work to implement, and I feel will cause the game to descend into economic micro-management hell.

Espionage

The current system veers wildly between pointless and randomly overpowered. Replace it with a system where you can send a spy to infiltrate a city over time, raising its infiltration level. As the infiltration level rises, more options for spy actions become available. Players can see an approximate value of the total spy infiltration level in a city and can increase secret police spending to combat it, if they wish.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment