WEBVTT

1
00:00:20.260 --> 00:00:21.050
<v Matt Godbolt>Hey, Ben.

2
00:00:21.050 --> 00:00:21.940
<v Ben Rady>Hey, Matt.

3
00:00:21.940 --> 00:00:23.480
<v Matt Godbolt>How on earth are you?

4
00:00:23.480 --> 00:00:25.100
<v Ben Rady>I'm doing good. How are you?

5
00:00:25.100 --> 00:00:38.140
<v Matt Godbolt>I'm doing really good. Now we've made a thing out of that. So... Actually, I'm going to move back a bit from the mic. We don't have much time because I've got to go and pick kids up from school.

6
00:00:38.140 --> 00:00:39.350
<v Matt Godbolt>So this is going to be a Turbo Edition.

7
00:00:39.350 --> 00:00:39.380
<v Ben Rady>Yeah.

8
00:00:39.380 --> 00:00:43.560
<v Matt Godbolt>But you said you had an idea, and I'm all ears.

9
00:00:43.560 --> 00:00:46.880
<v Ben Rady>Yeah. Have we talked about Factorio on this podcast yet?

10
00:00:46.880 --> 00:00:49.540
<v Matt Godbolt>I don't think we have.

11
00:00:49.540 --> 00:00:50.080
<v Matt Godbolt>No.

12
00:00:50.080 --> 00:00:50.480
<v Ben Rady>It seems like

13
00:00:50.480 --> 00:00:59.480
<v Ben Rady>this podcast is the intersection of games and programming. And if there's anything that is the intersection of games and programming, it is the game Factorio.

14
00:00:59.480 --> 00:01:00.720
<v Matt Godbolt>And Factorio...

15
00:01:00.720 --> 00:01:16.850
<v Matt Godbolt>I think you're right, you know. I mean, so if our listener doesn't know what Factorio is, how would you know? I know there's the pithy description, but that kind of buries the lede a little bit.

16
00:01:16.850 --> 00:01:17.380
<v Ben Rady>Mm-hmm.

17
00:01:17.380 --> 00:01:20.580
<v Matt Godbolt>But what is Factorio, Ben? Tell me what Factorio is.

18
00:01:20.580 --> 00:01:24.320
<v Ben Rady>So Factorio is a game, the premise of the game.

19
00:01:24.320 --> 00:01:25.290
<v Matt Godbolt>A video game, first of all.

20
00:01:25.290 --> 00:01:25.590
<v Ben Rady>It's a video game.

21
00:01:25.590 --> 00:01:25.660
<v Matt Godbolt>Yeah.

22
00:01:25.660 --> 00:01:42.880
<v Ben Rady>It's on many platforms. It's a fairly popular game. So if you have not played this game already, it is very likely that you will be able to reach within arm's reach of where you are right now and pick up a device that would allow you to play this game.

23
00:01:42.880 --> 00:01:52.320
<v Ben Rady>But it's a game and the premise of the game is that you are crash landed on a planet and you

24
00:01:52.320 --> 00:01:52.320
<v Matt Godbolt>Mm-hmm.

25
00:01:52.320 --> 00:02:10.220
<v Ben Rady>are a sort of technician or engineer that has access to these amazing tools for crafting and building things. And your goal, at least in the vanilla game, is to escape the planet. It's basically like I crash landed here. My ship is destroyed.

26
00:02:10.220 --> 00:02:24.120
<v Ben Rady>I don't want to be here. So I'm just going to build a rocket ship and leave. And so you go from mining coal with a pickaxe to launching yourself into space in a rocket.

27
00:02:24.120 --> 00:02:30.380
<v Ben Rady>And a typical playthrough, I think like the speedrun playthroughs are pretty fast, like eight hours. But I could...

28
00:02:30.380 --> 00:02:32.500
<v Matt Godbolt>That's not fast for a speedrun, but yeah, there's a lot to do.

29
00:02:32.500 --> 00:02:47.660
<v Ben Rady>Right, right. But the typical playtime, I think, for mortal humans is like 24 hours. Right. And one of the things I actually sort of like about that is you can imagine, you're traveling through space.

30
00:02:47.660 --> 00:03:01.480
<v Ben Rady>Alarms start going off. You're entering the atmosphere of a planet. You go, oh crap. And then you land and you got 24 hours to get off the planet. And then you sort of launch yourself back into space, exhausted, fall asleep.

31
00:03:01.480 --> 00:03:02.760
<v Ben Rady>All right, fine. And you go into hibernation.

32
00:03:02.760 --> 00:03:10.480
<v Matt Godbolt>Right, but this is 24 hours of somewhat accelerated time with the magical ability to mine and build things.

33
00:03:10.480 --> 00:03:13.710
<v Ben Rady>Yeah. I mean, in game time and real time are the same time, right?

34
00:03:13.710 --> 00:03:14.100
<v Matt Godbolt>Okay.

35
00:03:14.100 --> 00:03:23.580
<v Ben Rady>Like, like you're, if you're moving the character around and you're, you know, like I said, you know mining for coal or whatever, like there's no time speed up in the game, right?

36
00:03:23.580 --> 00:03:23.960
<v Matt Godbolt>Right.

37
00:03:23.960 --> 00:03:29.160
<v Ben Rady>So if you're playing for 24 hours, you could think of that as this person being on this planet for 24 hours.

38
00:03:29.160 --> 00:03:31.080
<v Matt Godbolt>But it's like top-down.

39
00:03:31.080 --> 00:03:36.760
<v Matt Godbolt>So far, it sounds a little bit like Minecraft. It's like crafting and building and stuff.

