taw's blog

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

Thursday, April 23, 2015

Adventures with Raspberry Pi: Weather in London

Welcome to another of my Raspberry Pi adventures.

Previously, I connected raspberry pi to monitor and keyboard and blinked some diodes.

It's time to go a lot further. The first step was removing monitor and keyboard, installing sshd, and just controlling the pi from a regular computer. That leaves two cables - ethernet, and USB power (currently coming from the computer).

I'll replace ethernet with wifi at some point, and reroute power to standalone charger so it doesn't need to be anywhere near the computer.

I also got new multimeter - the old one was totally broken, it wasn't just the battery.


Shift registers

Project for today is driving two 8-segment displays. Even ignoring 8th segment on each which is used for decimal dot (and only really included because 7 segments is a silly number), that's 14 wires. Raspberry Pi presumably has that many usable pins (I'm not entirely sure how many of 40 pins it has can be used for full I/O), but we really don't want to spend out entire pin budget on this.

Instead - we're going to use shift registers. Shift register I use - 74HC595 - has 3 inputs: data, clock, and latch. Whenever clock pin goes from low to high, it reads data pin, pushes data it has left by one, and puts whatever it got in newly emptied bit slot. In 8 such cycles, we can set the whole 8 bit register, one bit at a time.

While we're sending the register data, it is temporarily in inconsistent state, with mix of old and new data. To make sure that's never output, there's a separate latch pin - whenever it goes from low to high, register snapshots its state, and keeps that an the output unless we tell it to get new value.

This way we reduced number of required pins per display from 8 to 3.

74HC595 has a few extra pins (clear, output enable, etc.), but we just hardwire them as we don't rely on that functionality.

Here's a photo of work in progress: data is sent to shift register, and from there to 8-sigment panel, but it's just random bits.


Here's the code:



require "pi_piper"

class ShiftRegister
  attr_reader :data, :clk, :latch
  def initialize(data, clk, latch)
    @data  = data
    @clk   = clk
    @latch = latch
  end

  def out_bit(bit)
    @clk.off
    @data.send(bit == 1 ? :on : :off)
    sleep 0.001
    @clk.on
  end

  def out(byte)
    @latch.off
    byte.each do |bit|
      out_bit(bit)
    end
    sleep 0.001
    @latch.on
  end
end

Eight-Segment Display

Next step is really simple - instead of sending random data telling segments to turn on/off, we want to send it data corresponding to shapes of digits:


The code is really simple:


class EightPanelDisplay < ShiftRegister
  def out_symbol(symbol)
    # DOT, LR, L, LL, UR, U, UL, M
    case symbol
    when "0"
      out [0,1,1,1,1,1,1,0]
    when "1"
      out [0,1,0,0,1,0,0,0]
    when "2"
      out [0,0,1,1,1,1,0,1]
    when "3"
      out [0,1,1,0,1,1,0,1]
    when "4"
      out [0,1,0,0,1,0,1,1]
    when "5"
      out [0,1,1,0,0,1,1,1]
    when "6"
      out [0,1,1,1,0,1,1,1]
    when "7"
      out [0,1,0,0,1,1,0,0]
    when "8"
      out [0,1,1,1,1,1,1,1]
    when "9"
      out [0,1,1,0,1,1,1,1]
    else
      warn "Don't know how to output symbol #{symbol.inspect}"
    end
  end
end

We could even extend that to some simple letters or such symbols - not everything can be distinguished, for example B and 8 will look the same, but it might be useful.

Two digits

So we got down from 2x8 to 2x3 pins. We can do better - we can use same clock and data lines for both shift registers, and only have separate latch pins for each. As registers output whatever was the data inside them at the time they got the most recent rising edge on their latch pin, as long as register's latch pin is steady (doesn't matter even matter if high or low), it doesn't matter what they get on other pins.

There are other ways to connect registers, including daily chaining shift registers so they shift into each other thanks to their extra pins, and we could get away with just 3 instead of 4 raspberry pi pins, but this simple setup is good enough.


 And corresponding code:



pin4  = PiPiper::Pin.new(:pin =>  4, :direction => :out)
pin17 = PiPiper::Pin.new(:pin => 17, :direction => :out)
pin22 = PiPiper::Pin.new(:pin => 22, :direction => :out)
pin27 = PiPiper::Pin.new(:pin => 27, :direction => :out)

register_a = EightPanelDisplay.new(pin4, pin27, pin17)
register_b = EightPanelDisplay.new(pin4, pin27, pin22)

Weather in London

After we had the hardware going, software is really simple - a simple JSON request to OpenWeather API, convert Kelvin to Celsius scale, and send it to our display.

And here's current weather in London, +9C (there's no need for sign, as London never has winters):


And the code:

require "json"
require "open-uri"

url = "http://api.openweathermap.org/data/2.5/weather?q=London,uk"
weather = JSON.parse(open(url).read)

temp_c = weather["main"]["temp"] - 273.15
temp_display = "%02d" % temp_c

register_b.out_symbol temp_display[0]
register_a.out_symbol temp_display[1]

Tuesday, April 21, 2015

EU4 Polish Predestination AAR

Post 1 - Originally published on Google+ on 2015-04-14 20:57:39 UTC


Poland: Part 00: Introduction

EU4 keeps getting new mechanics, but as most of them are specific to just some religion, government type, or even specific country, I rarely get to enjoy them. Native Americans got 4 different religious reform systems, colonies got liberty desire (before it got replaced by completely new liberty desire system), and I never played any of that, and quite likely never will. Sometimes a mechanic that was very narrow suddenly gets expanded to much larger group of countries, like Ming's factions (from all the way back in EU3's Divine Wind expansion) which I never had a change to play before it got expanded to merchant and then Dutch republics.

Since I don't have infinite time, I tried to do a bunch all at once with my Varangian Republic game, but then game's exploration system bugged out completely and I ended up doing pretty close to zero El Dorado stuff, but random world, custom nations, and Norse patron deities were fun.

And here's another go. I want to play as Poland, so I get to experience elective monarchy, Poland/Commonwealth specific content, hopefully HRE league wars, new curia system, and possibly Protestant or Reformed religions as well.

But there's more. This campaign is going to be very heavily modded, with mix of vanilla, Fun and Balance, and crazy values, trying out a lot of things which might or might not work. As a matter of fact I expect it to be broken in some way:

