taw's blog

The best kittens, technology, and video games blog in the world.

Friday, July 10, 2026

Factorio Modded Planets Review

factorio cat in space by Grok

I'm about halfway through a Factorio campaign with Enable Planet Mods Lite modpack by Kryzeth, a bit over 200h into the campaign.

Factorio is very popular, but very few people play with modded planets, so I'm writing about my experiences so you can see if that's something for you. It will contain mild spoilers.

General notes

What I describe is an early/mid game experience. The planets sometimes have additional late game content that I won't cover. I also won't list all less impactful bonuses, as there are too many.

Most planets want you to return there multiple times with more advanced technology. The first time you land, you'd likely build a starter base able to just do some basic rocket launches, and export a trickle of planet specific science packs. Then after unlocking a few technologies, you'd be able to come back and build a much better base. And perhaps later you'll come back again, combining technologies from multiple planets.

Various planet mods were created by different modders, but they all put considerable effort into making the overall experience cohesive! Planets try to work with each other, and nothing from one planet is going to break another.

For every planet, I offer a quick description, main rewards, 1-5 star rating for difficulty and reward, and any special notes. Difficulty rating is based on building a sustainable base that can work and export relevant goods without your presence, and with only modest ongoing imports (like calcite).

The campaign is still on Factorio 2.0, and the mods might have changed since I played them. Enable Planet Mods Lite also keeps moving planets between recommended and optional every now and then, so you might get a different set if you start now. I list the planets in order I visited them, but after Muluna you can visit all of them in pretty much any order you want.

Game balance

Modded planets offer rewards, but they're dramatically lower than vanilla planets.

For comparison, the cost of a blue chip is (counting each mined resource as costing 1, oil as 0.1, and water as free):

  • Nauvis tech only - 24.1 iron, 40 copper, 2 coal, 48.8 oil - cost 71
  • with Fulgora tech - 10.2 iron, 11.3 copper, 0.9 coal, 23.4 oil - cost 24.75
  • with Vulcanus tech - 10.8 iron, 8.9 copper, 2 coal, 0.4 calcite, 48.8 oil - cost 27.1
  • with both Vulcanus and Fulgora tech - 4.6 iron, 3.8 copper, 0.9 coal, 0.2 calcite, 23.4 oil - 11.85

So with these two planets you can make 6x as many blue chips as you would with Nauvis tech. This is supposed to give you incentive to explore space, but if there were 20 planets with these kind of bonuses, it would completely break the game. So the bonuses you get are usually a lot smaller, but hopefully still meaningful.

Lignumis, woody moon of Nauvis

This is an optional dependency. I included it, but I recommend against doing so. This is my only negative recommendation, I loved all other planets.

Lignumis is a moon of Nauvis. If you enable it, you start the game there until you build a Provisional Rocket Silo. It can launch a single-use rocket that brings you to Nauvis with a small inventory. Then your Provisional Rocket Silo blows up, and your Lignumis base will probably get overrun by native wildlife before you get back to space.

Lignumis is sort of Gleba lite. There are easy enemies, and a new pollution type - noise - which is even emitted by conveyor belts! You grow some trees and golden bacteria, and build things mainly from wood and gold. There are burner and steam versions of early game buildings.

Your reward is tier 0 technology, like wooden walls (worse than stone walls), wooden darts (worse than basic ammo), wooden conveyor belts (worse than basic conveyor belts) and so on. You also get some buildings for planting trees and processing wood. The most useful rewards you get are coal-powered personal roboports, and basic construction robots, which you can take with you to Nauvis for an easier first hour or two. But a few hours into Nauvis, you'll be using none of that. Tier 1 items are cheap enough, and if you're reading this, you probably played Factorio enough times that you know how to get construction bots quickly.

The main problem with this mod is that you can choose to enable "telescopic recipes", that is, make tier 1 items require a corresponding tier 0 item to build. By default it does it to green chips only. Vanilla recipe is 1 iron plate, 3 copper cables, and with Lignumis you can either make them with 1 iron plate, 3 copper cables, and 1 wooden chip, or with vanilla recipe at twice the cost - 2 iron plates, 6 copper cables.

This is fine on Nauvis, as mass producing wooden chips is a minor hassle. This is fine on Fulgora, as you don't make green chips from scratch. This is fine on Vulcanus, as you can brute force your way through double the cost, as metals are so cheap there anyway. I'm not entirely sure if you can plant trees on Gleba or not. But it makes the start on so many modded planets a huge pain for no good reason. Rubia even has a special Rubia-only "you can use vanilla recipe for green chips here" recipe, even with Lignumis enabled.

And if you disable telescopic recipes completely, Lignumis offers pretty much nothing. You'll forget it even existed as soon as you unlock blue science on Nauvis for proper construction bots. This is likely still a better experience than default settings.

Lignumis is probably a lot better for a separate playthrough. Just vanilla planets, Lignumis, a lot of extra mods like "Wooden Fulgora", "Wooden Vulcanus" and so on, and you can enable all those telescopic recipes. But for all planets playthrough, just don't enable Lignumis.

Reward rating: 1 star

Difficulty rating: 3 stars

Nauvis and your first space station

After launching yourself from Lignumis to Nauvis, you play the normal game up to your rocket launch, except you start with some basic construction bots operating out of your coal-powered personal roboport. I took a lot of supplies from Lignumis, but you can actually build all of that on Nauvis anyway.

You might be tempted to use tier 0 buildings for your defensive wall and belts to save on iron and stone, but it will cost you a lot more time fixing all the wall breaches than it saves resources.

And if you play without Lignumis, or just disable telescopic recipes, then you just play a totally normal game.

Either way, everything continues normally until you build your first rocket silo. But there's a surprise coming.

Reward rating: 4 stars

Difficulty rating: 2 stars

Muluna, barren moon of Nauvis

Muluna is the other optional dependency I included. It changes the game in two ways:

  • you cannot make crushers, or asteroid collectors, or make space science in space at first
  • all rocket launches are 2x more expensive from everywhere except Muluna. But you get 2x as many module slots in the rocket silo, a lot of rocket part productivity tech, so it isn't as much of a nerf as it seems.

With the Muluna mod enabled, you need to barrel some ingredients that will be turned into thruster fuel and oxidizer for your first space ship, unload them there, and travel to Muluna to unlock the rest of space science.

Muluna is somewhat challenging. You can mine all 3 types of asteroids, as well as an extra type that produces aluminum (since copper from metallic asteroids is post Gleba tech), produce space science there, and send it back to Nauvis by rocket. Ironically you need to grow trees on the moon, in greenhouses, to produce rocket fuel and plastic for blue chips and low density structures for rocket launches. Balancing oxygen, carbon dioxide, water, steam, and various wood products without your base getting stuck is not easy, especially with the limited technology you have available at this point.

And in the end, what's the reward you get? The most important part is probably that you can build a far better space casino on Muluna than you could realistically build in limited space available on space stations. And you get Crusher 2, with twice as many module slots for quality modules. Ironically, Factorio 2.1 will ban all space casinos, and other planets have better quality sources, so I'd say that Muluna is probably making the game harder rather than easier in 2.1. But it's still fun, and the difficulty is mostly contained to your first few hours in space.

You will return to Muluna many times as you unlock new technologies, unlocking another science pack that gives more rocket part productivity, thruster fuel productivity and so on, but none of it seems to do anything too game changing.

Reward rating: 3 stars (1 star once they ban space casinos)

Difficulty rating: 3 stars

Vulcanus

After Muluna I went straight for Vulcanus. Vulcanus is super easy, and rewards are crazy overpowered.

The biggest difficulty with Vulcanus is dealing with the temptation to abandon your base on Nauvis, and build your main base here. Sure, only Nauvis can have biolabs at 50% science pack drain, but you can probably make twice as many science packs on Vulcanus with metals and stone being free, so it sort of evens out.

Reward rating: 5 stars

Difficulty rating: 1 star

Cerys, moon of Fulgora

This is the third moon I visited, and not even one new real planet yet. Cerys is tiny, with a fixed map, and all of it starts frozen and unusable. At first it might seem like it's just like a Fulgora island with a different type of scrap, but you need to solve multiple puzzles to win.

Cerys won't let you drop anything there at all (except construction bots, somehow I missed that) until you unlock the right tech, so you have to solve it with only what's on the moon.

Cerys has a teleporter to Fulgora, which you can use to teleport away (without any inventory, it would get deleted!), so you don't get soft locked even if you can't solve the puzzles.

The most important things that you get for all the trouble:

  • techs for holmium plate productivity, which can improve your science production on Fulgora
  • a slightly better version of your personal nuclear reactor
  • flare stack, which lets you void any fluid - surprisingly useful on many planets!

You also get a plutonium nuclear reactor, which is more powerful than Nauvis version, but setting up regular plutonium fuel cell shipments from Cerys would be a challenge, and it's not like you really need that.

Reward rating: 2 stars

Difficulty rating: 3 stars

Fulgora

