Thursday, March 28, 2019

Lord of the Dungeon

Last night I played Dungeon Lords, a board game based around the concept of each player digging a dungeon, filling it with horrible monsters and traps, and killing off do-gooders who try to clear out the dungeon.  We all get to play the villain on the other side of the dungeon delving, treasure hunting story.

I like the theme of the game a lot.  The traps are amusing, the quotes set the scene, and the iconography combines effective information with on point references.  I really like that EVIL is a resource that players compete on, not just food, money, and minions.  Having to figure out how much EVIL you can get away with is a great and thematic mechanic.

The gameplay didn't fare as well.  I am biased, certainly, as there were struggles with the rules and I got last place.  A lot of the rules didn't get explained, and the rules explanation provided certain rules that didn't actually exist the way the explanation suggested.  The rules shifting during a game can be frustrating, but that isn't usually a huge deal in most games because you just adapt as you go.  Unfortunately Dungeon Lords is a game that hugely rewards precise planning and so it was tough to get to turn 4 of an 8 turn game and realize that my plans were suddenly falling apart.

This is actually my main concern with the game - you have a few points of massive decision making that are really complex to parse, and then a lot of stuff happens over which you have no control.  It is especially difficult for new players because you have a lot of things you have to contend with and trying to figure out a full round's worker placement all at once is overwhelming.  You can't just place one dude and then see how the board shifts, and you must choose everything ahead of time.  Unfortunately how the other people place their units hugely changes what your placements do, so you need to plan out every eventuality to make sure you don't just lose, which means planning out all of your opponent's turns as well.

Because every player normally knows everything that their opponents know you can actually parse out most turns completely for all players if you think long enough.  You don't actually get to that normal point in a game where you think "Well, they have cards I haven't seen, so I can't really narrow it down any more, so let's just guess."  You can narrow it down to every single resource they have and can spend, and if you want your actions to work you have to do that for everyone at once.

As an example:  If I need 3 gold this round, I can't just take 3 gold.  I can select "Take gold" but I don't know how much I will get.  However, if I can parse the entire board state, figure out that one opponent needs 2 gold but not 3 gold, I can select 'Take gold" later than them and guarantee I get my 3 gold.  However, if the two other opponents get in on "Take gold" before me, I miss all the gold and lose the game.  Therefore I must figure out their entire game plan in order to figure out what my action will do.  It is a lot of calculation, and in a game that severely punishes you if you have 1 too few gold / money / monsters it leaves people in a state of (totally justified) analysis paralysis.  When I figure out my turn quickly I have to sit and wait for 15 minutes while other people parse my entire board state and that can be frustrating.

If Dungeon Lords was played on a timer I would like it a lot more.  It would remove that paralysis and force you to just run with your intuitions, and that would feel just fine to me.  If you played it drunk as hell and just laughed your way through it leaning on the theme rather than the crunch that would work too.  Unfortunately as it is I found the basic systems frustrating.  Perhaps if it had more unknowns, or more frequent but smaller decisions it would work too. 

In any case this isn't me saying the game is bad.  The theme is solid and the play has many strategic decisions that look really deep.  Unfortunately the way that the rules force players to play if they want to do well doesn't really do it for me.

Friday, March 22, 2019

Ram that submarine

In my quest to find more ways to nerf players relative to AIs in civ 6 I have come upon an old solution:  Remove upgrading.  In baseline Civ 6 you can upgrade units by paying gold, turning a warrior into a swordsman, a swordsman into a musket, etc.  The AI understands this, and it does upgrade its units.  Unfortunately it doesn't understand the policy that reduces upgrade costs by 50%, so players get a massive discount on upgrades and the AI doesn't.  Players also upgrade units that they have carefully levelled up, so they get powerful, fresh, high level units when a new tech unlocks.

So what happens if I just remove upgrading from the game?  When you unlock swordsmen you can't just upgrade a ton of warriors and have a terrifying army - you have to build those new swordsmen.  I tried this in my Civ 5 mod and it failed because unit maintenance scaled with time, not unit type.  The AI kept around those low tech units forever and paid enormous sums of gold to maintain them.  It crushed them because their economy was strained paying for a worthless military.  In Civ 6 though that isn't a problem - those club wielding warriors that are left sitting around aren't much use but they don't cost much either.

This change really stopped me from building up an invincible army.  I managed to promote my units but eventually just disbanded them anyway - that slinger may have 4 promotions, but it will die instantly to an attack from a musket, so no point having it around.  I liked that change, and I liked that I actually had to build new units when they showed up.  It felt better.