• no mana for expansion, or for that matter for most other things
• no leader upkeep (leader recruitment still costs, and they don't live forever, so it more or less halves the cost)
• no overextension whatsoever, but much slower coring
• techs, ideas, and stability cost increased, as that's what mana does now - you'll probably have less mana than before
• 10 idea groups, with idea groups rearranged at different techs
• I enabled vanilla scaled truce timers, slow AE decay, and historical lucky nations for greater lulz, and because playing as Poland is really far on the easy side of what I usually do
• (and basically half of defines.lua tweaked at random)
• and mid-game modding will happen whenever I feel like it, balance or no balance

Anyway, for campaign goals:

• Dominate Central Europe as Commonwealth
• Break all local competition - support Swedish independence, prevent Muscovy's conquest of Russia, intervene into HRE wars to break Austria, Ottomans are probably going to collapse on their own but if they won't, help them with it.
• I'm leaning towards dismantling HRE and going Reformed, but it could change.
• No plans to westernize, Eastern + western arms trade bonus adds up to just 10% penalty.
• No plans to colonize and explore.
• No plans to mess with France, Castile, England etc. - of course no plans doesn't mean no unplanned meddling
 #eu4



Post 2 - Originally published on Google+ on 2015-04-14 22:52:42 UTC


Poland: Part 01: 1444-1452: Union with Lithuania

The first order of business is obvious - form union with Lithuania. With 0/0/0 regency council and crappy It took until May 1446 to get enough mana to get +1 stability.

I planned to support Swedish independence as soon as I got my union (since I can't get union while at war, and I'm fairly weak before the union), but it triggered on its own - with support by Scotland, Teutonic Order, Pomerania, and The Hansa.

Brandenburg, Bohemia, and Bavaria decided to ally me, which is totally fine as I don't plan to expand within HRE anytime soon, and my rivals are Teutons, Denmark, and Hungary.

Well, the union needs to be immediately celebrated by attacking the Teutons. They had a lot of allies - including Sweden and England, but not so many willing to join the war, mostly just HRE rabble.

I got event that switched me to elective monarchy - and as usual with Paradox QA its text is wrong -archbishop of Gniezno who's de jure primate of Poland was the usual interrex, and there's on such thing as "Primate of Warsaw", it was only in 1798 that Warsaw even got an bishop at all, and bishops order of precedence is generally by whoever's seat got established first.

I vassalized Livonian Order, took over Riga, and 5/8 Teutonic provinces. Apparently those 5 provinces - 28 base tax total - are only worth 10 power projection. Come on now!

And I got instant coalition of a lot of HRE minors against me. Well, I can't say it's entirely undeserved.

No time to think about it - Austria and Hungary attacked Bohemia. That was extremely bloody war, and I ended up with tons of WE and manpower deficit, and just barely managed to defend Bohemia.

And Bavaria got into some minor HRE war. I didn't even bother with that one - it was one sided suicide run by the attacking OPM.

I incorporated Mazovia and paid to get my capital moved to Warsaw, saving maybe 25 gold by temporary trade misredirection trick.

So far results:

• Sweden got independence from Denmark - that doesn't actually solve my problem as both rivaled me and joined coalition against me
• Muscovy took over half of Novgorod, half of Golden Horde, and Ryazan as vassal.
• Austria's attack on Bohemia failed
• Ottomans just fight Qara Qoyunlu and don't bother us
• Coalition against me is horrible
• England lost HYW
• Aragon is getting beaten by Castile and Portugal

By the way I'm pretty sure AE is broken as hell. Muscovy's rapid expansion got them almost no AE - even their direct victims barely got -23, while my AE exceeds over -100 for some countries. Seriously, Novgorod joined coalition against me - WTF is this shit? Lucky nations are supposed to give 25% AE discount, which is fair enough, but there's no way all that makes any sense.

Oh well, what's a few unfair coalitions against might of the Commonwealth.

And England asked to ally me. Normally I accept most alliance offers, but let's be serious here. Not a chance. France or Burgundy would be good allies against Austria and Denmark. For that matter maybe I should consider alliance with the Ottomans so we could screw Hungary together?
 #eu4



Post 3 - Originally published on Google+ on 2015-04-15 02:12:03 UTC


Poland: Part 02: 1452-1462: First Muscovy War and First Coalition War

Any kind of expansion west was out of the question due to HRE and coalitions, and none of my subjects bothered to fabricate any claims. Fortunately Muscovy helped me, and embargoed me before it even got its stuff cored. Well, better opportunity won't happen anytime soon, and I really need to crush them.

None of my allies would join - but Muscovy was only allied with Wallachia, Circasia, and Byzantium - all laughable. They had slightly larger army (49k vs 44k ours), and actually had a navy, but Muscovy needs to be crushed early.

I won some early battles, unfortunately my subjects were ridiculously incompetent at fighting, so balance of power was slowly going against us. To even it out I force converted and vassalized Wallachia - I'm sure Ottomans will love me for it. Then some noble rebels attacked Constantinople, and they agreed to concession of defeat, taking their vassal Athens out of the war with them.

After that it was nice slow war - I was just waiting for their WE to kill them while doing pretty much nothing.

Except the damn coalition decided to attack me - Sweden, Denmark/Norway, Novgorod (ungrateful fucks), Pomerania, Brunswick, Saxe-Lauenburg, and Switzerland. At least half of HRE minors had decency to drop out of it before it started. And the wargoal is somehow winning battles. What the fucking fuck now? Weren't coalition battles about holding your capital? When the fuck did that change? 1.8 apparently. I'm already reconsidering allowing slow AE decay in the game.

Sadly I had slightly negative warscore against Muscovy, and they had larger army, so I was forced to white peace them out. That had a really nice side effect of finally allowing me to marry and ally France, who then joined the war against Sweden, moving balance of forces to 73k attackers vs 125k defenders.

And just as France joined my side, England joined the Swedes. I miss 60 day limit. Not that any of that matters - neither of them would bother sending any significant forces that far, but they count for relative strength of alliances modifier at least.

Well, I got it to 44% warscore, but Sweden had this ridiculous "Coalition War", +30 to war enthusiasm, so they wouldn't accept anything sensible. Time to spam them with "too good to refuse" offers I guess then.

Not that it did much, -4 stab hits they paid all back immediately, only 5th-7th offer started hurting them. After going from +1 to -2 stability, at cost of 1050 or so paper mana total, they finally figured out what a bad idea all that was, and gave me war reparations and two Pomerania's provinces - I'm generally reluctant to take HRE land, but one of them was estuary, and the other one I need to link things up, so it seemed reasonable enough.

That was not the end of fighting - France got attacked by Burgundy and Castile. I had no intention of providing anything beyond moral support there. Eventually they lost overlordship over Foix and one province.

While I was waiting for France to lose their war (they had basically no allies, and even France without allies is not that great early game), second coalition formed against me - led by Austria and Hungary, with some HRE minors joining it as usual, but they got bored after a while, so now I'm temporarily free from coalition threat.

I had my first fun event as Poland -  achoice of either checking my Nieszawa privileges for permanent +5% tech cost and -20% stab cost, or oppressing 14k Magnate rebels. No fucking way I'd agree to that.

That's one problem avoided, but I'm sure the game will give me more.
 #eu4



Post 4 - Originally published on Google+ on 2015-04-15 05:12:04 UTC


Poland: Part 03: 1462-1474: Crushing Muscovy, Austria, Hungary, Denmark, and Novgorod

My efforts to undermine Swedish stability have done something - they got Peasants' War, -3 stability, and no legitimacy.

I was waiting for my truce with Teutons to expire, but Muscovy was kind enough to embargo me, while I was one mil tech ahead of them. (-5% Krakow university and -10% western arms trade via my ally Bohemia doesn't quite balance +20% eastern tech group, but it helps). Now that's a much nicer 53k vs 44k war.

Unfortunately they were still lucky bastards, and had far better generals than me, but it's as good as such conflicts ever get. No matter, I beat them up and got 4 provinces out of it. It wasn't particularly punishing, just as much as I could get from warscore from battles and a bit of ticking - getting much more would probably require a lot of carpet sieging, which my manpower would not enjoy.

Third coalition against me formed up - made out of Teutons and Hansa only, so I didn't care. Surprisingly, day of the peace deal with Muscovy a lot of other countries joined - Austria, Hungary, and the usual assortment of HRE minors. I thought they'd only do that on monthly tick, so I could start a war against mini-coalition first.

And third started a war - this time it was Holy Roman Intervention to get one of Pomerania's provinces, which still weren't cored. I did not consider how much 10 year coring time would interact with HRE, but all that is fair enough.

At least there was nothing subtle about that war - I kept all my armies at war goal, they attacked 55k vs 75k, and got beaten back.

In theory my side had numerical advantage - in practice there was little use of all those French and Aragonese troops. More annoyingly Castile decided to join two years into the war, crusting my hopes that French troops will ever reach the frontlines.

I ran into another bug with warscore - Castile was occupying huge swaths of Aragon and bit of France, and couldn't transfer any of that to war leader as they were not adjacent, but they completely ignored that for their warscore, so they were satisfied by concession of defeat.

Well, it was time to start spamming Austria with their smug +2 stability with hostile offers. They rejected 7 reasonable offers in a row until finally seeing reason and giving me 2 remaining non-HRE provinces Teutons had - leaving them as HRE OPM. I'll let them keep that HRE province, it's more trouble than it's worth.

Novgorod repeated Muscovy's mistake in embargoing me. While in Muscovy's case it was arrogance, for Novgorod it's just pure stupidity. Well, they suffer for that, and Denmark did not help them at all.

Anyway, now I'm just waiting for French-English warscore to tick up in French favour (unless I separate peace). Then I'll release Finland as vassal and go fight Sweden for some Finnish cores.
 #eu4





Post 5 - Originally published on Google+ on 2015-04-15 15:40:18 UTC


Poland: Part 04: 1474-1483: I'm the luckiest nation

I'm seeing one ridiculously good opportunity after another.

First, Sweden was almost alone, and it even broke its alliance with Pomerania (who ate Teutons' last province), so it was left with just Hansa and two OPMs as allies - while suffering peasants' war, -2 stability, and huge stack of penalties to everything resulting from those. Time to get Finland's cores. Not like I had to do much fighting, Denmark joined the pileup from the other side to gets its cores back. (amazingly Sweden crushed Denmark once I got uninvolved)

The only thing Sweden had going for them was ridiculously good general - by then way I'm getting really little army tradition from all the battles, did they change that recently, or am I missing something?

Muscovy was allied with not terribly important Byzantium (+ vassal Athens) and Georgia. Ottomans attacked Byzantium, and Muscovy bailed. Then Kazan and a bunch of other hordes attacked Muscovy, and are crushing it. And because of this war Muscovy rejected Georgia's call to arms as well, so it's completely without allies, and with barely any troops. To make things even funnier - they took influence as first idea group, and if I cut them from the sea, they're not going to take exploration or expansion, so they won't be colonizing Siberia anytime soon.

I don't necessarily want to be in permanent state of war - I actually want to slow down a bit to let my subjects' WE recover - but if the game keeps throwing opportunities at me, I can't possibly refuse that.

I absolutely massacred Muscovy, getting 11 provinces out of the deal, which amounts to 0 power projection because thy went to my vassals. Not even "Muscovy lost provinces in our war" half-assed modifier - that only counts for returning cores apparently. The whole PP system is crap.

My lack ran out a bit when Bavaria and Bohemia got into a war, and I had to choose Bohemia, as that's where my western arms trade comes from.

By the way in what can only be described as stupid bug Lithuania got AE from all of that - a lot of AE.

Anyway, it was time to deal with Hungarian menace. They were being overran by Lollards, and while still allied with Austria, Austria was involved in some other wars, so they wouldn't be able to send all the troops, meanwhile my baguette eating best friends forever were totally free.

Weirdly they didn't even bother calling Austria. Unfortunately Austria ended up intervening, while the French were busy with their baguette picnic in Savoy, so I let Hungary get away with 2 donation of cheap provinces.

And now I have nothing to do for the next 5 years. Truces everywhere. There's 3 HRE minors coalition against me, but I doubt they'll attack. The only country I can attack is Pomerania, but that's just pointless.

My first idea group was defensive, obviously. Second will be innovative, as tech is going to hurt in this game and -5% tech cost discount is a lot of mana. Not sure about the 3rd - playing without bird mana cost for peace negotiations makes religious less important.
 #eu4



Post 6 - Originally published on Google+ on 2015-04-15 18:24:59 UTC


Poland: Part 05: 1483-1495: I'm not the only blob

Truce timers forced me to take a long holiday, so I disbanded mercs, revoked Moldavia's status as a march (annexation potential timer starts when someone becomes vassal, not when they become subject, and I changed it from 10 to 20 years, so it will take forever until I can integrate them), built a lot of buildings, got trade fleet up to force limit, and culturally enriched Old Prussians, Latvians, and Estonians into proper Poles. I'd like to get some accepted culture bonuses to get some mid-sized cultures accepted, but those 2-3 province cultures are simply never going to happen.

The peace time got broken by being called into some silly Brandenburg-Magdeburg war I could care less for.

Burgundy and Castile tried to attack my baguette buddies again a bit later. For a lucky nation, France is doing surprisingly poorly.

No matter, I need to fight wars by calendar - Novgorod/Sweden. There was this awkward thing here that I did not have any army - I disbanded mercs 5 years ago, so I just had 8k regulars at low funding, and didn't want to recruit any new mercs until I got 2nd innovative idea, while Swedish 6/3/4/3 general with his doom stack ravaged my subject's lands.

All that changed almost immediately once I got my -25% merc cost discount, recruited a lot, and went all it. Finland is now nearly a major power, at least in terms of font size, not necessarily base tax.

Since I had nothing better to do, I sent all my army to crush Burgundy, as strong France is needed to balance strong Austria, and they've been blobbing hard - all while being 2 mil techs ahead of me.

Now I'm very restricted:

• It's still some time until my truce with Muscovy expires. And even then I'll have no CB unless they do something stupid like insult or embargo me.
• None of my subjects fabricate anything - they're all diplomats except balanced Wallachia (which fabricated one whole claim on Hungary)
• I could attack Austria/Hungary if I had France on my side - but France is a bit exhausted by Burgundians and Castilians. Either war would be me fighting it alone while breaking some of my alliances - Hungary is allied with Aragon and the Pope, Austria with Brandenburg. Bohemia got beaten to the point they are a speedbump on Austrian way, not a regional power, so even if they joined that would be useless.
• I'd love to ally Ottomans as counter to Austria, but they hate France, I hate Kazan, so nothing can possibly come out of this
• It would really help me if Austria stopped being HRE. Elector preferences change so sometimes it looks like someone else will get elected, but some far they're lucky.
• I guess I could try to ally all electors and go for early HRE dismantling, but I want to enjoy league wars :-)

I got another fun Polish event - The Statute of Piotrkow - either -3 stability, or +1 stability (irrelevant, I was maxed out), +2.5 mercantilism, and 30 years of +10% tech cost. That's painful, but I took stability loss.
 #eu4

Poland


Kazan horde


Austria


Ottomans


Post 7 - Originally published on Google+ on 2015-04-15 20:27:02 UTC


Poland: Part 06: 1495-1501: Delicious Denmark

I annexed Wallacha as useless, broke royal marriage with Bavaria, lost Aragon to Iberian Wedding, so I had 3 vassal slots, which I used to diplovassalize 3 HRE minors (Holstein, Mecklenburg, Luneburg) - 20 base tax of HRE prime real estate for 0 AE and 0 mana is a good trade.

And with that came a bunch of claims on Denmark. France unfortunately loved Denmark too much to join, while they mostly had distant allies like Savoy, Milan, England, Leinster, and Norway. That's far less dangerous than Austria whose allies are always within battle joining distance from each other.

England dropped its usual tiny stacks, but they were surprisingly painful to fight - artillery vs no artillery. I expanded my vassals by 16 more basetax.

I got new king - same dynasty as one from Brandenburg - which basically means -20 to my relations with everybody except Brandenburg, whose candidates lost elections.

Then Pacta Conventa triggered right away - permanent +50% cost to WE reduction cost and inflation reduction cost. And just after that shit events started rolling - with a choice of -1 stab -20 legitimacy and -50% manpower recovery speed +50% recruitment time until death of current monarch.

In better news - Saxony succeded Austria as emperor. That doesn't quite fix my problems as Saxony, Austria, and Hungary are all allied with each other.

There's 21-country coalition against Austria. Pretty much all those countries are just HRE minors, but those numbers. I'm really tempted to join and undo some of Austria's recent blobbing.

Alternatively I could fight HRE by force and let's say force vassalize Hansa as punishment for embargoing me. Or just screw HRE and finish Muscovy after Finland finishes getting annexed. So many possibilities.
 #eu4

My Lubeck node vassals


Anti-Austria coalition


Post 8 - Originally published on Google+ on 2015-04-16 17:14:25 UTC


Poland: Part 07: 1501-1510: War of Austrian Coalition

With Muscovy crushed, Denmark/Norway/Sweden split into 3 countries, all half their original size, the next obvious target was Austria.

Here's the wishlist for war against Austria, impossible to have it all of course:

• I absolutely had to be warleader - there's no point getting involved when some OPM just makes them pay war reparations and return two cores.
• I wanted to get France involved
• I wanted to get anti-Austria coalition involved
• I wanted to avoid breaking existing alliances
• I really wanted ticking warscore to be some minor province, hordes of OPM microstacks would cost Austria's their manpower, but they'd absolutely kill our warscore from battles
• I wanted a few cobeligerents like especially Hungary
• I wanted to screw Austria, Hungary, and Saxony, and make them break their alliances

I was worried that in month between me joining coalition and me declaring war some OPM would jump in front and force me into really really shitty fight. Back in the olden days warleader would just flip to a much stronger country, so that wouldn't be too risky.

To my surprise joining a coalition is not a diplomatic action, so I could attack them same day. Unfortunately that's going to be a painful war, because France started to like Austria after they lost emperorship and unrivalled them, Bohemia had truce with Austria, Brandenburg was allied with them... it was not terribly advantageous, but coalition won't last long, so I had to move it.

Hungary and Saxony as cobeligerents. Time to have some fun. 203k attackers vs 174k defenders. The best thing about this war was that everybody on their side could be separate peaced, and nobody on ours, so attrition would work for me.

And of course my OPMs got beaten in every battle, and even my first attempt at overwhelming Austria with numbers failed. Surprise help came from the Ottomans - Crimea attacked Genoa, and that turned into Ottomans vs HRE clusterfuck at most opportune time. Ottomans even sent troops for battle for Ratibor - the wargoal (unfortunately that turned out weird as Ottomans were hostile to only some of our enemies, not all, game gets confused in such cases).

More fun stuff was happening - I got event that improved my diplomatic reputation, so I could finally call France into the war, except they wouldn't come as my warscore was below -25%. ("call to arms" option disappeared after a while, I think that's because France got itself into another war, it was there with just -1000 penalty for bad warscore for a long while - then it reappeared after France ended its war, but event was gone too, so they were just so slightly unwilling to join)

I got Venice white peaced, and let Cologne get away with reparations. Everybody on their side wanted out of their war, except they were really enjoying -36% warscore - from ticking and from somewhat dubious warscore scalling. Everybody on my side *really* wanted out, but couldn't.

There was no way around it - I had to take the war goal. First two attempts failed to Austrian doom stacks, third succeeded, and I instantly conceded defeat to Castile/Aragon and Savoy, and a few battles later Naples. I even let Hungary away with just canceling alliance with Austria and some petty cash.

Saxony's alliance with Austria and Hungary fell when Saxony got itself into another war, and they refused the call. Bohemia called me into their war against some OPMs, which I totally agreed to, and even ended up winning it for them.

After that, nothing short of total victory was an option. Sadly something like 200k rebels of all kinds raised in Lithuania - as well as 10k in Holstein, so I had to recall my armies prematurely and hope my OPM swarm will deal with Austria somehow.

I finally started getting call to peace at +67%, fortunately by that time rebellions were crushed, and my OPM swarm was sieging Austria even when I couldn't.

All that cost me 3 loans, which really isn't a huge deal. My manpower wasn't even close to the usual zero from such bloodbath, but that's because royal army is just artillery, cavalry, and small number of infantry - with bulk of infantry being mercs.

Austria got crushed. In about 18 months I plan to crush Hungary.

The biggest winner is Bohemia - it won its war, and got its every province returned. Fortunately we're going to be best friends forever thanks to +200 returned territory bonus. Protestantism started spreading with Brandenburg and Bohemia being first two Protestant countries. I'm pretty sure I'll pick their side in any league war, even if I don't really plan to go Protestant.

I even got first Protestant province by event, which I had to accept as not doing so would threaten my relations with Bohemia and western arms trade modifier.
 #eu4

The Aftermath with Blobhemia making a surprise return from EU3


The Great Coalition War


Post 9 - Originally published on Google+ on 2015-04-16 22:27:56 UTC


Poland: Part 08: 1510-1528: Life After Austria

Coalition wars are fun, so how about starting a bunch of wars, getting tons of AE, and having some coalition war against me?

But first, Sweden took so much of Norway's lands that they totally want to be my vassals so I can get it back for them.

Spoils of war:

• Moskva (giving me and my subjects total control over Novgorod trade node)
• 2 provinces Kazan forced Muscovy to give to Novgorod, which I then took for myself
• 2/3 of Hungary - I setup Croatia as a vassal there
• Lauenburg
• all Norwegian cores, and a good chunk of Sweden

All that impressed 12 base tax Bruswick (my new queen is from Brunswick) to accept becoming my vassal.

Year after that I attacked Serbia to feed Croatia. Serbia was even allied with the pope, which made our relations suffer, so I insulted the funny hat man and passed statute in restraint of appeals, as -1 unrest, -10% stability cost, and +0.50 yearly prestige is more than worth playing the pope game.

All that led to coalition against me, of Burgundy, England, and some assorted minors. It peaked at 9 countries, but none of them were terribly enthusiastic, and members started falling out down to 6.

After I got Serbia coalition grew again - to 18 countries, which considering who the members were was much stronger than coalition against Austria.

Religious wars within HRE started. Not officially with league trigger - Brandenburg (allied with me) just decided to declare cleansing of heresy war on emperor Saxony (allied with Austria). Austria's performance was dreadful, and Brandenburg took half of Saxony as a reward - sadly they did not force convert them (I'm not sure if you can with new mechanics).