40
00:03:36.760 --> 00:03:38.240
<v Ben Rady>It's got some Minecraft-y aspects to it for sure.

41
00:03:38.240 --> 00:03:40.020
<v Matt Godbolt>And it's a little bit like that. But it's a very different look.

42
00:03:40.020 --> 00:03:42.100
<v Matt Godbolt>It's a top-down game.

43
00:03:42.100 --> 00:03:50.400
<v Matt Godbolt>When I see it, it reminds me of like StarCraft and that kind of look and feel a little bit.

44
00:03:50.400 --> 00:03:53.200
<v Matt Godbolt>And the planet as well is a bit sort of alien.

45
00:03:53.200 --> 00:03:56.160
<v Ben Rady>Yeah.

46
00:03:56.160 --> 00:03:57.140
<v Ben Rady>It's got some real-time strategy aspects to it.

47
00:03:57.140 --> 00:03:58.820
<v Ben Rady>It's got some tower defense aspects to it.

48
00:03:58.820 --> 00:04:02.520
<v Matt Godbolt>Right, there are aliens on the planet that you have to kind of fend off while you're doing this.

49
00:04:02.520 --> 00:04:02.900
<v Ben Rady>Yeah. Right.

50
00:04:02.900 --> 00:04:12.810
<v Matt Godbolt>But really, the key of it is... you can't do this by yourself, right? One person with a pickaxe can't possibly build a rocket ship and launch it.

51
00:04:12.810 --> 00:04:12.880
<v Ben Rady>Mm-hmm.

52
00:04:12.880 --> 00:04:23.860
<v Matt Godbolt>You need to do something. And so there's kind of this sort of progression of like, well, I've now, the first thing I craft is something to help me craft faster and so on.

53
00:04:23.860 --> 00:04:23.920
<v Ben Rady>Right.

54
00:04:23.920 --> 00:04:30.060
<v Matt Godbolt>So how does that progression look? And then why are we talking about this on a programming podcast?

55
00:04:30.060 --> 00:04:49.780
<v Ben Rady>Well, so as you go through, you're building essentially automation, right? Automation to gather the resources, automation to turn the raw resources into refined resources, automation to build actual useful products out of those refined resources.

56
00:04:49.780 --> 00:05:12.120
<v Ben Rady>And then automation to tell the useful products, you know, how to assemble them into eventually what becomes a rocket. And you know there's all kinds of amazing things in this game. There's robots that you can control, and there are circuitry systems that you can set up and essentially program to do various things.

57
00:05:12.120 --> 00:05:24.980
<v Ben Rady>But the sort of fundamental aspects of the game revolve around you know, sort of like gathering resources, refining those resources, and then, you know, using them or moving them somewhere else, distributing, yes.

58
00:05:24.980 --> 00:05:25.320
<v Matt Godbolt>Distributing them, yeah.

59
00:05:25.320 --> 00:05:40.220
<v Ben Rady>And it turns out that Factorio is actually just a huge, you know, distributed computing architecture simulator, because each of these little conveyor belts that you build are actually just kind of like a message queue.

60
00:05:40.220 --> 00:05:40.600
<v Matt Godbolt>Right.

61
00:05:40.600 --> 00:05:53.140
<v Ben Rady>And each of like the little factories that you build that turn like the raw iron into, you know, iron plates or steel are kind of like services that take in inputs and produce outputs.

62
00:05:53.140 --> 00:06:00.570
<v Matt Godbolt>And then on the bus, which you've built yourself a bus of like eight lanes of conveyor belt that then have different things you sort.

63
00:06:00.570 --> 00:06:01.320
<v Ben Rady>Right.

64
00:06:01.320 --> 00:06:20.120
<v Matt Godbolt>It's quite, I mean, it's a crossover between, as you say, distributed computing, but also sort of silicon simulator. You know, like if you zoom out far enough out of your established Factorio map, it's very difficult to tell the difference between the die plan of a Pentium 2 and your Factorio map.

65
00:06:20.120 --> 00:06:21.300
<v Ben Rady>Yes, yes, it is.

66
00:06:21.300 --> 00:06:22.400
<v Matt Godbolt>It's very, very hard. You're like, hey, there's this...

67
00:06:22.400 --> 00:06:27.460
<v Ben Rady>Just take a blurry picture of that and you will not be able to tell the difference. Not even that blurry, really.

68
00:06:27.460 --> 00:06:52.300
<v Matt Godbolt>Right, not even that blurry. Yeah, you just have to be... it's quite something and I think it's very appealing because there is this satisfaction of laying things out. But there's a kind of... I haven't played I don't think as much as you have, but the satisfaction I get from working out the right latency of like this robot arm that can pick things off the conveyor belt has like a three-second cadence where it can pick something off and put it into the factory, pick it up and put it into the factory.

69
00:06:52.300 --> 00:06:52.520
<v Ben Rady>Mm-hmm.

70
00:06:52.520 --> 00:07:25.000
<v Matt Godbolt>So now I want to lay my robot arms and factories out so that like a continuous stream of items coming down the conveyor belt are all efficiently plucked and used and none of them fall off the end of the conveyor belt or go back round again in a loop and all those kinds of things. And I am sure this gets gamified and spreadsheeted to death to really optimise it beyond that. But there is a satisfaction in it. Although... what I find is I get very quickly overwhelmed by the size of my own map and the fact that something stops working and now I'm debugging.

71
00:07:25.000 --> 00:07:29.970
<v Matt Godbolt>Like, where is it? I'm going back up all the conveyor belts to, oh, I've run out of this.