Then I went for Fulgora, only making a tiny starter base to unlock some techs and export electromagnetic plants. I came there later to build a bigger base, and even an extra base for just quality ingredients, but Fulgora really isn't the right planet to get quality.

Fulgora benefits a lot from modded planets. Cerys gives holmium plate productivity, Corrundum gives sulfuric acid productivity (which is used to make accumulators for science packs), while Cubium gives you easy access to high quality modules-2.

Reward rating: 5 stars

Difficulty rating: 3 stars

Arig

After that I went to Arig. Its main resource is sand, which is a fluid (there's a completely unrelated sand item on Moshine - this can be a bit confusing when looking for recipes). The planet is super easy - just pump sand, extract various goodies out of it, and discard what you don't need as everything is infinite.

There are minor difficulties as space is a bit tight until you unlock sandstone foundations, and robots cost a lot more energy, so you should really belt things up if possible. And you cannot drop anything to Arig (except construction bots) until you research unlocking tech, but it's so easy that you don't need to.

For rewards you get:

  • second calcite exporting planet after Vulcanus
  • Press that has 50% productivity and some extra recipes for some chemical products, notably plastic, solid fuel, and landfill
  • water harvesting that lets you capture water from air on multiple planets (but not all, and its efficiency varies by planet)
  • better solar panels
  • power poles that can be installed in deep ocean, including on Fulgora (they're not lightning proof, but you can often connect power grids of nearby islands this way if you have good lightning rods protecting them)
  • big storage boxes

Reward rating: 3 stars

Difficulty rating: 1 star

Corrundum

Corrundum is a sulfur planet. You'll be processing a lot of sulfur products to extract metals from minerals. There's also platinum used in science packs and for the catalytic plant.

For rewards you get:

  • sulfuric acid productivity tech - it's extremely cheap research without typical 1.5x exponential scaling, so you should get it all the way to +200% cap as soon as practical; Corrundum is quite hard to make work decently without this bonus, and you need sulfuric acid on many planets
  • catalytic plant - 2x faster chemical plant, with one special recipe (rocket fuel), but no inherent productivity bonus. Rocket fuel recipe only gets productivity bonus after you research relevant tech. It's fine, but you can get high quality chemical plant a lot more easily than catalytic plant, so that speed difference isn't so significant
  • productivity bonuses for pipes and (for some reason) steam turbines, at the usual 1.5x exponentially scaling cost

Reward rating: 2 stars

Difficulty rating: 2 stars

Moshine

Moshine is another sand planet, but it has solid instead of fluid sand.

The main problem with Moshine is that you need to go through a lot of steps of tech progression that do nothing except for unlocking the next level of Moshine tech progression. Any reward relevant to other planets is only at the very end of the process, so you'll probably leave it before you even get anything of value.

It felt like the least rewarding planet, even though late game rewards look pretty solid, if I ever get to them.

Reward rating: 1 star

Difficulty rating: 2 stars

Igrys

Igrys is a ribbon world. It can't quite decide if it has a magic theme or a mineral theme. You can collect copper from the air at night, but there's no iron at all. Due to lack of iron, you need to drop some supplies to get started, but there are alternative recipes for most things.

For rewards you get:

  • copper plate productivity techs - this is really impactful, but it only affects copper plate, not other products, so you should switch from making copper cables and low density structures in foundries to making copper plates in foundries, and converting them to copper cables and low density structures in electromagnetic plants and assemblers respectively. You can double your copper on all planets this way.
  • stone to magic glass recipe, and various productivity levels for it; magic glass can be used on other planets in alternative recipes for many common ingredients, notably for plastic and green chips. You could probably get some meaningful high quality products out of excess stone available on many planets.

Reward rating: 3 stars

Difficulty rating: 1 star

Cubium

Cubium is a cube-shaped planet where the main resource is a cube. It's unlike all other planets you've ever played. Every recipe takes an energized cube, and converts some inputs to some outputs, while making the cube dormant. You can either wait for it to wake up again (it takes 1h to wake up on its own, and 30 minutes to go dormant on its own), or use another recipe to wake it up at some cost. Later there's a second type of cube.

You can easily make thousands of cubes, each used to produce a small amount of various resources, like iron ore, copper ore, plastic, and so on, while using some other resource like steam, carbon, or copper plates. You could drop some cubes on each planet, and use this to generate any resource that's lacking on that planet, but that's the least powerful thing you can do.

If you put some quality modules in the loop, step by step, all cubes will eventually become legendary cubes, producing legendary resources directly, without any recycling or casinos. The only real limitation is that it doesn't easily produce legendary planet specific resources, but with hundreds of thousands of legendary modules-2, you can figure something out. And the second cube type seems to have some ways to get tungsten and holmium products out of it, in a highly convoluted way.

And if that's not enough, there are alternative recipes for all 6 basic science packs that take energized cubes and concentrated dream in addition to their normal inputs, and generate 3x as many science packs. This is especially useful for the purple production science packs, as they don't benefit from any infinite research or other tricks, but nothing stops you from just making all 6 science packs this way.

And that's just the first cube type. There's so much beyond that.

Cubium is the only planet that's about as powerful as vanilla planets Vulcanus, Fulgora, or Gleba. A playthrough can deal with one OP planet, and the complexity cost is considerable, as you'll need not just a Cubium base, but also fairly complex Cubium bases on Nauvis, Vulcanus, and who knows where else. Cubium offers a lot, but there's a cost.

For rewards you get:

  • infinite legendary resources
  • 3x all vanilla science packs
  • and a lot more

Reward rating: 5 stars

Difficulty rating: 4 stars

Rubia

Rubia is a planet of wind. It blows to the right so strongly that all the belts can only move up, down, or right. All inserters and splitters can only move to the right. Bots can't fly at all. Eventually you unlock armored trains, but until then you'll likely be dragging a lot of resources upwind by hand. All recipes are nasty with multiple inputs and outputs. And everything is bombarded by trash asteroids, which spawn everywhere, so you can't just put gun turrets around your base like on Nauvis - you need them to cover every tile of your base.

Oh and just for good measure:

  • you can't drop anything to Rubia until you unlock the right tech
  • asteroids are immune to lasers
  • asteroids get more hp based on your physical damage tech so you can't just outtech the problem
  • recyclers don't work on Rubia
  • there's a lot of toilet humor (there's an extra mod to disable that part if you want)

It's as if Rubia is trying to outcompete Gleba for being the most miserable one in Factorio.

The rewards are interesting. Once you unlock drops to Rubia, importing various items from other planets and throwing them into the wind gives you either personal or planet specific bonuses, and they are all quite solid. Some are planet specific (like improving Arig Presses from +50% to +60%), while most upgrade your character slightly (reach, speed, trash slots etc.).

There's even an optional Rubia stage two, where you mix Gleba's, Rubia's, and Nauvis's wildlife all together into some abomination, which I did not try yet.

Reward rating: 3 stars

Difficulty rating: 5 stars

Gleba

And finally after I ran out of planets to try, I had to go to Gleba. Rewards from Gleba are extremely solid - biolabs that double your science per pack, belt stacking and stack inserters, bonuses to plastic and rocket fuel productivity. But it's also a really miserable planet.

Reward rating: 5 stars

Difficulty rating: 5 stars

And there's more

There's a whole second tier of planets after Gleba. When I finish the campaign, which might take months, I'd like to write a follow-up to this post.

If what I described sounds like something you'd be interested in, you can play it now. Either grab Enable Planet Mods Lite with a preselected list of recommended planets, or just pick and choose the ones you like the most.

Overall I've been extremely happy with the planets. They range from alright (like Igrys, Corrundum, and Moshine) to just amazing (like Cubium, Cerys, and Rubia). Even the one planet I recommend against - Lignumis - is in no way bad, it just doesn't fit this kind of playthrough.

Thursday, July 02, 2026

How to make a great automation game

Factorio Cat (made with Grok AI)

Factorio just released version 2.1, its last major update. Or at least that's what they're saying now. Terraria has been releasing new "final" updates every other year since 2011, so only time will tell.

Factorio started the automation games genre, which is now well established with many great games. This is a great time to review the whole genre all at once, what works and what doesn't. And even Factorio got a few things wrong, as the genre was still new back then.

What makes a great automation game

In automation games, players spend time doing 5 things:

  1. figuring out and automating new things
  2. identifying bottlenecks
  3. dealing with bottlenecks
  4. waiting
  5. bullshit

The best automation games are those where you do mostly 1, 2, and 3, and keep 4 and 5 to minimum.

Figuring out and automating new things

You want to build some new product you don't have yet, or are only making manually. Or you want to use some new more efficient process to get the same product, like foundry based steel instead of furnaces. Or you're setting up new logistics system like a rail network. Or a different combat system like a wall of flamethrower turrets.

This is the part all automation games get right. There's so much variety. Automation usually starts with belts carrying simple items, and machines doing 1-to-1 and 2-to-1 manufacturing, but then it goes into all kinds of crazy directions.

And whenever I think I've seen it all, I try another automation game or mod, and it turns out there's some completely new way to automate things! Dyson Sphere Program lets you solve electricity production by building a ring of solar panels around the equator, so half of them are always in the sun. On Cerys you produce plutonium by funneling cosmic ray particles with charged rods so they hit your stored uranium as many times as possible. On Rubia strong winds prevent belts and inserters from facing West, so you have to build your entire factory from West to East, throwing any excess into the wind.

A very important thing is that this is a one-way progression. Once something is automated, it stays automated without any further effort. The game should never ever break what you automated.

I can't think of a single game or a mod that got this part wrong, the range goes from fairly good to totally amazing.

Identifying bottlenecks

The second thing is identifying bottlenecks. You make some science packs, but you want to make more. You seem to be making enough green chips, but they're stuck on a slow belt and some of the destinations are not getting enough. Your factory is suffering from power outages, so you need more power. You need more space for your factory. You produce too much waste product, and for now you just dump it into a chest and haul it out manually, but you really need to address it properly.

Automation games have a mixed record here. Some bottlenecks are very easy to identify. Belt based designs make it especially simple - empty belt means you need to produce more, overfilled belt means you need to consume more. Or when producers are idle as belt is full, while consumer is idle as belt is empty, you need to increase belt throughput. That's one of the reasons belts are so popular - it's so easy to figure them out!

But often you aren't really given tools to figure things out. How many items per second or per minute a given building produces? Most games including Factorio 2.x now show you that on a tooltip but back in Factorio 1.x you had to do the math yourself. How many accumulators do you need? There's still nothing in game to tell you, you can either find out some ratios online, or add more when you run out of power.

Unfortunately there's a conflict between these two activities. Making processes more complex makes automating new things more exciting, but it can also make identifying bottlenecks more frustrating, and players should be able to stay in the game and figure things out, not feel forced to look for online tutorials.

For more exotic ways of production, you often see that things aren't working well enough, while having no good idea why. Why is my Gleba factory working sometimes, but then it just randomly dies and turns into a cesspit of spoilage? Nobody can tell. Why is my asteroid reprocessing loop getting stuck, while an identical system elsewhere keeps working perfectly? Who knows really. Why my wall can hold biter attack most times just fine, but then they break through once in a while? The game has no numbers to help you, so you just blindly tweak something and hope it's the right thing.

Dealing with bottlenecks

Once you've identified a bottleneck, you need to deal with it. Sometimes it's easy, just add a few machines, upgrade them to next tier, add more belts, and so on.

Sometimes you see that your current approach just isn't working, and you need to automate something new to really address the bottleneck. Maybe your belts just aren't good enough and you need to get some trains. Maybe there's no way to get enough blue chips on your new planet for all the rocket launches, and it's just easier to setup a space ship bringing them from another one where blue chips are abundant. Maybe your gun turrets aren't holding with highly evolved biters, and you'd rather add some flamethrowers to your walls instead of trying to double down on your current solution.

Sometimes you need to get creative. You identified that you need more space. Do you clear some biter nests and build a new wall? Make a landfill factory, then landfill a lake? Bring cliff explosives from Vulcanus to flatten an area that's unused for now as cliffs are making it too awkward to use? Or use a different design that's more space efficient, like adding speed beacons?

And most of the time, you just need to make a bigger version of what you already build, or copy it over a bunch of times.

This part needs careful balancing, and a lot of games do it quite poorly. If you make it too easy, just copy&paste whatever, and it just works, then you don't really have bottlenecks. But if you know what needs to be done, but it takes hours to actually do, it can take fun out of the game, and make it feel tedious.

This is where I feel Factorio got the balance wrong, making scaling up before construction bots just infuriating. Placing 1000 belts? Just run and drag, and it's done in seconds. Placing 100 assemblers? Run and drag, done in seconds. Placing power poles? Smart placement will make sure nothing is disconnected. But then you have to go through ridiculous and error prone tedium of connecting it all with inserters that takes the fun out of the game.

Then you finally unlock construction bots, and the whole problem is completely solved, but at the same time you also unlock logistics bots, which trivialize the game.

There are other operations you pretty much need construction bots for, like moving parts of your factory a bit because you didn't leave enough space, even though you keep telling yourself to leave more space over and over.

Most post-Factorio games got it right. You get equivalent of construction bots either immediately or very early, but logistics bots very late. And many popular mods like FasterStart give you a small number of personal construction robots either right away, or at least very early.

An interesting if simplistic example of an automation game is Shapez, where resources are infinite, machines are free, but there's just one thing that takes a special resource and that's copy&paste cost, so you can't just make your factory infinitely big with a few clicks.

And these are three things automation games should be about. Automating new things, identifying bottlenecks, dealing with bottlenecks, in a loop until you win. Unfortunately...

Waiting

A very common anti-pattern is forced waiting. All automation games want you to produce big amounts of something to progress, a lot of research packs, or a lot of machines, a lot of rocket launches, and so on.

It's quite easy to find yourself in a situation where you feel stuck - you can just wait a few hours doing nothing and then progression just happens, but there's not much you can even do until then that feels meaningful.

This is not the same as dealing with bottlenecks. For example Dyson Sphere Program has "Mission Accomplished!" tech that "wins" the game (you can of course continue as a sandbox). This requires a huge number of Universe Matrices, which are produced very slowly by your Dyson Sphere. There's no good way to speed it up, and whatever bottlenecks your factory has won't matter after you "win" the game, so the best strategy is to AFK for a few hours. Absolutely terrible. Or at least that was the case when I last played it, it's still an early access game, so they might have changed it by the time you're reading it.

Shapez is notorious for this, as every research requires a different item, many of which aren't used by anything afterwards, so you really don't have any incentive to scale things up. And as for doing the next item while you wait for current research, that research often unlocks a new building you need for the next item.

Compared to most other automation games, Factorio is really good at not doing that - technologies that would hard block you tend to be cheap or even unlock automatically with a trigger. The game is also complex enough that there's always a bunch of things you want to improve about your base while you wait. You could still wait for technologies that make your factory more efficient, but they don't require unique items you'll never need again, and they don't block you from progressing.

A few Factorio mods like Cerys got this wrong, and force you to wait for some item like a huge number of blue chips to progress, and Cerys prevents scaling up until very far down the tech tree. Cerys is overall a great mod, but it could use some numbers being tweaked a bit. At least you can remote view into another planet and fix things there while you wait.

Bullshit

And finally, the last category, bullshit - everything that doesn't make your factory better. Especially pointless grind, but there's a few other types of bullshit too. There are games where grind is acceptable, but automation games are not it.

Factorio was clearly designed before it was understood, and it still has two main bullshit grind activities - fixing resource patch depletion, and dealing with biter nest expansion after you clear them up.

And they know perfectly well that it's bullshit. You can litearlly disable biter expansion on campaign start, it's disabled on some presets, and most new world (Vulcanus, Fulgora, Aquilo, space asteroids) don't have any equivalent of biter expansion.

They also know perfectly well that resource patch depletion is bullshit. Space Age made resource patches deplete at 50% speed with common big mining drills (down to only 8% with legendary), and most of all it made mining productivity techs dramatically cheaper.

In Factorio 1.x, a level of mining productivity costs about 940k in minable resources, and 1300k oil.

In Factorio 2.x Space Age, a level of mining productivity costs, between foundries, electromagnetic plants, biolabs, and cheap mining drills, costs about 18k in minable resources, 33k oil, and a bit of rocket launch capacity to send calcite over (it could be zero if you mine it in space).

These changes kept resource depletion in the game, but by mid game it's about 100x less of a problem than in Factorio 1.x. Because they know perfectly well that it was bullshit, but they couldn't quite make themselves just remove it.

Satisfactory is full of grind early game as well (again, I played it during early access). You're going to spend more time gathering fuel and bringing it to power plants than actually automating for very very long time.

Dyson Sphere Project has notable non-grindy type of bullshit - flying between planets. The whole space flight system is highly unintuitive and you can find yourself randomly stranded in space if you didn't quite hit the target, forcing you to load the save.

Most automation games unfortunately have some kind of bullshit. Cut it all out.

Summary

And that's how you can make a great automation game or mod. Have a lot of fun things to automate, provide good tools to identify bottlenecks, don't make fixing bottlenecks too tedious, cut waiting and bullshit to minimum.

Saturday, February 14, 2026

Crusader Kings 3 landless play or Paradox games are not always easy even when OP

Grok image for a bunch of medieval cats traveling, with boss cat wearing a big crown, and some knight cats etc.

Paradox games are really complicated, but once you get through all the complexity and know what are the right options and what to ignore, they're normally very easy. Experienced players sometimes do silly things like "Hisn Kayfa very hard no allies no loans" in EU4 to get some kind of a challenge.

But recently I had a chance to play a total noob game.

I had ridiculous amount of hours in CK2, and I played CK3 a bit, but it never managed to pull me in the way CK2 did. It did some things better, some things worse, UI and map were a huge downgrade, overall I just didn't care, and I have limited gaming time.

Even the long overdue map expansion to China and Japan weren't all that impressive, as there are already CK2 mods that do that, which I played a lot.

But at some point they released ability to play as a landless character, and I had to give it a go. Well, at soon as I found some time, which was about a year and many nerfs later.

Robin Hood

All my attempts were custom characters in the earliest start date.

My first try was going in basically blind. I created a custom Anglo-Saxon Catholic Robin Hood character, way over points limit, as I had no idea what I was doing so I thought I'd make it easy for myself.

As it turns out, going over point limit was absolutely unnecessary, but I'll get to it later.

You can choose your camp purpose, so I decided to be a bandit, and I was wandering around, doing contracts, earning some money, and it mostly felt like I've been getting absolutely nowhere. Years passed, and I was still having my tiny bandit band with shitty characters, modest amounts of gold, and very little prestige to show for it.

The only interesting thing I managed to do in all this time was getting a good wife. At first I wanted to use character finder to search for some unmarried woman with good traits and romance her. But CK3 character finder is just shit compared to CK2's. You can't filter by age range other than "adult vs not adult", so most of the matches were some automatically generated grandmas. You also can't filter or sort by distance. There's "diplomatic range" filter, but it seems to have nothing to do with romance scheme range. The game wouldn't let me start a scheme unless I was basically in the same county, and I'd need to stay close to it for a year.

I tried to do this anyway with all my landless characters - find some lowborn woman with good traits, move my camp nearby, and start a romance scheme. But this really isn't the way to go. Game doesn't generate that many unmarried women with good traits early, you probably don't have skills for romance scheme early, and it ties you to the same place for a year or two. It sort of works, but it just isn't great. And I had multiple targets just die on me to a random event bufore my schmeme completed. There's probably some events in the game to cull random landless AI characters to keep game performance acceptable, and my potential wives kept dying to it.

The easiest way to get decent wife as landless character is to just get "rescue a fair subject" contract (justiciar category), which is very easy, and then you can just ask that rescued woman (or presumably a man) to stay with you. This is what I ended up doing mostly.

You can also just visit all taverns, and they have decent chance of getting some kind of "seductress" character you can bribe with some booze to join your camp. The downside here is that they are often quite old (but you can still get them to join for traits).

You can absolutely do the romance scheme, or even elope with rulers' wives, after you get your skills and lifestyle perks a lot higher, which isn't that hard, it's just going to take time.

Anyway, as Robin Hood, I met some good traits wild woman by a random event, did a prowess check, and we ended up getting married.

Contract Types

There's a lot of contracts you can get but they belong in mainly there categories:

  • scheme contract - you and 5 of your agents start a scheme, which needs some time before you can roll dice if you win
  • transport contract - go to another province, get reward
  • skill check contract - go somewhere, do a skill check, if you win, you get a reward

There are so many problems with what I was doing:

First, most contracts are schemes contracts, so I was mainly taking them, and they are absolutely terrible this early. They take extremely long time, so I could only do a couple per year, and they can fail anyway.

Second, contracts have tiers, 1 (offered by counts and below), 2 (offered by dukes), and 3 (offered by kings and above). Rewards for tier 1 contracts are relatively poor, and you only get access to higher tiers if you have enough prestige. How to get prestige? By doing contracts. So if you're stuck doing tier 1 scheme contracts, you'll die of old age before you get access to good contracts.

Interestingly, rewards aren't even that bad by standards of a landed ruler - you can easily get higher income than a king by running a camp poorly and doing really bad tier 1 contracts. But costs are completely unreasonable. Recruiting a random mediocre character costs 100-150 gold. You can buy a whole county building for less. It's baffling that they didn't scale both income and expenses by 5x or 10x less to get them more in line with the rest of the game.

What you want is to do as many contracts as you can, and who cares if you fail. Skill check contracts are best for it, as they are super fast. You probably don't have great traits at this point, and you don't have great agents, but failing a few contracts doesn't really matter.

The next best are transport contracts. You just need to go to some different county, and free money and prestige. The main downside is that you don't know where you're supposed to travel until after you accept the contract, and reward has no relation with distance, so sometimes it's too far and not worth it. But a few times I had travel contract to "travel" to the very place I already was at (but contract giver wasn't). Free gold for 0 days.