France attacked England for Calais, which I obviously had to support.

I got Bohemian king, and I decided to take -50% manpower recovery speed this time, otherwise it would put me at -2 stability with little hope of getting out of the hole. I wonder if there's any way to stack positive values on top of that to get it even. (-50% is not as bad as halving it, as I mostly have positive modifiers here)

By the way Danish rebels broke away 2 provinces from Holstein - that's the kind of bullshit I hate the game for, I should see a notification about it, and I didn't even see any rebels there.

I got into war against Muscovy to prevent them from joining the coalition.

Between skillful effort of my diplomats and some separate truces, coalition against me fell apart completely.

France got Calais - and made England release Cornwall, Burgundy got Liege (which France was unable to prevent). Spain is now unified, Great Britain will be unified as soon as it hits tech. Same with me - I'm way behind on admin as I really needed those wonderful innovative ideas.

My plan is to take what remains of the Baltic coast by conquest and diplomacy, as well as finish off Western Balkans to preempt Ottomans or Austrian expansion there.

I want to go Reformed, but I'd prefer to get humanist ideas first (or both humanist and religious, but that would be too much), so that will be some time after tech 10.

By the way being Catholic now is literally worse than a do nothing religion like Buddhism, as it pollutes mission pool with very high priority mission "become papal controller", which nobody should ever take as it's a RNG crapshot. Even with negative papal influence (from restraint of appeals), which makes it literally impossible to ever get curia, I'm still getting this mission every time (and taking and canceling it just makes it reappear a few years later).