72
00:07:29.970 --> 00:07:30.100
<v Ben Rady>Mm-hmm.

73
00:07:30.100 --> 00:07:35.320
<v Matt Godbolt>This thing's been destroyed by aliens and I didn't notice it. And now I have to kind of get everything back and online again.

74
00:07:35.320 --> 00:07:35.380
<v Ben Rady>Mm-hmm.

75
00:07:35.380 --> 00:07:43.160
<v Matt Godbolt>And so there's kind of a, yeah, it feels like work at some level, which is not selling it, right, to people.

76
00:07:43.160 --> 00:07:44.450
<v Matt Godbolt>But it's work in...

77
00:07:44.450 --> 00:07:44.560
<v Ben Rady>Yeah.

78
00:07:44.560 --> 00:07:44.780
<v Ben Rady>Mm-hmm.

79
00:07:44.780 --> 00:07:58.580
<v Matt Godbolt>It's the best parts of the things I like about my job, the sort of micro-optimisation and the sort of big picture stuff. And yeah, often I'll turn off the aliens, actually, because I don't want them to come in and annoy me.

80
00:07:58.580 --> 00:07:59.740
<v Matt Godbolt>But, you know, I know that's not pure.

81
00:07:59.740 --> 00:08:15.720
<v Ben Rady>Yeah. So just sort of a somewhat side note here. If you don't want to deal with the aliens in Factorio, there's another style of play that you can use, which is to go completely green, because the thing that triggers the aliens is pollution.

82
00:08:15.720 --> 00:08:16.680
<v Matt Godbolt>Yes.

83
00:08:16.680 --> 00:08:24.990
<v Ben Rady>And so you can just... and I have done this. You can do a playthrough where you literally never have any kind of combat with an alien at all.

84
00:08:24.990 --> 00:08:25.380
<v Matt Godbolt>Oh.

85
00:08:25.380 --> 00:08:33.700
<v Ben Rady>And now the whole problem is how do I launch a rocket without creating pollution? Right. And so that just changes the problem in a new and interesting way.

86
00:08:33.700 --> 00:08:36.690
<v Matt Godbolt>That's, I'd forgotten about, I'd forgotten about that aspect of it.

87
00:08:36.690 --> 00:08:36.740
<v Ben Rady>Yeah.

88
00:08:36.740 --> 00:08:38.500
<v Matt Godbolt>That's pretty cool.

89
00:08:38.500 --> 00:08:39.600
<v Ben Rady>Yeah, it's great.

90
00:08:39.600 --> 00:08:52.110
<v Matt Godbolt>And then there's a sort of meta part to this whole thing, which is like Factorio, the game, runs pretty quickly on my PC, even my old PC, my non-gaming PC.

91
00:08:52.110 --> 00:08:52.580
<v Ben Rady>Mm-hmm.

92
00:08:52.580 --> 00:08:56.700
<v Matt Godbolt>And the amount of complexity that it's simulating...

93
00:08:56.700 --> 00:08:58.480
<v Ben Rady>Oh, I know. It's amazing, isn't it?

94
00:08:58.480 --> 00:09:14.820
<v Matt Godbolt>They've got quite an engine underneath there doing the simulation and moving things around as well as then just displaying. I mean, there's one thing displaying, but there's the other thing is like, well no, you've got this huge, huge, huge sprawling map filled with actors that are doing things all the time.

95
00:09:14.820 --> 00:09:19.490
<v Matt Godbolt>So, I mean, it's quite a testament to the engine skill.

96
00:09:19.490 --> 00:09:19.590
<v Ben Rady>Mm-hmm.

97
00:09:19.590 --> 00:09:19.680
<v Ben Rady>Mm-hmm.

98
00:09:19.680 --> 00:09:33.820
<v Matt Godbolt>And I'd be intrigued to know. I think I've heard another podcast somewhere where it was an interview with one of the developers. And I think they use all sorts of, you know, data-oriented design tricks to be able to make things cache-friendly and like write lists of the same kinds of objects so that they can stream through it with SIMD.

99
00:09:33.820 --> 00:09:34.460
<v Ben Rady>Oh, interesting.

100
00:09:34.460 --> 00:09:38.090
<v Matt Godbolt>There's some cool things behind the scenes. But yeah we don't need to know about that.

101
00:09:38.090 --> 00:09:38.120
<v Ben Rady>Neat.

102
00:09:38.120 --> 00:09:42.280
<v Matt Godbolt>We can actually just enjoy it from the point of view of a player.

103
00:09:42.280 --> 00:09:43.120
<v Ben Rady>Yeah. Yeah.

104
00:09:43.120 --> 00:10:01.320
<v Matt Godbolt>So I've never actually got to the point of launching a ship. I always get caught in the middle and then I do have a great time, but then I eventually lose interest in the race for it, either because I've been too pollutey and the aliens have come in and smashed up stuff or more likely I've been distracted long enough that I come back to it and I'm like, I can't.

105
00:10:01.320 --> 00:10:01.320
<v Ben Rady>Yeah.

106
00:10:01.320 --> 00:10:06.020
<v Ben Rady>I don't remember. It's like coming back to a codebase after six months. You're like, I don't remember any of this.

107
00:10:06.020 --> 00:10:19.940
<v Matt Godbolt>And there's no comments and there's no kind of – I mean, I was going to say there's no functions and naming of things, but you know you can do – with the more sophisticated robot automation, you can put programs of sorts in them, I think, and then you can duplicate those.