There were some silly results though.  At one point I declared war against an AI on another continent and sent my submarines and battleships sailing across the ocean to attack.  I got a massive slew of combat notifications and realized that a fleet of galleys had attacked my submarine.  I don't know what wooden ships sailed by people with clubs thought they were going to accomplish, or how they saw my submarine, but a half dozen of them attacked my submarine in a single turn and all of them sank.  They did some damage to the submarine, so I guess one of them managed to ram it or something....?  When my ground army finally arrived after the naval 'battle' was over, the enemy ran in with a combination of anti tank units, infantry, and horsemen.  Not proper cavalry, no, these were people on horses who didn't even have stirrups or steel weapons.  Unsurprisingly, those horsemen did not contribute much.

I think this sort of thing confuses the AI.  It calculates army strength by adding all combat strengths together, but that isn't a useful metric.  Even if the AI has dozens of galleys and a much bigger total my submarine will sink all of them effortlessly.  Plus war weariness is based on how many units die, so in a modern war the citizens get sad when horsemen die just as much as when tank units die, even if the horsemen are irrelevant to the military outcome.

If I could train the AI to disband outdated units this would be a good solution.  It would allow the AI to maintain better troop parity and prevent invincible high level player armies and silly timing pushes with crossbows and such.  Unfortunately I can't train the AI to disband units (if you screw up teaching the AI to disband stuff the consequences are a disaster, so it is no surprise that it doesn't even attempt to do that) so this isn't an option.  If I want to reduce the strength of player armies I need to go with my earlier solution of reducing experience income or I need to accept that the AI will have swarms of trash units around everywhere.  That is, until a nice, cleansing war comes about and all of their trash units get vapourized.

Tuesday, March 12, 2019

No healing for you

I have been testing out some changes in my Civ 6 mod, with some pretty notable success.  My primary goal is to make the game more challenging in a way that is fun, and that largely speaking means addressing all the spots where the AI is hopeless and the player just rolls over them.  This generally breaks down into three categories.  The first two I have pretty much fixed, but the third is a tricky beast.

The first category is some stuff being terrible.  Endgame buildings are garbage, and clearly were not lined up to see if their cost is appropriate for their effect.  A Water Mill, an early building, provides about 2.5 stuff per turn.  It costs 80 production.  Late in the game you get access to the Food Market, which also provides 2.5 stuff per turn.  So you might imagine it would also cost 80.  Or maybe more, if you don't mind it being weak... say 100 production to build.  It costs 465.  At that rate, it will pay itself off in something like 186 turns.  For a building that should only be around for 50 turns, that is ... an embarrassment.  So my first task was to make sure that all the buildings and wonders are good.  Not good all the time, for any situation, but you should look at everything and think "Well, when I unlock that thing, I am sure going to build it somewhere!"

My version of the Food Market gives 14.5 stuff instead of 2.5.  I still don't bother building them everywhere, but when a city really does need food, the Food Market delivers.

The second category of things is war.  The AI is much weaker than a human player at war, and the primary offender here is healing.  Humans keep their units alive, carefully heal them up, and level them up until they are beasts that the AI can't handle.  One thing you want to constantly do is earn a level but then save it because when you cash it in you get a 50% heal.  The AI doesn't do this, and it just levels right away.  This tactic is devastating because it lets you run units into danger or under fire and get them out alive.  I altered the healing on level to be 10% instead, so it still does something, but you can't just use a stored level to get out of jail free.  I also reduced healing in general from 15/10/5 to 7/5/3.  Lastly I decided to double the amount of experience required to level up, because getting to high levels was too quick.  So how did it work out when I made these changes?

The game is so damn hard now!  Even on Immortal it is a serious problem to win, and I would hesitate to try these changes on Deity at all.  I still obviously try to heal my units, but being out of commission for 10 turns instead of 5 is awful.  I had multiple occasions where my whole army was hurt and I had to flee enemy units and let them pillage and bash on cities so I could heal up.  That difference in turns is far larger than you might think, and requires a drastically larger army to make a comparable push.  That larger army spread out experience more, which leads to more losses, which loses you more experience.  That combination of levelling less, having lower stats, healing slower, and no emergency button ratchets up the challenge, but in a way that I really like.  Instead of the game being insane at the start with the AI having all the stuff, and a cakewalk at the end because you have an army of invincible high level units, you actually have to fight it out all the way through.

It feels weird to be advocating for extra challenge, but the trick is that that I want the challenge to be of a certain type, and apparently that is worth an almost unlimited number of hours.  There is something really fun about cashing in all those good early game decisions for a huge burst of power late game, but the degree to which this happened with combat choices was simply too high.

The third category is policies, in that the AI chooses them randomly and most of them are absolutely worthless at any given time.  It isn't just taking policies that aren't ideal - literally half of the AI's choices have no game effect, and that is a problem.  Fixing it will require a serious rewrite of policies to trim the trash and take highly situational policies and broaden their effectiveness.