Papal points accumulate so slowly they're next to worthless, even before I gave up on them. I got like +2 mercantilism for over 50 years of good papal relations and having about 3 cardinals, give or take one from events. Compared with how amazing it used to be, it's ridiculously crappy.
 #eu4



Post 10 - Originally published on Google+ on 2015-04-17 01:01:41 UTC


Poland: Part 09: 1528-1532: Accidental Emperorship

I got into a trivial wars against Denmark, notable mostly for how poorly their Austrian allies performed - losing Nuremberg and Gelre as consequence. Meanwhile I finished Novgorod's last province.

Bohemia attacked and conquered OPM Saxony who happened to be the emperor. I wondered who's going to be the next emperor... What do you mean me? OK, two votes for me, two votes for Savoy, I think I'll win the tie breaker (first tie breaker is current emperorship which doesn't apply, second maybe prestige? I'm not sure), but just in case here's a gift to Palatinate for third vote, just a few days before Saxony's capital fell.

And I'm really not sure what to do next. I planned to go Reformed (after forming Commonwealth and getting humanist so I have decent tolerance), but good old times when it was possible to hold empire as non-Catholic are long gone. I even planned to join league on Protestant side, but I'm emperor and Protestant countries generally like me, so I don't know if anything will ever trigger.

I could join HRE, give away electorship, pass first reform thanks to the provinces added, and then surrender emperorship by switching religion maybe? Being non-emperor member gives ridiculously good -3 unrest, -10% tech cost, -10% stability cost, I get to attack other princes without calling emperor into this, and is there even any downside any more? In the past reforms were good for emperor and bad for princes, but now all reforms before 5th (which disallows internal wars) are just pure bonuses, and if I don't want it, it won't get beyond 4th.

So, my options:

• Remain Catholic and emperor (probably joining as well), enforce Catholicism within empire, reform it (up to 7th if possible) - I just really hate the popeman
• Join empire, reform it a bit (up to 4th if possible), keep emperorship temporarily until I want to change to Reformed, then give it up
• Join empire, reform it up to 6th (which tooltip claims lets me switch religions), then go Reformed - that might take forever unless there are good exploits for IA
• Do not join empire, just take advantage of lack of emperor and conquer everything, then force dismantle it as soon as I lose emperorship
• Just ignore it until it goes away

A biggest downside of being emperor is that I'll be forced to take Burgundy's side if they're attacked by England (whatever) or France (ouch). I don't really expect anybody else to attack minors unless suicide run comes up again.

Other than Austria (-92) and Pomerania (-97) nobody in the empire cares much for my past AE (mostly -20 to -40 range, will go away quickly), and if I grant electoship to someone who likes me, join empire, and use diplomats then holding it won't be too hard.

I'll have to think it through. In any case, Denmark, Muscovy, and Austria are all extremely convincingly crushed, leaving just Ottomans from my original list.
 #eu4

HRE


I could pass first reform right away


Post 11 - Originally published on Google+ on 2015-04-17 04:07:59 UTC


Poland: Part 10: 1532-1539: Imperial Reform Fast Track

No matter what I do next, I need to first join the empire, and crush various non-imperial countries like Sweden, Serbia, and Denmark.

And first - WTF? Granting electorship gives 0 IA, and no relations bonus whatsoever. For fuck's sake, that doesn't make any fucking sense whatsoever.

I gave it t Reformed Switzerland, so now electors are 3 Catholics, 3 Protestants, and 1 Reformed, making it less likely that voting block against me emerged - even if electors end up hating me, they're probably vote for different countries, so I might still win regardless.

Oh well, I added 50 provinces, passed first reform, got CB on holders of unlawful imperial land, and attacked Venice, with Sweden as cobelligerent - which of course immediately got me into a war with Switzerland. Why did I give them emperorship again?