108
00:10:19.940 --> 00:10:20.060
<v Ben Rady>Yeah, right.

109
00:10:20.060 --> 00:10:20.240
<v Ben Rady>Yeah, you can.

110
00:10:20.240 --> 00:10:23.960
<v Matt Godbolt>And I think there was... templates that you can make.

111
00:10:23.960 --> 00:10:26.500
<v Ben Rady>Blueprints is what they call them, but yes, they are exactly that, right?

112
00:10:26.500 --> 00:10:29.230
<v Matt Godbolt>Blueprints. And then you can sort of stamp out, this is my –

113
00:10:29.230 --> 00:10:30.160
<v Ben Rady>Mm-hmm.

114
00:10:30.160 --> 00:10:37.210
<v Matt Godbolt>My thing that creates this kind of resource and I have, you know, these two factories and these type of conveyor belts around, you can just like click it down and stamp it out.

115
00:10:37.210 --> 00:10:37.360
<v Ben Rady>Yeah.

116
00:10:37.360 --> 00:10:49.620
<v Matt Godbolt>But when you stamp it out, it's not like a UI help thing. It's no, you're telling the robot to go and build it all and it goes off and builds it. You still need all the resources to have that in place to build it. So yeah, it's a cool game.

117
00:10:49.620 --> 00:10:51.550
<v Ben Rady>Mm-hmm. Yeah. I'm a fan.

118
00:10:51.550 --> 00:10:51.680
<v Matt Godbolt>Oh, right.

119
00:10:51.680 --> 00:10:54.780
<v Ben Rady>And there's an expansion for it too, right? Which

120
00:10:54.780 --> 00:10:56.200
<v Matt Godbolt>Yeah. Go on. Tell me about this.

121
00:10:56.200 --> 00:11:13.780
<v Ben Rady>They released this year. The expansion is Space Age and the whole idea is, okay, well, you've launched the rocket. What if you just kept going, right? And now you're in a whole solar system and there's lots of planets in the solar system, not just the one with the aliens on it.

122
00:11:13.780 --> 00:11:18.280
<v Ben Rady>And you can go to those other planets and they are very different and they have their own things.

123
00:11:18.280 --> 00:11:18.920
<v Matt Godbolt>Oh.

124
00:11:18.920 --> 00:11:29.040
<v Ben Rady>And you can set up essentially spacecraft that move between the planets and use the rockets to relay materials from one planet to another.

125
00:11:29.040 --> 00:11:38.110
<v Matt Godbolt>Oh my gosh. But presumably with a much longer latency and, you know, the resources of launching a rocket are non-trivial.

126
00:11:38.110 --> 00:11:39.340
<v Ben Rady>Right.

127
00:11:39.340 --> 00:11:44.240
<v Matt Godbolt>But you can now ship ore from one planet to another. That's so cool.

128
00:11:44.240 --> 00:12:05.120
<v Ben Rady>Exactly. And then one of the super fun things about this I really kind of dig is like, so you go to a new planet, you launch yourself up into space, you take one of your space platforms is what they call them, but basically it's a big ship and you fly to the new planet, you land on the new planet, and now you have no way to get off.

129
00:12:05.120 --> 00:12:07.700
<v Ben Rady>You have to build another rocket to get off, right?

130
00:12:07.700 --> 00:12:08.880
<v Matt Godbolt>Oh, right.

131
00:12:08.880 --> 00:12:19.140
<v Ben Rady>And so while you're on that new planet, you have to remotely control the setup that you had on the previous planet, right?

132
00:12:19.140 --> 00:12:19.900
<v Matt Godbolt>Whoa. On your original planet, yeah.

133
00:12:19.900 --> 00:12:36.220
<v Ben Rady>Yes, which means you have to have set up like some robots and a few other things. And you can like, you know, sort of remotely, you can zoom out in the map essentially and like go over to the other planet and like click on things. But like, you can't just like go, you know, if the bugs go destroy your dealie, you can't just walk over there and fix it.

134
00:12:36.220 --> 00:12:42.120
<v Ben Rady>Like you have to be able to fix it remotely or you have to have the automation in place where the robots just automatically fix it.

135
00:12:42.120 --> 00:12:42.210
<v Matt Godbolt>Right.

136
00:12:42.210 --> 00:12:42.680
<v Ben Rady>Which is another fun thing.

137
00:12:42.680 --> 00:12:43.940
<v Matt Godbolt>Whoa.

138
00:12:43.940 --> 00:12:57.740
<v Ben Rady>So I really liked what they did with the expansion and just the way the space platforms work and the different planets. And I think it's just been a really fantastic game.

139
00:12:57.740 --> 00:13:04.770
<v Ben Rady>But my new sort of way to explain TCP backpressure to people now is I say, have you played Factorio?

140
00:13:04.770 --> 00:13:04.940
<v Matt Godbolt>That's...

141
00:13:04.940 --> 00:13:09.390
<v Ben Rady>And they're like, yes. They're like, conveyor belts. That's what's happening.

142
00:13:09.390 --> 00:13:09.680
<v Matt Godbolt>Oh, that's...

143
00:13:09.680 --> 00:13:14.020
<v Ben Rady>Your conveyor belts are full. And they're like, oh, okay. And I don't have to say anything else.

144
00:13:14.020 --> 00:13:17.660
<v Matt Godbolt>Yeah, that's it. I mean, it's good enough, right?

145
00:13:17.660 --> 00:13:17.780
<v Ben Rady>They just get it. They immediately get it.