Tuesday, March 5, 2019

Open wide

Ferris asked the other day if there is anything in Civ 6 that constrains an empire going really wide by building lots and lots of cities everywhere.  You can always build more settlers and conquer more territory, but the question of whether or not this is a good idea is another thing entirely.  In previous Civ games there were things that kept massive expansion in check, ranging from corruption making far flung cities unproductive to income penalties for each city to global happiness preventing growth.

Civ 6 has things that curtail growth and expansion, like all previous titles.  The difference is that those restrictions are trivial and growth is always correct, whether it be peaceful growth or conquest.  The thing that is obviously supposed to stop growth and snowballing is Amenities.  Unfortunately Amenities don't do the job at all.  Each city gets 1 for free, which encourages going wide.  High population cities don't actually deliver much more in the way of science or culture than low population cities but they do suck up huge amounts of resources in terms of housing, Amenities, and food for growth, so you shouldn't bother building up cities.  Just make new ones! 

Each new city gets that single free Amenity, plus it can build more copies of districts you want, plus it gets its own base tile for free, plus the free Housing from location.  You even get to grab new territory for extra resources of all types.  All of that means that a small city say up to size 4, requires basically no infrastructure, gets to build copies of superb buildings like Monument / Library / Market / University, and then can just start pumping out another Settler to make yet another tiny city doing the same thing.

Conquest is even better than settling though because not only do you get cities that already have stuff in them, you also take stuff away from other players.  The same sort of calculations apply, and although you do end up with cities that have suboptimal builds because the AI made them, you get to pillage the land before conquering it which gives you a huge boost.  In theory the grievances system stops endless conquest because people will hate you, but in practice it is not much of a problem.  You just keep on warring with one enemy at a time, leave them with a single garbage city at the end of the war, and watch that city flip to your control via the loyalty system.

Never stop pumping settlers, never stop warring with whichever neighbour seems most juicy.  Expand until the world is yours.  There is nothing in place to stop you.  Doing this will often lead to your cities running low on Amenities but that actually doesn't matter much because the penalties from not having enough Amenities aren't nearly as bad as the penalties from not having all those cities.

So the tall vs. wide debate is simple:  No matter what victory condition you want, you go as wide as your military can manage, and never stop. 

I don't think this is a good thing.  It encourages snowballing, and means that a good start, or a lucky victory, leads to a world spanning monster that can't be beaten.  It means peaceful games are just foolish games, in terms of winning.  It also means that you shouldn't worry that much about city placement, just jam them in there as much as possible.  I get how some people would like it, but it isn't to my taste.

So how do we fix it?  (Hint:  Not easily.)

You can reduce the benefit of spamming Settlers easily.  Ramping up Settler and Trader costs, reducing base Amenities to 0 instead of 1, and making Housing easier to get are good starts.  You can also make the high end buildings good instead of rubbish, which matters because only big cities can really scrape together the production to build them.  Right now those endgame buildings are garbage, which makes a big city not have much to do because you can only build 1 copy of the high quality early game buildings.  Making specialists good instead of worthless also helps because it means that huge cities can leverage their big population to do specific things - I have modded Specialists to make 5 of their thing (or 10 gold) and suddenly they are really worth using.  Changing all of that stuff makes growing big cities a lot more appealing and spamming crap cities much less so.

But that doesn't fix war.  If Settlers suck, then just build Swordsmen instead and take those cities from the AI!  This is a way more challenging thing to tackle, because the AI is just terrible at war.  I can't fix that, so I am limited to patching the most obvious holes.  Getting rid of Professional Army, which reduces upgrade costs by 50%, is a good start.  This prevents players from trivially rushing to a new unit, upgrading en masse, and crushing the AI.  However, players also use unit XP and healing so much better than the AI it is a serious concern.  Slowing the rate of unit XP gathering or reducing healing rates would dramatically benefit the AI and would make sure that player units die and must be replaced.  That is the core of the problem - player units never die because of superior play, careful healing, and levelling up.  They end up with a massively highly promoted army, while the AI continues to use green troops that they pay full price for.  Break that chain, and war becomes drastically more of a challenge.

Going wide being superior is so deeply entrenched in Civ 6s systems that it is a really hard nut to crack.  Moreover, if you punish going wide too much than AIs that conquer or settle too much territory could respond badly to it and completely fold.  However, it is a thing worth attacking, because right now high difficulty settings are all about the AI getting ridiculous early game bonuses, the player barely surviving, and then in the late game the AI just screws around being an idiot and the player cruises to victory assuming they lived through the early assault.  That isn't satisfying, and I am sure I can do better.