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

Saturday, September 29, 2012

Soup Page Rank


katie drying my soup pot by jodimarr from flickr (CC-NC)

Inspired by jrmy (who also introduced me to soup long time ago) I downloaded soup.io's friend graph, and did PageRank calculations on it. Well, one variant of PageRank, there are sure countless such.

There's a grand total of 46827 soups in the graph. I'm sure there are a lot more soups nobody follows, just like there are ton of websites nobody links to, and quite likely a few that should be included except soup returned error or timed out when I tried to fetch them.

Nodes in the graph are individual and group soups. Links go from person's soup to each soup they follow (be it individual soup or group soup), and from group soup to each of its member's soups.

Here are top 100 most influential soups (most of them are cats and funny things, but some might be NSFW):
  1. sb77 – 48.423
  2. cats – 41.209
  3. soadysta – 39.766
  4. mnq – 38.84
  5. maraskowa – 37.048
  6. Aluslaw – 35.235
  7. kitchen – 34.867
  8. noisetales – 34.864
  9. updates – 34.827
  10. atheism – 34.633
  11. inwebwetrust.pl – 34.612
  12. copywriter – 34.332
  13. 18alexa18 – 33.489
  14. skins – 33.076
  15. pl – 32.789
  16. hogwart – 30.631
  17. delikatnienie – 30.308
  18. retaliate – 30.107
  19. copyright – 30.066
  20. sexy – 29.998
  21. smacznie – 29.685
  22. raczkowski – 29.028
  23. monroewiecznamonroe – 28.575
  24. cytaty – 28.422
  25. pomyslowo – 27.426
  26. couples – 27.041
  27. nameherhope – 26.702
  28. redheads – 26.555
  29. travelling-without-moving – 26.396
  30. inspiration – 26.394
  31. plotkara – 25.847
  32. thebigbangtheory – 25.643
  33. comics – 25.414
  34. EineFragevonStil – 25.319
  35. Mefir – 25.221
  36. typography – 24.811
  37. lugola – 24.791
  38. Hollywood – 24.707
  39. wishlist – 24.669
  40. mendel – 24.661
  41. funga – 24.615
  42. twice – 23.511
  43. ohmygodthebritish – 22.987
  44. urbanart – 22.913
  45. mhmazidi – 22.649
  46. krzysk – 22.544
  47. sherlock – 21.968
  48. soup.c3o.org – 21.706
  49. nikotyna – 21.465
  50. Funk_Up – 21.409
  51. fapfapfap – 21.358
  52. House – 21.262
  53. networking – 21.189
  54. ToCoZrobieWWolnymCzasie – 21.177
  55. irmelin – 20.863
  56. czerski – 20.521
  57. sober – 20.34
  58. TARDIS – 20.32
  59. charlottinka – 20.167
  60. niceandsexy – 20.1
  61. CocaineGirl – 19.856
  62. iblameyou – 19.489
  63. colours – 19.172
  64. Kabrioletta – 19.128
  65. soup.towo.eu – 19.001
  66. nimfomanka – 18.951
  67. tomash – 18.937
  68. eterycznie – 18.916
  69. ekelias – 18.906
  70. antiprodukt – 18.572
  71. iloveyou – 18.483
  72. yourheartbeat – 18.425
  73. nierobimi – 18.268
  74. himym – 18.245
  75. playboy – 18.115
  76. pimpmyheart – 17.806
  77. letshavesex – 17.768
  78. Disney – 17.678
  79. wstawieplywaizabasienazywa – 17.666
  80. fakeplastic – 17.533
  81. insanedreamer – 17.284
  82. kniepuder – 17.277
  83. Sayid – 16.96
  84. sowaaa – 16.958
  85. mublag.boinkor.net – 16.937
  86. wishyouwerehere – 16.928
  87. coffee – 16.87
  88. oll – 16.804
  89. tattoosbyanyone – 16.586
  90. ilovestrawberries – 16.53
  91. Warhol – 16.528
  92. foods – 16.381
  93. acid – 16.361
  94. starwars – 16.338
  95. inspiro – 16.101
  96. fasel – 15.82
  97. gifluv – 15.785
  98. chudosc – 15.764
  99. wieczyslaw – 15.684
  100. fus – 15.612
My soup is not terribly high rank of 1.384, but it doesn't matter since it's still totally awesome :-p

A big downside of this metric is that it only considers who friended whom, and completely disregards any activity, so even inactive soups can still have very high ranks. For example czerski moved to tumblr forever ago and his soup is still 56th on the list.

Using patterns of reposts as links (from most recent 100 or so posts for each soup) would probably result in much more meaningful ranks, but that's something for the future.

Wednesday, September 26, 2012

Return to Ravnica Sealed Simulator



jalousie by milomingo from flickr (CC-NC-ND)
Orzhov Cat Spirit

I made Return to Ravnica Sealed Simulator, based on my previous simulator for AVR and M13.

Here it is - RTR Sealed Simulator.

It doesn't have guild packs, since I still haven't figured out what they contain precisely, and I'm a bit busy with everything since I just came back to London. Maybe I'll figure them out before prerelease, otherwise I'll just leave them.