146
00:13:17.780 --> 00:13:20.200
<v Matt Godbolt>I mean, as... I don't know if you, yeah. TCP backpressure is, yeah.

147
00:13:20.200 --> 00:13:22.060
<v Matt Godbolt>No. Backpressure. Yeah, of course. But the backpressure is like, slow consumer.

148
00:13:22.060 --> 00:13:26.520
<v Ben Rady>I mean, you can go down many levels from there, but it's like, what is happening here?

149
00:13:26.520 --> 00:13:30.420
<v Ben Rady>Why do I write to this socket and it just blocks, right?

150
00:13:30.420 --> 00:13:30.480
<v Matt Godbolt>Yeah.

151
00:13:30.480 --> 00:13:31.240
<v Ben Rady>What's happening?

152
00:13:31.240 --> 00:13:33.340
<v Matt Godbolt>Yeah. There you go.

153
00:13:33.340 --> 00:13:47.580
<v Matt Godbolt>Yeah. That makes sense. The other cool thing about Factorio is that it's multiplayer. You can get someone to come and join you in the map, and then that means that certainly if you have kids of an age that are interested in this kind of thing, you can do an...

154
00:13:47.580 --> 00:13:47.640
<v Ben Rady>Yeah.

155
00:13:47.640 --> 00:13:47.760
<v Ben Rady>It is.

156
00:13:47.760 --> 00:13:54.690
<v Matt Godbolt>Or I guess you could have friends as well. Friends are an option, but you know we're two dads, and so we've been through this with kids.

157
00:13:54.690 --> 00:13:54.800
<v Ben Rady>Yeah, you know. Right.

158
00:13:54.800 --> 00:13:56.390
<v Matt Godbolt>It's like, hey, do you want to come and like...

159
00:13:56.390 --> 00:13:56.780
<v Ben Rady>Yeah.

160
00:13:56.780 --> 00:14:02.100
<v Matt Godbolt>Shoot aliens and build stuff. And it works pretty well with that.

161
00:14:02.100 --> 00:14:14.840
<v Matt Godbolt>At least I found that. And certainly the division of labour thing is useful where you can kind of like be one person can stay back in the main base and just kind of keep the admin going where the other person goes off and finds more resources and builds a sort of secondary base.

162
00:14:14.840 --> 00:14:14.870
<v Ben Rady>Yeah.

163
00:14:14.870 --> 00:14:14.940
<v Ben Rady>Yeah. Mm-hmm.

164
00:14:14.940 --> 00:14:16.520
<v Matt Godbolt>And then you start with your...

165
00:14:16.520 --> 00:14:18.580
<v Ben Rady>Or flies to a new planet, right?

166
00:14:18.580 --> 00:14:20.750
<v Matt Godbolt>Or flies to a new planet... Yeah. Or sets up the train network.

167
00:14:20.750 --> 00:14:20.840
<v Ben Rady>Mm-hmm.

168
00:14:20.840 --> 00:14:23.580
<v Matt Godbolt>I got as far as trains and then I was like, that was very cool.

169
00:14:23.580 --> 00:14:23.640
<v Ben Rady>Yeah.

170
00:14:23.640 --> 00:14:26.280
<v Matt Godbolt>And then I was like, okay, now... yeah, don't know why I stopped.

171
00:14:26.280 --> 00:14:35.520
<v Ben Rady>Man, if you are into model trains, Factorio is the game for you, right? Because it's just got all of the things that make that fun and interesting.

172
00:14:35.520 --> 00:14:40.560
<v Matt Godbolt>Yeah, it's a great game. Now I want to play it again. And I haven't got time, Ben.

173
00:14:40.560 --> 00:14:47.420
<v Matt Godbolt>I haven't got time. I know I've got like all this time off, which I think by the time this episode goes out, I might actually be working again. [Editor Matt: yes I am, just had my first week]

174
00:14:47.420 --> 00:14:47.540
<v Ben Rady>No, you don't.

175
00:14:47.540 --> 00:14:48.200
<v Ben Rady>Oh, my goodness.

176
00:14:48.200 --> 00:14:53.570
<v Matt Godbolt>I know how horrible, how awful for me. No, I'm looking forward to the rhythm

177
00:14:53.570 --> 00:14:54.100
<v Ben Rady>I see.

178
00:14:54.100 --> 00:15:01.770
<v Matt Godbolt>of working again. But, ironically, maybe I'll have more time then because at the moment I could just keep saying yes to everything because I'm like, I by default don't have a reason.

179
00:15:01.770 --> 00:15:01.820
<v Ben Rady>Right.

180
00:15:01.820 --> 00:15:09.840
<v Matt Godbolt>But as soon as I, oh, I've got a new job, I can't be doing this, but then I might have my evenings back. Who knows? So yeah, Factorio could be in my future.

181
00:15:09.840 --> 00:15:26.640
<v Ben Rady>Yeah. Yeah. Well, I would say if you are a programmer and you are in a place in your life where you're okay falling into a black hole for a few hours and being like, what just happened? Well, how is it one in the morning?

182
00:15:26.640 --> 00:15:30.540
<v Ben Rady>You could consider trying out Factorio because it is a game.

183
00:15:30.540 --> 00:15:33.150
<v Matt Godbolt>We are not sponsored by whomever makes Factorio.

184
00:15:33.150 --> 00:15:33.260
<v Ben Rady>No, no, we're not.

185
00:15:33.260 --> 00:15:34.700
<v Matt Godbolt>I can't even remember who it is, but we're not sponsored.

186
00:15:34.700 --> 00:15:37.380
<v Ben Rady>This is my own personal opinion on what games are fun.