That also let me wipe out one of 3 Protestant centers of reformation in Pomerania - I plan to reduce influence of Protestantism a bit. (one of 3 Reformed centers also got wiped out, not by me)

I got some land from Sweden, Venice, Hungary, and Serbia so far.

I have 4 sure votes for emperor - Bohemia, Brandenburg, Palatinate (all Protestant block), and Switzerland (Reformed). Catholic Thuringia also loves me, but whenever Cologne votes for Thuringia that makes them vote for themselves as well, and Cologne is on the edge. Mainz is on the edge between me and Savoy.

Bavaria annexed Augsburg, so I decided to give them a beating, all while getting rid of Protestant menace, while leaving Reformed menace alone. All that got me enough IA to pass second reform.

Another coalition against me popped up - with England, Burgundy, Pope, leftovers of Muscovy, and 2 HRE OPMs. That is a shame, as England holds some illegal imperial land, and Burgundy has tons of releasable cores for easy IA.

I'm at very uncomfortable tech 8/11/11, and I'm overflowing on paper mana while being really behind on bird mana - and as emperor I'm now getting tons of missions giving free dip (they used to give free stability, those were the times).

Not sure what to do next - I could just wait for another HRE crisis to pop up, move it and clean up for easy IA. Or I could remove kebab. They're at tech 8/9.

By the way, this game is the closest to total early triumph of Catholicism I've seen, and I didn't even plan it. Orthodox is almost wiped out, Protestant and Reformed didn't break out of HRE, none of colonizers got any of them, and already 2 out of 6 centers of reformation are out.

Religious leagues can trigger after 1550 if any elector is Protestant. I'm not sure what I'm supposed to do if I want to force religious peace other than pass 6th reform, by which point the empire is as good as mine anyway.

I'm also considering modding the whole thing so it is Catholic-Reformed war, not Catholic-Protestant. Then I could abdicate my emperorship (after 4th reform) and have a league war the way it's meant to happen.
 #eu4

Catholicism accidentally triumphant


Just selflessly helping the Empire


Post 12 - Originally published on Google+ on 2015-04-18 17:35:13 UTC


Poland: Part 11: 1539-1549: Remember Varna!

I modded league wars so they're Catholic vs Reformed, not Catholic vs Protestant, it will be more fun this way.

