Thursday, September 26, 2013

Second attempt at Beeminder

Bee Antena! by Danny Perez Photography from flickr (CC-NC-ND)

I decided to give beeminder another try, and this time making all goals I reasonably can public (as public as I can). Wish me luck. Any feedback very much appreciated.

Tuesday, September 10, 2013

Total War: Rome II or why professional game reviews are all worthless

A few years back I was really annoyed by how overhyped Empire Total War was:


In case you had some hopes they got better:

It doesn't surprise me that another Total War game is a disaster at release time - I hope they'll fix the worst issues over the next year, and I'll take a look at it then. But are these reviews intentional ad-driven dishonesty or just pure incompetence?

Friday, September 06, 2013

TTL CPU files now on github

~Cookiecat at Computer~ by ~Sage~ from flickr (CC-NC-ND)

Once upon a time I made an attempt at building a TTL CPU.

I never managed to finish it, but now I put all the files for it on github for your enjoyment.

Python 3 Unicode apparently no longer sucks

Hunted by kaibara87 from flickr (CC-BY)


I wrote jrpg as a Python 2 game that uses Unicode a lot everywhere, and I really hated Python 2's extremely shitty Unicode support. The following program:

#!/usr/bin/python
# -*- coding: utf-8 -*-
print u"Hello, 東京"

Printed everything fine if you ran it on a terminal - but instantly crashed with retarded UnicodeEncodeError: 'ascii' codec can't encode characters in position 7-8: ordinal not in range(128) exception if you tried to pipe its output into any file or command.

I'm happy to say that Python 3 no longer suffers from this problem. The following program works fine in all contexts, and no longer even needs the silly annotations.


#!/usr/bin/python3
print("Hello, 東京")

If only all other problems fixed themselves while I wasn't looking...

Sunday, September 01, 2013

Sandbox mod for Europa Universalis 4

Play time! by JPGR1965 from flickr (CC-NC)

I complain a lot about things I don't like, but I also do something about them. Here's the followup to my EU4 review which complained that it's too railroaded.

I did just these two major changes:
  • Deleting Burgundy succession crisis event that made France and Austria instantly superpowers
  • Minimum manpower recovery speed increased from 100/month to 250/month. This has absolutely drastic effect of slowing down every single blob in game. A coalition of OPMs is no longer a total pushover. You get faster than 250/month recovery only if your total manpower is over 30k, so you need to be pretty big to get more manpower recovery than an OPM, but mid and big sized countries still get all other benefits (like better generals, higher force limits, bigger manpower reserve pools).
