DRMacIver's Notebook

The skill element of (not) working harder

The skill element of (not) working harder

Yesterday I wrote about how the key to getting better at things was to be willing to diligently do things that seem annoyingly fiddly.

I still think this is basically correct, but I subsequently performed an experiment which made me realise that it was incomplete, in ways that probably should have been obvious to me but apparently weren’t.Fortunately, the notebook is not a place where I’m compelled to be diligent, and off-the-cuff poorly thought through hot takes are fine here. Where, you might reasonably ask, do I practice diligently doing annoyingly fiddly writing work? Ah, excellent question.

The experiment was this: I wanted to find out if I was actually right that carefully babying relic counters in Slay the Spire would improve my play as much as I think it does. So I decided to add a twist to my current attempts at win streaking and use the console to give myself an ink bottle at the start of the runI guess this is “cheating” but I don’t really care. It’s not like I’m competing in any sort of official rankings here, and it’s for learning purposes. and play with the goal of getting the ink bottle on 9 or as close to 9 as possible at the end of each fight, so that I started each fight with an extra card draw.

The first one of these went pretty straightforwardly and was indeed quite strong. The second one, the spire decided to hand me a happy flower and a nunchukuThis probably all sounds insane if you don’t know much about Slay the Spire. These are other relics which have the same property of preserving state between combats. to keep things interesting, and I felt compelled to do my best to keep them on the right numbers at the end of combat too, although I didn’t commit to it to quite the same degree. This was exactly as annoying as I expected it to be.

Anyway, from these two runs I’ve tentatively come to the following conclusions:

  1. I was right that this would significantly improve my play. Some of this is definitely that I’m starting with more of an advantage (a whole extra relic!). Some of it is probably that it’s forcing me to play more thoughtfully. But I do think a lot of it is that relic tracking is just genuinely a very strong thing to do.
  2. I was slightly wrong about how much skill is involved in doing this. I can definitely do this, it’s not beyond my skill level, but there’s room to improve on it. The biggest thing is that it’s easy to build decks which stop you from doing this because they kill the enemy at a rate not under your control.Two ways I’ve screwed this up: Combust, which deals constant damage per turn, and Corruption, which eventually removes your ability to play cards that don’t kill the enemy.
  3. I’ve completely misunderstood the role of skill in making this sort of diligence not annoying and fiddly.

The thing about this run where I was keeping track of all the relics is that it wasn’t just every bit as irritating as I expected, it was much more irritating than I expected from having watched streamers do it. Some of that is just that I could have been better at it. There were definitely fights where I screwed up the counting and had to start again,And a few where I screwed up the counting and killed the enemy at the wrong time and so couldn’t start again. and probably some more where I adopted a suboptimal strategy for getting the relic on the right number, but I probably couldn’t have done that in a way that was more than two or three times less irritating even with the best skill in the world. It’s just a lot to keep track of.

But there’s actually a much bigger skill difference between me and the streamers I’ve seen doing it, that significantly changes the annoyingness level: Most of the time, they’re not doing it at all.

As far as I can tell, expert players will make sure to get a relic on the right number in basically two cases:

  1. It’s easy, and they can opportunistically do it.
  2. They’ve got a big scary fight coming up that they are worried enough about to optimise for.

It’s not a case of consistently doing the maximal amount of effort, it is a case of knowing when it’s worth it to put in more effort, and how much effort you’ll have to put in. You do the extra work when it’s much easier than normal or much more worth it than normal. You’re still putting more effort in in aggregate than people who are not doing thisAlthough that depends how you count. You’re putting in less effort per victory, but more effort per unit time., but a lot less than doing it constantly would take.Unless you’re XecnaR I guess.

I think the same is true of programming. I talked about the slow methodical way of debugging, but honestly 95% of the time my debugging process is that I look at the stack trace and go “Oh yeah I know what’s going on, it’s that bullshit I’ve seen before.”I recently had an experience where I did this twice in a row with a very smart and capable colleague who was less experienced in the ways of weird computer bullshit than I am, and I think it looked like complete witchcraft to him. Even in the remaining 5% I very rarely need to put in the effort of extracting a full confession from my broken software, I take shortcuts and do simpler things.

Similarly, I don’t always write fully commented, fully tested, lint free code. A lot of my code is some bullshit I wrote in an IPython terminal, or that I hacked on while running the program and seeing if it works.More of Shrink Ray is like this than ideal right now. But I’ve got enough experience that even my some bullshit code is shaped by having written much better code than that, and also to know when I can get away with it.

How do you learn these intuitions?

Honestly, probably you learn them by doing it the hard way first. Sorry. I still think the conclusion of the last post is basically correct - if you want to do better, you need to work more diligently.

But I do think this offers a glimmer of hope that actually on the other side of that you can probably go back to being less diligent again, except when you really need to be.