As quick aside, I planned to take defensive ideas 4th (after diplomatic, innovative, and humanist), or a bit after (after any of: aristocratic, quantity, religious, exploration, expansion, or trade - I'm bordering Siberian wastelands, I sort of want some colonists even without New World, and depending on how spread of discoveries works across tech groups, I might even manage to do some El Dorado searching) but at current rate I might run out of enemies I care about before I reach the 4th group.

The remaining enemies are: England/Burgundy/minors coalition, and Ottomans/hordes alliance. The coalition will probably go away on its own, as I don't plan to do any major expansion near it, but kebab alliance needs to be removed. And now that I'm emperor, that gives French troops direct access to the Ottomans.

I continued cleanup with Gotland and Denmark OPMs while waiting for Ottoman-Mamluk truce to expire and them hopefully getting into another war.

I hoped for Mamluks to get into some major war - unfortunately the best I could get was their crusade against Venice. No matter. We will avenge king Władysław III.

The Turks had the numbers, but it was mostly worthless horde troops. Weirdly opening battle of the war was interrupting Tunis's landing in Stockholm - which they tried to do because Venice was allied with OPM Sweden in the other Ottoman war.

First order of business was kicking Crimea out of the war by giving as much of their land as possible to Lithuania (all that led to their 2 vassals rebelling pretty much as soon as truce got signed), while policing Balkan border. The French and the Ottomans got into a lot of fights, and weirdly French were doing really poorly in them, even separate white peacing at about the same time as Kazan.

I got my first local noble on the throne - 28 year old 5/5/5 with 20 legitimacy, and some 8k pretender which forced me to recall troops. Apparently instead of usual Sejm obstructionism, I got Sejm complied event which gave -10% tech cost, -10% idea cost, and +0.10 yearly inflation reduction until death of my monarch. What? You mean elective monarchy is not universally awful? Wow.

Ottomans got themselves into another war - this time against Spain (as minor third party), but that did very little. Somehow Kazan managed to convince Timurids to join many years into the war.

No matter, Kazan was out with 4 provinces lost - to myself not Lithuania, as that got me more power projection, I'll setup Golden Horde there.

Now it was time to actually get the wargoal and crush kebab stacks rampaging the Balkans. Even that barely got to positive warscore, so I had to continue fighting while it ticked up. All I got for it was wargoal (Kosovo with its gold mines), reparations, and some petty cash.

I could press on, but Peasant War erupted, as well as unrelated Novgorodian rebellion. That's pretty damn bad. Rebellions started popping up all over the place - they ended up being relatively easy to crush, but they cost me a ton of mana to get my stability back from -3 to +1 (as well as some local autonomy or nationalism in a few provinces they took).

The biggest mistake in all that was how I forgot to switch my rival from Kazan to Ottomans before the war for some delicious power projection, but weirdly that ended up just fine.

Coalition against me is now Burgundy, England, Hansa, Pomerania, Muscovy, Venice, and Sweden. My emperorship is pretty much guaranteed.

Unfortunately all the stability loss events mean I'm really behind on admin (9/12/12, and I could even go to 9/13/13 ahead of time if I wanted), which makes going for fast humanist ideas feel like a somewhat dubious plan. Maybe I should get some diplo ideas first while I catch up on admin tech? I sort of wanted trade at some point, even if not necessarily just yet. Or maybe even some mil idea, but those points are less abundant, and which one should I take anyway? All of them except naval do something.

By the way, contrary to what EU4 says, Poland wasn't really an elective monarchy back then, not in a way game shows it. Sure, there were sort of elections, but since Lithuania was dynastic, it was de facto elective-within-dynasty, or tanistry in CK2 terminology. Only after the ruling dynasty died out it switched to full elective.

Leagues might start triggering next year. One of electors flipped religions, so now it's 3 Protestant, 2 Catholic, 2 Reformed.
 #eu4

Remove Kebab


I'm not the only country who wants to remove kebab




Post 13 - Originally published on Google+ on 2015-04-18 21:19:01 UTC


Poland: Part 12: 1549-1556: Dutch Independence War

I did another imperial intervention for some easy IA and to reduce spread of Protestantism a little. Then Netherlands popped up, and as Burgundy's rival I got event to ally them, which I of course took. I made them wait a couple months for the answer, as I needed a brief peace to pick up new rivals as England is apparently too small for me.

Burgundy's other two rivals - France and England - got the same event, both picked option to ally Netherlands, and both refused call to arms. Yeah, that event is not very well thought out.

Netherlands war not satisfied with just independence, and took a lot of Burgundian land. I don't really mind, but other people do and now there are fun coalitions:

• against me - Kazan, Sweden, Hungary, Candar
• against Netherlands - Savoy, Bavaria, Oldenburg, Saxony, Hansa

Even somewhat blobby, they are about half of what Burgundy used to be, so another rival fell apart with relatively little help from me.

League Wars triggered, but I missed one place where it should be modded, and they appeared as Protestant, so I fixed the mod, and reloaded autosave. I'm sure they'll pop up soon as Reformed.

My rivals are again, Ottomans, Kazan, and Great Britain. I have modifiers for eclipsing England, eclipsing Kazan, and eclipsing Burgundy (twice), I'm so happy I changed eclipsing bonus from +5 to +30, now whenever that kind of bullshit happens it's for my benefit, instead of screwing me.

After this brief interlude, removing kebab from the premises will resume.
 #eu4



Post 14 - Originally published on Google+ on 2015-04-19 00:42:33 UTC


Poland: Part 13: 1556-1568

As soon as Sweden left coalition, I got into fairly pointless fight with half of HRE and Great Britain again. Great Britain lost their remaining HRE province.

Then I got into second imperial intervention, with Austria as cobeligerent, and Great Britain involved again. I made Austria release Styria, cutting them in half, and getting enough IA to pass the third reform.

I was overflowing with every point type except admin, so I did not take humanist ideas again, instead my picks are: diplomatic, innovative, trade, defensive. Humanist will definitely be 5th, as tech level 15. (I got to 12/12/13, level 14 is 2 years ahead of time).

Anyway, kebab removal part 2 had to commence. Previous time they fought pretty damn well, this time they weren't even trying seriously. Kazan returned all cores to Golden Horde, and some Russian provinces to Lithuania; Ottomans handed over Albania, bit of Bulgaria, and a big chunk of Greece to Croatia, and with some overflowing warscore some crappy Circassian provinces to the Golden Horde.

I could intervene in HRE affairs some more to get 4th reform passed. I'm not really sure how league wars and Reformed religion fit into all of that.

I'm sort of running out of rivals here. If everybody on the map decided to form coalition against me, then maybe that would be a real challenge, but I have good relations with pretty much everyone who matters. Great Britain still dominates the seas, but I have money to spam shipyards for bigger force limit, or I could just annex Holstein and Croatia and we'd probably be even by then.

Hopefully the leagues trigger to mess things up a bit, other than that it's just going too well.
 #eu4



Post 15 - Originally published on Google+ on 2015-04-19 03:16:52 UTC


Poland: Part 14: 1568-1577: Glorious Reformed Commonwealth

I tested the leagues to make sure I modded them correctly, and it turns out there's no way to change that mid-campaign without editing the save. So I edited the save, and trigerred leagues from console - they should have already happened, except back when they triggered as Protestant I reloaded.

So I did that, waited a bit, and nothing whatsoever happened. Of my rivals (Sunni) Ottomans and (Catholic) Great Britain joined the Reformed League (Timurids couldn't because their capital is not in Europe), as well as 7 Reformed minors, and Protestant Sicily.

Catholic League meanwhile contains me, France, Netherlands, and 11 Catholic, and even 2 Protestant minors. They can't possibly consider any attack on us seriously.

And I waited for something to happen. Some suicide run, some fun events, nothing whatsoever. I waited until 1578.

Then Lithuania started westernizing (they don't border any western nation, is bordering Genoa's cores enough?), and I got called into Netherlands challenge to Portuguese PU over (Catholic) Kongo. Seriously?

Fuck that. Pressing both buttons. It was predestined.

Also changing tag makes call to arms fizzle, but they just retry anyway on next tick; and changing religion keeps missionary progress (in Protestant province).

I'll get humanist in 6 years, or whenever I hit the cap - somehow I already have nearly perfect religious unity (just 2 Sunni provinces) and -10.76 base unrest. So technically I don't even need it, I just want to accept all those cultures.

It would have been much easier if I did it 10 years ago - the league would be just whoever turned out to be next emperor (Savoy), so it would be fast war to get reformed as HRE religion, and that's all.

Going back to short term subject of Kongolese Succession War - I have no idea how Netherlands plans to take Kongolese capital Mpemba with AI famous skill at distant naval invasions.

At least we have naval superiority, in theory - with 176 vs 139 ships - I ended up having world's largest fleet (even if that's just numbers, by power Ottoman's galley spam and British/Dutch heavy fleets are probably matched pretty well)

On land weirdly we're at disadvantage - 163k vs 200k. Mostly because I disbanded all Lithuanian troops - once treasuries are unlocked there's no point having any units recruited anywhere else than in provinces with treasuries. It's silly mechanic, but it makes a massive difference.
 #eu4

We are not very accepting people


Who's gonna be the King of Kongo


Post 16 - Originally published on Google+ on 2015-04-20 02:38:44 UTC


Poland: Part 15: 1577-1590: Kebab was predestined to be removed

I was helping Netherlands win Kongolese War of Succcession against Portugal - mostly beating their minor allies, but also giving my navy first real test in long while 91 vs 44 ship battle against Portugal at Coast of Holland (I've been massively expanding my shipbuilding capacity for future wars, but it was not there yet), when I noticed that coalition against me was pitiful Muscovy, Austria, Pomerania, Crimea (and its two vassals), and Venice.

I wiped out Crimea, both Crimea's vassals, Pomerania (HRE territory, but not having land connection to Denmark area is massive pain, and my vassal will eat the penalties not me), and took Istria (non-HRE, not quite connecting with my Treviso territory).

Netherlands unsurprisingly got positive warscore except for -25 ticker, so king Diego of Portugal is King of the Kongo as well now too, which is admittedly a pretty cool title.

France turned inexplicably hostile and broke our long alliance. So did Mainz - once of Catholic electors.

No matter, time to attack every country which dares have high AE on me, as coalition prevention. Two most notable such countries are Ottomans and Kazan, obviously. And how much do I even care that none of my allies would join - even those that remained faithful thinking that the war is too far?

It started the usual way - ignoring wargoal and focusing on crushing Kazan. A lot of that that went to the Golden Horde, as well as one of Shirvan's cores, for no particular reason. Once Kazan was finished and I turned my armies to the Balkans, I also sent my entire fleet there - and it crushed the Ottomans, fully blockading the straits.

As results of the war Ottomans lost all their European side possessions except Constantinople and Edirne - and just afterwards I diplovassalized Georgia. Somehow Georgia got 3 provinces from the Ottomans just a few months before our war ended - probably as result of failed Ottoman attempt at conquering Spain.

Running out of better options, I ended up rivaling France and allying Spain, but Spain is not going to help me in any offensive wars.

HRE leagues are getting worse - first king Portugal and Kongo got emperorship, then king of Great Britain.

So I have 3 options:

• push Georgia's claims against various Middle Easters minors
• don't mess with the emperor directly, but get into random fights to get countries Reformed to shrink the league
• declare league war, and fight Great Britain, France, Netherlands, and 2/3 of the empire, with pretty much no help. Balance of forces 2:1 on their side. I hoped that countries would reconsider leagues membership, but they didn't.

I'm leaning towards all out approach, as something tells me I'm predestined to win it.

I'm also making obscene amounts of money (over 100 gold of pure profit a month), and I bought myself world's largest naval force limit, so I can win on land (with mercs if need be), on sea, or a WE contest (thanks to innovative and defender of the faith if I take it). My country has obscene stack of unrest modifiers - even +5 unrest from peasant war would probably do nothing to it. I can't see how I could possibly lose.
 #eu4





Post 17 - Originally published on Google+ on 2015-04-20 06:52:00 UTC


Poland: Part 16: 1590-1598: Deus Vult!

When the Great War of Religion started, there were 47 Catholic, 12 Protestant, and 10 Reformed countries. For completeness also 1 Orthodox Georgia (my vassal), and 1 Coptic Ethiopia (not taking part).

In HRE itself, counts were 18 Catholic, 11 Protestant, and 10 Reformed countries - that is nobody Reformed was outside HRE, and Sicily was the only non-HRE Protestant country. Electors were 2 Catholic, 2 Protestant, and 3 Reformed - I was undermining Catholicism by electoral grants long before I officially switched.

As leader of the Reformed League I declared myself Defender of the Reformed Faith, waited to get my ships back to the Baltic, and declared war. Apparently if I use Religious Leagues CB both leagues are called (and wargoal is majority of battles), and if I use any other CB, they get their league but I don't get mine, and I can't force HRE religion if I win, making it all really awkward.

I really dislike this wargoal in wars where I'm numerically inferior, and in this case balance is 205k and 158 ships on Reformed side vs 268k and 201 ships on Catholic side. The best news is that Netherlands couldn't join due to some other wars they were involved in, otherwise balance of power would be considerably worse.

Apparently Religious League Casus Belli is now -50 to willingness to peace out - for everybody involved, which is much more sensible that outright ban on separate peace coalition wars have.

The war proceeded in the usual way, with minor countries getting kicked out:

• Elector Brandenburg (now OPM) converted from Protestant to Reformed. That also killed one of Protestant centers of reformation (with 2 Reformed centers and 1 Protestant centers remaining)
• Muscovy converted Catholic to Reformed (I really wanted to just annex them, but -50 willingness killed that idea)
• My light ship fleet was just sailing around squishing small fleets all the way from Gulf of Venice to North Sea and back. Their numerical superiority evaporated quickly, and what few ships they had were mostly in the colonies and with little indication of wanting to join the fight in Europe. The game was weirdly counting such 140 vs 3 ship battles to ticking warscore, but would ignore many even fairly large land battles.
• Hilariously Netherlands was done with whatever it was doing, and would join my war if they weren't in debt. So I sent them 500 gold, and they joined on my side instead. That went really far into changing the balance - especially on sea, and ensured they won't do anything dumb like join the war on the Cathoic side five years in, as sometimes happened with weird alliance chains.
• Magdeburg forced Catholic to Reformed. I wanted to also make them return cores to Brandenburg, to make sure they love me and always vote for me, but -50 wilingness. I guess I could spam them with "too good to refuse" offers until they soften a bit, but it's not important enough to bother.
• A lot of other countries would refuse offers to go Reformed, so I kept hitting them where it hurts - in mana pool. I didn't want anything beyond that, but come on, this is what this war is about.
• Hesse converted Catholic to Reformed
• Sicily on our side surrendered, giving Great Britain reparations
• Wurzburg converted Catholic to Reformed
• Oldenburg converted Protestant to Reformed (only when forced at -3 stability, but that might have something to do with them being Great Britain's ally and not league member, so as noncobeligerent their conversion scost was doubled)
• Bavaria converted Catholic to Reformed
• Utrecht converted Catholic to Reformed (Netherlands did that one, I didn't even notice)
• Pisa converted Catholic to Reformed
• France and friends were crushing Netherlands, so I tried to challenge them, and that did not go well. I decided to expanded my army from 4 to 5 stacks, each containing 12k infantry, 2k cavalry, and 10k artillery, and all built in the same 6 treasury provinces.
• With supremacy on the seas established (in theory there were still colonial navies, but they were not coming), I started total blockade of Great Britain
• Greeks rebelled in Croatia, only be to crushed by Ottoman army - Ottomans found themselves on wrong side of the war as they joined Reformed League back when I was Catholic Emperor just to spite me. They're not too happy about it all, but they kept their word.
• Alsace converted Protestant to Reformed
• Elector Cologne converted Catholic to Reformed
• Tuscany converted Protestant to Reformed
• Pope forced to give me Rome, after a bunch of stability hitting offers
• Styria forced out of the war for reparations
• Now that was weird - another king of Great Britain got reelected - even though Brittany had 3 votes to their 1. Is it because HRE country can't change during league war?
• Catholic Austria forced out of the war for reparations, and to release Protestant Salzburg while at it.
• Catholic Venice converted to Reformed, after some stability hits
• At this point, 5 years into the war, the only remaining countries were rather large, so I started moving stacks to Great Britain. I kept one stack on the continent, and sent everybody else - 4x24k troops - to Great Britain.
• Thanks to Netherlands, Ottomans, Bohemia, and various minors, the war on the continent against France, Portugal, and Burgundy was about even-ish, so they didn't even really need my help
• With Great Britain and their Irish vassal fully occupied I was sure that would count for 100% warscore, but not even close. 29%. This was rapidly shifting from fun to tedious.
• I let Burgundy get away with reparations
• France was forced to release Ferrara and therefore GTFO HRE
• And then, at 56% warscore and 8 years into the war, I forced Great Britain to surrender. To rub it in, I took 3 provinces from them from which I released Scotland.

This completely ended the leagues, made me the new emperor (as far as I can tell without any vote, just like Great Britain got that second emperorship without a vote because they were at league war), making Reformed the official faith, and stripping non-Reformed electors of their status.

So in addition to Brandenburg, Cologne, Saxony, Switzerland, and Milan, I picked as electors Bavaria, and after demanding that they convert, Netherlands.

After all was settled:
• There were 40 Catholic countries (7 fewer), with Spain as Defender of the Faith, which is really awkward as they're my new best buddies otherwise
• 22 Reformed countries (12 more) - outside HRE only Muscovy and Venice
• 9 Protestant countries (3 fewer) - outside HRE only Sicily
• Counting just HRE: 20 Reformed, 8 Protestant, 11 Catholic
• Rome is now under my rule, but I probably won't be able to convert it without religious ideas

In completely unrelated news, Uzbek's attack on Kazan got crushed, and they had to hand over a lot of territory to both Kazan and Timurids.

Anyway, that sounds like the end of it. Everybody who had even the smallest chance of standing in my way is crushed. I could play the HRE game, or continue pushing into Muslim lands, or even go colonize, but I've done such things many times before. I'll write separate post to discuss things I modded for this campaign and my impressions of them.
 #eu4





Post 18 - Originally published on Google+ on 2015-04-20 07:56:43 UTC


Poland: Part 17: After-campaign notes

About content I wanted to try:

• Polish stuff feels more like event pack than a full DLC (whatever that even means :-p). Merchant republics felt like legitimate DLC, and they played very differently from before. Same with colonial stuff. This doesn't change the way you play.
• Elective monarchy led to zero interesting gameplay. It was just -20 relations with everyone on the map every new king.
• I'm surprised how well convert-nothing-tolerate-everything plan can work. In some ways it's inferior to convert-everything as tolerance maxes at +3 (for your faith it often goes to +6), and you can't culture convert even tolerated heretics, but humanist has other unrest related bonuses.
• I was much less annoyed by long truces, slow AE decay, coalitions, and lucky nations than I expected to be.
• League wars feel like this is the way coalitions should work - with separate peace possible, but huge extra unwillingness.
• As HRE mechanic, league wars just don't work. I had to try my best to make them do anything, AI doesn't reevaluate its joining choices, they feel easy to just work around (either day one DoW immediately when they come up, when they're small, or force convert all members in unrelated wars to shrink them), and they force conflict to be Catholic vs Protestant, when everybody wants Reformed or Orthodox or Coptic HRE to be an option.
• I still feel EU3 HRE was best HRE.
• Catholic religion is awful. Bonuses are just tiny without good shot at curia control.
• Reformed religion gives pretty decent bonuses of your choosing, and works well with humanist ideas if you don't want to bother converting anyone.
• I'm not sure if it's better than Orthodox, Muslim, Hindu, Norse, or old-curia Catholic. It feels top tier just like them.
• Being forced to spam "too good to refuse" offers, which AI then refuses over and over - I'm not a fan of that at all.
• A lot of things that need special engine support in EU4 can be scripted by modders in CK2 - it's weird how much less powerful modding capabilities of EU4 are
• Netherlands spawning event feels very crude - it's meant to give them a chance against blob like emperor Austria or Spain, but they just bludgeon smaller country like Burgundy to death. Calls to arms them broke alliances created by event, that was probably tested a few versions of calls to arms ago.

About things I modded, no mana costs:

• No OE and no mana cost for coring was amazing. Those things add nothing whatsoever to the game.
• 10 year coring time and 20 year waiting before vassal annexation were really good.
• No leader upkeep, and leader cost lowered to 25 each were amazing. It did not lead to leader spam, as you're still paying for recruitment, and you get leaders about as good as your tradition levels anyway. Having 1 leader per stack instead of bullshit leader juggling with 2 leaders for 5 stacks is so much nicer.
• No mana cost for minor actions like assaulting was just fine
• No mana cost for building was just fine
• Cost rebalance to make ideas (400 to 500) and techs (600 to 800) more expensive was not too far from right. Admin mana was used a lot more for stability than other mana types, so most countries lagged on admin, but that's true in vanilla as well. Generally as eastern tech I did not struggle at all, so perhaps costs should be even higher.
• As side effect, no mana costs make a lot of bonuses useless, and it would be sensible to replace them with other bonuses instead.

No mana costs for peace negotiations:

• No mana cost for peace negotiations, that's one thing I didn't like. It made every CB basically the same. Hypothetically warscore costs, AE etc. could be rebalanced to make it work without mana, but it made game less deep.
• On the other hand, that's exactly what game is after imperialism CB (admin 22, or if you play Extended Timeline), who cares about CBs, so it just brings the problem earlier in time, it does not create it.
• On the otherer hand, a lot of options which feel like they shouldn't cost mana in vanilla (or where tooltip lies about mana costs), now correctly don't cost mana.

Other things:

• 10 idea groups doesn't change basic problem that some ideas groups are ridiculously better than others. Like naval, maritime, espionage, why would anybody even bother?
• power projection is still silly, even when it's not broken - a lot of things are totally fine for giving little power, but everything decaying at -1/year is ridiculously fast - the whole thing should just use fractions like most other stuff so we could mod slower decay without making bonuses very high
• high bonus for eclipsing rival is very good workaround for broken rival system, in addition to higher rivalry distance already modded in Fun and Balance
• just as power projection should be fractional, so should be mana - costs like 1/month for extra relation or extra leader are ridiculously high, and mana bonus from power projection at 1/month at 25 at 4/month at 50 is really awkward - why not make it scale linearly with power projection?

Future of Fun and Balance:

• I'm not sure how to integrate lessons of no mana experiment into it - it feels like it goes a bit too far from just "fixing vanilla" the mod plans to do
• Using vanilla AE decay is probably fine, AE gets rebalanced every patch, so even if it was too slow back when I changed it doesn't mean it's still too slow
• I still want to add startup menu for the mod with common options, and some README explaining how to customize things that can't be scripted like that
 #eu4

Friday, April 17, 2015

Adventures with Raspberry Pi: basic blinkenlights

Every adventure starts with hello world, and that one took forever.

Here's the setup:
Sunfounder GPIO extension board + breadboard make it so much easier - instead of wiring everything manually I just plug the whole damn thing, and it even has printed pin numbers on the board - Raspberry Pi decided to have insane randomly assigned pin numbers, and then every library for it uses its own different insane randomly assigned pin numbers - I remember back in the days when people numbered pins from 1 to 40 starting in one corner and going clockwise. What the hell happened?

I ran into a lot of annoying issues:
  • My old raspberry Pi (model B+, not 2 B) was not compatible with the kit, so I had to get new one
  • SD card I used for old Pi was of the big kind, so I had to take small one out of my phone instead
  • I needed to install confusingly named ruby1.9.1-dev apt package (which actually contains 1.9.3) before any gems would install.
  • And my voltmeter seems dead, it's probably just batteries, but it uses 9V batteries which I don't have spares for so I won't be able to check that until tomorrow.
  • Why do resistors have to use this ridiculous color coding system instead of just printing damn values as numbers? I get it that back in the 1950s printing numbers would be hard, but come on. Figuring out which resistor is which was pain, and I didn't have voltmeter to test them. (I never learned this damn color coding, as it was way easier to just check them with a meter).
  • It took a few tries to figure out which pin numbering system Pi Piper uses - apparently the same one as is printed on Sunfounder expansion board. That will make it a lot easier.
The first program is:


require "pi_piper"
pin4 = PiPiper::Pin.new(:pin => 4, :direction => :out)
pin17 = PiPiper::Pin.new(:pin => 17, :direction => :out)
loop { pin4.on; pin17.off; sleep 0.25; pin17.on; pin4.off; sleep 0.25 }

Can you guess what it does? No prizes.

It's not much, but with all hardware projects just getting basic hello world typically takes really long time and runs into a lot of annoying problems. Now that's behind me, I might be able to do some cooler stuff.

3D printer adventures and Raspberry Pi adventures will at some point join, but it will take a while.

Monday, April 13, 2015

Laptop shopping time

iKitteh by annaspies from flickr (CC-NC-ND)

It was time to get a new laptop, and I ended up getting myself a Macbook Pro, surprising nobody. It was somewhat closer than usual this time, so I thought I'd write about it.

Operating system

The choice was between OSX and Linux, the idea of using Windows or Chrome OS for primary machine being totally insane. I don't care all that much for Windows dual boot - it certainly wouldn't hurt to have such option for some gaming or cross-platform testing, but I have dedicated gaming machine, VMs are more convenient for testing anyway, and if I really needed some on the road gaming there's a bunch of decent cross platform games.

A few years ago I had very strong preference for OSX, mostly due to TextMate being the only text editor that didn't suck horribly, but a lot of editors incorporated TextMate's design lessons, and Sublime Text works pretty much the same on all operating system, disregarding a few annoying shortcut differences, so at least that's no longer a problem.

There's a few other programs that work better on one operating system or the other, but none of them are as important as text editor, and the advantage is not consistently same way.

All this makes Linux laptops viable, but all things being equal I'd still prefer Macbook Pro, as I can install Linux on MBP, but I can't install OSX on a Linux laptop, and for long term purchase like a laptop option to change my mind later is quite valuable.

Another thing is that most Linux laptops would really be Windows laptops I'd need to reformat and put Linux there myself. This runs into risk of hardware compatibility issues - probably nothing major these days, but minor things like power saving features, graphic card switching, or touchpad multitouch might not quite work on a different operating system.

On top of that all, while I have written guides for setting up OSX 10.10 and Windows 7 to my liking, getting stock Ubuntu to the point where everything works the way I'd like would probably take quite some time.

Hardware

Even if I was getting Linux laptop, there was still the matter of hardware.

A couple years back, there was pretty much no alternative to Apple where it came to high end laptops. Most other companies' idea of high end somehow still included low resolution screens, mechanical disks, it was just a total embarrassment.

It got a bit better, but not by much. It's now possible to get a non-Apple laptop that has reasonable spec, even if I have no idea how good any of that is in practice. And of course any such laptop ends up costing about as much as Macbook Pro.

One thing where Apple really dropped the ball is insisting on integrated graphic cards even on its high end models, while pretty much every non-Apple high-end laptop gets a dedicated GPU. That's definitely a major downside. A smaller downside is that Apple hardware tends to have too few ports, and all the extra cabling to work around it is awkward.

And so I got myself a Macbook Pro again. For now it's running OSX. I'm not sure if I want to install any additional operating systems there - but given laptops' long lives that's fairly likely to happen at some point.

Tuesday, April 07, 2015

tumblr-sync gem

shot_1325338014108.jpg by sszdl from flickr (CC-BY)

I often like to download stuff instead of using it in browser, and one of my favourite websites of all time - tumblr - has web interface atrocious enough that I mostly download stuff from it. Weirdly its Android app is OK.

Anyway, tumblr-sync gem I used for it didn't know how to deal with multiple images per post, and that's pretty common, so I fixed it.

Now normally I'd just pull request that and call it a day, but upstream doesn't seem to be active, so I might accidentally end up maintaining that.

If you have any requests for the gem (and upstream doesn't wake up), my repo is ready.

Monday, April 06, 2015

The Rise and Fall of Unit Testing

DONUT WANT by courtneyp from flickr (CC-ND)

It's hard to discuss tests, as there's no agreement on what "X test" means for any value of X. In this post I'll use "unit test" to refer to low level test of various internal subcomponents, and "system test" to refer to high level and largely black box test of the whole system, or major part of it.

Once upon a time, before testing became widespread, I believed that unit testing greatly improves software quality. It was extremely obvious how awful the kind of code that had no unit tests usually was, and code with good unit test coverage was usually much more sensibly organized.

Many year later, once testing became the new orthodoxy, I started noticing something new - code that was reasonably covered by unit tests, but which internally was a total mess.

Was I wrong all along? Was it simply that early adopters of such practices as unit testing just write better code anyway, and nothing can help the mediocre masses? There's probably some amount of truth to that, but that's a really depressing thought, as it'd basically mean that unit testing is a pointless ritual, and we're doomed to suffer crappy code forever.

Then I understood.

Why do we bother unit testing?

The obvious answer is that automated testing protects from bugs, but that's not really true. Testing follows the typical 80:20 pattern - 20% of tests can catch 80% of problems - so if you write a few system tests covering common cases, and then a handful of unit tests and regression tests to deal with parts of your codebase that need them the most, you're nearly as well covered as someone who unit tests absolutely everything, and you'll spend a fraction of time writing and maintaining your tests.

Adding more tests beyond that helps a little, but returns on effort are usually not impressive. If you don't believe me, check CI logs of just about any codebase for tests that always pass, or only fail as false positive, or only fail in groups of which you could pick one test and delete the rest.

What's worse, there are whole important categories of serious bugs - such as security vulnerabilities - which unit tests are very unlikely to discover.

So what is the point then? The most important one is that unit testing forces individual components to be able to work in isolation. If a component can only be used as part of the whole system, it's going to be horribly difficult to test, so you'll end up rewriting it in a way that disentangles it, and this process, iterated for every component, ends up improving structure of the code greatly.

And then someone invented mocking and broke everything.

Don't use mocks. Ever.

Extensive mocking makes unit testing worse than pointless.

On one hand, you no longer need to care if something is hopelessly entangled with the rest of the system - you'll just stub, mock, and double all these connections, and you can write something that looks sort of like a real unit test, while your code is fragile spaghetti.

On the other hand - tests that mock a lot are just hilariously likely to pass or fail because the mock is necessarily different from the real thing, so they don't even test much, mostly only giving you false confidence.

What is even the point?

Mocks are C++ of testing

I'm being unfair here. There are reasonable use cases for pretty much every mocking feature, and for most fancy testing framework features beyond basic test/unit style. People who came up with all that mostly had good reasons for them.

But the same can be said of C++. Pretty much every single feature added was there for a reason. It didn't matter - the end result of adding them all and using them indiscriminately was total disaster.

A tiny bit of mocking here and there when necessary probably won't hurt you, but it takes a lot of discipline to avoid this deteriorating from "tiny bit when necessary" into "well, I could test that properly, but mocking is easier, so I'll just write some fake tests" under pressure.

Donuts for mocks

I thought about some easy guidelines for when mocks are excusable, but I can't really come with anything convincing, and I'm not terribly convinced by guidelines given by other people either.

So to avoid negativity, here's an untested idea - just like swear jars can discourage swearing without completely preventing it when really justified, why not put a similar fine on mocking?

If you're absolutely sure there's no other way, bribe your way out of the situation, and buy the whole team some donuts (or other appropriate sweets). If you don't, no mocks for you.

The next time you are tempted to mock it, ask yourself if it's worth a trip to Krispy Kreme.