I'll get to correct meta later, but at this point I had no idea.

Benjamin Shapiro and the Medieval healthcare system

I ended the Robin Hood playthrough early, and I checked some youtube videos and reddit guides. There are problems with checking what people say, and I'll get to it. But I was getting nowhere, and being a bandit had big downsides if you want to become landed later, so I thought I might as well restart and do things properly.

I wanted to try another meme character, so I made an Ashkenazi Rabbinic Genius character, starting in Venice, and tried scholars camp purpose. I thought I'd be spreading some Judaism maybe.

Anyway, Ben got Consumption before even reaching his first contract. As an established ruler it doesn't matter too much except for some lower health, but as a landless adventurer, it prevents you from visiting any settlements, gathering provisions, and doing basically anything else to make progress.

I was waiting for it to pass or something, but it didn't for years, so I eventually just gave up. I guess God didn't want me to play Ben Shapiro just yet.

This is a pretty shit game design. There's probably some ways to deal with consumption and other diseases, but if it happens so early, you might just as well restart.

Also Ben Shapiro losing to bad healthcare system, the irony.

Marco Polo

OK, so another start. Catholic Italian Marco Polo in Venice, the goal is to travel to China and come back.

At this point I was actually getting the meta a bit. I was avoiding slow scheme contracts, taking skill check contracts, and transport contracts, and I was slowly moving towards China.