And these relatively minor ones, since they annoyed me a bit too much:


  • All culture unions deleted. If you want to accept cultures, work on it. (I'm totally fine with some decision that restores culture unions at admin level 20 or something, feel free to send me the code). In practice France accepts Cosmopolitaine and Occitain but no minor cultures, Spain accepts Castilian, Catalan, and Andalusian, but not Galician (or Basque obviously), Italy will probably accept all its 3 cultures. etc. Germany is probably most screwed by this decision, but then it was already really overpowered anyway.
  • That probably makes the least difference but I reduced minimum culture % to become accepted from 20% to 15% to help multicultural mid-sized countries a bit. It loses accepted when it goes under 10% just like in vanilla.
The mod is for 1.1.1c, but it should work with more recent versions as well hopefully (if not, I'll release an update soon).

I ran one game in observe mode until 1500 with this mod, with no lucky nations or other bonuses. There was very little blobbing.
  • Hundred Years War continues every time truce breaks, with either side winning a province sometimes.
  • Everyone ganged up upon Burgundy - France, England, Emperor, variety of HRE minors (who are now stronger), and Dutch rebels - until it disappeared completely in 1490s. Maybe it should become part of HRE like in EU3? 
  • If keeping it alive long term was the goal, then it still failed, but at least without any scripted events.
  • Poland got into (random, but likely) scripted union with Lithuania and they expanded a bit, but nothing extreme.
  • Ottomans got beaten by Orthodox minors somehow almost completely out of Europe, with Byzantine Greece recovering (probably mostly thanks to rebels).
  • Vijayanagar is the closest to good old blob, I don't really know how it compared to vanilla EU4 since I never played in India.
  • France, Castille, and England are doing pretty well. Not superblob well, but they're very formidable. The mod didn't break any major country (other than Burgundy).
  • Timurids blobbed, then half of their lands seceded via rebels.
  • Many one-two province minors became mid-sized powers, especially in HRE.
  • Some big countries like France, England, and Denmark are close to being tech leaders, but others like Castile and Austria fell behind, so I'm not sure what exactly is going on here.
Overall I'm pretty happy with this, and I'll give it a try in a real campaign.

Anyway, here's download link.

Feel free to do anything you want with the code, my changes are pretty trivial. If you have any other ideas how enhance the sandbox spirit of EU3 in EU4, please comment or message me.

Review of Europa Universalis 4: the Big Blue Railroad

Japan 2009 — Japanese Railroads  59 by dugspr — Home for Good from flickr (CC-NC)

I have a rule I've been following with all games, especially strategy games (and Total War series in particular) - never play until at least six months after release. This saves me trouble with all the inevitable bugs and balance issues which are inevitable in highly complex games - and I don't think I'll ever catch up with everything I ever wanted to play, so I don't lose much by the way (it also doesn't hurt the game will probably be half the price by then).

With Europa Universalis 4 I took my chances. I liked a lot of what I've seen, and I have no doubts that it will be an amazing game after a few patches, and once modders start messing with it, but it sure has some major issues now.

The Big Blue Railroad

There's a handful of minor things I'll mention later, but let's just get to the core of the problem - EU3 and CK2 were sandbox games were player could shape the history in any way they wished. EU4 has some of that, but it pushes a lot harder than before to achieve certain predetermined historical outcomes, and I really don't like this shift.

First, and most infuriating of all - the game contains big scripted events to help France, Austria (and to lesser extent Castille blob) - like France and Austria dividing Burgundy between each other by event, every single campaign - even worse, with instant free cores everywhere, accepted culture, and everything. Triangle of power of France, England, and Burgundy led to very interesting balancing dynamics in EU3, now you only have Big Blue Blob.

And of course the third part of the triangle - England - is basically scripted to lose the Hundred Years War, and it has scripts (Scottish Highlanders) working against it. Speed bumps against blobbing I don't mind as much as scripted blobbing, but the outcome here is total collapse of triangle of power and France dominating Western Europe almost immediately every single time. At 0% overextension, and 100% accepted cultures.

If you absolutely have to make someone inherit Burgundy, make it some random countries. If France wants that, it will have to conquer and core them all, but I'd simply remove this nonsense.

And speaking of France - unlike every other nation in game it starts as culture union nation ("All French cultures view France as their own nation, thus giving no penalties"). A few other countries can achieve similar outcome by undergoing more or less difficult unification - but France starts as one. This is historically ridiculous before at least 19th century, and in terms of gameplay just adds to the Big Blue Railroad. I'm totally fine with nations being able to unlock this as some mid-game decision, or at some tech level, or an idea or whatnot, but they shouldn't start with that, especially not France. This mechanic isn't new, but culture penalties are much worse in EU4 than in EU3 (something I'm totally fine with, especially since culture shifting is so much easier).

To continue with railroading blobs (and not just France this time), EU3 had a lot of speed bumps against blobbing, and EU4 just drops them. Instead of infamy which hurt big countries a lot, and for small ones it didn't matter much there's aggressive expansion penalty, which is only as strong as the coalition people can gather against you.

If you're France, then Burgundy instantly collapses, England gets kicked off the continent (and even if England had any armies worth talking about, AI sucks hard at naval invasions), Castille (who is pushed pretty hard to unite Spain) has little chance of joining anybody else's troops and can be crushed separately, so maybe, depending on situation within HRE, the emperor can be a problem. Usually from what I've seen the Empire has constant internal wars and is too weak to challenge France, at least early game.

And speaking of coalitions against someone - even if you somehow managed to gather a coalition against a blob, that's usually still of no use, since you have no way to coordinate with your coalition partners, or for that matter your vassals. Blob's doomstacks will just roam the country unchallenged while your allies just sit around doing nothing. What's most annoying about it is that they solved this problem is CK2 already in two ways - first you could control your vassals' troops during a war, second you could link your troops to other allied troops in the same province, so they could put their troops under your command or you under theirs - and this would let you gather enough troops to face a doomstack. It's really annoying how EU4 just ignores all that and we're back to situation where blobs always win.

Another speed bump - most important of all actually - was war exhaustion. In EU3 it was proportional to number of troops you lost, so waging a successful war against a big blob like France, crushing all their armies, forcing them to release a bunch of states, would doom them to decades of fighting rebels and desperately trying to rebuild their armies, and kick them out of big politics for a long while. Usually by the time they could recover their neighbours like Burgundy (did I mention how much I hate EU4 scripting Burgundy out of existence?) or Castille or even Savoy would eat deeply into their territory, so a single war could change balance of power forever.

Meanwhile war exhaustion didn't matter at all against a small country - unlike big blobs small countries had very little trouble coming back up after being completely occupied and having all their armies destroyed.

Now it's the opposite - war exhaustion depends on army size, so big blobs have zero trouble with it, but small countries are completely buried under it.

But let's forget about all these minor problems - the biggest railroad is the game, and one thing that completely screws game balance, and really needs to be patched or modded away, or the game is doomed is the new manpower mechanic.

In EU3 manpower regenerated fully every 2 years and it was pretty close irrelevant unless you started as a non-European OPM. It made perfect sense to either make it matter, or just scrap it completely. Unfortunately switching to 10 years regeneration is the biggest pro-blobbing mechanic of them all.

If you're a small country, even if you somehow manage to defeat a blob, your manpower will be crushed forever without any hopes of recovery - meanwhile the blob will get theirs back real fast. And if you actually lose a war, it will take far more than 10 years to rebuild your armies since manpower is usually a lot less than your force limit. Not long enough until the blob attacks you again.

And as if it wasn't enough, blobs invariably have more monarch power than you, so they'll have better tech, better generals, more ideas and so on. Back in EU3 small trading powers were tech leaders. Now it's the Big Blue Blob (which is of course exempt from cost of coring and culture shifting things in takes).

Unlike bugs which are mostly minor annoyances and will likely be fixed in patches anyway, the railroading problem (especially with manpower and Burgundy event) is one are are which seems like a consciously made horrible design decision, and it hurt the game to the point where I want to wait for mods (or mod it myself) rather than suffer from vanilla. It's basically EU4 equivalent of gavelkind. Nothing else I'm going to mention is anywhere near as bad as this.

Oh, and it's something I don't care about, but others do - if you want achievement, now you have to play with lucky nations set to historical - as if France really needed any more railroading than it already gets. They could let people choose random or none, but they sure want to see the blob train.

Tama — Station Master of Kishi Station 1 by dugspr — Home for Good from flickr (CC-NC)

Diplomacy and war goal system

EU4 changes to a completely new war goal system inspired by some aspects of EU3's and CK2's. It is quite interesting, and I think diplomacy and war goal systems are both huge improvement over what was there in the previous games.

However, it's still either bugged as hell or just really non-intuitive, whichever way you prefer to look at it.

Even if you don't let war leader negotiate for you, war leader can still negotiate for your vassals.  Austria was the war leader. I was their ally Brandenburg, and I had Teutonic Order as a vassal (who held Hinterpommern on which Pomerania had a core). Of course I disabled their ability to negotiate for me - but they still gave Hinterpommern to Pomerania in the peace deal. No enemy troops got anywhere near me or Teutonic Order at any time, so it sure as hell wasn't occupied or anything.

A big rule of the war goal system is that except returning cores (which by the way should result in a very high positive relationship modifier if you're just gifting territory to someone who's not even a party to the war, not just +10 for doubling their territory) - only country actually controlling a territory can get it in a peace deal.

This sounds fine, but when the primary goal is of the war is your claim for some province like Hinterpommern, and your Polish allies are first to reach and siege it, you can still only ask for it to go to Poland, not to you. So much for your claim.

Even more bizzarely, Poland started a war to subjugate Teutonic Order, where I joined hoping to get that damn Hinterpommern in a separate peace deal. I ignored enemy armies and rushed to siege everything Teutonic Order had - then the moment war ticker reached 100% Poland pressed subjugation option, and Teutonic Order ended up as my vassal, not theirs. I couldn't even vassalize them in a separate peace since for me that was 198% war score, but since Poland had a discount due to CB, they could vassalize them under me.

I think there should either be exception for war goals so they can always be pressed for the right party, or sieging a territory with a claim should make it go to the claimant not to the besieger (at least when the claimant is the war leader), or something like that, otherwise a lot of silliness will ensue. This isn't really game-breaking but it's sure extremely nonintuitive.

Right now the proper way to act in any wars where you have allies is to ignore enemy armies (since even winning means extremely painful manpower losses) and just siege everything (regardless of who's the war leader, besieger gets everything). I don't think that's such a great design.

Another issue is that when you are attacked by OPM who's a coalition member, that OPM remains coalition leader. This means a single siege gets the war score to 100% and you can force other coalition members to give you huge unearned concessions. This is much less of a deal than other problems here.

Overall, I think the new war goal system needs a bit of polishing, but it's a huge improvement over what was there in the past - and EU4 diplomacy is just a lot better than in any previous game.

User Interface Issues

I'm really really happy with interface improvements - CK2 was already a huge improvement over EU3, and EU4 makes it even better.

There are finally hotkeys for most things, map modes are really well designed, and the game looks really pretty.

There are a few things that could be improved, but they're pretty small:
  • Alt-mouse drag to select all ships like in recent CK2 patches would be nice (but not a big deal, since you have far fewer armies than in CK2)
  • Diplomacy view mod (or some other mod) really needs to show coalition members against you.
  • Some kind of casus belli / truce map mode would be nice.
  • Tooltip showing diplomatic relations should maybe show how fast "improved relationship" is changing, right now that's only in diplomacy view.
  • Diplomacy screen really needs to be larger. Fortunately there's already a mod for that.
  • Ledger page showing charts with culture seems to be broken and shows them all (or maybe all from the same culture group?) as same color without even any dividing lines.
  • There doesn't seem to be any explanation of technology "neighbor bonus" and it sure doesn't work like EU3. I had a few theories on how it might be calculated, but none of them fits very well. Anybody has an idea?
  • Micromanaging diplomats is really annoying. Worst of all you need a free diplomat to even view your options (like CBs you have), not just to send an offer. They really should let you view such things even if you can't act on them at a moment. AI for sure knows all that itself, so it's just user interface pain, not any real game mechanic. (I still prefer that to EU3 diplomats system, which was just unbearable and I modded it away every single time I played)
  • It would be nice to be able to see this big war summary dialog for all wars, not just ones you're in. Most of this information is already available, just scattered over many places.

And assorted minor issues

I really like how they replaced one random mission with a choice of 3 missions - unfortunately very often all 3 are totally generic and none of them are things you want to do, or have much chance doing. That's one area where just throwing more content at the game can really improve it.

Military expansion within HRE feels about the right level of difficulty - people will dislike you for it, but not ridiculously so (in EU3 you'd get 4 infamy for taking a province, then 12.5 ticking infamy before it cored - very few provinces were even close to being worth that).

It feels like money is a much bigger problem than in EU3, and everyone is pretty much forced into trading, not just trading powers. This was another thing where small countries used to have advantage over blobs, but now blobs dominate trading just like they dominate everything else, and trading is now a lot more important than it used to be, so help blobs even more.

As a small country you'll be starved of monarch points - you won't have enough money to buy any decent advisors (who by the way are totally all free for AI, AI also suffers no naval attrition, has no fog of war and cheats in a few other ways), while big blobs won't have such problem at all.

Anyway, to summarize this review - EU4 has huge potential and I'm pretty sure some modder will turn it into a game it deserves to be - a fun sandbox, not the big blue railroad it currently is.

EDIT: I wrote a minimod for EU4 1.1.1c to reduce railroading a little. It hasn't been tested too much.