187
00:15:37.380 --> 00:15:40.420
<v Matt Godbolt>It's purely a fun game.

188
00:15:40.420 --> 00:15:41.500
<v Ben Rady>Yeah.

189
00:15:41.500 --> 00:15:42.580
<v Matt Godbolt>Yeah.

190
00:15:42.580 --> 00:15:45.610
<v Matt Godbolt>What other games are you playing at the moment while we're here?

191
00:15:45.610 --> 00:15:46.500
<v Ben Rady>Yeah.

192
00:15:46.500 --> 00:15:51.520
<v Ben Rady>I had been doing Baldur's Gate 3. Because you know, it's just a fantastic game.

193
00:15:51.520 --> 00:15:51.640
<v Matt Godbolt>Right.

194
00:15:51.640 --> 00:15:52.420
<v Matt Godbolt>Yep.

195
00:15:52.420 --> 00:15:53.100
<v Ben Rady>Well...

196
00:15:53.100 --> 00:16:05.720
<v Ben Rady>I actually, this is probably going to wind up being another episode for us at some point in the future, but I have already decided that I am not going to upgrade to Windows 11 on my gaming PC.

197
00:16:05.720 --> 00:16:10.150
<v Ben Rady>And I am going to install Ubuntu and, probably Ubuntu.

198
00:16:10.150 --> 00:16:10.600
<v Matt Godbolt>Ooh.

199
00:16:10.600 --> 00:16:12.320
<v Ben Rady>I haven't necessarily picked a distribution yet, but I'm going to, yeah.

200
00:16:12.320 --> 00:16:14.220
<v Matt Godbolt>But some flavor of Linux. Okay.

201
00:16:14.220 --> 00:16:27.720
<v Ben Rady>Some flavour of Linux, and I am going to start using Linux for my gaming PC. And I expect that most of the games that I want to play will work.

202
00:16:27.720 --> 00:16:36.210
<v Ben Rady>There might be a little bit of troubleshooting here and there. My son has also done this. He, in fact, sort of led the way on this. And I was initially very sceptical. I'm like, really?

203
00:16:36.210 --> 00:16:36.560
<v Matt Godbolt>Yeah.

204
00:16:36.560 --> 00:16:54.140
<v Ben Rady>And he's had some good luck with it. And I'm like, you know what? That is better. So I'm switching. And if that means that there's some game at some point in the future that I really want to play that I can't get to work on Linux, well, then I will decide at that point in time whether it's worth my time to figure out how to get it to run.

205
00:16:54.140 --> 00:16:58.960
<v Matt Godbolt>Interesting. Well, we'll definitely look forward to you giving us a trip report from that point of view.

206
00:16:58.960 --> 00:17:08.080
<v Matt Godbolt>I mean, I predominantly have used Linux and all of my experience on Factorio was in fact on Linux. So that has worked for me.

207
00:17:08.080 --> 00:17:08.480
<v Ben Rady>Yeah.

208
00:17:08.480 --> 00:17:09.280
<v Ben Rady>Yeah.

209
00:17:09.280 --> 00:17:17.160
<v Matt Godbolt>But then when my kids started playing Overwatch 2 and Marvel Rivals, that's when I...

210
00:17:17.160 --> 00:17:17.160
<v Ben Rady>Yeah.

211
00:17:17.160 --> 00:17:36.540
<v Matt Godbolt>finally acquiesced and decided to, in order to join them, I would need to use Windows. So I installed Windows. And then I've been using it for video editing, which is another thing that I have been unable to get Linux to be as good, even though I have a package that works on Linux. It works about as well on Linux as you'd imagine,

212
00:17:36.540 --> 00:17:47.010
<v Matt Godbolt>Where they say, well, you're not on a supported particular variant of Linux. I'm like, well, what is supported? And they named a distribution of Linux that I have literally never, ever heard of.

213
00:17:47.010 --> 00:17:47.040
<v Ben Rady>Mm-hmm.

214
00:17:47.040 --> 00:17:54.230
<v Matt Godbolt>And it turns out it's just a distribution that's just for running this package. So I'm like, okay, no, I'm not using your bespoke version of Linux.

215
00:17:54.230 --> 00:17:54.320
<v Ben Rady>Yeah. Okay.

216
00:17:54.320 --> 00:17:55.640
<v Matt Godbolt>I'm using like a normal one.

217
00:17:55.640 --> 00:17:55.780
<v Ben Rady>Right.

218
00:17:55.780 --> 00:17:56.440
<v Matt Godbolt>Thank you.

219
00:17:56.440 --> 00:17:57.280
<v Ben Rady>Yeah.

220
00:17:57.280 --> 00:18:10.380
<v Matt Godbolt>So, you know, I get it. It's a more, you know, it's a difficult support burden and there are things to do with, you know, codecs and there's things to do with, you know, proprietary closed source stuff that's harder to get on Linux, whatever.

221
00:18:10.380 --> 00:18:10.700
<v Ben Rady>Yeah.

222
00:18:10.700 --> 00:18:11.340
<v Ben Rady>Yeah.

223
00:18:11.340 --> 00:18:27.460
<v Matt Godbolt>But yeah, I by and large live in the Linux world. And I don't know how people can use Windows. I know this is not what this episode is about, but oh my golly, everything about Windows has been frustrating the heck out of me.

224
00:18:27.460 --> 00:18:49.780
<v Matt Godbolt>Like the unhideable, sorry, non-configurable start bar that keeps popping up every time I dare put my mouse anywhere near the bottom of the screen, as I've got it auto-hidden to try and get the screen real estate back, to being upsold various Microsoft-related things like logging into their Microsoft Cloud, whatever it is, or, you know, hey, you're not backing anything up.