I got annoyingy cancelled by the Abbasid Caliph for no reason, which meant I wouldn't be able to get any contracts there. I'm not sure if there are any downsides of just passing through, but either way I turned North towards Central Asia.

I was slowly meandering towards China, and I took a skill check contract to kill some bandit. I had quite high 26 prowess at this point, so I just went for the fastest option to duel him, and then I suddenly died, and got a game over. Well, that wasn't expected at all. My opponent also had a fairly high 24 prowess, and somehow the RNG favored him.

Duels are one of the CK3 features I really dislike. They depend on prowess and traits of both characters and some RNG, which is fine, but the game won't tell you "you have % chance to win / lose / die" like it does with almost all other events. You need to alt tab to google sheets to get that information. If consequences of not knowing was some minor prestige reward then whatever, but this is literally life or death situation for the campaign, and it should not be obscured this way.

Of course in the future I'd know to only select this option if I had way higher prowess, and otherwise take one of the other options.

Contract meta

Anyway, here's the landless contract meta as I eventually figured it out:

The most important thing is to stack all travel speed modifiers - from lifestyle traits, camp upgrades, and good camp officers. Then get some travel safety modifiers. They're not as important as speed, as you can avoid dangerous places. There's customize route option, and you should absolutely take it - it can make your travel faster (default planner really hates taking sea ways even when they're a lot faster), and safer (by going around dangerous areas). Eventually you'll need custom routes to hit "points of interest" too, I'll get to that.

Then as you're upgrading travel speed, just take all the travel contracts you can. If they're really inconvenient, you can keep them open for very long time, they don't seem to expire for years, and they don't cost much when cancelled.

With all the speed upgrades you'll be moving really quickly and collecting rewards all the time.

Whenever there's no good contract available, first ask town crier for more contracts. Especially transport contracts are great. If town crier doesn't have transport contract as an option, you can either pick some other category, or go to another town and reroll (there's a timer until you can ask again, so don't ask if you don't want to take any contracts). I'm not completely sure which other contract types for town crier to pick. Justiciar and stewardship tend to have some quick skill checks, diplomatic and intrigue tend to be slow schemes.

Criminal contracts are a bit of an all or nothing thing. You can do them and get a lot of very good rewards, but you lock yourself out of many decisions like buying land, at least until you clear your reputation. So either go all in, or don't do them at all. Doing them only sometimes is probably the worst option.

Stacking travel modifiers is useful for all other contract types as well, not just travel contracts. You'll get more high tire contracts of all kinds, you'll get more points of interest, and you'll be able to just get where you want to be a lot faster, and with a lot fewer bad events on the way.

And if you don't see contracts you like, just keep on moving. Between town crier and just moving on, you will find many good high tier contracts eventually (if your prestige is high enough for higher tiers).

Once you get enough prestige and unlock tier 3 contracts, you should go somewhere where there's a lot of king tier rulers close together like India. Many parts of the map (like Europe and the Middle East) have only very few big king/emperor tier rulers, and a lot of vassal and independent counts and dukes, who are somewhat lot less profitable. But that's not something to worry about early game, and even tier 2 contracts are mostly fine.

For skill check contracts, just pay to hire any good characters. You can use Scout for Talent travel option to get more events for them cheaply, and you can hire some for settlements (but they're more expensive). Don't worry if you fail (other than literally dying or getting wounded) if all it costs you is some prestige and opinion. Just keep traveling super fast and doing more contracts. If someone's bad at everything, don't bother hiring them.

For scheme contracts, they're not normally worth it as they take too long. However, there are multiple upgrades (lifestyle traits and camp upgrades) that let you do them faster. Unfortunately each such upgrade only applies to a specific kind of a scheme. Once you gathered a lot of good characters, and some faster scheme upgrades, these contracts get pretty good. In any case, go for as fast as possible option, don't spend twice the time to go from 80% to 100%.

Benjamin Shapiro the second

I could have reloaded Marco Polo autosave, but now that I finally figured out how to play, I wanted to give Ben Shapiro another go.

This was a start under 400 point limit, and it really didn't matter. If you visit every tavern and every training grounds on the way, you'll get insane skills in no time. I was the highest skilled character in the game less than 10 years in, and that includes Alfred the Great of Wessex, which the game sets up with insane starting skills.

It's especially easy to get ridiculous amount of prowess, by buying weapons and armor (I got +8 and +5, but there are better) at any random town market, prowess training at any castle training grounds (+6 before the option stops appearing), and blademaster training (+12 total, it starts showing up after flat prowess bonus ends). I started with very low prowess intellectual character, and had 55 prowess in less than twenty years, probably higher than anyone in the world, without even really trying to focus on that. Other stats increased a lot too, but somehow not quick as fast as prowess.

Somehow I managed to get over -100% stress gain, so all the events where I'd be getting stress were giving me 0 stress. I guess facts didn't care about my feelings.

You can farm prestige by doing a lot of contracts quickly, basically via travel speed.

You can farm piety by visiting every church on the way and doing tiny donation, at stupidly good exchange rates.

Sometime during this playthrough I discovered that you can visit "points of interest" to get rewards, especially lifestyle points. The UI for it is atrociously poor, but this lets you unlock all perks pretty quickly. This isn't infinitely farmable, as you only get a reward the first time for each point of interest, and it really encourages you to travel all over the map instead of staying in one area.

You can get some more traits and skills from university visits and pilgrimages too - similar to what a ruler would have access to, but a lot cheaper.

I suspect there are ways to improve other traits even further, as I've seen some screenshots with well over 300 skill sum total characters, my Ben Shapiro has "only" 175 total and 23 lifestyle perks), unless that got nerfed somehow.

But since this was already going so great I decided to look for options to get some land.

Getting landed and the nerfs

There are many ways to get landed. The boring one is to inherit something, but that only applies if you're a former ruler who temporarily lose their title, and managed to murder scheme his way back to the throne. Or if you managed to marry some royal in line of succession. It doesn't really apply here if we want to play a custom character.

You can buy land. Becoming a count is cheap, and it's not too hard to convince a king or a duke somewhere to sell you some. There are also events where you can get a county as a reward for joining someone's war. But who wants to be just a mere count?

Buying a duchy is a lot more expensive (2600 gold instead of 400 from what I've seen), and kings take a lot more convincing, but it's nothing too excessive.

You can convert your adventurer camp into a nomad camp, and seize some pastureland county somewhere, then continue horde gameplay.

There are also some ways to buy estates in administrative state, but I have no idea how that works exactly.

But what I really wanted is to conquer something. I've seen some video guide of people getting ridiculous armies as adventurers super easily - which cost nothing except provisions to run.

So I tried to hire some men at arms, and join some wars. But wait a moment, why am I not getting results anything close to what those youtubers were getting? My soldier count is tiny, they can barely fights, can't siege, and even if I win, rewards are miserably low?

Let's check 1.13.2 patch notes:

Reduced knight limit from Roaring Campfire significantly.

Removed the MAA max size modifiers from excellent aptitude camp officers.

Reduced adventurer government knight limit by 8 (10 -> 2)

Reduced the “Max MAA regiment limit” that you could get from your adventurer camp by 4 (across multiple buildings).

Reduced the “Max MAA regiment size” that you could get from your adventurer camp by 5 (across multiple buildings).

Reduced the individual MAA max size modifiers from the Baggage Train camp building by 2 (3 -> 1).

Added an upper limit to gold reward from the “Stand with Us” contract of 1 yearly income of the employer and their current gold.

All together that's like a 80%-ish nerf to amount of soldiers you can have, and much lower rewards on top of it.

This really surprised me. They didn't really nerf travel speed, skill gain, lifestyle points gain, but they applied heavy nerf hammer to transitioning out of landless adventurer back into landed.

Actually they also reduced gold, prestige, and provisions rewards a bit:

General contract gold rewards decreased by about ~30%

Travel contract gold rewards decreased by about ~25%

Crime contract gold rewards decreased by about ~16%

etc.

But this isn't anywhere close to the massive nerf hammer MAAs got, as you can just do more contracts by travel speed.

DLC Nerf Cycle

This isn't the first time it happened. Paradox often releases a DLC, it's stupidly OP, everyone has some fun, and then the next patch they nerf it into the ground. Usually it's some some specific feature getting nerfs, not whole way of playing.

The closest similar case I can think of were CK2 Republics, which were completely broken OP on release, then two months later they nerfed them with trade post limit, demense size nerfs, removing best plots etc.

I'm not saying nerfs are wrong, but they nerfed a very specific part of adventurer gameplay (being a mercenary and getting land), and not really other things (fast travel, max skills, easy provisions, gold, prestige, piety, and lifestyle points), and they made all the old guides break.

Guides and meta

And it brings me to the last point. I'm still playing this basically blind. All the guides and videos were created back when the feature was released. As far as I can tell, nobody bothered to release new ones post-nerfs, and the game doesn't really tell you anything. Paradox games never do.

What I'm saying here isn't even any meta, I only played it a few times, figured out what still works and what doesn't anymore, but I'm sure I missed a lot too.

Men at arms cost provisions per province moved, and since the meta build is all about stacking up travel speed, this amounts to very high provision cost per year. Apparently there are ways to stack provision cost to -100%, then it doesn't apply, but there still doesn't seem to be much point in having a small army as landless. They're just a cost center without any benefit. Go big or skip the army.

I suspect the right call is to save a lot of money (like 10k+), then only hire man at arms last minute before going landed, after you have all your camp upgrades for a bigger army already built. If rewards from joining wars got nerfed so hard, there's no point joining wars while adventuring.

One thing that seem especially nerfed is getting the Conqueror trait, to move from landless to conquering spree. It requires having a huge army and winning a lot of wars, which used to be pretty easy pre-nerfs. After nerfs, it probably needs alt tabbing to google sheets.

Thursday, October 30, 2025

Using AI for French Reading Comprehension Practice

French cat by Grok AI

For family reasons, it would be helpful for me to learn some French. There are all the boring ways like textbooks, audiobooks, flashcards, and apps (Duolingo and its clones got really enshittified and focus more on pushing ads than language learning these days, another reason not to use them).

But we live in the LLM era, and language is one thing LLMs excel at, so it would be silly not to try that.

Written French

Languages differ quite a lot, and French is a bit of an outlier. For most "normal" languages like German, Spanish, or Polish, the written and spoken forms are very similar - the correspondence is never quite 1-to-1, but it's close enough you don't need to think about it much.

French is absolutely not like that. Written French is closer to the language people spoke back in the 1100s than to the French they speak now. In many ways, written French sits halfway between Vulgar Latin and Modern French.

The most egregious examples are verb conjugations: written French preserves all the 1100s endings, but in speech they've merged into just a few forms. So in writing there's "chante", "chantes", "chantent" (all pronounced /ʃɑ̃t/), "chanter", "chanté", "chantez" (all pronounced /ʃɑ̃ˈte/), and so on.

Fortunately this spelling isn't arbitrary way, it mostly just reflects a much older form of the language, so you can mostly figure out how a word is pronounced based on its spelling. It doesn't work the other way, a single spoken word can correspond to a lot of different written forms.

English suffers from a similar issue, but it's only about half as bad in terms of time passed and degree of sound change.

How to even learn French

Normally when spoken and written languages are far apart, it's easier to learn the spoken language. This is not the case at all here. If you know English, or any Romance language, you'll have fairly easy time recognizing a lot of words in written French, but when spoken you might just as well be hearing Korean.

And there's input hypothesis - the idea that the only meaningful language learning is by consuming a lot of input just above your current level, and output is pretty much a distraction.

Regardless of how accurate this is, reading comprehension is the easiest thing to practice with AI.

The Prompt

After a lot of experimentation, here's the prompt I settled on, followed by detailed explanations.

Do the following:

  • write a short text in French of about 500 words total
  • the text will be split into 10 paragraphs of about 50 words each
  • the story needs to be at B1 level, only using grammar and vocabulary appropriate for that level
  • write the first paragraph, then I translate it to English, then you let me know if it's correct or if I made any mistakes
  • then continue with next paragraph until the story ends. Do not ask for confirmation before continuing.
  • then print the scorecard
  • do not nitpick English translation by suggesting a more natural one, as long as it translates French text correctly
  • number each paragraphs
  • use sidebar for French text

Topic for today: ...

Prompt explanations

Do the following:

  • write a short text in French of about 500 words total
  • the text will be split into 10 paragraphs of about 50 words each

First, we tell AI what we'll be doing. Translating a short 500 word French text to English is a good test that you understood the input.

A short text gives a lot more natural context than translating disconnected sentences, and is closer to natural input.

Dividing it into pieces makes it much easier to translate, and avoids having to scroll back and forth you'd need to with a single block of text. It has an additional advantage that if you encounter a difficult word early in the text that's repeated later, you'll get feedback on that word early.

  • the story needs to be at B1 level, only using grammar and vocabulary appropriate for that level

It's good to give the AI some idea what level you're aiming for, but this is going to be very vibes based. The AIs don't really understand what's appropriate for each level, and you will see rare words - sometimes because they make sense for given topic, but often AI will throw a rare word even if a much more common word with similar meaning would work just as well.

I tried many variants of this instruction, and at least it generally sticks to appropriate grammar if you request a low level, without using rare tenses and such.

  • write the first paragraph, then I translate it to English, then you let me know if it's correct or if I made any mistakes

This is the core idea. Technically "comprehensible input" doesn't require you to translate it, but translation ensures that you actually understand it, and gives instant feedback on any words or phrases you got wrong.

Another thing I tried was reading comprehension multiple choice test, but that's somehow more time consuming that translation (mostly due to scrolling required), and you can often answer multiple choice questions correctly even if you don't quite understand the text, so it wasn't all that useful.

  • then continue with next paragraph until the story ends. Do not ask for confirmation before continuing.

Without this, AIs would sometimes proceed to the next paragraph, but sometimes they'd force you to say "continue" 10 times per story, which got really annoying. This solves the problem.

  • then print the scorecard

The scorecard is not essential, and every time it will be in a different format anyway. If it was possible to do fine-grained adjustments to difficulty level, it would make sense to develop consistent scoring system, and then tweaks difficulty by +5% or -5% whenever it gets too easy or too hard, but you will get pretty wide range of difficulites with the same prompt, so there's not much point in doing this.

  • do not nitpick English translation by suggesting a more natural one, as long as it translates French text correctly

Here's another big problem with current AIs. This is meant to be a reading comprehension practice, not translation practice. So ideally we'd like AI to pick up every error in our understanding, while not nitpicking about trying the most natural sounding translation.

Trying to fine tune the English text to sound great takes longer than just getting the meaning across, and it's a wasted time.

I tried many variants of this instruction, and this one causes mistakes both ways. Sometimes it ignores errors in understanding if I picked a vaguelly similar meaning (like translating "broderies" as "decorations"), and sometimes it nitpicks (nitpicking example: “small city” → better as “small town” (more natural for petite ville)), but it's balanced enough.

AIs also really love to say "good job translating this sentence: ...", which is basically noise, and perhaps it would be worth tweaking this prompt to reduce the noise.

  • number each paragraphs

Most AIs do it anyway, but sometimes they don't. It's a bit more convenient to have paragraph numbers.

  • use sidebar for French text

This is helpful to include for AIs like Claude that have sidebar interface. Don't include this instruction for other AIs, they'll either ignore it, or just make up some "sidebar" tags like <mui:sidebar> that don't actually do anything.

Topic for today: ...

And finally a really essential part - you need to give it a new topic every day, otherwise you'll see very similar stories about how a random textbook French person spent their day over and over. The topic can be one word like "cats", a phrase like "Bridezilla's wedding", or a short sentence like "competition to make the most ridiculous pizza", and it doesn't really matter what you put there, as long as it's different from the previous ones.

You could also ask AI to pick an interesting topic as well, which increases your odds of getting a non-textbooky text.

Which AIs to use

I tried it with a lot of AIs, free tiers only.

  • ChatGPT - consistently best, but quite prone to going into censorship mode if it doesn't like your topic (especially on anything related to current events), something I never saw with any other AI with the topics I tried
  • Claude - consistently very good, and sidebar interface for French text is very convenient
  • Mistral Chat - somehow really good at it, biased towards slightly higher difficulty
  • Grok - very good if you have access to it, but fairly slow message limit in free tier
  • Qwen AI - I only tried it a few times, seems to be fine, but I'll pass judgement for now.
  • Gemini - I have no idea why, but Gemini consistently disappoints me no matter what I try, not really suitable for this
  • Meta AI - completely unsuitable for this
  • Deepseek AI - completely unsuitable for this

All these AIs get regular upgardes, so your experience might be different from mine.

If you do this repeatedly (I aim at 2 stories per day), you can reuse existing chat and just say "next topic: ..." or even "pick a new topic". Some AIs have tendency to make the new text overly similar to the one it just did, so starting fresh conversation be better.

I don't think it's a good idea to use any kind of automated "memory" feature, as that will just cross-contaminate conversations.

What else didn't work

The prompt here is a result of a lot of experimenting. One notable thing all AIs are absolutely terrible at is IPA. Asking for IPA you'll get total vibe garbage - like IPA of completely unrelated words.

How you should treat the results

This is a reading comprehension exercise, not translation exercise, so don't worry if your score isn't perfect. It's not even supposed to be.

  • typos - try to get better at typing, but you'll likely make a few typos here and there. AI will point them out, but they don't matter, just ignore them (if they were legitimate typos not mistakes).
  • English text not sounding natural - it would be waste of time to try to polish it, so don't worry too much about it.
  • comprehension errors - if you miss some words or gramatical structures, and they feel rare, that's totally fine. In real life you'll encounter small percentage of more difficult words too. If you miss common words, you're just getting very effective spaced repetition here, in proper context.

5 comprehension mistakes per 500 word text (so excluding typos and nitpicking) is a 99% understandig, and that's what you should be aiming at. If you make a lot more mistakes, adjust the vibe level. If standard CEFR levels are not enough, you can make up your own levels like "A2+", "B1.5", or whatever you want. Just remember the level you give the AI is not really CEFR level, and some AIs (notably Mistral Chat) have a notably different idea what each level means.

Saturday, September 27, 2025

How to configure OSX 26.0 Tahoe for software development

Image by Leonardo AI

With every new Macbook, I'm updating the guide, previous version is here.

When you start installation, one of the questions is about FileVault, so just enable it before we even start. Software updates moved to a new location in Settings > General > Software Update, I recommend just applying all updates before we get started.

During the installation you'll be spammed by stupid popups like "Do you want to allow <app> to <do something>" or "Turn on Accessibility for <app>". You just need to accept them all. Apple tries to apply phone security model to laptops, and it's doesn't match how things are used at all.

Basics

  • Install some sensible browser like Chrome, Firefox, or Brave. Chrome used to be the universal default, but with all the anti-adblocker drama, other browsers are worth considering too. You'll get some popups asking to make whichever one you choose your default browser, do it.
  • Afterwards either sign up into your account on which you hopefully have your ad blocker setup, or install some. For Chrome best you can do now is uBlock Origin Lite, which is less powerful than manifest v2 uBlock Origin used to be, but for now it seems to work well enough. If anti-adblock technology manages to break adblocking, just switch to another browser.
  • Install a sensible terminal emulator. There is only one sensible choices - iTerm2ghostty tries to be an alternative with some extra features, but lack of ⌘-F style functionality makes it simply unusable. If you start iTerm2 for the first time, it will also prompt you to install XCode Command Line Tools, which you'll definitely need, so just do it now.
  • Install whichever cloud sync service you're using like Dropbox etc. And start syncing your stuff. Unfortunately even the most expensive Macbook laptops still have tiny disks (starting at 512GB, in 2025!!!), so you might have to do selective sync only
  • Clean up all crap from dock. Other than Apps (previously Launchpad) and System Settings, everything else should be gone. Add iTerm2, your browser, and your text editor, and any application you wish to install there instead of stock Apple crap. Apps you use only occasionally shouldn't be there.
  • Remove crap from your desktop, they recently started adding widgets .

Editor

Install some sensible text editor. These days most people use Visual Studio Code. If you do, go to Options, search "Telemetry" and disable it all.

If that's your choice, run it, open Command Palette, and choose: "Shell Command: Install 'code' command in PATH".

Settings

Like every other operating system, OSX has a lot of bad default settings. Here are some obvious fixes:
    • If you have multiple monitor setup, go to Settings > Display > Arrangement and drag and drop them into correct arrangement so mouse can move between them correctly. To make Spaces work correctly, you'll also need to set your external monitor to be the main one by drag and dropping menu bar to it.
    • You might need to do it twice - with laptop screen open, and with laptop screen closed.
    • Also set up which will be your main monitor by dragging that white bar on top of the display icon to it. This looks like Menu placement, but it really mostly controls Dock placement.
    • Settings > Appearance > Dark. If you're setting up a new laptop, this will be asked during installation.
    • Settings > Keyboard > Key Repeat > Fast (max is correct)
    • Settings > Keyboard > Delay Until Repeat > Short (max is correct)
    • Settings > Keyboard > Disable keyboard brightness completely. Defaults (slow keyboard, highlight keys) are meant for people who are bad at typing. If this somehow applies to you, get some typing lessons, you can save huge amount of time by getting better at typing.
    • Settings > Keyboard > Text Input > Edit ... > Disable "Add period with double-space" - this one really messes up coding
    • Settings > Trackpad > Scroll & Zoom > Disable "Natural scrolling". This will also apply to the mouse, restoring correct direction.
    • Settings > Sound output > Disable "Play sound on startup"
    • Settings > Sound output > Disable "Play user interface sound effects"
    • Settings > Sound output > Alert volume > 0% (for Terminal ping)
    • Settings > Desktop & Dock > enable "Automatically hide and show the Dock"
    • Settings > Desktop & Dock > disable "Automatically rearrange Spaces based on most recent use"
    • Settings > Displays > Max out brightness
    • Settings > Displays > Turn off "Automatically adjust brightness"
    • Settings > Displays > Turn off "True Tone"
    • Settings > Menu Bar > Battery > Enable "Show Percentage"
    • Settings > Menu Bar > Clock > Clock Options > Use a 24-hour clock. This might be already on based on your regional choices during installation.
    • Settings > Mouse > increase scrolling speed and tracking speed a bit
    • Settings > Lock Screen > Turn display off on power adapter when inactive > Never. You should generally be doing it yourself, and you often need to leave the laptop running upgrades or unit tests or such, and you want to be able to see the status without constantly poking it.
    • Settings > Lock Screen > Require password after screen saver begins or display is turned off > After 5 minutes. You can move it down to 1 minute if you use your laptop in public. I don't recommend Immediately, as that causes endless annoyance with connecting and disconnecting external monitors and just moving laptop around requiring new password.
    • Settings > Sharing > Remote Login > Turn on
    • Settings > Sharing > Remote Login > (i icon) > All Users
    • Settings > Sharing > Remote Login > (i icon) > Allow full disk access for remote users (this seems to be default now)
    • iTerm > Preferences... > Profiles > Terminal > Unlimited Scrollback
    Press Ctrl-Up arrow, add a few desktops (or "spaces" as they were used to know), then go to Settings > Keyboard > Keyboard Shortcuts > Mission Control - and enable their keyboard shortcuts Ctrl-1 to Ctrl-6 or however many you have there. Sometimes I've seen shortcuts for extra desktops not being there, and in such case I just restarted, and the problem fixed itself.

    Open Screenshot app, choose options, then:
    • disable "Show Floating Thumbnail"
    • Save to > Other Location... choose "Downloads" folder

    Drivers

    OSX already includes drivers for laptop itself, but you might need some for peripheral hardware.

    In particular, external PC keyboard need a tweak to work properly, as left and left Windows keys are in reverse order from Mac keyboard.

    Go to Settings, Keyboard, Modifier Keys..., choose the right keyboard from the dropdown (strangely I had ordinary wireless mouse selected by default), and swap positions of Option and Command keys. Feel free to change functionality of Caps Lock key as well, it's a huge easily accessible key with no useful function people love to remap, usually to extra Control.

    New Macbooks now come with Fn/Globe key. You probably don't need i to change your keyboard layout so feel free to use it for emoji keyboard or something like that.

    If you need any special keyboard layouts, get them too.

    Another thing - when you plug in external keyboard, you'll get choose keyboard type dialog. It will likely choose the wrong type. Just pick ANSI, whatever it claims to detect. Otherwise the backtick key will be wrong.

    Home/End keys on OSX are also broken. Use this as a fix. You'll need to log out and log back in for it to take effect.

    Development tools

    You'll need a package manager, and the only one anyone uses is homebrew, MacPorts and the rest died long time ago. You need to tell homebrew to not spy on you with brew analytics off command.

    You'll need Xcode. Fortunately iTerm does it for you automatically, and if not homebrew will. If you need to do it manually for some reason, you can install Xcode manually by running xcode-select --install from command line.

    Deal with stupid access popups

    Since Big Sur, the first time you access some folders from terminal, you get a stupid popup asking you to confirm that you're indeed fine with terminal accessing various folders. So run:

      find .

    and confirm all those stupid popups to be done with it once and for all. Well, except you'll still have them when accessing USB drives and such. 

    And just to be extra sure, go to Settings > Privacy & Security > Full Disk Access, and add iTerm there.

    Create new SSH key pair

    Before you do that, name your computer something memorable with sudo scutil --set HostName your_host_name command. You probably go through a lot of laptops, so names like "Name's Macbook" are completely useless to you. Just pick a theme like cats or dinosaurs or whatnot, and give every computer a distinct name.

    Open Terminal and run ssh-keygen to create ~/.ssh/id_ed25519 and ~/.ssh/id_ed25519.pub then upload the generated public key to any place that needs to know about it like githubbitbucket, or whatever else you use. Don't upload your private key by accident. These used to be called id_rsa a while ago.

    Alternatively you could copy your keys from your old laptop, but it's generally more secure to have separate fresh keys for each machine.

    Checkout your dotfiles

    Hopefully you're storing your dotfiles somewhere. If it's a git repository, or your Dropbox account, get them now and symlink them all properly.

    If there are any other repositories you might need, checkout them too.

    Standard paths

    OSX renames a lot of directories. The most annoying of those is that instead of /home it has /Users. It used to be very easy to add a symlink, but this kept getting more and more complicated, so I stopped doing this.

    Install homebrew packages

    Your list might vary. Here's a few obvious suggestions:

    brew install rbenv ruby-build mc wget p7zip trash git htop bash zsh yt-dlp jq imagemagick coreutils bash-completion zsh-completion nodenv pcre

    Then enable all services you installed, unless you want to start them manually:

      ln -sfv /usr/local/opt/*/*.plist ~/Library/LaunchAgents/

    And install non-system ruby, so you can install gems without sudo. Currently I use 3.3 as quite a bit of software did not get updated to 3.4 yet:

      rbenv install 3.3.9
      rbenv global 3.3.9

    To make that actually work, you need to make sure ~/.rbenv/shims is in your $PATH. If you type rbenv init, it will tell you what to do.

    There's also asdf that offers this kind of service for all languages, if you want to use it instead of rubenv/nodenv/etc. I don't recommend rvm, I've seen it cause too many issues in the past.

    Due to OSX limitations you'll need to run sudo htop if you want to use htop.

    Install gems

    Again, your list my vary. These days most of the software will have its own Gemfile so long list of gems are generally unnecessary. But some global utilities are still useful:

    gem install bundler rak pry pry-rescue

    Different Shell

    OSX switched from ridiculously outdated bash to up to date zsh, so it's no longer a mandatory step.

    If you want to use system zsh, it's fine.

    If you want to install something else, like proper bash (or brew version of zsh; or something else), first brew install bash.

    You'll need to edit /etc/shells as admin and add the following lines at the end of it to enable your newly installed shell:
    /usr/local/bin/bash
    /usr/local/bin/zsh

    Then set it as your shell, with whichever one you prefer:
      chsh -s /usr/local/bin/bash $USER
      chsh -s /usr/local/bin/zsh $USER

    Hushlogin

    For some reason OSX prints worthless annoying messages on every open terminal tab. Run to touch ~/.hushlogin to prevent that.

    Coreutils

    This is optional step. OSX coreutils are generally a lot worse than GNU versions you might be used to from Linux. However switching means occasional minor incompatibilities, so it's up to you if you want to do it or not.

    If you want to do so, brew install coreutils, then add GNU coreutils to your PATH:

      export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
      export MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"

    OSX coreutils are not as bad as they used to (for example cp -a now works), so this step can be skipped.

    Better window manager controls

    Sadly OSX window manager is extremely dubious for keyboard use. Fortunately programs to make it usable exist. Unfortunately there's a lot of churn among those programs, and every couple of years the ones I use become unmaintained and need to be replaced by something else.

    Currently I recommend:
    • Rectangle - for moving windows around on big screens - I don't really like the default keybindings, so I delete them all, then setup Cmd-Control-Option with 1,2,3,4 for corners, with arrows for halves, and with M for maximize. Also set Repeated commands to "cycle through displays". You can install it with brew install --cask rectangle
    • AltTabfor switching between windows - it's baffling that OSX completely lacks this function - and Cmd-Tab to switch between applications is absolutely inadequate for any application that has more than one window, which is most of them (browsers, editors, terminals etc.) if you're developing software. Turn off "Show apps with no open widows" in settings, as it really messes up things. You can install it with brew install --cask alt-tab
    You'll need to give them necessary access. To do so:
    • Settings > Security & Privacy > Privacy > Allow the apps below to control your computer > enable AltTab and Rectangle
    Rectangle also doesn't start at login by default, so turn that on in settings.

    Open files limit

    For some insane reason OSX has default open file limit of only 256, and that breaks a lot of software like databases.

    You can do it for processes in terminal by putting ulimit -n 100000 in your .zshrc, which might be adequate, but not every process runs from the terminal. 

    Enabling it globally gets more and more complicated with every OSX version. Instructions for Ventura are here.

    Lower security settings

    Unix used to have very simple model where root user could do anything, and that was great for development. OSX keeps adding more and more security restrictions. They are absolutely detrimental to developing software, and of questionable value to regular users - primarily they're Apple's way of slowly turning computer world into something more like iOS world where they can decide who can run what and take 30% tax on everything.

    You'll need to disable some of them. Most important such setting is this:
    sudo spctl --master-disable
    It will tell you you need to confirm it in settings, so go to System Settings > Privacy & Security > Allow applications from > Anywhere. This has nothing to do with security, it's just Apple attempt at turning OSX into iOS step by step.

    WiFi settings

    This setting wasn't there before. If you want your laptop to have fixed IP on your local network, you need to go to WiFi settings for your local network, and disable "Limit IP address tracking". This confusingly named setting is MAC randomization, and with it enabled, your router has no way to assign fixed IP to your devices.

    You can leave it on for public networks. Or just don't touch it if you don't need fixed local IPs.

    Android File Transfer

    It's honestly embarrassing to both OSX and Android that there's no out-of-the-box way to move files between them either over WiFi or USB cable.

    There's official Android File Transfer program but it's just awful. OpenMTP is somewhat less awful, but still not great. If you know of any program that's actually good, definitely let me know.

    On Linux and Windows it's possible to mount MTP devices, which is very slow, but still beats OpenMTP. I don't know if it's possible on OSX.

    All other software

    There's a lot of other software you might want. The most obvious one is the VLC media player.

    You might also want some kind of Git UI program, like GitUp (brew install homebrew/cask/gitup).

    If you want to use SSHFS, the one in homebrew (macfuse and sshfs packages) don't seem to work, so you might want to try downloadable versions. First time you try to use it, OSX will block it, so you'll need to go to Settings > Privacy & Security, allow it there, and restart (you'll get popup for that).

    Docker

    There's a lot of software that just plain won't run on Apple Silicon, so you'll need Docker. You can either use Docker Desktop, or if you have licensing issues with that Rancher Desktop. If you use Rancher, set it to Docker compatibility mode.

    Enjoy

    Once you go through this list, and successfully get everything going, I'd recommend modifying it to your liking and reposting your version on your blog. Everybody's needs are different, so guide like this is just a starting point.

    Monday, September 08, 2025

    Empire Total War Campaign difficulty levels explained

    image generated by Grok 3 AI

    This isn't explained anywhere else online, so here goes.

    The data is based on data files from the latest patch. All of it comes from campaign_difficulty_handicap_effects_tables db table, so mods can adjust it.

    Player Bonuses and Penalties

    Difficulty levels rely mostly on buffing AI, so player penalties on hard and very hard are fairly small, and bonuses on easy aren't that big either.

    BonusEasyNormalHardVery Hard
    clamour for reform all classes-1
    cost - buildings - all-10%
    cost - recruitment - land-30%-25%-10%
    cost - town watch-10%+15%+30%
    cost - upkeep - land-20%-15%
    cost - upkeep - naval-30%-15%
    counterspying+2
    max population+10%
    max repression - government type+1
    personal security+2
    research rate+15%-5%-12%

    AI Bonuses and Penalties

    AI bonuses on the other hand are very extensive.

    BonusEasyNormalHardVery Hard
    agent cap - eastern scholar+1+2+2
    agent cap - gentleman+1+2+2
    agent cap - missionary+1+2+2
    cost - buildings - farms-8%-20%-30%
    cost - buildings - happiness-8%-20%-30%
    cost - buildings - industry-8%-20%-30%
    cost - buildings - mines-8%-20%-30%
    cost - buildings - plantations-8%-20%-30%
    cost - recruitment - land-10%-20%-30%
    cost - recruitment - naval-8%-15%-23%
    cost - town watch-20%-50%-90%
    cost - upkeep - land-30%-40%-50%
    cost - upkeep - naval-25%-40%-50%
    counterspying+1+2
    GDP+10%+20%+40%
    max population+10%
    max repression - characters+1+2+3
    movement points+10+15+20
    personal security-1+1+2
    recruitment cap - land+1+3
    recruitment cap - naval+1+4
    research rate+10%+35%+50%

    Diplomacy

    Diplomacy is definitely affected by campaign difficulty, but the logic is hardcoded, and not exposed anywhere. On harder difficulties AI has a massive and very obvious anti-player bias.

    What is not affected by difficulty

    And that's all. A lot of things difficulty affects in other games (including other Total War games) are not affected by difficulty level. This means all of these are the same regardless of difficulty levels:

    • starting armies
    • starting buildings
    • starting research
    • starting diplomacy
    • starting income
    • fixed income per turn

    How to overcome difficulty bonuses

    Campaign difficulty modifies just a few areas, and in each of them, there are very strong counters available.

    Research rate - AI on very hard has +50% while the player gets -12%. However AI typically only has 1 school, while you should build 4-6. If you have enough patience, you can also trade techs, something AI doesn't seem to do much. You will outtech all AIs with ease. AI's extra diplomats and scholars also come nowhere near matching the advantage you have by just having a few more schools.

    For diplomacy bias, giving away military access to everyone on the map (at least everyone you border, plus countries like Britain and France who love to drop surprise naval invasions on you) really tones AI aggressiveness down to more reasonable level.

    AI gets a lot of different bonuses which are basically money cheats. The best way around it is by being better at economy game. If you can, spam trade ships. And never have a big expensive army just sit there doing nothing, something that AIs routinely do. Your main army should go on an offensive. If you need long term garrison, just recruit some cheap crap instead, or units with garrison bonus.

    You can also use AI bonus cheat against itself. Especially all the one province minors have nothing to spend their money on, so they upgrade all their buildings as soon as possible. And then you can conquer them. A maximally cheesy version of this strategy is to sell AI minors farm and industry techs they need to unlock the upgrades, and maybe even sell them your worst provinces that need a lot of money to turn around. Then conquer them once they're fully upgraded, and all you'll need to pay is the repair bill.

    AI gets some happiness bonuses you don't, but it doesn't really affect you, as you're not trying to out-happiness the AI. You should definitely get better at happiness game, which for absolute monarchies means stacking your cabinet with ministers with as many lower class happiness bonuses as you can. But you should do so regardless of how happy AI provinces are.

    AI's extra movement points can take you by surprise - sometimes enemy army is just barely out of your reach, so you think they can't reach you either, then you get surprise attacked when you press end turn. As long as you're aware of it, it isn't usually a big deal. And AI movement cheats have nothing on daisy chaining ships to transport your stacks from one end of the theater to the other in one turn.

    And this just leaves AI's huge +3 recruitment cap bonus on very hard (+1 on hard it's no big deal). It can outspam your units with ease. The trick is that while recruiting new units is capped, replenishment is unlimited and just costs money and two turns. So if you have a lot of badly battered units after a big battle, as long as none of them got wiped out, you can get your whole stack back really quickly - something that wasn't possible in earlier Total War games.

    Another useful trick is just recruiting a lot of new units in far away lands, and using ship daisy chaining to transport them to where you need them to be.

    Naval recruitment cap is technically even bigger, but AI doesn't really spam ships anyway.

    Autoresolve

    Empire's autoresolve is a black box. There are some difficulty-related settings in campaign_variables_tables, but what they do exactly is anyone's guess:

    • autoresolve_easy_campaign_AI_percent_reduction - 0.05
    • autoresolve_easy_difficulty_human_advantage - 0.1
    • (no settings for normal)
    • autoresolve_hard_campaign_AI_percent_increase - 0.2
    • autoresolve_hard_difficulty_AI_advantage - 0.08
    • autoresolve_very_hard_campaign_AI_percent_increase - 0.35
    • autoresolve_very_hard_difficulty_AI_advantage - 0.2

    As far as I can tell, autoresolve bonuses are controlled by battle difficulty, not campaign difficulty.

    You can mod these to -0.99 if you want free autoresolve wins for some testing. Or if you really hate naval combat so much, and plan to only use it for naval combat.

    Battle difficulty

    I wanted to provide similar data for battle difficulty, but I couldn't find any game files controlling it. This likely means that the battle difficulty is implemented as part of game logic, and possibly in a way more complicated than just simple stat boosts.

    We have some idea what is affected the most. AI troops on hard and very hard get a huge morale bonus, which is a huge nerf to player's melee units, especially melee cavalry, which normally relies on breaking enemy units' morale, and has poor staying power in prolonged battle. Bonuses to accuracy and reload speed are more modest, and for artillery difficulty levels seem to matter the least.

    However, it's difficult to put any numbers on these qualitative statements.

    And that's all we know about Empire Total War difficulty. If you find out any additional numbers (by reversing executable file?), let me know.