Unlike for AVR and M13 times, for RTR it seems other websites have been much faster to add new set. Even Gatherer (which most sites use as a source) has RTR cards already, and it's still a few days before Prerelease, while Card Gallery I use for my source took a lot of time even after all cards were spoiled, so I couldn't update my simulator very quickly. Previously it was more than a week between Card Gallery and Gatherer.

If Gatherer keeps getting updates fast enough, perhaps there won't be much need for my simulator in the future.

Sunday, September 16, 2012

Reply to Cheimon's feedback on Concentrated Vanilla

Wonderful cats at the Mosaic Feline Rescue (Ann Arbor, Michigan) by cseeman from flickr (CC-NC-SA)

I got some detailed feedback on my Medieval 2 mod, and I thought I might as well reply here, since it's pretty long and it might be of some interest to others.
I have been playing Concentrated Vanilla for quite a while now, and felt like giving some more feedback to see if that ends up with a higher quality mod. I've been playing as Russia. 
First, the strong rebels. I'd like to re-emphasise that I reckon it's too strong: certain factions really depend on an early rush of taking different settlements (Russia, notably, starts with just Novgorod, and to take the rest of russia takes many years. Lithuania and various other rebels survive into the 13th century as independent kingdoms, which doesn't really feel like vanilla. It's crippling to some nations that start off small, essentially: they can't grow and the AI wastes their armies on sending them piecemeal. It makes for interesting gameplay, but AI doesn't like it and I don't feel that it concentrates the vanilla experience. It just makes the first section of gameplay last an extra 50-70 years in a campaign.
I've noticed that rebels are too strong, and I plan to scale them down just a bit for the next release.

In my experience factions like Russia benefit tremendously from increased campaign movement speed, whenever I used higher values Russia (as AI) was a superpower, with values closer to vanilla it barely expanded at all.

And regardless of AI expansion, vanilla rebels were far too weak for human player - it took zero effort to blitz a lot of rebel cities with minimal loses with just your initial armies.
Cannons are fantastically powerful. This is brilliant. I use them in all my armies, along with cossack musketeers.
I'm glad you like it. In fact, I might have made them a bit too powerful, and perhaps I should roll that back a bit.
Pikes are also very powerful, which might or might not be good. They're vulnerable to missiles, but because the AI never tries to exploit this, it ends up making them very powerful indeed. Playing as Scotland was very easy for this reason: even a simple unarmoured pike unit could hold the line nicely against superior warriors from the Holy Roman Empire.
I did some Pikemen vs Militia testing as AI-vs-AI and AI-vs-player (they had a bit different stats back then, but close enough). They seemed reasonably balanced, it's just amazing AI stupidity that makes them look so overpowered or so bad depending on who's playing.

This is somewhat inevitable - the game needs to have units with very powerful abilities balanced by big downsides to keep things interesting - but AI tends to be much worse than humans at taking advantage of these abilities and minimizing these downsides. This applies to pikemen, cavalry, crossbowmen, and just about any nonbasic unit. Tactical complexity usually leads to AI disadvantage.

I'm somewhat annoyed by AI stupidity here too, and if I figure a way to make Pikemen less exploitable without making them completely useless I'll add it.
Sallying out is really, really easy to exploit...indeed, you can't stop them from going out. Russia overcame the enormous rebel hordes purely by sending out armies of archer militia with minimal infantry and pelting them to kill most of them before they were well out of the gate. My later gunpowder armies tend to treat sieges as a field battle where they're bunched together: get some cannon and lots of musketeers and make them run away before they touch the line or get organised. It's horrendously effective and it's weird to see that they don't try using the walls and streets, which would be much better.
This is a complicated issue. I didn't enjoy vanilla sieges much. They're repetitive, pathfinding in cities is buggy as hell, and there's not much tactics you can use if all units just form one big disorganized blob regardless of my orders (especially on higher unit sizes). I've tried huge number of very different settings to make sieges fun, and none were without downsides.

Concentrated Vanilla started by making settlement defenses far more powerful - towers always on, double rate of fire, much stronger walls and gates, really weak battering rams. This meant that it was really hard to take a well defended city, but it didn't mean that much if AI routinely leaves its cities with minimal garrison. Meanwhile, player's cities were almost completely impenetrable to AI, even if AI had 5:1 advantage in forces.

I tried to tone that down, and increase size of free garrison and even give free garrison to castles instead, but AI again was too dumb to take advantage of it, while it made defending them too easy for the player.

Then I tried to make AI sally out more, and it was a lot of fun when both armies were about even, or when my army was somewhat weaker. Whenever I attacked with similarly sized (or even better smaller) army, I'd have a big field battle followed by storming the settlement defended by whoever remained on both sides. If I attacked with overwhelming army, it was going to be a very bloody assault, with defenders having very powerful support from the walls.

Sallying out decision is controlled by sally-out-ratio parameter in data/config_ai_battle.xml. In vanilla it's 2.0 and AI sallies out only when defenders are at least 2x as powerful as attackers - which is to say never since why would player attack at some odds? After a lot of experimenting I arrived at current value of 0.65, which makes AI behave right.


This all depends on AI being able to judge balance of forces. If it's mistaken, it will make some really stupid sallies. I have very little control over how AI measures army strengths - it's derived from unit statistics somehow, but I don't know the formula, and even if I knew it I'm not sure which replacement formula would be better - army strengths are just highly dependent on context.

What you're describing sounds a lot like AI misjudging power of your army and then making a "sensible" decision based on this ratio.

For a quick workaround you can edit data/config_ai_battle.xml. I doubt there's any solution to sieging problems without some serious problems and without big potential for exploitative strategies.

If it's only late gunpowder armies with ton of artillery are so exploitable, it's not really a big deal since campaign tends to be mostly resolved by then, and it's even quite historically accurate.
I'm assuming it's impossible to make carracks travel faster over the ocean like you've made agents so much faster. It'd be nice if you could, since planning the response to aztec sieges years in advance doesn't feel right.
This is pretty much impossible in M2 engine (Kingdoms engine has a few ways to tweak it), especially not when they're transporting any units. Maybe giving generals trait "traveling at see" with big movement points bonus then removing it when they're on land would work.

Ships still get the same speed bonus as units, and they get the usual x2 speed bonus if they're carrying crusading armies, so it's far less of a problem than in vanilla for fighting on European seas. Americas will probably see as little play in Concentrated Vanilla as they did in vanilla - many mods simply remove them completely since they're so useless.
Characters don't seem to age properly. Is this deliberate, or a bug?
It works just as in vanilla, which is to say incorrectly. Each turn takes 2 calendar years, but characters only get half a year older. This seems fixable by scripting, but it would probably require some really serious rebalancing, so I just skipped it.

The only change I made was making initial Pope and priests older to make papal elections more frequent.
Cities are great and one turn building works very nicely. Given how useful chivalry is, I haven't yet seen a need to take taxes from anything but 'low', but that might just be me.
That's surprising, since I tend to have it on "as high as possible without city rebelling" usually other than for tiny town which really need population growth bonus.

What do you need chivalry for that much? Isn't dread far more useful?
The rebel version of Russia's 'Spearmen' Unit, frequently used in rebel armies, has no texture and appears as white. Any chance of implementing a fix? It must have been done by some modder or other.
I gave rebels some extra units without actually checking that slave faction has textures for them. In games based on Rome engine units have per-faction textures so it's more work to give unit to more factions.

In Empire engine there are shared unit textures so that's really easy to do - at cost of all units looking pretty much identical.

Anyway, that will be fixed in the next release.
Any chance of adding a message when a princess comes of age? I often miss them, and they get bad traits the older they get, like 'man-hunter' that makes them far less useful.
That would be a good idea. I didn't touch event notifications in the mod, so you only get notifications you'd get in vanilla.
Lands to conquer did a really nice job of making merchants make a decent amount of money without feeling overpowered (like Darth's merchants were). I think he did increase trade resources, which would speed up the campaign, which doesn't have to be bad.
I tried that - increasing trade resources makes regular naval trade just ridiculous. It's too easy to be flooded with money with no idea what to do with it late game already.

Merchants annoy me due to micromanagement more than balance.
As I said before, outlying provinces are great for merchants...while those mines do make a chunk of money, historically money also came from trade in chocolate and tobacco and slaves etc (which are there), and you're also losing about half of that money from mining to corruption. They're nice, but they're not worth going out of your way (ie fighting aztec hordes and spending years at sea) to get at the moment.
Was colonizing Americas ever profitable in any mod? I honestly admit I did zero balancing of Americas, since campaign never gets there.

Colonizing other resource-rich places like Timbuktu and Middle East is still extremely profitable, and you can fight corruption with law buildings, good governors etc.

Corruption is moddable by SIF_CORRUPTION parameter in data/descr_settlement_mechanics.xml if you wish to do so.

I never had any problems with it - are you moving your capital every now and then somewhere closer to the center of your empire? It will suck otherwise if it's on the opposite corner of the world.
If starting positions are more equal, you could safely reduce the peacefulness of Lusted's AI. The computer is very hesitant to declare war: you can practically ally with everyone in the game before they've got around to infighting, and it makes Europe in particular a very static place to be...as do the impregnable rebel settlements, but I've already mentioned those.
Which difficulty level is it? AI diplomacy is extremely dependent on difficulty level - it's meant to be quite peaceful on medium, quite hostile on hard, and extremely hostile on very hard.

AI also becomes far more hostile whenever it neighbours no rebel settlements to take. And since they last a bit too long, AI stays peaceful a bit too long.

If you play peripheral faction like Russia or Scotland, the game would be fairly peaceful anyway. Try playing as some mainland Catholic country and annoying the Pope sufficiently...

Starting positions were never equal in any Total War games, and it would be very strange to do so. If some faction is consistently far too powerful it would be a good idea to tweak that, but I never observed that (other than for whichever faction I'm currently playing)

It will take some time until I release the next version of Concentrated Vanilla, since I need to play at least a short campaign to test its balance, and I don't always have time for that.