225
00:18:49.780 --> 00:18:49.820
<v Ben Rady>Yeah.

226
00:18:49.820 --> 00:18:54.750
<v Matt Godbolt>I'm like, yes, I know. There is literally nothing on this computer that I care about. I don't want to back anything up.

227
00:18:54.750 --> 00:18:54.840
<v Ben Rady>Right.

228
00:18:54.840 --> 00:19:06.080
<v Matt Godbolt>Oh, but you haven't backed up in this long. Again, with the stop telling me, I don't care. And then every now and then I reboot. And for reasons that I don't understand, I go through some part of the, you know, beginning setup again.

229
00:19:06.080 --> 00:19:13.600
<v Matt Godbolt>And the only thing I've got to not sign into something is to skip for now. And I'm like, no, skip forever, go away.

230
00:19:13.600 --> 00:19:14.200
<v Ben Rady>Right, right. Yep, yep.

231
00:19:14.200 --> 00:19:18.220
<v Matt Godbolt>And it's... everything about it feels utterly frustrating.

232
00:19:18.220 --> 00:19:19.920
<v Ben Rady>Yeah. It's pretty gross.

233
00:19:19.920 --> 00:19:26.070
<v Ben Rady>And especially considering that I'm literally only using it as a gaming platform. I really don't need any of that.

234
00:19:26.070 --> 00:19:26.800
<v Matt Godbolt>Yeah. [Dog barks]

235
00:19:26.800 --> 00:19:28.720
<v Ben Rady>I don't need a single bit of it.

236
00:19:28.720 --> 00:19:29.360
<v Matt Godbolt>Yeah. [Dog barks again]

237
00:19:29.360 --> 00:19:40.340
<v Ben Rady>So I am planning on making the switch probably over Thanksgiving when I'll have a few days off and I can just kind of wipe the machine and start over again.

238
00:19:40.340 --> 00:19:48.420
<v Matt Godbolt>Now people will work out when we're recording. Oh no. Now people know that we don't do these live.

239
00:19:48.420 --> 00:19:48.740
<v Ben Rady>Well,

240
00:19:48.740 --> 00:19:49.500
<v Matt Godbolt>I've thought about that.

241
00:19:49.500 --> 00:19:49.540
<v Ben Rady>Yeah.

242
00:19:49.540 --> 00:19:53.060
<v Matt Godbolt>We could do a live one sometime. That might be fun.

243
00:19:53.060 --> 00:19:54.640
<v Matt Godbolt>Or a live-ish. Now I'm all up with the video editing.

244
00:19:54.640 --> 00:19:54.820
<v Ben Rady>I mean, we could do a live one.

245
00:19:54.820 --> 00:19:54.880
<v Ben Rady>I don't know.

246
00:19:54.880 --> 00:20:00.200
<v Matt Godbolt>We could even do a video one, but then that would mean that, you know, actually I'm looking at your backdrop right now and you'd be fine.

247
00:20:00.200 --> 00:20:00.280
<v Ben Rady>Yeah.

248
00:20:00.280 --> 00:20:06.570
<v Matt Godbolt>You've got a great sort of Zoom background, whereas mine's a catastrophe, but I've just gone with it.

249
00:20:06.570 --> 00:20:07.980
<v Ben Rady>I think yours works pretty well.

250
00:20:07.980 --> 00:20:10.680
<v Matt Godbolt>So we could try that sometime, I guess.

251
00:20:10.680 --> 00:20:11.560
<v Ben Rady>I'd be down for that.

252
00:20:11.560 --> 00:20:23.800
<v Matt Godbolt>Yeah. All right. We can certainly think about doing that sometime. But yeah, we're recording this actually on Halloween, which is one of the reasons why I've got to go pick the kids up, because I've then got to get back in time to hand out candy to people, or maybe not.

253
00:20:23.800 --> 00:20:24.120
<v Ben Rady>Right.

254
00:20:24.120 --> 00:20:26.200
<v Ben Rady>Just throw it at them. You don't need to hand it.

255
00:20:26.200 --> 00:20:37.260
<v Matt Godbolt>Well, there's been a lot of political activity in this area. I've been wondering whether I should be carrying my green card with me, which is a very weird feeling.

256
00:20:37.260 --> 00:20:42.090
<v Matt Godbolt>And I don't want to go politics on this, but it's like, oh, maybe I'll have to.

257
00:20:42.090 --> 00:20:42.420
<v Ben Rady>That is weird.

258
00:20:42.420 --> 00:20:43.660
<v Matt Godbolt>Yeah.

259
00:20:43.660 --> 00:20:44.420
<v Ben Rady>Yeah.

260
00:20:44.420 --> 00:20:48.980
<v Matt Godbolt>That's a downer. Let's talk about something nice in the last few minutes before I have to go.

261
00:20:48.980 --> 00:21:00.640
<v Ben Rady>Well, I am definitely going to report back on my experiences switching over to Linux. And I expect it will be mostly smooth. There are a few games that are natively supported on Linux.

262
00:21:00.640 --> 00:21:01.980
<v Ben Rady>And I think Factorio actually might be one of them.

263
00:21:01.980 --> 00:21:03.280
<v Matt Godbolt>I think it is. Yes, it is.

264
00:21:03.280 --> 00:21:03.620
<v Matt Godbolt>Yeah.

265
00:21:03.620 --> 00:21:11.720
<v Ben Rady>But I know that the Steam Deck is based on at least some... there's a Linux kernel in there somewhere, if I recall correctly.

266
00:21:11.720 --> 00:21:13.160
<v Matt Godbolt>I think so.

267
00:21:13.160 --> 00:21:23.100
<v Ben Rady>And so Steam kind of has this incentive of making sure that games are at least remotely compatible with that. And they have this, I think it's Proton is the name of it.

268
00:21:23.100 --> 00:21:24.140
<v Ben Rady>Maybe I'm getting that name wrong.

269
00:21:24.140 --> 00:21:30.840
<v Matt Godbolt>Yeah, that brings, I think that brings about that sort of like, I think it's either a port or based on Wine at some point.

270
00:21:30.840 --> 00:21:31.550
<v Ben Rady>Wine. Yeah.

271
00:21:31.550 --> 00:21:31.900
<v Matt Godbolt>Yeah.

272
00:21:31.900 --> 00:21:44.060
<v Ben Rady>And Steam has, at least with Steam games anyway, has a rating, if I understand this correctly, of how compatible they are with Proton. And for the Platinum or Gold games, they kind of expect that it's just going to work, right?

273
00:21:44.060 --> 00:21:46.560
<v Matt Godbolt>It just works. Yeah.

274
00:21:46.560 --> 00:21:53.720
<v Ben Rady>So, if that means that I'm just sticking to those types of games... The problem is there's too many games to play anyway, right?

275
00:21:53.720 --> 00:21:53.720
<v Matt Godbolt>Right.

276
00:21:53.720 --> 00:22:07.600
<v Ben Rady>It's the tyranny of choice, right? I feel like there's a somewhat famous psychological concept that's just like people are miserable when they have too much choice, right?

277
00:22:07.600 --> 00:22:08.300
<v Matt Godbolt>Yeah.

278
00:22:08.300 --> 00:22:19.580
<v Ben Rady>Trying to remember that... it's probably the tyranny of choice or something like that. But in any case, there's too many games. There's too many games to play. And if I have to just filter, what's Platinum, Gold on Proton.

279
00:22:19.580 --> 00:22:20.120
<v Ben Rady>Okay. These are the games I'm going to consider buying in the Steam sale.

280
00:22:20.120 --> 00:22:22.760
<v Matt Godbolt>Oh, that might actually be a boon. Yeah, I see.

281
00:22:22.760 --> 00:22:30.160
<v Ben Rady>Great. Now that'll help me. And I won't be sitting there, when the Steam sale comes along, going like, there's so many games that I want to play.

282
00:22:30.160 --> 00:22:30.700
<v Matt Godbolt>Yeah.

283
00:22:30.700 --> 00:22:33.000
<v Ben Rady>How do I pick which I'm going to buy? Yeah.

284
00:22:33.000 --> 00:22:38.560
<v Matt Godbolt>That's fair. Yeah, anything to reduce the number of them might actually be working in your favour.

285
00:22:38.560 --> 00:22:43.900
<v Ben Rady>Right. I mean, I wouldn't complain if it means I don't have to deal with stupid Windows pop-ups. I gladly welcome it.

286
00:22:43.900 --> 00:22:49.420
<v Matt Godbolt>Right, that is definitely worth doing for that reason alone.

287
00:22:49.420 --> 00:22:50.120
<v Ben Rady>Yeah.

288
00:22:50.120 --> 00:22:55.560
<v Matt Godbolt>Well, it looks like it's going to be quite a short episode today, which is good for editor Matt in the future. [Thanks past Matt]

289
00:22:55.560 --> 00:22:56.480
<v Ben Rady>Yes. Right.

290
00:22:56.480 --> 00:22:58.840
<v Matt Godbolt>So lucky him, although he's gotten very lazy recently.

291
00:22:58.840 --> 00:23:05.840
<v Matt Godbolt>So apologies for all the ums and uhs and dog barks in all of the last few episodes that have gone out. But I like to think that it's charming.

292
00:23:05.840 --> 00:23:08.340
<v Ben Rady>There's charm. You have some charm.

293
00:23:08.340 --> 00:23:10.480
<v Matt Godbolt>There's something in it. Yeah.

294
00:23:10.480 --> 00:23:11.990
<v Ben Rady>Some amount of charm.

295
00:23:11.990 --> 00:23:19.820
<v Matt Godbolt>Fabulous, my friend. Well, I look forward to hearing your trip report about gaming on Linux some future episode.

296
00:23:19.820 --> 00:23:20.700
<v Ben Rady>Some future episode.

297
00:23:20.700 --> 00:23:24.150
<v Matt Godbolt>I've got some ideas up my sleeve as well for some cool things.

298
00:23:24.150 --> 00:23:24.440
<v Ben Rady>Okay.

299
00:23:24.440 --> 00:23:36.500
<v Matt Godbolt>So again, you know, we're totally abusing our poor audience. Well, I guess it's not abuse. They chose to come here. They've chosen to stay being here. And the kind of things we talk about, hopefully, are the things they're interested in.

300
00:23:36.500 --> 00:23:37.270
<v Matt Godbolt>We'll find out, I guess.

301
00:23:37.270 --> 00:23:37.580
<v Ben Rady>Yeah, we will.

302
00:23:37.580 --> 00:23:43.290
<v Matt Godbolt>All right. I'll see you next time.

303
00:23:43.290 --> 00:23:51.550
<v Ben Rady>Until next time.

304
00:23:51.550 --> 00:23:54.550
<v Matt Godbolt>Take care mate. Bye.

