WEBVTT

1
00:00:00.000 --> 00:00:03.700
Er is geen reden, zeker als je indie bent, is er misschien nog niet eens een reden om per se in Amsterdam te zitten.

2
00:00:04.140 --> 00:00:04.720
Nee, eigenlijk niet natuurlijk.

3
00:00:05.160 --> 00:00:07.340
Er is zelfs een reden om niet in Amsterdam te zitten.

4
00:00:08.140 --> 00:00:08.940
Haha, wat is dat?

5
00:00:10.140 --> 00:00:15.160
Nou ja, natuurlijk als je een indie bent en je werkt twee, drie jaar aan een game zonder inkomen

6
00:00:15.160 --> 00:00:19.800
en je weet niet of het gaat verkopen, dan wil je misschien niet dat je huur te hoog is, dus het is...

7
00:00:21.380 --> 00:00:23.000
Ja, dat is wel een goed punt, ja.

8
00:00:23.100 --> 00:00:29.060
Het is niet eens dat die heel veel creatieve industrie trekt op die manier, want het is toch onzeker soms.

9
00:00:33.720 --> 00:00:36.560
Welkom bij aflevering één van seizoen twee.

10
00:00:36.940 --> 00:00:41.260
Ja, het is eindelijk seizoen twee en is daar een echte reden voor.

11
00:00:41.340 --> 00:00:47.980
Niet echt, behalve dan dat het eerste seizoen zestien afleveringen is geweest.

12
00:00:48.880 --> 00:00:54.240
En ja, dat lijkt me een goed getal om zeg maar een seizoen mee af te ronden.

13
00:00:55.560 --> 00:00:57.960
Dus vandaar dat we nu met seizoen twee zijn begonnen.

14
00:00:58.620 --> 00:01:01.260
Versen start in het nieuwe jaar.

15
00:01:01.460 --> 00:01:03.920
Het is eigenlijk de tweede aflevering die we in het nieuwe jaar opnemen.

16
00:01:04.300 --> 00:01:08.540
Ik moet ook meteen opbichten dat de eerste aflevering van dit seizoen, van dit jaar,

17
00:01:08.880 --> 00:01:11.440
sorry, van dit jaar nog niet online staat.

18
00:01:12.100 --> 00:01:14.680
Het is een beetje mijn eigen schuld, dus dat moet ik nog even achteraan.

19
00:01:16.080 --> 00:01:17.320
Maar goed, seizoen twee.

20
00:01:17.820 --> 00:01:19.720
Ik ga er niet te veel woorden meer verder aan vuil maken.

21
00:01:20.240 --> 00:01:21.100
Het is wat het is.

22
00:01:21.520 --> 00:01:24.620
Als eerste een shout-out aan Salves.

23
00:01:24.620 --> 00:01:28.820
Die maken het mogelijk dat we online opnames kunnen doen via Zencaster.

24
00:01:29.360 --> 00:01:30.520
Dus bedankt Salves daarvoor.

25
00:01:31.660 --> 00:01:36.080
En vandaag zijn er twee hosts, ik en Bernhard.

26
00:01:37.740 --> 00:01:39.660
Ja, dus de bekende.

27
00:01:39.900 --> 00:01:40.640
Dus hoi Bernhard.

28
00:01:40.800 --> 00:01:41.920
Hey Saber.

29
00:01:42.360 --> 00:01:45.680
Ja ja ja, weer Magic Duo.

30
00:01:48.300 --> 00:01:53.840
Maar goed, we gaan maar meteen onze eerste gast, of onze enige en eerste gast,

31
00:01:54.360 --> 00:01:57.240
voor vandaag gaan we introduceren.

32
00:01:57.960 --> 00:02:00.020
En dat is vandaag Thomas van den Berg.

33
00:02:00.280 --> 00:02:01.040
Welkom Thomas.

34
00:02:01.700 --> 00:02:02.740
Nou, dank je wel.

35
00:02:03.440 --> 00:02:05.700
Leuk om op jullie podcast te zijn.

36
00:02:06.140 --> 00:02:07.980
Zal ik mezelf er maar introduceren?

37
00:02:08.200 --> 00:02:08.780
Ja, dat mag.

38
00:02:09.860 --> 00:02:14.260
Ik ben game developer en ik weet niet precies hoe jullie mij gevonden hebben.

39
00:02:14.460 --> 00:02:15.460
Dat vind ik trouwens ook wel interessant.

40
00:02:16.240 --> 00:02:20.100
Maar ik ben dus op de podcast vanuit de hoek van het ontwikkelen van games.

41
00:02:20.100 --> 00:02:23.640
En daar komt natuurlijk ook een heleboel programmeren bij kijken.

42
00:02:24.020 --> 00:02:26.080
Ik doe mezelf ook een heleboel andere dingen aan de games,

43
00:02:26.160 --> 00:02:27.960
maar ik doe ook het programmeren aan de games.

44
00:02:29.060 --> 00:02:31.280
En ja, ik vind het ook altijd wel een interessant onderwerp

45
00:02:32.440 --> 00:02:36.140
waar binnen indie development ook niet heel veel over gepraat wordt.

46
00:02:36.220 --> 00:02:37.800
Het wordt soms ook al gezien als gewoon iets praktisch.

47
00:02:37.860 --> 00:02:41.220
Oh, je moet dingen een beetje programmeren zodat het werkt.

48
00:02:41.880 --> 00:02:45.140
En ja, toch leuk om daar eens over te praten op een podcast.

49
00:02:45.680 --> 00:02:46.080
Bedankt.

50
00:02:46.100 --> 00:02:49.620
Ja, zeker. Ik vind het echt wel een interessant onderwerp.

51
00:02:49.620 --> 00:02:53.680
En volgens mij was Bernard eens op jouw spoor gekomen.

52
00:02:53.880 --> 00:03:01.400
Ja, ik werk voor een aantal iPhone dingen overdag en met een team

53
00:03:01.400 --> 00:03:07.000
en een van die mensen die zijn van hey, dat en dat spel is nu goedkoop daar beschikbaar

54
00:03:07.000 --> 00:03:09.220
en dat is gemaakt gewoon gemaakt door Nederlander.

55
00:03:09.480 --> 00:03:13.800
Dus toen ben ik gaan kijken en toen heb ik dat uitgezocht en wie het dan was

56
00:03:13.800 --> 00:03:19.800
en contact met Thomas opgenomen omdat dat al een tijdje op onze wensenlijst staat.

57
00:03:20.160 --> 00:03:26.020
Echt een iemand die aan spelletjes programmeert en dat kan op indie-niveau zijn,

58
00:03:26.120 --> 00:03:28.220
maar ook Gryllia staat op onze verlanglijst.

59
00:03:28.600 --> 00:03:30.340
Dat gaat nog een keer gebeuren, denk ik.

60
00:03:31.500 --> 00:03:34.940
En ik heb zelf ook al spelletjes gemaakt ooit, maar dat is zo lang geleden.

61
00:03:35.400 --> 00:03:42.840
En ik ben benieuwd hoe dat is en dan kijk afhankelijk van hoe groot je teams zijn

62
00:03:42.840 --> 00:03:48.020
en kom je van heel andere uitdagingen te staan en Thomas is een indie-developer.

63
00:03:48.100 --> 00:03:53.580
Dus dat is heel anders dan bij Gryllia en wat mij betreft net zo interessant.

64
00:03:54.280 --> 00:03:59.140
Ja, zeker. Het is wel een interessante tegenstelling, denk ik.

65
00:03:59.280 --> 00:04:04.720
Je kan natuurlijk tegenwoordig in 2021 in je eentje ontzettend ver komen

66
00:04:05.340 --> 00:04:06.940
met de tools die er nu zijn.

67
00:04:06.940 --> 00:04:12.960
Je kunt dingen doen als one-man-team, wat 20 jaar geleden absoluut onmogelijk zou zijn.

68
00:04:13.740 --> 00:04:16.680
Aan de andere kant kan een studio zoals Gryllia natuurlijk nu dingen doen

69
00:04:16.680 --> 00:04:19.220
die ook mind-blowing zijn, maar dan met 200 man.

70
00:04:19.400 --> 00:04:22.140
Dus het is een leuke wereld nu.

71
00:04:23.220 --> 00:04:27.820
Ja, ja. Ja, zeker interessant. Hoe zeg je dat?

72
00:04:28.840 --> 00:04:30.340
Waar zijn we? Doe goed.

73
00:04:30.720 --> 00:04:36.560
Bernard en ik zijn misschien wat ouder, maar ik denk dat Bernard ouder is dan ik.

74
00:04:36.560 --> 00:04:37.520
Ja, dat denk ik ook.

75
00:04:38.000 --> 00:04:42.880
Ja, dat wist ik ook wel, maar ik vind het leuk dat hij het zelf bevestigt,

76
00:04:43.020 --> 00:04:44.280
want anders krijgen we dat.

77
00:04:44.960 --> 00:04:50.760
Maar goed, het begon natuurlijk, dat is natuurlijk altijd een beetje dat romantische beeld

78
00:04:50.760 --> 00:04:53.620
dat je zelf een spelletje verzint waar je heel succesvol mee werd.

79
00:04:54.440 --> 00:04:58.600
Misschien in de tijd van dat Atari 2600 en misschien daarvoor ook nog wel.

80
00:04:58.820 --> 00:05:03.120
Maar toen was het echt van een iemand die progemeert een spel en je wordt super succesvol.

81
00:05:05.580 --> 00:05:10.580
En ja, het leek zeg maar, en dat is zeg maar voor veel mensen dat het op een gegeven moment

82
00:05:10.580 --> 00:05:18.100
leek dat je echt alleen maar succesvol kon worden als je echt een heel groot team en een budget had.

83
00:05:19.000 --> 00:05:25.540
Maar die indie developers of de indie games, die zijn toch ook heel erg interessant.

84
00:05:25.900 --> 00:05:28.120
Ik weet niet, ja, misschien moeten we daar straks.

85
00:05:28.580 --> 00:05:30.280
Ja, ja, ja, we kunnen er straks ook nog op terugkomen.

86
00:05:30.280 --> 00:05:33.120
Het is denk ik, wat zou het zijn?

87
00:05:33.400 --> 00:05:37.900
15 jaar geleden of zo is er een soort nieuwe golf van indie developers gekomen.

88
00:05:38.740 --> 00:05:41.500
Daar zat bij Super Meat Boy.

89
00:05:41.600 --> 00:05:43.860
Daar heb je misschien wel van gehoord of World of Goo.

90
00:05:44.000 --> 00:05:46.900
Dat was een beetje zo de revival van de indie games.

91
00:05:47.100 --> 00:05:49.800
En sindsdien zijn er denk ik ook een heleboel mensen op afgekomen, waaronder ik zelf.

92
00:05:49.920 --> 00:05:52.660
Die zei, oh, je kan dit doen met echt weinig mensen.

93
00:05:53.300 --> 00:05:57.400
Daarvoor echt lang geleden, wat je zei Atari, waren natuurlijk ook kleine teams.

94
00:05:57.620 --> 00:05:59.920
Dan waren het enthousiastelingen die het ook in een eendje deden.

95
00:06:00.380 --> 00:06:02.260
En daar tussenin is het denk ik gegroeid.

96
00:06:02.320 --> 00:06:04.980
Van die enthousiastelingen naar steeds grotere teams.

97
00:06:05.140 --> 00:06:09.080
Totdat er weer een soort nieuwe golf was van met nieuwe tools ook.

98
00:06:09.440 --> 00:06:10.920
Van dat je toch weer met een kleiner team kan doen.

99
00:06:11.120 --> 00:06:14.480
Maar ook op veel grotere games maken met een kleiner team.

100
00:06:15.740 --> 00:06:19.140
Ja, precies. Dat is niet per se de reden waarom ik het wel vervoel.

101
00:06:19.220 --> 00:06:21.000
Maar het is wel vooral.

102
00:06:21.000 --> 00:06:22.720
Ja, hoe zeg je dat?

103
00:06:22.780 --> 00:06:25.600
Het is toch iets van magisch dat je in je eendje iets maakt.

104
00:06:26.000 --> 00:06:29.840
Wat je in heel veel bereik mee hebt en heel veel mensen super gelukkig bij maakt.

105
00:06:29.840 --> 00:06:31.140
Dat is het eigenlijk ook.

106
00:06:31.220 --> 00:06:35.040
Het lijkt ook gewoon alsof je kan ingaan stappen en morgen beginnen.

107
00:06:35.260 --> 00:06:39.440
En dan ga je hard typen en dan heb je een spel gemaakt en dan succes.

108
00:06:41.220 --> 00:06:42.620
Ja, succes is natuurlijk nog het tweede.

109
00:06:43.000 --> 00:06:46.960
Maar als je morgen begint, kan je zeker binnen een dag een spel maken.

110
00:06:47.820 --> 00:06:48.300
Ja, Flappy Bird.

111
00:06:48.860 --> 00:06:53.580
Ja, de fascinatie natuurlijk vind ik van programmeren in het algemeen.

112
00:06:53.700 --> 00:06:57.200
Maar wat heel erg terugkomt bij spelen is die responsiviteit.

113
00:06:57.320 --> 00:06:59.540
Zeg maar, je maakt iets en wat jij hebt gemaakt,

114
00:06:59.540 --> 00:07:01.320
dan druk je op een knop en dan gebeurt er iets op je schermen.

115
00:07:01.420 --> 00:07:02.760
Dat is toch wel magisch.

116
00:07:03.240 --> 00:07:05.280
En dat is natuurlijk waar een spel helemaal over gaat.

117
00:07:06.720 --> 00:07:10.860
Gewoon interactiviteit die je zelf hebt gecreëerd en of andere mensen

118
00:07:10.860 --> 00:07:12.180
leuk vinden is dan natuurlijk nog een tweede.

119
00:07:12.720 --> 00:07:14.860
Maar de magie is er al vrij gaaf.

120
00:07:16.040 --> 00:07:16.940
Ja, dat is wel waar.

121
00:07:17.380 --> 00:07:22.500
Dat is meteen wel een goede en klein bruggetje naar de eerste vraag.

122
00:07:24.280 --> 00:07:28.020
En daarvan uit heb ik nog wel een andere vraag die kan stellen.

123
00:07:28.020 --> 00:07:30.900
Maar wat is hoe ben je er in gerold?

124
00:07:31.080 --> 00:07:34.140
Want ik heb wel wat wat dingetjes gelezen.

125
00:07:34.420 --> 00:07:36.260
Maar wat is jouw eerste programeer ervaring?

126
00:07:36.440 --> 00:07:40.040
Hoe ben jij begonnen met game development of überhaupt development?

127
00:07:40.800 --> 00:07:46.600
Nou, mijn eerste programeer ervaring, ik had een boek leren programmeren.

128
00:07:47.220 --> 00:07:49.760
Ik weet niet meer precies wat voor boek het was,

129
00:07:50.140 --> 00:07:53.480
maar daar heb ik gewoon alle code uit over getypt.

130
00:07:53.660 --> 00:07:57.800
En dat was dat was programmeren in Visual Basic in Word macro's.

131
00:07:57.800 --> 00:08:01.520
Dus je moest dan in Word een macro aanmaken en daarin kan je dan Visual Basic typen.

132
00:08:01.660 --> 00:08:05.120
Ik denk dat ze dat gedaan hadden, omdat dat een soort programeer omgeving is

133
00:08:05.120 --> 00:08:06.960
die iedereen in principe op zijn computer heeft staan.

134
00:08:07.260 --> 00:08:11.620
Je hoeft niet eerst een soort IDI te installeren of een compiler of wat dan ook.

135
00:08:12.180 --> 00:08:13.860
Het zal Windows 95 geweest zijn.

136
00:08:13.920 --> 00:08:16.300
In Word kon je gewoon macro's typen in Visual Basic.

137
00:08:16.940 --> 00:08:19.300
En dan kon je zo'n prompt oproepen waarin je een tekstje kan typen.

138
00:08:19.460 --> 00:08:21.860
Dus dan had je van die dingen als van hallo hoe heet je?

139
00:08:22.160 --> 00:08:24.100
Typ je je naam en dan zegt hij hallo Thomas, weet je wel.

140
00:08:24.720 --> 00:08:27.200
Dat was mijn eerste programeer ervaring, maar ik begreep er niks van.

141
00:08:27.200 --> 00:08:31.640
Ik diepte gewoon die code over en nou ja, dan had ik het programma en dan was ik.

142
00:08:32.040 --> 00:08:34.120
Dan zat er kleine spelletjes bij, dus die kon je dan spelen.

143
00:08:35.960 --> 00:08:40.920
Ja, dat pas later ben ik met Flash begonnen.

144
00:08:41.120 --> 00:08:44.580
En dat toen begon ik het echt te begrijpen en ook echt iets te maken waarvan ik zelf

145
00:08:44.580 --> 00:08:45.960
iets had bedacht en dit wil ik maken.

146
00:08:46.000 --> 00:08:50.400
En dan lukte dat ook, zeg maar, in plaats van dat je gewoon de stappen volgt van de tutorial.

147
00:08:50.960 --> 00:08:52.000
Wanneer was dit ongeveer?

148
00:08:52.600 --> 00:08:56.040
Het zal 2004 zijn geweest of zoiets.

149
00:08:56.040 --> 00:08:57.340
2003, 2004.

150
00:08:57.400 --> 00:09:00.020
Wat waren echt de hoogtijd dagen van Flash?

151
00:09:01.360 --> 00:09:02.960
Ja, ja, ja.

152
00:09:03.040 --> 00:09:05.240
Je had ook veel van die Flash games website toen

153
00:09:06.760 --> 00:09:11.540
met Line Rider en zo en van die stick figures die dan met elkaar vochten.

154
00:09:11.680 --> 00:09:13.020
Weet je wel, ik weet niet of je dat nog weet.

155
00:09:14.960 --> 00:09:16.540
Ja, ja, ja, ja, ja.

156
00:09:16.540 --> 00:09:19.580
Ik heb daar iets iets daarvoor, zeg maar.

157
00:09:19.720 --> 00:09:20.700
Ik weet het niet.

158
00:09:20.920 --> 00:09:25.280
Voor mij in mijn geheugen was het 2000 is of 2001.

159
00:09:25.280 --> 00:09:26.960
Het is al ongeveer een beetje zo.

160
00:09:27.760 --> 00:09:29.580
Want er waren voor ons het is gek genoeg.

161
00:09:29.700 --> 00:09:32.140
Er was een het ging niet zo goed, zeg maar.

162
00:09:32.400 --> 00:09:33.940
Er was een soort van crisis kwam eraan.

163
00:09:34.000 --> 00:09:37.680
Dus we hadden binnen het bedrijf hadden we wat meer tijd zeg maar over.

164
00:09:38.000 --> 00:09:38.320
I see.

165
00:09:38.560 --> 00:09:44.640
We waren een internet toko en we hebben in die tijd echt

166
00:09:44.640 --> 00:09:48.280
heel veel Flash games langs die komen.

167
00:09:48.340 --> 00:09:52.160
Ook die kleine poppetjes dat je die herbals.

168
00:09:52.300 --> 00:09:53.460
Nee, hoe heet ze?

169
00:09:53.460 --> 00:09:54.060
Nou, whatever.

170
00:09:54.440 --> 00:09:56.220
Dat was allemaal heel grappige film animatie.

171
00:09:56.320 --> 00:09:57.120
Dat was niet eens een spelletje.

172
00:09:57.220 --> 00:09:58.640
Dus we hebben heel veel.

173
00:09:59.220 --> 00:10:02.200
Ja, dat je geluidjes kon mixen van die president van Amerika.

174
00:10:02.780 --> 00:10:03.540
Ja, ook.

175
00:10:03.800 --> 00:10:04.320
Ja, dingetjes.

176
00:10:04.400 --> 00:10:06.260
Dus dat was echt wel booming.

177
00:10:06.480 --> 00:10:08.860
En dat had je meer dan je had Flash en je had ook weet het andere.

178
00:10:08.940 --> 00:10:11.440
Ook van Macromedia, maar die had een andere direct.

179
00:10:12.260 --> 00:10:13.000
Shockwave of?

180
00:10:13.340 --> 00:10:13.860
Ja, Shockwave.

181
00:10:14.140 --> 00:10:15.040
Ja, precies.

182
00:10:16.000 --> 00:10:16.900
Dus dat was wel.

183
00:10:17.540 --> 00:10:18.620
Ja, het is wat je zei.

184
00:10:18.640 --> 00:10:22.820
Die animatie is wel grappig, want Flash gaf een soort omgeving waarin je een animatie kan maken.

185
00:10:22.820 --> 00:10:27.020
Maar je kan ook met twee regeltjes code daar wat interactiviteit aan toevoegen.

186
00:10:27.180 --> 00:10:30.140
Dus vandaar dat je heel veel van die dingen krijgt die een beetje zo ertussenin waren,

187
00:10:30.560 --> 00:10:34.580
zoals inderdaad dat je geluidjes kan mixen of een poppetje gewoon drie animaties kan

188
00:10:34.580 --> 00:10:35.300
laten doen.

189
00:10:35.500 --> 00:10:35.980
Dat is echt.

190
00:10:36.420 --> 00:10:38.280
Ja, ja, het is wel.

191
00:10:38.580 --> 00:10:40.500
Ja, het was echt super probleem.

192
00:10:40.820 --> 00:10:44.300
Dat is ook zeg maar de manier waarop jij in het game programmeren geraakt bent,

193
00:10:44.320 --> 00:10:49.100
want dat vond jij het leukst of heb je ook andere programmer ervaringen?

194
00:10:50.880 --> 00:10:54.800
Ja, ja, professioneel.

195
00:10:54.940 --> 00:10:57.860
Ik heb vervolgens ben ik AI gaan studeren.

196
00:10:59.260 --> 00:11:05.240
Daar zit natuurlijk ook wel het nodige programmeren bij ook statistisch programmeren enzo.

197
00:11:05.460 --> 00:11:08.240
Dus met ja en machine learning.

198
00:11:10.300 --> 00:11:12.960
Maar ondertussen ben ik altijd een beetje dat dat flash blijven doen.

199
00:11:13.060 --> 00:11:14.120
Daarnaast als het ware.

200
00:11:14.540 --> 00:11:16.940
En flash is ook een leuke manier om ook visueel iets te doen,

201
00:11:16.960 --> 00:11:19.080
want je kan snel iets tekenen en dan kan je dat laten bewegen.

202
00:11:19.080 --> 00:11:22.500
Dus je kan heel makkelijk zeg maar code en graphics bij elkaar brengen

203
00:11:22.500 --> 00:11:26.680
zonder dat je verstand hoeft te hebben van open GL moeilijke.

204
00:11:27.020 --> 00:11:28.820
Ja, ja, ja, ja.

205
00:11:30.240 --> 00:11:32.080
Dus zo ben ik daar langzaam ingerold.

206
00:11:33.080 --> 00:11:35.900
En op een gegeven moment heb ik dus een flash game gemaakt die heet Kingdom.

207
00:11:37.780 --> 00:11:40.300
Dat was nog steeds als een soort hobby projectje.

208
00:11:40.660 --> 00:11:42.060
Die werd toen redelijk veel gespeeld.

209
00:11:42.080 --> 00:11:45.000
Die stond op Newgrounds en die kreeg nogal veel spelers.

210
00:11:45.160 --> 00:11:47.100
En omdat die toen zo veel spelers kreeg, ben ik eigenlijk

211
00:11:47.100 --> 00:11:48.200
een soort van in de games gerold.

212
00:11:48.220 --> 00:11:49.680
Dacht ik, oh, dit is, dit is grappig.

213
00:11:49.780 --> 00:11:50.520
Dit vinden mensen leuk.

214
00:11:50.580 --> 00:11:53.840
Misschien kan ik misschien kan ik dit professioneel proberen te doen.

215
00:11:54.620 --> 00:11:56.920
Nou, dat is toen gelukt.

216
00:11:57.180 --> 00:11:57.620
Nou, tof.

217
00:11:59.320 --> 00:12:01.760
En ja, Saber, je wilde wat vragen.

218
00:12:01.960 --> 00:12:07.200
Ja, nog een site vraag zeg maar, omdat we natuurlijk wel eens met

219
00:12:07.200 --> 00:12:09.060
Verliener, zeg maar, die had het over leren programmeren.

220
00:12:09.100 --> 00:12:11.960
En dan is het juist met gaming.

221
00:12:12.000 --> 00:12:13.600
Dat geeft heel snel die feedback.

222
00:12:13.860 --> 00:12:14.960
Dus dat je daar.

223
00:12:15.570 --> 00:12:19.840
Dus het is juist een hele goede manier om in te stappen, zeg maar, als kind of

224
00:12:20.900 --> 00:12:26.100
beginner, om dan ja, toch heel snel satisfaction of hoe weet het, een

225
00:12:26.100 --> 00:12:28.200
voldoening te krijgen door wat je bouwt.

226
00:12:28.280 --> 00:12:31.800
Want als je nou iemand, mijn zoontje, als ik zeg, ik maak even een

227
00:12:31.800 --> 00:12:37.240
back-end service, zeg maar, voor een webshop en zonder UI, zeg maar,

228
00:12:37.500 --> 00:12:40.900
dan denk ik, ik denk dat die redelijk snel afhaakt, zeg maar.

229
00:12:40.980 --> 00:12:43.840
Terwijl als je zegt van, kun je bouwen een spelletje of zorg dat

230
00:12:43.840 --> 00:12:49.000
poppetje springt of whatever, dat speelt veel, veel beter.

231
00:12:49.060 --> 00:12:51.580
Dat spreekt veel beter tot de verbeelding.

232
00:12:51.780 --> 00:12:54.680
Dus dat is echt op zich wel een soort van goede gateway om

233
00:12:55.720 --> 00:12:57.680
zeker je speelt ook met je spelen te komen.

234
00:12:57.780 --> 00:13:01.420
Ja, je speelt zowel met het developpen als met het spel zelf.

235
00:13:01.480 --> 00:13:03.980
Zeg maar, je speelt soort van op twee niveaus.

236
00:13:04.020 --> 00:13:05.240
Je bent iets aan het maken.

237
00:13:05.380 --> 00:13:08.000
Wat een playfull proces is, zeg maar.

238
00:13:08.040 --> 00:13:10.280
En wat er uitkomt, daar kan je ook mee spelen.

239
00:13:10.280 --> 00:13:14.680
Je hebt ook dat scratch, dat is zo'n visuele taal.

240
00:13:15.940 --> 00:13:17.900
Dat is ook, als ik het zie, denk ik af en toe ja,

241
00:13:18.260 --> 00:13:20.160
maar het spelletje is ook die blokjes aan elkaar klikken.

242
00:13:20.280 --> 00:13:21.780
Het spelletje is niet alleen wat je er ermee maakt,

243
00:13:23.140 --> 00:13:23.940
maar het dingetje zelf.

244
00:13:24.920 --> 00:13:25.800
Dus ja, zeker.

245
00:13:25.800 --> 00:13:28.380
Ik vind het echt een hele goede manier om in te stap met programmeren.

246
00:13:29.020 --> 00:13:31.740
Ja, want als ik zelf denk aan mijn eerste programmeerdingen,

247
00:13:31.780 --> 00:13:36.180
dan ga je toch ook snel dingen maken die je terug ziet.

248
00:13:36.480 --> 00:13:39.240
Het eerste programma wat ik maakte was niet rekenen tienduizend

249
00:13:39.240 --> 00:13:40.140
de priemgetal uit.

250
00:13:40.940 --> 00:13:45.560
Nee, meer gewoon, weet je, maak iets wat leuk is en wat de bescherming

251
00:13:45.560 --> 00:13:46.920
je na een honderd keer toont.

252
00:13:47.260 --> 00:13:48.040
Ja, precies.

253
00:13:48.040 --> 00:13:50.480
Spreekt veel meer tot je verbeelding dan wat anders.

254
00:13:51.200 --> 00:13:51.700
Ja, zeker.

255
00:13:52.680 --> 00:13:54.960
Ik weet ook dat dat is trouwens wel grappig dat je dat zegt,

256
00:13:54.980 --> 00:13:59.560
want als in de tweede klas, nee, niet basisschool,

257
00:14:00.020 --> 00:14:02.620
middelbaar onderwijs, toen heb ik daar als ik programmeerde

258
00:14:02.620 --> 00:14:05.460
eerst Basic en toen heb ik wat Assembly geprogrammeerd.

259
00:14:05.880 --> 00:14:08.280
Toen dacht ik gewoon, ik ben askegoed joh, ik kan alles.

260
00:14:09.040 --> 00:14:11.580
Tweede klas, dus ik was denk dertien of zo, veertien,

261
00:14:11.600 --> 00:14:12.100
ik weet het niet eens.

262
00:14:12.960 --> 00:14:14.980
En toen dacht ik ook van ja, ik ga ook eens maken om

263
00:14:14.980 --> 00:14:16.800
om pie uit te rekenen.

264
00:14:17.100 --> 00:14:20.460
En toen ging ik even kijken naar wat er aan de algoritme

265
00:14:20.460 --> 00:14:24.740
daarachter zat en ik dacht, nou, die laat ik maar even schieten.

266
00:14:25.360 --> 00:14:26.880
Want dat was ik al afgehaakt.

267
00:14:26.920 --> 00:14:29.520
Stel dat dat mijn eerste tussendeelingsopdracht

268
00:14:29.520 --> 00:14:30.660
was geweest, dan was ik gewoon afgehaakt,

269
00:14:30.720 --> 00:14:31.540
dat weet ik vrij zeker.

270
00:14:32.160 --> 00:14:35.280
Dus dat is op zich wel wat je zegt, ja, dat visualeren,

271
00:14:35.280 --> 00:14:37.680
dat het helpt, af en toe wel zo'n wiskundig iets bouwen.

272
00:14:37.680 --> 00:14:41.820
Ja, dat denk ik niet dat je daar heel snel goed,

273
00:14:41.820 --> 00:14:45.420
er zullen zeker wel mensen zijn die dat wel als instap zien.

274
00:14:46.020 --> 00:14:47.920
Maar ik denk niet dat mensen dan op die manier heel snel

275
00:14:47.920 --> 00:14:48.880
zich gaan programmeren.

276
00:14:49.420 --> 00:14:52.040
Ik weet ook nog dat wij bij het programmeren op de universiteit

277
00:14:52.460 --> 00:14:55.260
moesten een soort salaris administratie systeem bouwen.

278
00:14:55.540 --> 00:14:57.980
Dat was ook niet sprak, ook niet heel erg tot de verbeelding.

279
00:14:58.540 --> 00:15:02.700
Nee, wij moesten op de universiteit iets maken

280
00:15:02.700 --> 00:15:09.300
wat je disc ging formateren en alle lege sectoren bij elkaar te zoeken

281
00:15:09.300 --> 00:15:12.900
en die dan dus de gevraagde te deviëren.

282
00:15:13.480 --> 00:15:16.000
Ja, dat was alleen leuk omdat we grafisch mochten doen op het scherm,

283
00:15:16.140 --> 00:15:20.360
dus dat je al die blokjes heen en weer zag schuiven en leeg achter elkaar.

284
00:15:20.760 --> 00:15:22.540
Dat was het leuke eraan.

285
00:15:23.000 --> 00:15:25.320
Als je dat nu zegt, dan denk ik, oh, dat klinkt eigenlijk wel leuk.

286
00:15:25.360 --> 00:15:27.160
Maar dat is natuurlijk ook iets wat je leert, zeg maar,

287
00:15:27.260 --> 00:15:29.180
dat dat soort problemen soms wel leuk zijn om op te lossen.

288
00:15:29.280 --> 00:15:30.620
Misschien als je daar weer begint, is het toch.

289
00:15:30.620 --> 00:15:31.300
Ja, ja, dat is ook zo.

290
00:15:31.320 --> 00:15:32.220
Waar ben ik mee bezig?

291
00:15:32.640 --> 00:15:36.880
Ja, maar je eigen gameplay ervaring.

292
00:15:37.700 --> 00:15:41.940
Wat is een van de eerste spellen waar je helemaal verzot op was?

293
00:15:43.300 --> 00:15:45.680
Ja, even kijken.

294
00:15:46.340 --> 00:15:49.660
Ik had, ik heb nog dos-spelletjes vrij veel gespeeld.

295
00:15:49.860 --> 00:15:51.100
We hadden iets dat heette Bumpy.

296
00:15:51.220 --> 00:15:54.900
Dan was je een soort ballonnetje en dan moest je over een soort spijkers heen springen.

297
00:15:56.520 --> 00:15:58.660
En we hadden een spel dat ik ook ontzettend leuk vond.

298
00:15:58.680 --> 00:15:59.440
Het was Push Over.

299
00:15:59.500 --> 00:16:02.200
Dan was je een mier en dan moest je domino steentjes verplaatsen.

300
00:16:02.220 --> 00:16:08.640
Ze allemaal laten omvallen en wat later Red Alert en zo vond ik ook fantastisch.

301
00:16:09.180 --> 00:16:12.300
En ja, ja, dat en spelen voorbij.

302
00:16:13.980 --> 00:16:18.680
Ja, heb je die als voorbeelden gediend voor of als inspiratie voor wat je wilde maken?

303
00:16:20.380 --> 00:16:22.840
Ik vond, ik vind dus realtime strategy spellen.

304
00:16:22.900 --> 00:16:24.380
Vind heb ik altijd heel leuk gevonden.

305
00:16:25.220 --> 00:16:28.600
Ja, het grappige is dat je dan gewoon allemaal kleine poppetjes op je schermen hebt.

306
00:16:28.740 --> 00:16:30.180
Die zijn gewoon allemaal iets aan het doen.

307
00:16:30.220 --> 00:16:32.120
Je kunt ergens heen sturen en dan kun je gewoon achteruit gaan

308
00:16:32.120 --> 00:16:33.600
zitten en dan blijven ze gewoon dingen doen.

309
00:16:33.920 --> 00:16:37.020
Eigenlijk ook een beetje wat grappig is als een computer iets voor je doet,

310
00:16:37.220 --> 00:16:39.120
van je zet het gewoon aan en het gaat allemaal dingen doen.

311
00:16:39.160 --> 00:16:40.220
Je gaat er gewoon er zitten kijken.

312
00:16:40.520 --> 00:16:42.820
Dat komt ook een beetje terug bij realtime strategy games.

313
00:16:43.160 --> 00:16:44.860
En Kingdom is ook een soort realtime strategy game,

314
00:16:44.880 --> 00:16:46.240
dus dat komt zeker wel een beetje terug.

315
00:16:46.780 --> 00:16:50.100
Gewoon het feit dat je kan gaan zitten kijken naar hoe allemaal.

316
00:16:50.140 --> 00:16:51.460
Ja, AI kun je het eigenlijk nauwelijks noemen,

317
00:16:51.680 --> 00:16:54.220
maar allemaal karakters op je schermen allemaal iets aan het doen zijn.

318
00:16:55.500 --> 00:16:58.220
En jij hebt dat in gang gezet en vervolgens ga je zitten kijken.

319
00:17:00.680 --> 00:17:02.200
Dat vind ik altijd wel fascinerend.

320
00:17:02.360 --> 00:17:03.380
Ja, dat is wel, ja.

321
00:17:04.220 --> 00:17:04.620
Cool.

322
00:17:05.140 --> 00:17:07.760
En dat is, ik heb Kingdom een paar keer gespeeld en dat

323
00:17:07.760 --> 00:17:09.040
geldt voor die hele Kingdom-race.

324
00:17:09.580 --> 00:17:10.760
Hoe ontwikkelt dat zich?

325
00:17:10.920 --> 00:17:14.060
Wordt die AI dan meer, minder?

326
00:17:14.780 --> 00:17:17.280
Die zijn eigenlijk, het is wel grappig,

327
00:17:17.520 --> 00:17:21.080
omdat in Kingdom kan je die poppetjes niet direct besturen.

328
00:17:21.580 --> 00:17:22.380
Alleen heel indirect.

329
00:17:22.600 --> 00:17:25.340
Dus je kan, je kan ze, ze gaan hun eigen taken doen.

330
00:17:25.460 --> 00:17:27.020
Ze hebben een soort eigen gedachte.

331
00:17:27.020 --> 00:17:29.940
Mijn idee was altijd, het is eigenlijk beter als ze niet zo slim zijn,

332
00:17:30.300 --> 00:17:33.000
want dan kan je als speler beter voorspellen wat ze gaan doen.

333
00:17:33.260 --> 00:17:35.380
Terwijl ze allemaal hele moeilijke redeneringen hebben over

334
00:17:35.380 --> 00:17:37.240
welke taak ze gaan doen en in welke volgorde,

335
00:17:37.600 --> 00:17:39.460
is het veel moeilijker om dat als speler ook te bedenken.

336
00:17:39.520 --> 00:17:42.040
Dus je wilt liever dat ze dom maar voorspelbaar zijn, dacht ik,

337
00:17:42.480 --> 00:17:43.520
dan dat ze heel slim zijn.

338
00:17:44.640 --> 00:17:47.380
En dat ik dan als developer een soort algoritme bedenker

339
00:17:47.380 --> 00:17:49.240
mee ze heel optimaal allemaal die taken gaan doen.

340
00:17:49.460 --> 00:17:52.340
Maar als speler denk je, waarom gaat die nou eerst naar links en dan naar rechts?

341
00:17:52.480 --> 00:17:54.200
Dan zijn ze maar liever gewoon een soort domme drones.

342
00:17:54.380 --> 00:17:54.980
Dat snap je niet.

343
00:17:54.980 --> 00:17:56.900
Maar ik krijg constant,

344
00:17:56.900 --> 00:17:59.420
krijg ik als feedback van spelers dat ze eigenlijk te dom zijn.

345
00:17:59.720 --> 00:18:01.760
Dus ik weet niet of dit een goede gedachte is.

346
00:18:05.160 --> 00:18:06.120
Op zich heel interessant.

347
00:18:07.800 --> 00:18:09.300
Ja, dan krijg je zo iets.

348
00:18:09.380 --> 00:18:11.120
Ik heb kit, ik heb kit, ik heb kit.

349
00:18:11.460 --> 00:18:13.220
Oh sorry, nee, nee, nee, maak me af.

350
00:18:13.360 --> 00:18:15.840
Nou, als ze bijvoorbeeld te slim zijn en krijg je zoiets als er,

351
00:18:15.840 --> 00:18:21.920
als er drie mannetjes zijn en die moeten drie dingen bouwen.

352
00:18:21.980 --> 00:18:23.320
En er komt er vier erbij.

353
00:18:23.660 --> 00:18:26.880
Dat ze dan tijdens het bouwen in een keer zich anders gaan verdelen over die taken.

354
00:18:27.040 --> 00:18:28.760
Dus dat er dan twee naar links gaan en een eentje naar rechts,

355
00:18:28.800 --> 00:18:30.020
terwijl de eerste twee naar rechts gaan.

356
00:18:30.240 --> 00:18:31.500
Omdat er een nieuwe bij is, is eigenlijk,

357
00:18:31.500 --> 00:18:33.200
is het dan efficiënter als ze zich anders verdelen,

358
00:18:33.280 --> 00:18:34.080
een soort load balancing.

359
00:18:34.920 --> 00:18:36.680
Maar voor de speler ziet dat er raar uit,

360
00:18:36.720 --> 00:18:39.600
want die denkt, waarom laat hij nou zijn hamer vallen midden in het werk

361
00:18:39.600 --> 00:18:40.600
en gaat hij iets anders doen?

362
00:18:41.140 --> 00:18:43.500
Dat is dan wel de optimale load balancing, zeg maar.

363
00:18:43.600 --> 00:18:47.920
Dus eigenlijk zijn ze dan heel slim, maar dat ziet er raar uit.

364
00:18:48.660 --> 00:18:49.480
Ja, dat is waar.

365
00:18:50.800 --> 00:18:52.040
Mensen zouden dat niet zo gauw doen.

366
00:18:52.040 --> 00:18:53.840
Die hebben toch geen verneiging om eerst iets af te maken

367
00:18:53.840 --> 00:18:55.100
en dan pas aan iets nieuws te beginnen.

368
00:18:57.620 --> 00:18:58.420
Ja, precies.

369
00:18:58.680 --> 00:19:00.060
Oh ja, zo is het wel, ja.

370
00:19:01.500 --> 00:19:04.460
Ik ken Kingdom dus niet, dus sorry daarvoor,

371
00:19:05.000 --> 00:19:06.380
maar het is een soort van RTS-game.

372
00:19:06.680 --> 00:19:08.580
Of kun je uitleggen wat Kingdom is?

373
00:19:09.820 --> 00:19:13.500
Het is een RTS-game, maar je speelt ook een karakter.

374
00:19:13.760 --> 00:19:15.700
Dus je kan niet vrij over de kaart kijken.

375
00:19:16.220 --> 00:19:18.980
Je loopt altijd met je karakter heen en weer, van links naar rechts.

376
00:19:19.040 --> 00:19:21.040
Het is een soort Mario perspectief, van de zijkant.

377
00:19:21.040 --> 00:19:24.860
En je karakter is een koning op een paard of een koningin.

378
00:19:25.100 --> 00:19:27.320
En het enige wat je kan doen is met muntjes gooien

379
00:19:27.320 --> 00:19:29.640
om jouw onderdane dingen te laten doen.

380
00:19:29.740 --> 00:19:31.840
Dus je loopt over je koninkrijkje heen,

381
00:19:32.040 --> 00:19:34.440
je verzamelt muntjes waar zij geld verdiend hebben

382
00:19:34.440 --> 00:19:36.900
en je geeft dat op andere plekken uit om muren te bouwen

383
00:19:38.520 --> 00:19:40.380
of boogschutters te bouwen.

384
00:19:40.820 --> 00:19:42.280
Een beetje in die zin een klassieke RTS-game.

385
00:19:42.860 --> 00:19:44.360
En als nachts komen er monsters uit het bos

386
00:19:44.360 --> 00:19:46.560
en dan moet je proberen zo lang mogelijk te overleven.

387
00:19:46.780 --> 00:19:48.220
Dat is eigenlijk de pitch.

388
00:19:49.140 --> 00:19:49.540
Cool.

389
00:19:49.540 --> 00:19:49.940
Ja.

390
00:19:50.640 --> 00:19:53.420
Maar is dat een...

391
00:19:53.420 --> 00:19:53.860
Hoe noem je het?

392
00:19:54.180 --> 00:19:55.980
Je hebt een RTS, maar je hebt ook van die God Games.

393
00:19:56.340 --> 00:19:57.620
Is dat een beetje...

394
00:19:58.540 --> 00:20:00.540
Ja, je hebt God Games.

395
00:20:01.240 --> 00:20:03.460
Het gaat een beetje die kant op omdat je niet inderdaad

396
00:20:03.460 --> 00:20:04.700
je mannetjes echt kan besturen.

397
00:20:04.840 --> 00:20:07.140
Ze hebben hun eigen wilde, dus in die zin gaat het een beetje die kant op.

398
00:20:07.520 --> 00:20:09.700
En het heeft veel weg van een tower defense,

399
00:20:09.860 --> 00:20:12.780
waarbij er dus de waves van vijanden aankomen

400
00:20:12.780 --> 00:20:15.160
en jij moet gewoon die waves verslaan, elke keer.

401
00:20:15.320 --> 00:20:17.400
Ja, ik was echt heel slecht in God Games.

402
00:20:17.980 --> 00:20:18.600
Ja, sorry.

403
00:20:19.060 --> 00:20:20.900
Black and white of...

404
00:20:20.900 --> 00:20:23.100
Ja, ook, maar god, hoe heet die Franse?

405
00:20:24.120 --> 00:20:25.940
Hij was echt heel populair.

406
00:20:26.820 --> 00:20:27.100
Populous? Nee?

407
00:20:27.840 --> 00:20:28.920
Ja, populus ook, ja.

408
00:20:29.560 --> 00:20:31.380
Daar heb ik echt nooit voortzonder kunnen spelen.

409
00:20:31.780 --> 00:20:32.660
En wat was er nog meer?

410
00:20:33.580 --> 00:20:34.920
Daarna was het wel iedere keer...

411
00:20:34.920 --> 00:20:37.960
Toen kreeg je ook steeds meer dat de AI veel slimmer werd.

412
00:20:39.280 --> 00:20:40.000
Oh, nou goed, dat maakt niet uit.

413
00:20:40.060 --> 00:20:40.900
Misschien kom ik wel op.

414
00:20:41.440 --> 00:20:44.780
Maar dat kwam bij mij nooit helemaal goed.

415
00:20:44.820 --> 00:20:46.300
Terwijl RTS, gewoon pure RTS,

416
00:20:46.300 --> 00:20:50.300
dat genre is een beetje weggezakt of zo.

417
00:20:50.300 --> 00:20:51.000
Ja, klopt.

418
00:20:51.700 --> 00:20:54.740
Want ik vind RTS echt tof, want Starcraft 2, zeg maar,

419
00:20:55.300 --> 00:20:57.460
dat is het meest recente die ik gespeeld heb.

420
00:20:58.340 --> 00:21:00.180
Dat is alweer een paar jaar geleden, natuurlijk, maar...

421
00:21:00.180 --> 00:21:01.840
Of natuurlijk niet, maar een paar jaar geleden.

422
00:21:02.260 --> 00:21:03.320
Maar dat vond ik echt tof.

423
00:21:03.480 --> 00:21:04.800
Ja, Red Alert heb je natuurlijk gespeeld.

424
00:21:05.600 --> 00:21:07.800
Dune, vroeger, wat had je nog meer?

425
00:21:07.940 --> 00:21:09.100
Nou goed, er waren best wel veel.

426
00:21:10.000 --> 00:21:12.780
Dus dat genre is echt wel, ja, vond ik ook wel...

427
00:21:12.780 --> 00:21:14.440
Ja, het klopt wat je zegt.

428
00:21:14.440 --> 00:21:19.260
Het genre is een beetje, ja, is niet meer zo groot als het vroeger was, natuurlijk.

429
00:21:19.860 --> 00:21:22.240
Red Alert 2 was natuurlijk echt een soort wereldhit.

430
00:21:22.720 --> 00:21:23.400
Ja, ja.

431
00:21:23.580 --> 00:21:25.160
Van gestoorde proporcies in die tijd.

432
00:21:25.520 --> 00:21:26.680
En nu is het toch...

433
00:21:26.680 --> 00:21:30.320
Ik denk dat het iets te maken heeft ook met pc-gamen in het algemeen.

434
00:21:30.380 --> 00:21:32.520
Dat het toch wordt ervaren als iets te hardcore.

435
00:21:32.640 --> 00:21:35.640
Dat je echt achter je pc moet gaan zitten met een muis en een toetsenbord.

436
00:21:36.040 --> 00:21:38.240
En heel veel heel snel op allemaal knoppen moet drukken.

437
00:21:38.400 --> 00:21:42.120
En dat vind je misschien, dat is toch risicovoller om zoiets te bouwen.

438
00:21:42.200 --> 00:21:43.460
Voor een kleinere groep in ieder geval.

439
00:21:43.460 --> 00:21:46.460
Dan als je gewoon met de controller achterover kan gaan zitten op de bank.

440
00:21:46.900 --> 00:21:49.240
Ja, ik denk dat je helemaal gelijk hebt.

441
00:21:49.440 --> 00:21:51.580
Want ik denk dat ze nu, zeg maar, sowieso...

442
00:21:51.580 --> 00:21:53.500
Het eerste, dat zeg ik natuurlijk als wijsneus.

443
00:21:53.540 --> 00:21:57.740
Maar ik vermoed dat ze nu bouwen voor de multiplatvorm.

444
00:21:57.780 --> 00:22:00.600
Dus dat ze zowel de console en de pc hebben.

445
00:22:01.020 --> 00:22:06.660
Dat je dan met één stuk software of ontwerp, dat je dan alles kunt...

446
00:22:08.180 --> 00:22:08.200
Ja, zeker.

447
00:22:08.220 --> 00:22:10.680
Ik denk zeker dat ze daar rekening mee houden van tevoren.

448
00:22:10.680 --> 00:22:16.620
Dat ze denken, ja, er zijn toch 50 miljoen Nintendo switches of zo.

449
00:22:17.220 --> 00:22:18.460
En Xbox en Playstation weet ik het niet.

450
00:22:18.540 --> 00:22:19.800
Maar dat is natuurlijk een gigantische aantal.

451
00:22:20.500 --> 00:22:23.000
En daar wil je toch ook een graadje van meepikken.

452
00:22:23.400 --> 00:22:24.280
Zeker, ja.

453
00:22:24.280 --> 00:22:25.200
Ja, bedoel, dat is echt bizar.

454
00:22:25.440 --> 00:22:26.420
Want wat nou het populairste...

455
00:22:26.420 --> 00:22:30.860
Toen is het volgens mij het meest populairste spel op de Nintendo Switch is.

456
00:22:31.220 --> 00:22:32.780
Mario Kart, wat voor het meest verkocht is.

457
00:22:33.540 --> 00:22:34.440
En wat heet dat andere spel?

458
00:22:34.680 --> 00:22:35.420
Waar ik echt...

459
00:22:35.420 --> 00:22:36.600
Ja, ik vind dat echt niks.

460
00:22:36.980 --> 00:22:37.520
Animal Crossing?

461
00:22:38.140 --> 00:22:38.500
Juist.

462
00:22:38.700 --> 00:22:39.580
Ja, ik vind dat niet niks.

463
00:22:39.580 --> 00:22:40.740
Ik moet het goed zeggen.

464
00:22:41.260 --> 00:22:42.040
Ik denk dat ik...

465
00:22:43.000 --> 00:22:44.880
Ik heb het bewust niet gekocht omdat ik dan denk...

466
00:22:44.880 --> 00:22:46.460
Oh shit, dan raak ik daar verslaafd aan.

467
00:22:46.760 --> 00:22:47.780
Dat wil ik even niet.

468
00:22:49.820 --> 00:22:50.140
Maar...

469
00:22:50.140 --> 00:22:51.980
Ja, ik had dat echt niet verwacht als je mij dat had verteld.

470
00:22:52.140 --> 00:22:53.920
Ja, dit wordt echt de hit, zeg maar, op de Switch.

471
00:22:54.000 --> 00:22:55.460
Dan had ik je echt voor gek verklaard.

472
00:22:55.620 --> 00:22:57.320
Voor Mario Kart was het voor mij...

473
00:22:57.320 --> 00:22:58.300
Ja, dat is gewoon no brainer.

474
00:22:58.380 --> 00:23:00.280
Dat is volgens mij altijd wel een succes.

475
00:23:01.160 --> 00:23:02.860
Animal Crossing is wel...

476
00:23:03.180 --> 00:23:05.280
Ja, ik denk dat de tijd er rijk voor was.

477
00:23:06.100 --> 00:23:09.560
Met iedereen die thuis zit en dan het liefst naar buiten zou willen.

478
00:23:09.560 --> 00:23:10.380
Dan heb je toch je eigen...

479
00:23:10.380 --> 00:23:12.840
Ik denk dat je meegespeeld heeft, zoiets.

480
00:23:13.240 --> 00:23:13.880
Ja, dat denk ik zeker.

481
00:23:13.880 --> 00:23:15.660
Ik denk dat die timing wel belangrijk was.

482
00:23:17.560 --> 00:23:19.940
Thomas, kan je wat vertellen over jouw ontwikkelstech...

483
00:23:19.940 --> 00:23:22.580
...voor bijvoorbeeld Kingdom of voor een meer recentere game...

484
00:23:22.580 --> 00:23:24.120
...als je dat liever wilt zien.

485
00:23:24.380 --> 00:23:24.780
Zeker.

486
00:23:26.340 --> 00:23:27.640
Ja, Kingdom was natuurlijk grappig...

487
00:23:27.640 --> 00:23:28.840
...want ik ben begonnen in Flash.

488
00:23:29.280 --> 00:23:30.180
Toen was het gewoon Flash.

489
00:23:30.340 --> 00:23:32.560
Dus dan schrijf je een ActionScript en dan heb je een compiler...

490
00:23:33.360 --> 00:23:36.200
...en dan heb je een SVF-file en die gooi je op een website.

491
00:23:38.660 --> 00:23:41.060
Daarna ben ik op een gegeven moment overgeschakeld naar Unity.

492
00:23:42.080 --> 00:23:44.820
En Unity is eigenlijk zo'n beetje de hele stack.

493
00:23:45.020 --> 00:23:48.120
Het is vrij magisch dat Unity gewoon knoppen heeft...

494
00:23:48.120 --> 00:23:50.140
...waarmee die zegt, nou, bouw dit spel maar voor een Xbox...

495
00:23:50.140 --> 00:23:53.200
...bouw het maar voor een iPhone, bouw het maar voor Android...

496
00:23:53.820 --> 00:23:56.660
...en 90% van de tijd werkt dat ook gewoon.

497
00:23:58.100 --> 00:24:00.320
Dus dan schrijf je in C-sharp in Unity.

498
00:24:02.780 --> 00:24:05.280
Meestal C-sharp van een paar jaar geleden...

499
00:24:05.280 --> 00:24:09.420
...want zij hebben een soort eigen interpreter die ze op to date moeten houden.

500
00:24:10.220 --> 00:24:13.280
Dus al dat er nieuwe features zijn, dan kan je die pas een paar jaar later gebruiken.

501
00:24:13.340 --> 00:24:15.080
Maar goed, daar ben je aan gewend.

502
00:24:15.340 --> 00:24:20.620
En dan bouwt die een executable voor het platform waarvoor je dat wil bouwen.

503
00:24:22.320 --> 00:24:24.580
En dat is super eigenlijk.

504
00:24:25.200 --> 00:24:26.380
Dat klinkt heel magisch.

505
00:24:27.040 --> 00:24:32.500
En dat platform specifiek maken, is dat dan nog weinig werk?

506
00:24:32.500 --> 00:24:36.680
Of valt het tegen? Ben je nog veel aan het tweaken per platform?

507
00:24:37.540 --> 00:24:40.780
Je bent wel veel aan het tweaken, maar dat gaat natuurlijk vooral om de user experience.

508
00:24:40.920 --> 00:24:44.680
Je wil dat het voelt alsof het echt voor dat platform gemaakt is.

509
00:24:45.400 --> 00:24:49.520
Dus op een iPhone wil je zorgen dat al die touch interacties helemaal kloppen.

510
00:24:49.740 --> 00:24:52.340
Dat die ook samenwerkt met alle features van het OS.

511
00:24:52.480 --> 00:24:56.920
Dus als je vraagt of de speler iets wil delen...

512
00:24:56.920 --> 00:24:59.880
...dat je dat dan met een native OS-dialog vraagt en zo.

513
00:24:59.940 --> 00:25:01.800
Dat soort dingen. Daar ben je toch wel veel tijd aan kwijt.

514
00:25:03.740 --> 00:25:05.800
Ik werk nu ook aan controller support.

515
00:25:05.960 --> 00:25:10.340
Dus dan moet je zorgen dat al die knoppen op een controller goed werken...

516
00:25:10.340 --> 00:25:12.440
...en de goede dingen doen en zo. Dat kost tijd.

517
00:25:14.020 --> 00:25:16.440
Eigenlijk ben ik verbaasd met al dat hoe goed het gaat.

518
00:25:16.960 --> 00:25:19.660
En ook omdat als je bijvoorbeeld naar iOS bouwt...

519
00:25:19.660 --> 00:25:24.940
...wat zij doen is, zij compilen dan C-Sharp naar de Intermediate Language.

520
00:25:25.140 --> 00:25:27.320
Dat heet dat. Een soort van de bytecode van C-Sharp.

521
00:25:27.620 --> 00:25:29.740
En dat compilen ze dan naar C++.

522
00:25:29.740 --> 00:25:35.880
En dat laten ze dan door Xcode compilen naar een executable telefoon.

523
00:25:36.680 --> 00:25:38.720
En het is best wel crazy dat het werkt.

524
00:25:39.840 --> 00:25:43.360
Want je kan ook die C++ code dan inzien...

525
00:25:43.360 --> 00:25:45.640
...waar het natuurlijk totaal onleesbaar is geworden.

526
00:25:46.220 --> 00:25:50.440
Want je moet waarschijnlijk nog allemaal provisioning profiles...

527
00:25:50.440 --> 00:25:53.060
...en credentials gaan toevoegen in Xcode.

528
00:25:53.780 --> 00:25:55.460
Ja, klopt. Je bouwt een Xcode project...

529
00:25:55.460 --> 00:25:58.040
...en dan kun je in Xcode de provisioning doen.

530
00:25:58.040 --> 00:26:02.440
Maar dan heb je dus in Xcode een project met C++ source...

531
00:26:02.440 --> 00:26:04.480
...die gegeneerd is door Unity.

532
00:26:05.240 --> 00:26:08.160
Ah, oké. Nou, dat is best macro maken.

533
00:26:08.640 --> 00:26:11.040
Ja, oké. Want ik dacht dat er een...

534
00:26:11.720 --> 00:26:14.960
Ja, goed, ik bouw .NET.

535
00:26:15.140 --> 00:26:17.220
Ik ben dus ook C-Sharp-developer.

536
00:26:18.380 --> 00:26:20.480
Maar ik dacht dat dat...

537
00:26:20.830 --> 00:26:22.840
Nou, je had een head-of-time compiler...

538
00:26:22.840 --> 00:26:26.180
...maar dat is meer de Xamarin-verhaal en Mono.

539
00:26:26.180 --> 00:26:29.580
Ik dacht dat dat vanuit daar al rechtstreeks, zeg maar, naar...

540
00:26:29.580 --> 00:26:31.640
Vroeger was dat zo. Vroeger hadden ze inderdaad...

541
00:26:31.640 --> 00:26:33.860
...dan deden ze het inderdaad met een Mono runtime...

542
00:26:33.860 --> 00:26:35.460
...en een head-of-time compiler.

543
00:26:35.900 --> 00:26:39.180
Maar op één moment zijn ze overgeschakeld naar die C++ manier.

544
00:26:39.220 --> 00:26:41.220
Ik weet niet meer precies waarom dat toen was.

545
00:26:41.360 --> 00:26:46.180
Maar is dat LLVM of is dat die...

546
00:26:46.840 --> 00:26:47.820
Ik weet het volgens mij niet.

547
00:26:48.780 --> 00:26:50.140
Ik weet eigenlijk niet hoe ze dat doen.

548
00:26:50.240 --> 00:26:51.720
Volgens mij hebben ze hun eigen ding gebouwd.

549
00:26:51.940 --> 00:26:55.180
Het heet IL2CPP, Intermediate Language 2C++...

550
00:26:55.180 --> 00:26:57.260
...en dat zet, zeg maar, die...

551
00:26:57.700 --> 00:27:00.160
Nou, ik vind het wel stoer.

552
00:27:00.860 --> 00:27:01.940
Ik vond dat toen ik het voor het eerst dacht...

553
00:27:01.940 --> 00:27:03.280
...ik ook, dit kan toch niet goed gaan.

554
00:27:03.420 --> 00:27:05.420
Je gaat gewoon...

555
00:27:06.020 --> 00:27:06.740
Hoe zeg je dat?

556
00:27:07.620 --> 00:27:09.120
Maar goed, ze heeft me ook alweer iets geleerd...

557
00:27:09.120 --> 00:27:10.460
...over hoe code werkt.

558
00:27:10.660 --> 00:27:12.780
Je denkt natuurlijk, ja, die features komen helemaal niet overeen.

559
00:27:12.920 --> 00:27:14.580
C Sharp heeft een garbage collector.

560
00:27:14.980 --> 00:27:17.320
C++ niet. Maar ze hebben dus gewoon...

561
00:27:17.320 --> 00:27:20.400
...die garbage collector geïmplementeerd in C++.

562
00:27:22.260 --> 00:27:23.700
Ja, dat kan ook, ja.

563
00:27:23.880 --> 00:27:24.280
Klopt.

564
00:27:24.280 --> 00:27:25.800
Dus als je maar genoeg...

565
00:27:25.800 --> 00:27:26.460
Hoe zeg je dat?

566
00:27:28.000 --> 00:27:30.180
Mensen erop kan zetten, dan kun je zoiets bouwen.

567
00:27:30.900 --> 00:27:31.400
Ja, precies.

568
00:27:31.700 --> 00:27:32.620
Dat is wel waar.

569
00:27:34.320 --> 00:27:35.560
Er is een business case.

570
00:27:35.720 --> 00:27:37.180
Dat geloof ik zeker wel.

571
00:27:37.680 --> 00:27:39.120
En er zijn ook wel een paar knappe koppen...

572
00:27:39.120 --> 00:27:40.720
...die hebben we even gedacht, weet je wat?

573
00:27:40.840 --> 00:27:41.640
Dat kunnen we wel.

574
00:27:42.760 --> 00:27:44.380
En als dat goed werkt...

575
00:27:44.380 --> 00:27:45.640
...dat zal zeker wel een reden voor zijn.

576
00:27:45.700 --> 00:27:47.060
Ik vind dat wel interessant.

577
00:27:47.560 --> 00:27:48.580
Dat wist ik niet.

578
00:27:48.580 --> 00:27:50.580
En voor welke platforms heb jij...

579
00:27:53.260 --> 00:27:54.120
...gebouwd uiteindelijk?

580
00:27:54.280 --> 00:27:55.000
En in welke volgorde?

581
00:27:55.160 --> 00:27:55.920
Hoe bepaal je dat?

582
00:27:56.940 --> 00:27:58.540
Wat voor platforms je als target kiest?

583
00:27:59.240 --> 00:27:59.520
Ja.

584
00:27:59.940 --> 00:28:01.720
Dus het hangt van de platform zelf af.

585
00:28:01.880 --> 00:28:03.480
Dus voor Kingdom zijn we begonnen met PC.

586
00:28:03.620 --> 00:28:05.800
Want PC is een platform waar je...

587
00:28:06.960 --> 00:28:07.800
...heel vrij bent.

588
00:28:08.740 --> 00:28:09.680
Steam heet dat dan.

589
00:28:10.480 --> 00:28:12.240
Het grootste platform voor PC games.

590
00:28:13.700 --> 00:28:14.440
Je kan op elk moment...

591
00:28:14.440 --> 00:28:15.520
...een nieuwe beeld maken.

592
00:28:15.520 --> 00:28:17.740
En binnen vijf minuten is die live op Steam.

593
00:28:17.880 --> 00:28:19.760
En heeft iedereen die update automatisch ge-download.

594
00:28:20.140 --> 00:28:21.580
Dus als mensen een bug hebben...

595
00:28:21.580 --> 00:28:23.280
...dan gaan ze hier gewoon lastig vallen op Twitter.

596
00:28:23.780 --> 00:28:25.060
Dan ga je die bug fixen.

597
00:28:25.280 --> 00:28:27.300
En dan binnen een kwartier kunnen zij een patch hebben.

598
00:28:27.360 --> 00:28:29.740
En dat is heel fijn, want je bent in die zin...

599
00:28:29.740 --> 00:28:30.320
...heel vrij.

600
00:28:33.500 --> 00:28:35.120
Om ook snel te ontwikkelen.

601
00:28:35.840 --> 00:28:37.920
Als het dan het spel een beetje zich uitgekristalliseerd heeft...

602
00:28:37.920 --> 00:28:38.840
...tenminste zo werkt het bij mij...

603
00:28:38.840 --> 00:28:40.020
...dan ga je naar de platforms.

604
00:28:42.420 --> 00:28:44.760
Daar zitten natuurlijk onderhandelingen aan vast.

605
00:28:44.760 --> 00:28:47.040
En dan hangt het er een beetje vanaf...

606
00:28:47.040 --> 00:28:48.040
...wie er meer interesse heeft.

607
00:28:48.180 --> 00:28:50.940
Of wie er de beste voorwaarden weet te bieden.

608
00:28:51.660 --> 00:28:52.920
Met Kingdom hebben we eerst...

609
00:28:52.920 --> 00:28:53.580
...Xbox gedaan.

610
00:28:54.080 --> 00:28:56.100
Toen tegelijkertijd met Xbox op iOS.

611
00:28:56.220 --> 00:28:57.340
Want dat heb je ook in eigen handen.

612
00:28:57.920 --> 00:28:59.980
Op iOS kan je gewoon een spel uploaden.

613
00:29:00.180 --> 00:29:02.560
En toen later zijn we alle andere consoles afgegaan.

614
00:29:03.680 --> 00:29:04.940
Dus Nintendo Switch ook.

615
00:29:05.040 --> 00:29:06.100
En Playstation ook.

616
00:29:07.020 --> 00:29:09.140
En Android zat ook nog ergens daar in die volgorde.

617
00:29:09.180 --> 00:29:10.240
Maar ik weet niet meer precies wanneer.

618
00:29:10.240 --> 00:29:11.060
Nee, nee, nee.

619
00:29:12.880 --> 00:29:13.280
Cool.

620
00:29:14.200 --> 00:29:15.320
Ja, dat is wel gaaf.

621
00:29:16.500 --> 00:29:18.280
Dat is allemaal vanuit Unity gedaan.

622
00:29:18.680 --> 00:29:20.100
Ja, dat is allemaal vanuit Unity gedaan.

623
00:29:21.060 --> 00:29:22.040
En ook voor een nadelen.

624
00:29:22.120 --> 00:29:23.520
Ik heb ook wel eens een keer...

625
00:29:23.520 --> 00:29:24.720
...dat de beeld gewoon niet gelukt was.

626
00:29:24.780 --> 00:29:25.800
Dus er was een lege directory.

627
00:29:25.940 --> 00:29:28.500
Maar het was vrijdagmiddag en ik drukte zo op upload naar Steam.

628
00:29:29.080 --> 00:29:31.320
En ik had niet echt het beeld script goed geprogrammeerd.

629
00:29:31.400 --> 00:29:34.340
Dus als hij een lege directory vindt, gaat hij gewoon een lege directory uploaden.

630
00:29:34.700 --> 00:29:36.900
Dus had ik zo op 100.000 spelers...

631
00:29:36.900 --> 00:29:38.240
...en computers dat spel verwijderd.

632
00:29:39.580 --> 00:29:41.300
Daar klaagt hij ook niet over.

633
00:29:41.860 --> 00:29:42.140
Nee.

634
00:29:43.800 --> 00:29:45.820
Ja, dat krijg je ook binnen een minuut.

635
00:29:45.920 --> 00:29:47.660
Iemand die zegt, hey, dit spel doet het niet.

636
00:29:48.540 --> 00:29:49.900
Daar leer je wel van, denk ik.

637
00:29:51.900 --> 00:29:52.700
Ja, dat is wel grappig.

638
00:29:53.200 --> 00:29:55.280
Ja, dat zou op Xbox natuurlijk niet kunnen.

639
00:29:55.320 --> 00:29:56.440
Want dan stuurt het echt naar Microsoft.

640
00:29:56.600 --> 00:29:57.840
Dan gaan zij testen.

641
00:29:57.900 --> 00:29:59.540
Dan zeggen ze, oké, dit spel is goed.

642
00:29:59.620 --> 00:30:01.780
Zitten er geen bugs in en dan pas kun je het releasen.

643
00:30:02.300 --> 00:30:05.580
Hoe lang is die releaseslag daar dan?

644
00:30:05.780 --> 00:30:06.780
Nou, dat duurt best een tijdje.

645
00:30:07.440 --> 00:30:08.980
Ze hebben allemaal regeltjes.

646
00:30:09.860 --> 00:30:10.660
En dat wordt wel beter.

647
00:30:10.760 --> 00:30:11.920
Maar vroeger was dat wel vrij streng.

648
00:30:12.040 --> 00:30:14.040
Dan moest je ook, weet je wel.

649
00:30:14.420 --> 00:30:17.380
Als de speler tijdens het spel de stekker eruit trekt,

650
00:30:17.400 --> 00:30:18.560
hoe gaat je spel er dan mee om?

651
00:30:19.020 --> 00:30:21.120
Of als de batterijen leeg raken van de controller,

652
00:30:21.180 --> 00:30:21.980
hoe gaat het spel er mee om?

653
00:30:22.060 --> 00:30:24.340
Er is dan een lijst van 500 dingen.

654
00:30:25.500 --> 00:30:26.780
Dat gaan ze allemaal testen.

655
00:30:27.000 --> 00:30:28.980
Dus dan komen ze echt met van die dingen van,

656
00:30:29.420 --> 00:30:32.060
ja, als de Xbox loskoppelt van het internet,

657
00:30:32.120 --> 00:30:34.500
maar je locht dan online op de Microsoft uit uit je account

658
00:30:34.500 --> 00:30:35.940
en dan prik je de Xbox er weer in,

659
00:30:35.940 --> 00:30:36.720
wat gebeurt er dan?

660
00:30:36.840 --> 00:30:38.940
Want dan is de user uitgelogd en dan zit je zo echt

661
00:30:39.460 --> 00:30:40.500
en dan vaal je er op.

662
00:30:40.580 --> 00:30:41.800
Dus dan moet je dat fixen en het opnemen.

663
00:30:41.800 --> 00:30:43.360
Dat kan wel een maand duren, dat proces.

664
00:30:43.860 --> 00:30:44.840
Een half maand.

665
00:30:45.040 --> 00:30:45.220
Jeetje.

666
00:30:45.480 --> 00:30:46.180
Oh, wauw.

667
00:30:47.360 --> 00:30:48.340
Maar het is, ja.

668
00:30:48.480 --> 00:30:50.580
Oh, dat, inderdaad.

669
00:30:50.860 --> 00:30:52.540
Ja, dan moet je altijd even inpannen in de kalender.

670
00:30:52.640 --> 00:30:53.900
Dus als je een bepaalde release date hebt,

671
00:30:53.960 --> 00:30:55.960
dan moet je nog door dat proces van certificatie.

672
00:30:56.320 --> 00:30:56.740
Ja, ja, ja.

673
00:30:56.740 --> 00:30:57.540
Ah, oké.

674
00:30:57.680 --> 00:30:58.260
Ja, goed zeg.

675
00:30:58.380 --> 00:30:59.880
Maar goed voor de spelers uiteindelijk, natuurlijk.

676
00:31:00.900 --> 00:31:01.220
Ja.

677
00:31:01.680 --> 00:31:03.560
Ja, ja, maar het betekent wel dat

678
00:31:03.560 --> 00:31:06.920
ja, de deadline, je moet de maanden eerder klaar zijn.

679
00:31:07.580 --> 00:31:09.700
En dan, maar hopen dat er niet iets heel ergs uitkomt,

680
00:31:09.840 --> 00:31:12.520
waar je nog weer, ja, nog een keer het rondje moet doen.

681
00:31:13.320 --> 00:31:14.140
Ja, ja.

682
00:31:14.140 --> 00:31:16.400
Maar het is ook wel een beetje waarvoor je een console koopt, denk ik.

683
00:31:16.740 --> 00:31:17.960
Gewoon de nul hassle.

684
00:31:18.400 --> 00:31:18.760
Ja.

685
00:31:19.280 --> 00:31:19.640
Ervaring.

686
00:31:19.800 --> 00:31:21.140
Gewoon, je kan eigenlijk alles ermee doen.

687
00:31:21.600 --> 00:31:23.600
En het spel gaat nooit stuk, het crash night.

688
00:31:24.880 --> 00:31:25.800
Ja, dat is wel waar.

689
00:31:26.040 --> 00:31:27.480
Ja, dat sta je, ja.

690
00:31:27.760 --> 00:31:30.400
Ja, weet je, mensen zeuren makkelijk.

691
00:31:30.480 --> 00:31:32.340
Ja, dat zul jij waarschijnlijk ervaren.

692
00:31:33.980 --> 00:31:35.540
Nou ja, dat weet ik echt niet.

693
00:31:36.240 --> 00:31:36.600
Ja.

694
00:31:37.080 --> 00:31:42.540
Maar dat is echt, ja goed, er zijn natuurlijk wel wat blamages de laatste tijd.

695
00:31:42.720 --> 00:31:44.400
Vooral met, ja, Cyberpunk bijvoorbeeld.

696
00:31:44.660 --> 00:31:45.040
Ja.

697
00:31:45.740 --> 00:31:47.680
Dat is echt niet helemaal goed gegaan.

698
00:31:48.000 --> 00:31:53.040
En mensen, ja, weet je, tuurlijk of vanuit, hoe heet ze, Project Red,

699
00:31:53.820 --> 00:31:57.640
is het ook niet helemaal, ja, goed gemanagd, denk ik.

700
00:31:57.760 --> 00:32:00.760
Of, ja, ik weet niet hoe dat is, hoe je dat moet zien.

701
00:32:01.840 --> 00:32:05.320
Maar ja, ze hebben natuurlijk al een beetje, weet je dat,

702
00:32:05.640 --> 00:32:08.720
ze hebben zich impopulair gemaakt doordat er bleek dat die developers

703
00:32:08.720 --> 00:32:11.840
heel erg onder druk zijn gezet om die deadline te halen.

704
00:32:12.580 --> 00:32:14.760
En uiteindelijk, als het product dan zeg maar geleverd wordt,

705
00:32:14.860 --> 00:32:17.180
dan blijkt het heel veel vol te zitten met bugs.

706
00:32:17.380 --> 00:32:20.660
Ja, dan krijg je, in één kant willen de developers die zitten heel even

707
00:32:20.660 --> 00:32:23.540
te pushen van ja, ik wil nu dat spel, ik wil nu dat spel.

708
00:32:23.940 --> 00:32:24.740
En dan wordt het gereleased.

709
00:32:24.760 --> 00:32:27.360
Dat is natuurlijk ook een soort van onder druk van die spelen,

710
00:32:27.480 --> 00:32:28.880
of de gamers die het spel willen hebben.

711
00:32:28.880 --> 00:32:32.440
En dan zitten er bugs in en dan krijg je weer die gamers over je heen,

712
00:32:32.500 --> 00:32:33.560
want de spul is niet goed genoeg.

713
00:32:33.660 --> 00:32:36.100
Dus dat is in ieder geval, je doet het bijna nooit goed.

714
00:32:37.400 --> 00:32:41.360
En ja, dat is wel, ja, ik vind het wel voor een hele grote groep,

715
00:32:41.360 --> 00:32:43.580
vooral voor de developers, het lijkt het me wel zuur, zeg maar.

716
00:32:43.780 --> 00:32:50.360
Je hebt niet voor niks zoveel tijd en doet zweet en tranen erin gestoken.

717
00:32:51.400 --> 00:32:52.640
En dan ja.

718
00:32:52.880 --> 00:32:56.620
Ja, bij de doelgroep, zeg maar, die zichzelf beschrijft als gamers,

719
00:32:56.620 --> 00:33:01.780
is er wel vaak een soort gevoel van, hoe heet dat in Nederlands?

720
00:33:02.260 --> 00:33:02.880
Entitlement ofzo.

721
00:33:03.320 --> 00:33:05.180
Ja, precies, ik wilde net zeggen, ja, entitlement, ja.

722
00:33:05.280 --> 00:33:08.040
Ja, dat is wel echt wat er, ja.

723
00:33:08.100 --> 00:33:10.000
Dat kan je over je heen krijgen, inderdaad, soms.

724
00:33:10.120 --> 00:33:14.020
En dat hebben de, die, dat heeft Project Red wel, denk ik, echt ook gehad.

725
00:33:14.180 --> 00:33:17.920
En wat je zei over crunch, dat is ook altijd in de game development wereld

726
00:33:17.920 --> 00:33:21.700
wel een ding, want de crunch kan wel soms serieus zijn.

727
00:33:22.760 --> 00:33:25.180
Het zijn ook vaak mensen die natuurlijk wel echt passie hebben voor wat ze doen,

728
00:33:25.180 --> 00:33:28.560
dus die willen dan vaak ook op het laatste moment nog een bepaalde feature in stoppen.

729
00:33:28.600 --> 00:33:32.580
Het is niet helemaal onvrijwillig, maar in een heel groot bedrijf kan je wel voorstellen

730
00:33:32.580 --> 00:33:35.480
dat het hangt er ook een beetje van af hoe je dat plant,

731
00:33:35.480 --> 00:33:37.800
want je kan natuurlijk zo'n deadline hebben die steeds wordt uitgesteld,

732
00:33:37.840 --> 00:33:40.260
dus dat al die developers denken, dan oké, laatste maand,

733
00:33:40.380 --> 00:33:43.320
ik ga mijn favoriete feature nog bouwen, dan is het niet de laatste maand,

734
00:33:43.340 --> 00:33:45.460
dan komt er nog een maand en dan komt er nog een maand.

735
00:33:47.100 --> 00:33:50.340
Ja, ja, ja. Ja, dat klopt wel.

736
00:33:50.440 --> 00:33:53.680
Dat wordt wel een, ja, het stomt je af ofzo.

737
00:33:53.680 --> 00:33:55.660
Of je wordt cynisch, dan denk je, ja, het zal wel,

738
00:33:55.740 --> 00:33:57.000
dit is toch niet de laatste maand meer.

739
00:33:57.480 --> 00:33:59.160
Ik denk dat dat ook wel iets doet met je.

740
00:33:59.820 --> 00:34:00.580
Maar hoe zit dat trouwens?

741
00:34:01.780 --> 00:34:03.800
Is daar een verschil in bij indie development

742
00:34:04.900 --> 00:34:09.060
en als je developer bent bij een heel groot game developer?

743
00:34:10.000 --> 00:34:11.280
Ga je anders om met die crunch?

744
00:34:12.620 --> 00:34:13.640
Ja, dat is een goede vraag.

745
00:34:13.840 --> 00:34:15.380
Ik heb zelf nooit bij een groot bedrijf gewerkt,

746
00:34:15.400 --> 00:34:18.400
dus ik kan niet met zekerheid zeggen hoe het daar aan toe gaat.

747
00:34:19.580 --> 00:34:21.960
Voor mezelf hou ik het redelijk in check, zeg maar.

748
00:34:21.960 --> 00:34:23.960
Kijk, er zijn natuurlijk weken vlak voor een launch

749
00:34:23.960 --> 00:34:25.040
dat je echt veel werkt,

750
00:34:25.620 --> 00:34:28.620
maar het soort verhalen van, zeg maar, onder je bureau slapen,

751
00:34:29.160 --> 00:34:31.120
dat komt bij mij in ieder geval niet voor.

752
00:34:31.520 --> 00:34:32.980
Maar goed, als je op je slaapkamer werkt,

753
00:34:33.540 --> 00:34:35.060
dan slaap je sowieso op je bureau.

754
00:34:37.400 --> 00:34:39.120
Maar je hoort natuurlijk wel echt soort horescenario's

755
00:34:39.720 --> 00:34:40.720
van die crunch dingen.

756
00:34:41.280 --> 00:34:43.900
En als indie developer elkaar dat iets beter in de gaten houden.

757
00:34:45.460 --> 00:34:48.240
Ja, je bent dezelfde die het in de gaten moet houden.

758
00:34:48.240 --> 00:34:52.000
En je moet het er wel voor kunnen houden.

759
00:34:52.200 --> 00:34:53.700
Ja, precies. Je moet het ook.

760
00:34:55.360 --> 00:34:57.680
En aan de andere kant is het ook wel, het komt heel erg.

761
00:34:58.180 --> 00:34:59.680
Hoe zeg je dat? Het is een heel persoonlijk project.

762
00:35:00.340 --> 00:35:02.860
Als je het goed doet, komt het ook echt, is het van jou.

763
00:35:02.880 --> 00:35:05.420
Dus je wil ook echt wel heel graag alles heel goed fiksen.

764
00:35:05.480 --> 00:35:07.920
Je kan nooit denken van, weet je, het is mijn baas.

765
00:35:09.400 --> 00:35:11.040
Het is niet mijn game, want het is echt jouw game.

766
00:35:11.040 --> 00:35:11.700
Ja, dat dacht ik dus ook.

767
00:35:12.560 --> 00:35:14.660
Ja, precies, dat dacht ik ook, want het is ook jouw ding.

768
00:35:14.660 --> 00:35:19.640
Dus ja, dan alles wat je er meer insteekt, heb je het in zo'n gevoelsmatig.

769
00:35:19.680 --> 00:35:21.940
Denk je van, oké, dat is ook meteen voor mezelf.

770
00:35:22.180 --> 00:35:25.460
Weet je, dus het heeft ook wel zin om dat te doen.

771
00:35:25.620 --> 00:35:26.720
Of dat kun je...

772
00:35:26.720 --> 00:35:29.900
Ja, ik kan me voorstellen dat je standaard wat hoger is.

773
00:35:29.980 --> 00:35:31.700
Dat je niet denkt van, nou, goed genoeg.

774
00:35:31.800 --> 00:35:33.640
Nee, want dat vind ik niet goed genoeg.

775
00:35:33.940 --> 00:35:34.660
Ja, klopt.

776
00:35:35.560 --> 00:35:39.900
Gelukkig ben je flexibel met launch dates en dat soort dingen.

777
00:35:40.440 --> 00:35:42.060
Dus het kan al het iets later uitkomen.

778
00:35:42.120 --> 00:35:43.400
Of je zegt, oké, het komt nu uit.

779
00:35:43.400 --> 00:35:45.420
Maar ik doe over een maat een update waarin dan die features

780
00:35:45.420 --> 00:35:47.140
komen die ik eigenlijk nu had willen doen.

781
00:35:47.600 --> 00:35:49.760
Of ja, je snijdt features helemaal uit.

782
00:35:49.900 --> 00:35:51.400
Wat dat betreft ben je redelijk flexibel.

783
00:35:51.840 --> 00:35:54.540
Maar probeer je wel rekening te houden met bepaalde data in het jaar

784
00:35:54.540 --> 00:35:57.740
kerstmis of dat soort periodes.

785
00:35:58.300 --> 00:36:00.700
Ja, ik had voor Kingdom, had ik een uitgever en die hadden

786
00:36:00.700 --> 00:36:02.280
een datum in gedachten waarop zij dachten.

787
00:36:02.340 --> 00:36:04.720
Oké, dit is een goede dag om dat spel te releasen.

788
00:36:05.240 --> 00:36:06.560
Dan werk je daar naartoe.

789
00:36:06.860 --> 00:36:08.060
Kerst hou je sowieso rekening mee.

790
00:36:08.220 --> 00:36:11.400
Meeste indie games die vermijden kerst, want die weten

791
00:36:11.400 --> 00:36:15.240
dat je rond kerst totaal wordt overstemd door andere grote games

792
00:36:15.240 --> 00:36:17.740
en Xbox die uitkomt en weet ik veel wat.

793
00:36:17.880 --> 00:36:20.140
Dus kerst is altijd een soort no go.

794
00:36:21.240 --> 00:36:23.440
En dan weet je eind januari kun je het weer proberen.

795
00:36:23.540 --> 00:36:27.420
Als je wil dat je in die game een beetje media aandacht krijgt.

796
00:36:28.760 --> 00:36:29.980
Ja, ja, ja.

797
00:36:30.000 --> 00:36:30.440
Grappig.

798
00:36:31.480 --> 00:36:33.060
Dat had ik eigenlijk zelf niet zo bedacht.

799
00:36:33.880 --> 00:36:34.320
Nee.

800
00:36:34.400 --> 00:36:36.860
Het is andersom juist met kerst gaan mensen veel gamen.

801
00:36:36.940 --> 00:36:39.900
En dan moet je ja, dat je misschien mee kan liften

802
00:36:39.900 --> 00:36:42.880
op de vakantieperiodes of het eind van het jaar.

803
00:36:43.380 --> 00:36:45.920
Maar ja, hij is natuurlijk makkelijk ondergesneeuwd.

804
00:36:47.220 --> 00:36:49.940
Als je spel nieuw wil releasen voor het eerst,

805
00:36:49.980 --> 00:36:51.800
dan wil je natuurlijk op het moment dat er toch een kans is

806
00:36:51.800 --> 00:36:54.400
dat bepaalde gaming sites iets over je spelletje schrijven.

807
00:36:54.500 --> 00:36:56.200
Ja, dan is kerst niet ideaal.

808
00:36:56.400 --> 00:36:58.540
Want ben je daar heel afhankelijk van als indie developer?

809
00:36:59.380 --> 00:37:01.160
Als elke game developer, denk ik.

810
00:37:01.320 --> 00:37:05.260
Maar maakt het veel verschil?

811
00:37:05.720 --> 00:37:08.060
Ja, het is ja, ik denk het wel.

812
00:37:08.060 --> 00:37:12.000
Ik denk als je zijn ook natuurlijk bepaalde youtubers en als die je spel spelen,

813
00:37:12.400 --> 00:37:15.060
dan kan je echt in één keer ja.

814
00:37:16.340 --> 00:37:18.200
Een paar duizend verkopen hebben en dat kan.

815
00:37:18.300 --> 00:37:19.460
Daar kom je toch wel heel ver mee.

816
00:37:19.840 --> 00:37:23.060
Ja, oké.

817
00:37:24.160 --> 00:37:24.520
Oké.

818
00:37:24.680 --> 00:37:25.520
Ja, ja, ja.

819
00:37:27.160 --> 00:37:27.520
Oké.

820
00:37:29.200 --> 00:37:31.180
Ik ga, ik zal het even te lezen.

821
00:37:32.880 --> 00:37:33.460
Ja, precies.

822
00:37:33.720 --> 00:37:36.140
Ik vroeg me af wat betreft Unity.

823
00:37:36.140 --> 00:37:41.380
Is dat ben je dan veel tegen Unity aan het programmeren?

824
00:37:41.700 --> 00:37:43.880
Of ben je ook echt heel veel C-Sharp aan het programmeren?

825
00:37:44.020 --> 00:37:45.280
Hoe verhoudt zich dat elkaar?

826
00:37:48.000 --> 00:37:51.260
Ik denk je programmeert wel veel tegen Unity aan.

827
00:37:51.360 --> 00:37:55.800
Ze hebben dan wat heet de managed of de unmanaged score.

828
00:37:55.920 --> 00:37:59.900
Dus de kern van de game engine is in C++ geschreven.

829
00:38:01.400 --> 00:38:04.820
En is dus ook niet garbage collected.

830
00:38:05.240 --> 00:38:08.860
En daar programmeer je tegenaan in C-Sharp.

831
00:38:09.720 --> 00:38:10.080
Oké.

832
00:38:10.260 --> 00:38:14.540
Dus alles wat te maken heeft met graphics, dan roep je functies aan in de Unity engine.

833
00:38:15.320 --> 00:38:17.820
En dan gaat het ook, dan is het niet open source, zeg maar.

834
00:38:17.840 --> 00:38:18.780
Daar zie je niet wat er gebeurt.

835
00:38:18.800 --> 00:38:21.040
Dat is gewoon een soort API waar je tegenaan programmeert van.

836
00:38:21.120 --> 00:38:25.960
Teken nu dit voor op het scherm of spelen geluid af of dat soort dingen.

837
00:38:25.980 --> 00:38:28.360
Dat zit helemaal in de engine en daar werk je wel.

838
00:38:28.760 --> 00:38:34.800
En ze hebben dan daar omheen allemaal soort modules gebouwd in C-Sharp.

839
00:38:34.800 --> 00:38:41.860
Aan de rand zoals hoe bouw je een UI of hoe verbind je knoppen op je toetsenbord aan.

840
00:38:41.860 --> 00:38:43.880
Acties in het spel of dat soort modules.

841
00:38:44.600 --> 00:38:46.900
Want voorziet het ook in dingen als netwerkstacks?

842
00:38:49.460 --> 00:38:51.420
Netwerkstack is geloof ik een pijnlijk puntje voor Unity.

843
00:38:51.580 --> 00:38:54.720
Ze zeggen al drie jaar lang dat ze dat helemaal ook nieuw aan het bouwen zijn.

844
00:38:54.840 --> 00:38:56.980
En dat ze gaan komen met een prachtige oplossing.

845
00:38:57.340 --> 00:39:00.600
En nu, laatst belde iemand nog.

846
00:39:01.160 --> 00:39:03.000
Ze hebben dan van die zogenaamde success engineers.

847
00:39:03.000 --> 00:39:04.860
Dus het is gewoon een soort van customer support team.

848
00:39:05.000 --> 00:39:08.060
Dat iedereen gaat bellen die een Unity-subscription heeft om te vragen hoe het allemaal gaat.

849
00:39:08.380 --> 00:39:10.660
En die zeggen ook, ja, nee, dit jaar gaat het echt komen.

850
00:39:11.500 --> 00:39:12.940
Die netwerkstack gaat er echt komen.

851
00:39:14.480 --> 00:39:16.640
Maar er zijn ook third party oplossingen.

852
00:39:16.700 --> 00:39:17.720
Ja, oké.

853
00:39:17.880 --> 00:39:19.100
Ja, ja, oké.

854
00:39:19.300 --> 00:39:19.960
Ah, ja, oké.

855
00:39:20.780 --> 00:39:20.940
Ja.

856
00:39:20.940 --> 00:39:23.100
Wat ik kan me voorstellen, dat is een multiplayer game zeg maar.

857
00:39:23.380 --> 00:39:24.020
Ja, in real time.

858
00:39:25.040 --> 00:39:25.360
Ja.

859
00:39:25.500 --> 00:39:27.040
Dan lijkt me die netwerkstack toch wel een ding.

860
00:39:27.440 --> 00:39:27.800
Klopt.

861
00:39:28.100 --> 00:39:31.080
En dit is natuurlijk, je hebt natuurlijk de low-level netwerkdeel.

862
00:39:31.080 --> 00:39:33.660
Van, oké, hoe stuur je gewoon packets?

863
00:39:34.720 --> 00:39:38.100
En dan heb je natuurlijk meer het high-level-deel wat aan Unity gekoppeld is.

864
00:39:38.500 --> 00:39:42.780
Unity is heel erg dat ze als instep-model een soort echte alles plug-and-play maken.

865
00:39:43.260 --> 00:39:47.980
Dus je kan gewoon een object, als het ware, je neemt gewoon een 3D-object uit Blender ofzo.

866
00:39:48.000 --> 00:39:50.140
Je sleept het gewoon Unity in en het verschijnt op je scherm.

867
00:39:50.540 --> 00:39:52.980
En het is een high-level-netwerk-equivalent.

868
00:39:53.240 --> 00:39:56.440
Dat je dan gewoon op dat object een netwerkcomponentje sleept.

869
00:39:56.520 --> 00:39:59.380
En dat je daarmee dat wat ik op mijn scherm zie, ook is wat jij op je scherm ziet.

870
00:39:59.380 --> 00:40:03.380
Dat het gewoon in één keer allemaal magisch gesynchroniseerd wordt.

871
00:40:03.700 --> 00:40:07.860
Dat is natuurlijk wel iets wat ook heel moeilijk is.

872
00:40:08.700 --> 00:40:10.220
Maar wat wel cool is, als ze het zouden kunnen doen.

873
00:40:10.800 --> 00:40:14.300
En het low-level-deel, als je dat kan, dan kan je dat zelf programmeren.

874
00:40:14.480 --> 00:40:16.280
Ik bedoel, kan je daartegenaan programmeren.

875
00:40:16.520 --> 00:40:18.620
Maar er komt natuurlijk ook server-side-programmeren bij.

876
00:40:20.920 --> 00:40:22.500
Heb je dat gedaan voor één van je games?

877
00:40:23.280 --> 00:40:24.300
Ik heb het één keer geprobeerd.

878
00:40:24.340 --> 00:40:27.060
Ik wilde een MMO bouwen, Massive Multiplayer Game.

879
00:40:29.080 --> 00:40:32.060
Ik heb toen een beetje met multiplayer gespeeld.

880
00:40:32.800 --> 00:40:34.720
Ik heb alle basisconcepten geleerd.

881
00:40:36.040 --> 00:40:39.320
De latency compenseren door te voorspellen wat iemand anders gaat doen.

882
00:40:39.900 --> 00:40:42.880
Dus als iemand naar links loopt, dan teken je hem iets verder naar links op het scherm.

883
00:40:42.960 --> 00:40:46.280
Dat je weet dat hij op zijn computer al verder in de toekomst is dan jij hem ziet.

884
00:40:46.720 --> 00:40:48.340
Dus als je schiet, dan schiet je raak als die na.

885
00:40:48.440 --> 00:40:49.320
Et cetera, al dat soort dingen.

886
00:40:49.840 --> 00:40:53.740
Het is wel een soort... Hoe zeg je dat?

887
00:40:53.800 --> 00:40:56.360
Een mindfuck, zou ik zeggen, als je zo moet programmeren.

888
00:40:56.360 --> 00:40:58.240
Je zit zo...

889
00:41:00.880 --> 00:41:01.620
Timetravelling, ja.

890
00:41:02.780 --> 00:41:03.580
Timetravelling, ja.

891
00:41:04.480 --> 00:41:07.360
Ja, maar dat is ook wel grappig, want dat hoor je ook...

892
00:41:08.200 --> 00:41:08.540
Hoe heet dat?

893
00:41:08.660 --> 00:41:12.560
Ja, goed, ik speel ook first person shooters.

894
00:41:13.200 --> 00:41:16.700
Maar daar is die netwerkcode echt wel...

895
00:41:16.700 --> 00:41:18.640
Ja, ik ben misschien wel...

896
00:41:18.640 --> 00:41:20.560
Nou, ik weet niet. Ik zeg niet de belangrijkste, maar...

897
00:41:20.560 --> 00:41:20.980
Absoluut.

898
00:41:21.460 --> 00:41:22.600
Heel belangrijk, zeg maar.

899
00:41:22.600 --> 00:41:24.600
Ja, als je zoiets speelt als...

900
00:41:25.240 --> 00:41:26.620
Ik weet niet, Overwatch of zo.

901
00:41:27.140 --> 00:41:28.320
Ja, ja, Apex Legends speel ik ook.

902
00:41:28.360 --> 00:41:29.480
Ja, Overwatch speel ik ook, ja.

903
00:41:29.680 --> 00:41:32.360
Dat is echt bizar hoe goed dat is.

904
00:41:32.580 --> 00:41:32.840
Ja.

905
00:41:34.220 --> 00:41:35.440
Je merkt hele...

906
00:41:35.440 --> 00:41:37.100
Ik bedoel, natuurlijk merk je het niet, maar...

907
00:41:37.100 --> 00:41:39.560
Zeg maar, in slechte games heb je nog wel eens een hikje of zoiets.

908
00:41:39.640 --> 00:41:40.700
En in Overwatch hebben ze dat...

909
00:41:41.260 --> 00:41:45.480
Nou, dat is wel echt de top van dat model van netwerkcode voor een shooter erbij, inderdaad.

910
00:41:46.480 --> 00:41:46.880
Ja.

911
00:41:47.580 --> 00:41:48.560
Ja, want ik heb Overwatch...

912
00:41:48.560 --> 00:41:50.120
Ja, goed, ik speel het op de PlayStation.

913
00:41:50.120 --> 00:41:52.520
Ik vond het gewoon heel...

914
00:41:52.520 --> 00:41:54.300
Ja, dat was mijn eerste...

915
00:41:54.300 --> 00:41:57.120
Ik heb een hele tijd niet gegamed toen ik een PlayStation 4 kocht.

916
00:41:58.280 --> 00:41:59.100
En met Overwatch begonnen.

917
00:41:59.340 --> 00:42:01.140
En speelde gewoon heel natuurlijk.

918
00:42:01.460 --> 00:42:02.620
Ik had niks te klagen.

919
00:42:02.760 --> 00:42:03.840
Ik zei dat dit is gewoon robust.

920
00:42:04.120 --> 00:42:05.080
Er zijn geen gekke dingen.

921
00:42:05.260 --> 00:42:06.740
Dat is niet die ik meegemaakt heb.

922
00:42:08.400 --> 00:42:10.460
En toen Apex Legends kwam...

923
00:42:10.460 --> 00:42:14.180
In het begin, daar waren nog wel issues met hitboxes.

924
00:42:15.320 --> 00:42:19.360
En je wist echt zeker dat je iemand raak schoot en dat het dan niet registreerde.

925
00:42:19.360 --> 00:42:22.760
En dat was nogal wat mis met de networkcode, zeg maar.

926
00:42:23.540 --> 00:42:26.040
Dus dat is wel wel grappig.

927
00:42:26.120 --> 00:42:28.020
Maar goed, ik wist dus niet dat Unity...

928
00:42:28.020 --> 00:42:30.340
Dat dat een beetje een soort van gevoelig ding was ook voor Unity.

929
00:42:30.680 --> 00:42:33.380
Ja, ze zeggen al heel lang dat ze dat gaan oplossen.

930
00:42:33.780 --> 00:42:34.820
Wel grappig, ja.

931
00:42:37.100 --> 00:42:37.500
Oké.

932
00:42:39.460 --> 00:42:41.640
Dan zei ik net, ik ben het heel stuk aan het lezen.

933
00:42:42.120 --> 00:42:43.520
Ik zag iets.

934
00:42:44.400 --> 00:42:45.360
Die had Bernard...

935
00:42:45.360 --> 00:42:49.260
Ja, goed, een aantal dingen komen via Bernard in dit mooie documentje terecht.

936
00:42:49.840 --> 00:42:51.640
En ik zag shader staan.

937
00:42:52.020 --> 00:42:53.420
Toen dacht ik, oké, dat vind ik heel interessant.

938
00:42:53.600 --> 00:42:55.760
Maar ja, ik weet niet zo goed een heel goeie vraag te stellen.

939
00:42:56.760 --> 00:42:58.240
Nou ja, beginnen we bij de Unity.

940
00:42:58.880 --> 00:43:01.260
Het shader model van Unity, wat ze hebben en niet.

941
00:43:02.740 --> 00:43:02.820
Ja.

942
00:43:03.200 --> 00:43:04.620
Of uitleggen wat shaders zijn misschien.

943
00:43:04.640 --> 00:43:05.140
Misschien moeten we daar beginnen.

944
00:43:05.160 --> 00:43:06.540
Ja, dat is misschien even de eerste stap.

945
00:43:07.580 --> 00:43:08.760
Want het gaat...

946
00:43:08.760 --> 00:43:10.180
Ja, goed, laten we het hebben.

947
00:43:10.460 --> 00:43:13.440
Je hebt verschillende type games.

948
00:43:14.460 --> 00:43:17.300
Ik zei net in het begin nog van ja, de Atari 2600.

949
00:43:17.300 --> 00:43:19.460
Ja, dat is gewoon 2D.

950
00:43:19.960 --> 00:43:23.280
En 3D, daar moet je even niet in je hoofd halen.

951
00:43:23.440 --> 00:43:25.500
Volgens mij, ja, dat was wel een...

952
00:43:25.500 --> 00:43:27.680
Ik meen een soort van Star Wars game.

953
00:43:27.940 --> 00:43:29.340
Maar dat was niet heel erg gefans.

954
00:43:29.340 --> 00:43:30.420
Het was gewoon een wireframe.

955
00:43:32.440 --> 00:43:33.900
Dus 2D was, ja, dat is duidelijk.

956
00:43:34.020 --> 00:43:36.300
Dat is voor veel mensen best wel goed te begrijpen.

957
00:43:36.780 --> 00:43:38.980
3D games kunnen een aantal mensen ook begrijpen.

958
00:43:39.620 --> 00:43:41.760
Maar ja, het is best wel lastig om te begrijpen.

959
00:43:41.820 --> 00:43:44.620
Of ten eerste, te realiseren wat er allemaal bij komt kijken.

960
00:43:45.060 --> 00:43:46.280
Nou, shaders is één van de onderwerpen.

961
00:43:46.280 --> 00:43:50.480
Maar zou je kunnen uitleggen waar je aan moet denken als je een spel in 3D maakt?

962
00:43:51.320 --> 00:43:52.480
Ja, even kijken.

963
00:43:52.660 --> 00:43:55.280
Als je een spel in 3D maakt in Unity, bijvoorbeeld.

964
00:43:56.660 --> 00:43:59.160
Dan maak je een 3D object in Blender.

965
00:43:59.340 --> 00:44:01.640
En dat 3D object bestaat uit drie hoekjes.

966
00:44:04.380 --> 00:44:07.310
En dan gaat Unity dat 3D object voor je op het scherm tekenen.

967
00:44:09.180 --> 00:44:11.940
Op een bepaalde positie natuurlijk, afhankelijk van de positie van de camera.

968
00:44:12.060 --> 00:44:13.280
Want je kijkt naar dat object.

969
00:44:14.880 --> 00:44:16.980
En afhankelijk van de positie van het object ook.

970
00:44:17.100 --> 00:44:20.340
Dus er zit nog wat wiskunde achter van, nou, oké, waar komt dat object dan op het scherm?

971
00:44:21.140 --> 00:44:29.420
En eigenlijk, vanaf dat moment wordt dat object op het scherm getekend door wat shaders heet.

972
00:44:29.900 --> 00:44:37.100
Shaders bepalen eigenlijk, dit is niet helemaal, dit is een beetje korter de bocht, maar de kleur van het object.

973
00:44:37.440 --> 00:44:41.360
Voor elke pixel gaat een shader uitrekenen.

974
00:44:42.140 --> 00:44:45.360
Oké, wat moet de kleur van deze pixel zijn voor dit object gegeven?

975
00:44:45.480 --> 00:44:48.240
De lichtinval gegeven, welke kleur het object zelf heeft.

976
00:44:48.800 --> 00:44:51.360
En shaders zijn ook stukjes code, dus je kan ze zelf schrijven.

977
00:44:52.280 --> 00:44:59.340
Dus je kan dat sommetje, die uiteindelijke kleur van het object bepaalt, kan je zelf beïnvloeden.

978
00:44:59.980 --> 00:45:02.840
Want dat kan ook anders zijn voor elke pixel.

979
00:45:02.920 --> 00:45:07.140
Sommige objecten zijn glanzend, sommige objecten zijn mat, sommige objecten zijn doorzichtig.

980
00:45:07.140 --> 00:45:11.480
En al die eigenschappen, die kun je terug laten komen door ze in een shader te programmeren.

981
00:45:11.600 --> 00:45:15.700
Sommige objecten reflecteren dingen, dat kan je in een shader programmeren.

982
00:45:16.960 --> 00:45:21.140
En shaders hebben altijd een eigen taaltje en dat is altijd net een beetje raar en een beetje irritant.

983
00:45:21.400 --> 00:45:24.120
Dus eigenlijk als je een spel aan het bouwen bent, programmer je een groot deel in C Sharp.

984
00:45:24.520 --> 00:45:31.400
En dan ineens moet je ook in CG of HLSL of een of ander C-achtig dialect shaders programmeren.

985
00:45:31.880 --> 00:45:35.680
Ik snap niet helemaal waarom dit nog niet een soort opgelost probleem is.

986
00:45:36.460 --> 00:45:39.820
Je moet altijd toch weer een soort andere taal leren en daarmee dealen.

987
00:45:41.060 --> 00:45:42.680
En dan heb je een idee er ook niks.

988
00:45:43.480 --> 00:45:48.500
Is dat iets omdat het makkelijker naar de GPU...

989
00:45:48.500 --> 00:45:53.420
Ja, want het moet alsnog weer gecompileerd worden per GPU.

990
00:45:53.620 --> 00:45:57.480
Dat doen je video drivers, dus die maken er dan echt instructies voor voor je specifieke GPU.

991
00:45:58.080 --> 00:45:59.460
Maar ja, dat moet daar natuurlijk dichtbij zitten.

992
00:45:59.600 --> 00:46:01.540
Dus je hebt natuurlijk niet de hele featureset van C Sharp.

993
00:46:01.820 --> 00:46:05.660
Maar je zou toch een soort syntax kunnen hebben die een beetje in de buurt is van de taal waar je al aan gewend bent.

994
00:46:05.660 --> 00:46:10.820
Het probleem is ook dat de meeste IDE's ook niks begrijpen van die syntax van die shaders in Unity.

995
00:46:11.280 --> 00:46:12.400
Dus dan klopt dat.

996
00:46:14.060 --> 00:46:17.920
Ja, dat voel je echt als je 20 jaar geleden aan het programmeren bent in één keer weer.

997
00:46:18.280 --> 00:46:27.880
Maar wat wel heel vet is, is dat in ieder geval in Unity worden die shaders eigenlijk gewoon on the spot gecompileerd en zie je ook meteen het effect.

998
00:46:28.040 --> 00:46:33.520
Dus je kunt terwijl je spel draait, kun je die shader typen en zie je het effect in je spel live veranderen.

999
00:46:33.520 --> 00:46:39.940
Als je de kleur verandert of de reflectiviteit of wat dan ook, of je zet een minnetje in plaats van een plusje, zie je in één keer wat gebeuren op je scherm.

1000
00:46:40.060 --> 00:46:42.560
Het is de meest directe feedback die je maar kan hebben.

1001
00:46:42.680 --> 00:46:45.440
En dat maakt het bearable, zou ik zeggen.

1002
00:46:46.620 --> 00:46:53.840
En nog even terug, zo'n shader stukje code bepaalt dan hoe elke pixel binnen zo'n driehoekje eruit ziet?

1003
00:46:54.840 --> 00:46:55.560
Yes, ja.

1004
00:46:56.980 --> 00:47:01.800
Als je die wilt animeren met stroom met water of lava, dan kan dat ook binnen een driehoekje?

1005
00:47:01.800 --> 00:47:09.800
Ja, zeker. Je kunt de shader ook de positie van het driehoekje laten veranderen.

1006
00:47:10.800 --> 00:47:15.680
Dus je kan binnen de shader dat driehoekje laten bewegen, maar als je dat niet doet, gegeven dat je dat misschien niet doet,

1007
00:47:16.160 --> 00:47:22.240
wordt dus de positie van het driehoekje bepaald en die wordt dan als het ware over je scherm gelegd.

1008
00:47:22.380 --> 00:47:25.620
En daar wordt dan bekeken welke pixels op je scherm binnen dat driehoekje vallen.

1009
00:47:26.060 --> 00:47:29.560
En dan gaat de shader voor elke pixel die binnen dat driehoekje valt, gaat die dat zo met je doen.

1010
00:47:29.560 --> 00:47:34.120
En als je dan bijvoorbeeld stroom met water hebt, dan wil je dus dat het een soort van de illusie creëren,

1011
00:47:34.300 --> 00:47:41.020
dat er naar beneden iets beweegt. Dus dan moet je de coördinatiesysteem waarin dat water zit,

1012
00:47:41.060 --> 00:47:42.740
moet je als het ware naar beneden laten glijden.

1013
00:47:46.780 --> 00:47:50.040
En het is een belangrijk stuk voor.

1014
00:47:50.720 --> 00:47:58.620
Ja, je bent natuurlijk ook parallel aan het programmeren, dus je schrijft een stukje code dat naar jouw weten tegelijk draait voor alle pixels.

1015
00:47:59.360 --> 00:48:01.800
De ene pixel is niet afhankelijk van de andere pixel.

1016
00:48:02.400 --> 00:48:04.860
En dat is ook wel leuk om te doen, moet ik zeggen.

1017
00:48:05.640 --> 00:48:06.520
En het is extreem snel.

1018
00:48:07.800 --> 00:48:11.640
Zelfs al heb je een redelijk oude videokaart of je hebt geen videokaart.

1019
00:48:11.820 --> 00:48:13.340
Wat je kan doen in shaders is echt bizar.

1020
00:48:13.420 --> 00:48:16.720
Je kan makkelijk een miljoen driehoekjes op je scherm tekenen met allemaal verschillende kleuren.

1021
00:48:17.320 --> 00:48:21.220
En dat werkt gewoon. En dan denk je wauw, computers zijn best wel amazing.

1022
00:48:21.220 --> 00:48:29.540
Nou goed, die aantal driehoekjes, dat is er ook altijd genoeg tegenwoordig?

1023
00:48:29.800 --> 00:48:31.040
Ja, eigenlijk wel.

1024
00:48:31.160 --> 00:48:33.900
Er was vroeger altijd zoiets van ja, elke objecta maar duizend of tienduizend.

1025
00:48:34.020 --> 00:48:36.560
Of weet ik wel, zoveel driehoekjes hebben. Maar tegenwoordig is het eigenlijk ja.

1026
00:48:37.120 --> 00:48:41.000
Ja, dus je ziet nooit meer zo'n randje van een zogenaamde bol.

1027
00:48:42.100 --> 00:48:46.900
Nee, hoewel ik dan voor mijn nieuwe spel probeer ik juist alles een beetje low poly te maken.

1028
00:48:46.920 --> 00:48:49.600
Dus ik ga een beetje terug naar die oude stijl waarin je juist al die randjes ziet.

1029
00:48:49.600 --> 00:48:51.340
Maar dat is meer een soort stijl, Kees.

1030
00:48:51.480 --> 00:48:51.960
Oh zo, ja.

1031
00:48:52.080 --> 00:48:54.520
Ja, dat is Cloud Gardens of niet?

1032
00:48:54.900 --> 00:48:56.120
Ja, Cloud Gardens, ja.

1033
00:48:56.620 --> 00:48:57.720
En kan je daar iets over vertellen?

1034
00:48:57.740 --> 00:48:58.220
Die ken ik.

1035
00:48:58.460 --> 00:48:59.120
Die ken ik.

1036
00:48:59.140 --> 00:49:00.220
Nou, vertel Saber.

1037
00:49:01.840 --> 00:49:03.940
Nou ja, ter voorbereiding.

1038
00:49:04.160 --> 00:49:06.140
Het was van oké, daar zijn een aantal spelletjes.

1039
00:49:06.880 --> 00:49:08.560
Dus ik dacht, nou kun je laten eens even kijken.

1040
00:49:10.340 --> 00:49:14.680
En ik heb, ja goed, dan heb ik in een paar afleveringen wel een beetje iedere keer aangegeven dat ik een pc gebouwd heb.

1041
00:49:14.680 --> 00:49:20.100
Dus ik heb nu sinds begin dit jaar een pc in elkaar gedraaid.

1042
00:49:20.240 --> 00:49:22.300
Dus ik dacht, nou weet je, ik heb nu een pc.

1043
00:49:23.600 --> 00:49:24.980
Wat is het eventjes kort?

1044
00:49:25.100 --> 00:49:25.900
Wat zit er in je pc?

1045
00:49:27.280 --> 00:49:30.560
Ik heb nu een 3060Ti te pakken van Nvidia.

1046
00:49:31.640 --> 00:49:34.140
En dat te pakken is vooral belangrijk, want ja, er is niks te krijgen.

1047
00:49:35.100 --> 00:49:37.040
Ik wilde ook niet echt de hoofdprijging.

1048
00:49:37.340 --> 00:49:42.830
Weet je, want het was voor mij een machine waar ik zowel op kan programmeren voor werk, als dat ik ook kan gamen.

1049
00:49:43.730 --> 00:49:45.030
En inmiddels ook mijn.

1050
00:49:45.710 --> 00:49:46.870
Maar goed, dat is even een heel andere vraag.

1051
00:49:46.990 --> 00:49:48.150
Dat moet ik maar even vergeten.

1052
00:49:48.970 --> 00:49:50.630
Maar goed, dus ik was er heel blij mee.

1053
00:49:50.750 --> 00:49:53.290
Dus ik dacht, nou weet je wat, ik ga het spelgoel kopen.

1054
00:49:53.430 --> 00:49:55.250
Dus ik heb vandaag weer via Steam gehad.

1055
00:49:56.750 --> 00:50:00.830
Ja, het geluid, vooral even los van de rest, want ik heb niet heel...

1056
00:50:01.410 --> 00:50:03.950
Ik serieus, ik heb denk ik misschien 10 minuten gespendeerd.

1057
00:50:03.950 --> 00:50:06.150
Dat was vandaag even wat drukker qua werk.

1058
00:50:07.070 --> 00:50:08.850
Dus ik kon niet alles natuurlijk tussendoor doen.

1059
00:50:09.970 --> 00:50:12.850
Het geluid was echt heel rustgevend.

1060
00:50:13.990 --> 00:50:14.410
Ja, ik weet niet.

1061
00:50:14.630 --> 00:50:16.770
Dus dat was echt wel cool.

1062
00:50:16.970 --> 00:50:19.370
En de kleuren ook trouwens, het zag er echt heel leuk uit.

1063
00:50:20.070 --> 00:50:23.010
Dus dat, maar ik moet er echt serieus nog wat meer mee spelen.

1064
00:50:23.790 --> 00:50:27.070
Als je dat gevoel hebt gehad, dan is dat wel redelijk ook het doel van het spel.

1065
00:50:27.130 --> 00:50:28.750
Het is heel erg soort meditatief.

1066
00:50:28.990 --> 00:50:33.350
En we wilden heel erg dat soort van de beeld en het geluid een soort, ja...

1067
00:50:33.350 --> 00:50:37.670
In een soort mode brengt waarin je gewoon heel onbewust gewoon dat spel aan het spelen bent.

1068
00:50:37.670 --> 00:50:40.010
En langzaam zo een soort van, ja...

1069
00:50:40.010 --> 00:50:42.330
En je zegt net we, wie is we?

1070
00:50:42.450 --> 00:50:43.670
Is dat een team van...

1071
00:50:44.250 --> 00:50:47.630
Omdat je het over het geluid had, is het de audio.

1072
00:50:47.850 --> 00:50:48.870
De jongen die de audio doet.

1073
00:50:49.770 --> 00:50:51.090
En ik, die hebben daar veel over gehad.

1074
00:50:51.270 --> 00:50:53.090
Wat voor soort gevoel moet het geven?

1075
00:50:53.870 --> 00:50:56.430
Ja, want hoeveel mensen zijn er bij betrokken geweest bij Cloud Code?

1076
00:50:57.990 --> 00:51:01.570
Het zijn denk ik plus minus vier mensen.

1077
00:51:02.110 --> 00:51:05.910
Dus ik zelf doe de code en een stukje van de art.

1078
00:51:05.910 --> 00:51:07.710
En een beetje waar dat samenkomt.

1079
00:51:07.850 --> 00:51:09.410
Dus ook de shaders en weet ik wel wat.

1080
00:51:09.810 --> 00:51:11.550
Dan is er iemand die doet audio en muziek.

1081
00:51:13.490 --> 00:51:15.390
En dan is er iemand die doet level design.

1082
00:51:15.510 --> 00:51:18.670
Dus die gebruikt al die objecten en die zet die levels in elkaar.

1083
00:51:18.750 --> 00:51:20.870
En dan is er iemand die de objecten, die het 3D modeleert.

1084
00:51:21.230 --> 00:51:22.510
In het begin deed ik dat zelf in Blender.

1085
00:51:23.110 --> 00:51:25.410
Maar op een gegeven moment was het te veel development werk.

1086
00:51:25.810 --> 00:51:29.190
Dus heb ik dat Blender 3D werk ge-outsourced.

1087
00:51:30.190 --> 00:51:31.330
En zo zijn we met z'n vieren.

1088
00:51:31.730 --> 00:51:34.450
En waar heeft Saber jouw shaders kunnen zien?

1089
00:51:36.910 --> 00:51:39.150
Nou, bijvoorbeeld als je...

1090
00:51:39.150 --> 00:51:40.530
Dus in het spel laat je planten groeien.

1091
00:51:40.770 --> 00:51:41.750
En die planten hebben blaadjes.

1092
00:51:41.830 --> 00:51:43.290
En die blaadjes die waaien een beetje in de wind.

1093
00:51:43.390 --> 00:51:44.450
Dat wordt gedaan door een shader.

1094
00:51:45.970 --> 00:51:46.690
Ja, cool.

1095
00:51:47.030 --> 00:51:49.470
Ook sowieso kan je...

1096
00:51:49.470 --> 00:51:50.130
Die kraaien?

1097
00:51:50.990 --> 00:51:52.850
De kraaien zijn...

1098
00:51:52.850 --> 00:51:54.810
Alles, elke pixel heeft in principe een shader.

1099
00:51:54.930 --> 00:51:56.290
Maar veel pixels hebben dezelfde shader.

1100
00:51:56.350 --> 00:51:58.790
Want veel pixels is gewoon hetzelfde sommetje van...

1101
00:51:58.790 --> 00:51:59.930
Een object heeft een kleur.

1102
00:52:00.170 --> 00:52:01.910
Er valt licht op van een bepaalde kleur.

1103
00:52:02.370 --> 00:52:05.070
Dan heeft het dus een perceptueel bepaalde kleur.

1104
00:52:05.650 --> 00:52:10.010
Dus voor veel objecten gebruik je gewoon dezelfde soort van semi-realistische shader.

1105
00:52:10.310 --> 00:52:12.550
En dan zijn er een paar dingen die een beetje anders werken.

1106
00:52:13.330 --> 00:52:14.350
Het spel is vrij mistig.

1107
00:52:14.390 --> 00:52:15.270
Dat is ook een shader.

1108
00:52:15.490 --> 00:52:18.270
Hoe verder weg dingen zijn, hoe meer ze verdwijnen in de mist.

1109
00:52:18.890 --> 00:52:20.470
En dan heb je natuurlijk verschillende soorten mist.

1110
00:52:20.530 --> 00:52:21.810
Je kan het heel realistisch maken.

1111
00:52:22.310 --> 00:52:26.830
Of je kan iets meer voor een soort gekleurde mist gaan die iets meer kunstzinnig is.

1112
00:52:27.010 --> 00:52:29.890
Bijvoorbeeld dat dingen dichterbij ietsje meer rood gekleurd zijn.

1113
00:52:29.950 --> 00:52:31.630
En dingen verder weg ietsje meer blauw gekleurd zijn.

1114
00:52:31.630 --> 00:52:33.610
Wat niet realistisch is, maar wat wel goed eruit kan zien.

1115
00:52:37.770 --> 00:52:38.870
Dat zag er echt goed uit.

1116
00:52:39.030 --> 00:52:41.430
Ik vond het wel fijn.

1117
00:52:41.610 --> 00:52:42.210
Dat klinkt heel raar.

1118
00:52:42.530 --> 00:52:44.370
Dat is eigenlijk precies waar we op mikten.

1119
00:52:44.530 --> 00:52:45.670
Gewoon een spel dat echt heel fijn is.

1120
00:52:46.210 --> 00:52:51.230
En ook een soort onderbewust gewoon goed aanvoelt.

1121
00:52:51.430 --> 00:52:53.990
Dat is ook waar ik de meeste tijd aan besteed.

1122
00:52:54.170 --> 00:52:56.790
Als je dus kleine animaties hebt of je pakt een object op.

1123
00:52:57.110 --> 00:53:01.470
Gewoon die timing van hoe lang duurt het voordat het dan in je hand aan je muis klikt.

1124
00:53:01.470 --> 00:53:04.750
Of hoe lang duurt het voordat een object zich ergens naar toe beweegt.

1125
00:53:04.990 --> 00:53:06.050
Hoe snel vallen dingen.

1126
00:53:06.790 --> 00:53:07.850
Ja, dat moet allemaal goed voelen.

1127
00:53:07.970 --> 00:53:09.470
En dan kan je een soort...

1128
00:53:10.370 --> 00:53:12.730
Daar kan je ook heel makkelijk heel veel tijd mee kwijt zijn.

1129
00:53:12.890 --> 00:53:14.830
Omdat die animatie 100.000 keer te proberen.

1130
00:53:15.210 --> 00:53:16.510
Ja, ik ken dat wel.

1131
00:53:16.950 --> 00:53:17.810
En dan zit je...

1132
00:53:17.810 --> 00:53:19.690
Dan moet je natuurlijk eigenlijk jezelf ook makkelijk maken.

1133
00:53:19.750 --> 00:53:21.790
Want je hebt misschien soms de neiging om dat in code te doen.

1134
00:53:22.270 --> 00:53:23.290
En dan moet je recompilen.

1135
00:53:23.370 --> 00:53:24.310
En dan klopt je timing niet.

1136
00:53:24.370 --> 00:53:25.850
Dus dan haal je er 0,1 seconde vanaf.

1137
00:53:25.910 --> 00:53:26.630
En dan ga je het opnieuw compileren.

1138
00:53:27.310 --> 00:53:28.770
Als je dat dan 5 keer gedaan hebt, denk je.

1139
00:53:29.050 --> 00:53:30.290
Ik ben niet handig bezig.

1140
00:53:31.110 --> 00:53:32.470
Ik moet dit even live doen.

1141
00:53:32.610 --> 00:53:33.670
Dat ik zeg maar het effect kan zien.

1142
00:53:33.670 --> 00:53:35.170
Zonder opnieuw te compileren eerst.

1143
00:53:35.350 --> 00:53:38.270
Dus dan zet je die...

1144
00:53:38.270 --> 00:53:40.150
Maar die mogelijkheid heb je dus bijvoorbeeld wel dan.

1145
00:53:40.350 --> 00:53:41.750
Die mogelijkheid heb je zeker in Unity.

1146
00:53:41.870 --> 00:53:44.350
Maar het is natuurlijk toch verleidelijk om gewoon zogenaamde magic numbers...

1147
00:53:44.350 --> 00:53:45.390
Gewoon in je code te typen.

1148
00:53:45.550 --> 00:53:46.370
Gewoon, ah, dit duurt iets te lang.

1149
00:53:46.430 --> 00:53:47.590
Ik doe er wel nog maar 1 seconde bij.

1150
00:53:48.310 --> 00:53:49.270
En dan is het wel goed.

1151
00:53:49.650 --> 00:53:50.750
Ja, ja, ja.

1152
00:53:51.750 --> 00:53:53.630
Maar je kan alles...

1153
00:53:53.630 --> 00:53:54.830
Ja, het hoeft niet zo.

1154
00:53:55.470 --> 00:53:57.010
Maar het is verleidelijk.

1155
00:53:57.410 --> 00:53:57.890
Nee, precies.

1156
00:53:58.270 --> 00:54:01.990
Ja, ik wil zeggen dat ik erken het ook wel.

1157
00:54:02.130 --> 00:54:04.390
Weet je, soms denk je wel dat je dat allemaal zo op die...

1158
00:54:04.390 --> 00:54:06.430
Ja, misschien ben je dan eigenwijs ofzo.

1159
00:54:06.890 --> 00:54:07.250
Ja.

1160
00:54:07.250 --> 00:54:08.130
En dan doe je het toch op Unity.

1161
00:54:08.230 --> 00:54:10.290
Maar goed, het is wel goed om te weten dat...

1162
00:54:10.290 --> 00:54:12.890
Nou goed, ik hoor gewoon dat Unity best wel...

1163
00:54:13.730 --> 00:54:14.770
Kan ik het luxe noemen?

1164
00:54:14.890 --> 00:54:18.210
Dus het is best breed, zeg maar, met wat het allemaal aanbiedt.

1165
00:54:18.310 --> 00:54:21.910
Je hebt ook heel erg de mogelijkheid om dingen live te veranderen terwijl je spel speelt.

1166
00:54:21.950 --> 00:54:23.790
Dus je kan gewoon een soort schermpje hebben met variabelen.

1167
00:54:23.850 --> 00:54:25.710
En dan kun je die variabelen aanpassen terwijl je spel speelt.

1168
00:54:25.750 --> 00:54:27.470
En dan zie je dat gewoon meteen gereflecteerd in.

1169
00:54:27.470 --> 00:54:28.090
Oké.

1170
00:54:28.090 --> 00:54:29.110
In het spel zelf.

1171
00:54:30.690 --> 00:54:32.490
Het is heel erg inzichtelijk op die manier.

1172
00:54:33.150 --> 00:54:39.570
Ja, we hebben in één van de, volgens mij afleveringen, drie, hebben we...

1173
00:54:39.570 --> 00:54:40.550
Ik meen het.

1174
00:54:40.690 --> 00:54:46.430
Ja, Hetwig doet schat, dat het ging over VR programmeren.

1175
00:54:46.710 --> 00:54:46.970
Oh ja.

1176
00:54:47.070 --> 00:54:48.090
En zij deden het ook met Unity.

1177
00:54:49.170 --> 00:54:51.270
Dus daar was ook echt ook heel enthousiast over.

1178
00:54:51.570 --> 00:54:52.970
Dan zei ik, ja, je moet het echt proberen.

1179
00:54:53.270 --> 00:54:54.210
En het is niet te veel.

1180
00:54:54.290 --> 00:54:55.150
Bij mij is het echt tijd.

1181
00:54:55.290 --> 00:54:56.810
Dat is echt wel het probleem.

1182
00:54:56.810 --> 00:54:58.270
Dus dan moet je...

1183
00:54:58.270 --> 00:54:59.370
Ik was wel enthousiast.

1184
00:54:59.610 --> 00:55:00.430
Maar nu weer.

1185
00:55:00.610 --> 00:55:01.470
Dan denk ik wel, oké, cool.

1186
00:55:01.510 --> 00:55:02.530
Klinkt echt wel...

1187
00:55:02.530 --> 00:55:05.250
Maar als ik morgen in Unity wil beginnen.

1188
00:55:05.370 --> 00:55:06.110
Wat doe ik dan?

1189
00:55:06.210 --> 00:55:08.750
Dan download ik Visual Code?

1190
00:55:09.770 --> 00:55:11.070
Ja, je hebt even kijken.

1191
00:55:11.830 --> 00:55:12.390
Visual Studio.

1192
00:55:12.570 --> 00:55:17.090
Ik geloof dat als je Unity zelf downloadt, dan vraagt hij ook of je Visual Studio

1193
00:55:17.090 --> 00:55:17.630
erbij wil hebben.

1194
00:55:17.690 --> 00:55:21.770
Dus het is in principe helemaal opgezet voor iemand die gewoon begint met alleen daarmee.

1195
00:55:21.790 --> 00:55:22.870
Dan is het allemaal plug en play.

1196
00:55:23.470 --> 00:55:29.030
En dan start je die editor op en afhankelijk van hoe moeilijk je het je zelf wilt maken,

1197
00:55:29.110 --> 00:55:31.550
kun je een tutorial doen of je kunt wat dingen in elkaar klikken.

1198
00:55:32.570 --> 00:55:36.710
Als je een beetje kan programmeren, is het echt extreem simpel om iets interactiefs

1199
00:55:36.710 --> 00:55:37.770
op je scherm te toveren.

1200
00:55:37.850 --> 00:55:40.050
Maar je bent gewoon binnen een kwartiertje up en running, als het ware.

1201
00:55:40.490 --> 00:55:40.890
Absoluut.

1202
00:55:41.290 --> 00:55:42.510
Ja, dat is...

1203
00:55:42.510 --> 00:55:42.930
Oh, cool.

1204
00:55:44.090 --> 00:55:44.290
Ja, zeker.

1205
00:55:44.290 --> 00:55:49.630
Het is bijna een beetje gevaarlijk dat er nog één game engine over is,

1206
00:55:49.790 --> 00:55:50.870
straks denk ik soms.

1207
00:55:51.770 --> 00:55:55.130
Dat is natuurlijk altijd een beetje de ring van die tijd tussen Unreal en Unity, maar...

1208
00:55:55.130 --> 00:55:58.190
Ja, ik wil net zeggen, ja, ja, die discussie hadden we toen ook.

1209
00:56:00.390 --> 00:56:00.710
Ja.

1210
00:56:00.710 --> 00:56:01.330
Dat is goed.

1211
00:56:02.310 --> 00:56:03.130
Ja, ja, precies.

1212
00:56:03.150 --> 00:56:03.950
Dat wil ik net zeggen.

1213
00:56:04.650 --> 00:56:04.770
Ja.

1214
00:56:05.010 --> 00:56:07.050
Want jij zegt van, er blijft misschien eentje over.

1215
00:56:07.530 --> 00:56:09.630
Is Unity zo dominant of hoe?

1216
00:56:11.370 --> 00:56:15.870
Ik heb wel het idee dat het vooral om in te stappen wel heel aantrekkelijk is.

1217
00:56:15.870 --> 00:56:21.870
Ook omdat C++ heeft denk ik toch iets meer van een barrière dan C-sharp.

1218
00:56:23.610 --> 00:56:25.990
En in Unreal moet je dan in principe C++ programmeren,

1219
00:56:26.050 --> 00:56:29.230
hoewel ze ook zo'n visual language hebben, waarbij je dan niet hoeft te programmeren.

1220
00:56:29.390 --> 00:56:31.970
Dus ik denk dat voor veel nieuwkomers Unity toch wel aantrekkelijker is.

1221
00:56:32.110 --> 00:56:35.530
En ik denk dat het daarom misschien wel aan dominantie zou kunnen winnen.

1222
00:56:35.730 --> 00:56:39.410
Na gaan game studios gewoon hun eigen engines programmeren op een gegeven moment.

1223
00:56:40.730 --> 00:56:42.830
Er werkt altijd iemand die op een gegeven moment zegt...

1224
00:56:42.830 --> 00:56:43.630
Voor indie developers?

1225
00:56:44.010 --> 00:56:47.630
Ja, voor indie developers is het wel echt een uitkomst.

1226
00:56:48.950 --> 00:56:50.850
En altijd iemand die zegt...

1227
00:56:50.850 --> 00:56:52.690
Ik denk bij elke studio werkt wel iemand die op een gegeven moment zegt...

1228
00:56:53.730 --> 00:56:55.990
Ja, deze feature mist, we moeten onze eigen engine bouwen.

1229
00:56:56.210 --> 00:56:57.470
Het is een soort van onverwijdelijk.

1230
00:56:57.510 --> 00:56:57.910
Ja, natuurlijk.

1231
00:56:58.570 --> 00:56:59.310
Not invented here.

1232
00:56:59.870 --> 00:57:00.510
Ja, precies.

1233
00:57:00.650 --> 00:57:01.630
Not invented here, precies.

1234
00:57:01.690 --> 00:57:05.070
Maar dan zeggen ze ja, je kan of een game bouwen of een engine.

1235
00:57:05.250 --> 00:57:07.410
Maar niet alle twee.

1236
00:57:07.810 --> 00:57:08.270
Kies maar.

1237
00:57:08.850 --> 00:57:10.310
Dat is wel een goeie, ja.

1238
00:57:10.390 --> 00:57:11.030
Ja, dat is wel een goeie.

1239
00:57:12.150 --> 00:57:13.370
Maar jij ging iets zeggen Bernard.

1240
00:57:13.370 --> 00:57:20.770
Ja, ik kwam door dit onderwerp ook op jouw mailtje wat je bestuurde.

1241
00:57:20.890 --> 00:57:22.690
Waar je een onderwerp aandroeg.

1242
00:57:23.150 --> 00:57:27.550
En dat was waarom zo vaak bij het bouwen van games mensen het wiel opnieuw uitvinden.

1243
00:57:30.110 --> 00:57:37.250
Terwijl er bij misschien niet game development veel standaard geaccepteerde software en...

1244
00:57:37.250 --> 00:57:38.190
...instructuur modellen zijn.

1245
00:57:38.970 --> 00:57:41.230
En in die game development misschien niet.

1246
00:57:41.230 --> 00:57:41.690
Mis je dat?

1247
00:57:41.690 --> 00:57:45.030
Of je zei je hebt het idee dat je telkens opnieuw het wiel uitvindt?

1248
00:57:45.090 --> 00:57:45.700
Kan je daar wat over...

1249
00:57:46.830 --> 00:57:48.410
Ja, ik mis dat wel moet ik zeggen.

1250
00:57:48.730 --> 00:57:51.750
Vaak dan denk ik als ik dan...

1251
00:57:51.750 --> 00:57:54.490
Kijk, ik maak ook weleens, of ik probeer weleens een website te maken...

1252
00:57:54.490 --> 00:57:56.830
...en dan heb je de hele webstack en dan lees ik mening react ofzo.

1253
00:57:56.890 --> 00:57:59.390
Dan denk ik, oké, deze mensen hebben echt een mening over hoe je dit moet doen.

1254
00:57:59.770 --> 00:58:02.930
Dus je moet components maken en dan koppel je dat aan je data.

1255
00:58:02.950 --> 00:58:05.690
En het is allemaal zo, oké, als je het aan het doen bent, heb je echt het gevoel...

1256
00:58:06.330 --> 00:58:07.370
...dat je het goed aan het doen bent.

1257
00:58:07.690 --> 00:58:08.830
Van dit is wat het hoort te doen.

1258
00:58:09.190 --> 00:58:11.110
En met games heb ik dat echt vaak niet.

1259
00:58:11.110 --> 00:58:14.350
Er zijn natuurlijk wel modellen van, je hebt een soort entiteiten.

1260
00:58:14.430 --> 00:58:16.570
Weet je wel, karakters of objecten of weet ik veel wat.

1261
00:58:17.130 --> 00:58:22.290
En tot op dat niveau zijn er wel conventies.

1262
00:58:22.890 --> 00:58:26.470
Maar vaak voor andere dingen zit je toch aan te rommelen.

1263
00:58:26.630 --> 00:58:27.930
En dan denk ik, doe ik dit nou goed?

1264
00:58:28.310 --> 00:58:30.530
En een dag later moet ik weer overnieuw beginnen...

1265
00:58:30.530 --> 00:58:32.050
...omdat ik denk, nee, dit klopt, dit klopt voor geen meter.

1266
00:58:33.310 --> 00:58:37.330
En de discussie over programmeren voor games komt eigenlijk vaak niet op dat niveau.

1267
00:58:37.430 --> 00:58:39.750
Het gaat eerder over veel meer low-level dingen.

1268
00:58:39.750 --> 00:58:43.510
Hoe maak je je shader 0,001 milliseconden sneller of zo.

1269
00:58:43.670 --> 00:58:47.230
Maar niet echt van, ja, hoe zet je nou dingen een beetje op of wat is een goed model?

1270
00:58:48.070 --> 00:58:51.170
En wat voor dingen denk je dan dat je het wiel opnieuw uitvindt?

1271
00:58:52.110 --> 00:58:56.450
Net een ander niveau dan die meest basale objecten, entiteiten.

1272
00:58:57.670 --> 00:59:02.650
Ja, maar ook dingen waarvan ik het idee heb dat ze bijvoorbeeld in de webdevelopment wereld...

1273
00:59:02.650 --> 00:59:06.710
...eigenlijk al uitgevonden zijn, maar die is er dan in games nog niet helemaal hebben overgenomen.

1274
00:59:06.710 --> 00:59:13.750
Zoals hoe koppel je UI, dus interfaces, aan een soort state of zo.

1275
00:59:15.310 --> 00:59:19.650
Dat is er in Unity helemaal niet een soort fundamentele manier waarop je dat geacht wordt te doen.

1276
00:59:19.810 --> 00:59:21.210
Het is allemaal gewoon...

1277
00:59:21.210 --> 00:59:22.250
Doe maar wat je leuk vindt.

1278
00:59:22.430 --> 00:59:24.530
Doe maar wat je leuk vindt.

1279
00:59:25.030 --> 00:59:28.730
Ja, als er iets verandert dan roep je een functietje aan die die knop een centimeter naar links schuift.

1280
00:59:29.770 --> 00:59:31.250
Maar niet een soort fundamenteel model.

1281
00:59:31.390 --> 00:59:33.910
En dat geldt wel voor veel dingen, denk ik.

1282
00:59:33.910 --> 00:59:37.250
Het is wel grappig ook wat je daar zegt.

1283
00:59:37.670 --> 00:59:44.350
Want er is een van de programeertalen, een beetje ook de stack, zeg maar, is Elm.

1284
00:59:44.450 --> 00:59:45.890
Ik weet niet of dat iets zegt.

1285
00:59:46.210 --> 00:59:53.910
En dat is, wat ik begreep, is juist begonnen ook als een soort van game develop omgeving...

1286
00:59:54.470 --> 00:59:56.150
...en die je dan in je browser gaat draaien.

1287
00:59:56.950 --> 01:00:01.010
Dus je had dan Vizio Studio Code en dan kon je dat programeren en dan kon je het in je browser.

1288
01:00:01.010 --> 01:00:02.490
En ze hebben toen een rewrite gedaan.

1289
01:00:02.610 --> 01:00:05.170
Want het was in eerste instantie heel erg getarget voor een game die ze wel hebben.

1290
01:00:07.230 --> 01:00:11.010
Maar ze hebben het opnieuw geschreven.

1291
01:00:12.530 --> 01:00:15.150
Maar ook, zeg maar, het is heel functioneel, zeg maar.

1292
01:00:15.250 --> 01:00:20.870
Dus hoe die state gekoppeld is aan de UI is daar heel erg, ja, heel expliciet, zeg maar.

1293
01:00:21.770 --> 01:00:25.070
Er zijn juist heel veel platformen programeertalen.

1294
01:00:25.390 --> 01:00:26.810
Dus vanuit React heb je Redux.

1295
01:00:27.070 --> 01:00:30.550
Die hebben dus juist die concepten van Elm overgenomen.

1296
01:00:31.850 --> 01:00:34.250
En wat jij zei, dat komt dus ook weer uit.

1297
01:00:34.270 --> 01:00:36.370
Was dat soort van origineel bedoeld voor games of zoiets?

1298
01:00:36.990 --> 01:00:38.870
Dus je zou zeggen dat er toch wel iemand een mening over heeft.

1299
01:00:39.330 --> 01:00:39.890
Ja, precies.

1300
01:00:40.150 --> 01:00:44.070
In ieder geval binnen die Elm, of ten eerste de developer, die Elm in eerste instantie.

1301
01:00:44.210 --> 01:00:46.050
Maar dat was echt in eerste instantie voor gaming.

1302
01:00:46.170 --> 01:00:47.990
Ze hebben dat later wat meer losgelaten.

1303
01:00:48.070 --> 01:00:49.750
Dus dat het nu meer gewoon web development is.

1304
01:00:49.830 --> 01:00:53.970
En dat je daar applicaties mee kunt maken die gewoon in je browser draaien.

1305
01:00:54.070 --> 01:00:58.530
Maar als je dan toch in React hebt geprogrammeerd en daar het idee hebt gekregen van nou, zo doet men dat hier.

1306
01:00:59.570 --> 01:01:04.790
Zijn dan die ideeën niet mee te nemen naar de game development?

1307
01:01:05.690 --> 01:01:07.690
Ja, die zijn natuurlijk in zekere zin wel mee te nemen.

1308
01:01:07.930 --> 01:01:10.670
Nu is de standaard patterns.

1309
01:01:11.650 --> 01:01:16.670
Ja, maar zoiets als React is bijvoorbeeld toch nog wel ook een vrij forse.

1310
01:01:17.410 --> 01:01:18.450
Hoe zeg je dat?

1311
01:01:18.590 --> 01:01:22.330
Code base die ervoor zorgt dat je dat op die manier van weet je wel, dat die steen netjes goed is.

1312
01:01:22.390 --> 01:01:24.210
En dat je gaat kijken wat er verandert, et cetera.

1313
01:01:24.630 --> 01:01:28.510
En dan voordat je dat gaat nabouwen, ben je denk ik toch eerder het een beetje ad hoc aan het doen.

1314
01:01:30.070 --> 01:01:33.610
Want je denkt natuurlijk bij het eerste knopje, dit knopje programmeer ik wel met de hand.

1315
01:01:33.750 --> 01:01:34.790
En dan komt er een tweede knopje.

1316
01:01:35.110 --> 01:01:37.600
En dan bij het tiende knopje denk je, oeh.

1317
01:01:38.550 --> 01:01:39.190
Ja, klopt.

1318
01:01:42.690 --> 01:01:49.350
Maar over verschillende games heen, kan je dan niet een soort eigen componenten library of wat ook meenemen?

1319
01:01:49.650 --> 01:01:51.170
Of is het toch altijd from scratch?

1320
01:01:52.450 --> 01:01:54.010
Het is toch wel vaak from scratch.

1321
01:01:54.130 --> 01:01:56.710
De dingen die ik dan zelf meeneemt zijn toch heel low level.

1322
01:01:56.710 --> 01:01:59.850
Dus het is wel meer van bepaalde wiskunde dingetjes of dat soort dingen.

1323
01:02:00.390 --> 01:02:05.750
Het komt natuurlijk ook wel omdat elk spel een soort ander paradigma heeft denk ik.

1324
01:02:06.570 --> 01:02:09.530
Bij Cloud Gardens heb je dan een cursor dat zijn handje waarmee je die op kan pakken.

1325
01:02:09.670 --> 01:02:14.330
Dus dan wil je je heel erg nadenken over wat wijst het handje aan?

1326
01:02:14.450 --> 01:02:17.310
Is dat iets wat ik kan oppakken? Is dat iets wat ik kan gebruiken?

1327
01:02:18.250 --> 01:02:21.230
Heb je daar een soort paradigmas voor? Maar bij een ander spel is dat natuurlijk anders.

1328
01:02:21.750 --> 01:02:23.650
Toch is het elke keer wel een struggle.

1329
01:02:23.650 --> 01:02:26.410
Want dan denk je ja, het voelt alsof het iets algemeens is.

1330
01:02:26.690 --> 01:02:30.490
Weet je, je hebt ook een HTML, je kan iets hoveren en dan is het hover.

1331
01:02:30.590 --> 01:02:31.490
Dan heeft het een state.

1332
01:02:31.770 --> 01:02:33.770
Dan denk je ja, dit heeft toch iemand wel bedacht ofzo.

1333
01:02:34.070 --> 01:02:39.610
Ja, maar nou ben ik bijna mijn vraag kwijt.

1334
01:02:39.830 --> 01:02:44.970
Ja, als je dan zo'n spel begint te ontwikkelen, wat is dan het eerste wat je gaat schrijven?

1335
01:02:45.010 --> 01:02:51.030
Is het dan een proever concept of begin je met die entiteiten of met één knopje?

1336
01:02:51.070 --> 01:02:51.930
Ja, grappig.

1337
01:02:51.930 --> 01:02:58.690
Ja, dat je dan toch een soort visie hebt van hoe je het spel in de loop van de tijd op gaat bouwen.

1338
01:02:58.890 --> 01:03:00.330
Of is dat, valt dat?

1339
01:03:01.230 --> 01:03:03.230
Het zijn denk ik een beetje twee stromingen.

1340
01:03:03.350 --> 01:03:06.190
Je hebt mensen die echt iets doen dat heet white boxen.

1341
01:03:06.330 --> 01:03:09.670
Dan maken ze gewoon een spel met alleen maar gewoon vormpjes.

1342
01:03:09.710 --> 01:03:10.690
Dus gewoon programmer art.

1343
01:03:10.770 --> 01:03:12.510
En dan gaan ze zorgen dat de gameplay echt goed volgt.

1344
01:03:12.610 --> 01:03:16.290
Dus dan zeggen ze oké, dit rode kubusje is nu een vijand, maar het heeft geen graphics.

1345
01:03:16.410 --> 01:03:17.910
Maar je moet je maar voorstellen dat het een vijand is.

1346
01:03:17.970 --> 01:03:21.010
En dan gaan ze zorgen dat je daar lekker op kan schieten en kan springen.

1347
01:03:21.370 --> 01:03:22.430
Dat werkt voor mij niet.

1348
01:03:22.650 --> 01:03:24.630
Ik kan niet aan een spel werken als het er niet goed uitziet.

1349
01:03:24.710 --> 01:03:27.310
Voor mij begint het echt vanaf de graphics.

1350
01:03:27.750 --> 01:03:31.010
Dus ik begin met een 3D object of een animatie.

1351
01:03:31.090 --> 01:03:32.430
En dan denk ik, oh, dat ziet er grappig uit.

1352
01:03:32.830 --> 01:03:35.230
En als het dan iets leuks doet, dan is het nog niet echt een spel.

1353
01:03:35.690 --> 01:03:36.850
Maar dan denk ik, ja, dat is wel leuk.

1354
01:03:36.890 --> 01:03:39.650
Er zit iets in en dan ga ik proberen daar een spel van te maken.

1355
01:03:40.070 --> 01:03:43.010
Dus met Cloudgird Gardens had ik die simulatie van planten.

1356
01:03:43.850 --> 01:03:45.050
Is natuurlijk geen spel, maar het is wel grappig.

1357
01:03:45.770 --> 01:03:48.630
Dus ik kon dan een soort zaadje neerzetten en dan groeide daar een plant uit.

1358
01:03:49.170 --> 01:03:52.270
Toen ben ik een jaar lang gaan nadenken hoe ik daar dan een spel van kon maken.

1359
01:03:52.830 --> 01:03:54.530
En zo steeds meer features toegevoegd.

1360
01:03:55.850 --> 01:03:58.970
Het is wel een leuke manier om te werken, want je kan altijd...

1361
01:03:58.970 --> 01:04:01.190
Je hebt nooit een hele lange to-do-list voor jezelf.

1362
01:04:01.290 --> 01:04:04.110
Het is niet dat je zo'n soort enorm plan hebt waar je nog twee jaar aan moet werken.

1363
01:04:04.210 --> 01:04:06.790
Je kan gewoon elke keer kijken, oké, dit is nu leuk.

1364
01:04:06.850 --> 01:04:08.270
Hoe kan dat nog net ietsje leuker worden?

1365
01:04:09.770 --> 01:04:10.690
Het is wel organisch.

1366
01:04:10.850 --> 01:04:16.370
Ja, trouwens, dat is natuurlijk voor jouw spel natuurlijk wel heel toepasselijk.

1367
01:04:16.370 --> 01:04:20.470
Maar het is een heel organische manier van software development.

1368
01:04:21.350 --> 01:04:22.930
Dus je ziet van, oké, je krijgt feedback.

1369
01:04:23.390 --> 01:04:26.050
Oh, dan moet ik even dit tunen of ik moet dit erbij bouwen.

1370
01:04:26.970 --> 01:04:28.930
Dat is op zich wel cool.

1371
01:04:29.070 --> 01:04:32.110
Dat heb je natuurlijk met web development, zeg maar,

1372
01:04:32.190 --> 01:04:35.570
dus de front-end development, dus dat je UI in React of Angular of whatever.

1373
01:04:36.070 --> 01:04:38.090
Dus daar heb je ook een snellere feedback loop.

1374
01:04:38.390 --> 01:04:42.110
Dus je past wat HTML aan en je ziet meteen, oh, dit doet het.

1375
01:04:42.230 --> 01:04:43.270
Dus dat is fijn.

1376
01:04:43.270 --> 01:04:48.150
In back-end development bijvoorbeeld hoeft dat niet altijd zo te zijn.

1377
01:04:48.370 --> 01:04:50.250
Dus dan kost het soms wat meer tijd.

1378
01:04:50.430 --> 01:04:57.070
En dat is, ja, dan heb je al een andere soort van developer of mindset nodig om dat goed te doen.

1379
01:04:57.270 --> 01:05:01.310
Ja, dan moet je echt meer uittekenen waarschijnlijk over langere termijnen ook.

1380
01:05:01.370 --> 01:05:02.130
Hoe gaat dit werken?

1381
01:05:02.610 --> 01:05:05.990
Ja, dat is, goed, wat jij zegt klopt helemaal.

1382
01:05:05.990 --> 01:05:13.150
Ja, want je hebt mensen die upfront designen.

1383
01:05:13.530 --> 01:05:16.030
Ik denk dat die bij verre weg in de minderheid zijn.

1384
01:05:16.130 --> 01:05:20.590
Dus die echt een heel UML die gaan maken en zeggen, oké, zo moet dit worden.

1385
01:05:21.190 --> 01:05:22.650
En die gaan bouwen.

1386
01:05:23.210 --> 01:05:27.790
Ik denk, als er 10 procent van de developers zijn die dat op die manier doen, dan is het veel.

1387
01:05:28.890 --> 01:05:33.070
Meestal is het veel bouw kleine dingetjes en kijk of dat werkt.

1388
01:05:33.070 --> 01:05:36.770
En dan ga je dan stap voor stap, zeg maar, ja, laat het zeg maar uitgroeien.

1389
01:05:36.850 --> 01:05:37.690
Ja, gewoon iteratief.

1390
01:05:38.970 --> 01:05:39.690
Ja, precies.

1391
01:05:40.910 --> 01:05:48.650
Dat is, denk ik, iets waar alle programmeurs in alle mogelijke richtingen ook wel moeite mee hebben, denk ik.

1392
01:05:48.750 --> 01:05:50.090
Van hoe ver ga je van tevoren uitdenken?

1393
01:05:50.170 --> 01:05:53.890
Je hebt toch de neiging om een soort van het perfecte systeem te gaan bedenken in je hoofd.

1394
01:05:54.670 --> 01:05:59.230
En dan daar veel te lang over na te denken voordat je überhaupt een regelmal code hebt geteapt.

1395
01:05:59.590 --> 01:06:02.190
In andere gevallen denk je, oh, had ik hier maar eerder over nagedacht?

1396
01:06:02.190 --> 01:06:03.490
Want nu is het een zootje geworden.

1397
01:06:04.410 --> 01:06:05.590
Ja, er is geen.

1398
01:06:06.430 --> 01:06:10.190
Ja, ja, ik kan er nog steeds niet mee omgaan.

1399
01:06:11.010 --> 01:06:12.450
Ik denk ook dat het wel een goede trouwens.

1400
01:06:12.450 --> 01:06:13.810
Ik denk dat dat is een vraag die gaat.

1401
01:06:14.450 --> 01:06:16.030
Normaal stelt Bernard die.

1402
01:06:17.590 --> 01:06:20.550
Maar wanneer doe je heb je wel eens een rewrite gedaan?

1403
01:06:22.450 --> 01:06:28.290
Ja, dat je zegt, oké, ik heb een game en ik dacht, oh shit, ik heb hier precies misschien niet lang genoeg over nagedacht op dat moment.

1404
01:06:28.790 --> 01:06:30.650
En ik ga de engine rewrite.

1405
01:06:30.750 --> 01:06:33.850
Want dat hoor je wel eens van, weet ik veel, met een real engine ofzo.

1406
01:06:33.910 --> 01:06:36.150
Oh ja, we hebben een hele rewrite van die engine gedaan.

1407
01:06:36.970 --> 01:06:37.950
Maar hoe vaak gebeurt dat?

1408
01:06:38.950 --> 01:06:41.110
En de vraag naar jou toe is, heb je dat weleens gedaan?

1409
01:06:41.750 --> 01:06:46.370
Ja, ik heb het zelf niet helemaal gedaan, want de engine is natuurlijk ook Unity en daar bouw je tegenaan.

1410
01:06:46.370 --> 01:06:46.850
Oh ja, tuurlijk.

1411
01:06:46.850 --> 01:06:55.030
Er zijn wel vaak modules dat je zegt, oké, deze module, de module voor de user input met de controller moet gewoon helemaal overnieuw.

1412
01:06:55.030 --> 01:06:58.290
En vaak probeer ik het wel te koppelen aan ook een soort feature voor de user.

1413
01:06:58.470 --> 01:07:03.110
Dus dan probeer ik mezelf een excuus te geven, want soms weet ik dat die rewrite ook niet helemaal nodig is.

1414
01:07:03.410 --> 01:07:06.530
Maar dan wil ik het heel graag, want dan denk ik, deze code is lelijk en ik weer ervan af.

1415
01:07:06.630 --> 01:07:12.750
En dan bedenk ik zoiets van, ja, maar als ik het nou rewrite, dan kan je de controller laten vibreren, weet je wel, die vibration.

1416
01:07:13.850 --> 01:07:19.250
En dan heb ik een soort, dan probeer ik het ook te verkopen aan mezelf van waarom die rewrite echt nodig was.

1417
01:07:19.830 --> 01:07:21.870
En zo pak ik dan af en toe een module die ik opnieuw doe.

1418
01:07:23.130 --> 01:07:26.430
Wat grotere game studios vaak doen, is dat die hebben dan pre-production en production.

1419
01:07:26.630 --> 01:07:29.070
En dan in pre-production zijn ze eigenlijk gewoon een prototype aan het maken.

1420
01:07:29.510 --> 01:07:33.610
En dan het idee is dat je aan het einde van de pre-production alles weggooit en zegt, oké, we weten nu wat het spel moet zijn.

1421
01:07:33.710 --> 01:07:34.870
Nu gaan we dat zo bouwen.

1422
01:07:37.410 --> 01:07:39.210
Dat vraag ik me toch af, dat lijkt mij heel moeilijk.

1423
01:07:41.290 --> 01:07:44.070
Om dat gewoon alles over boord te gooien.

1424
01:07:44.810 --> 01:07:49.150
Ze gaan zeker veel volle componenten voor je nemen.

1425
01:07:49.230 --> 01:07:49.930
Ja, dat denk ik ook wel.

1426
01:07:50.810 --> 01:07:52.570
Ja, ik denk het wel, ja.

1427
01:07:52.690 --> 01:07:56.570
Maar ik weet ook niet hoe dat is, want het zal ook wel te maken met funding.

1428
01:07:56.770 --> 01:07:58.390
Weet je wel, je wil even snel iets laten zien.

1429
01:07:59.190 --> 01:08:02.830
En dan, als je dat eenmaal hebt, dan heb je bewezen dat het werkt.

1430
01:08:03.610 --> 01:08:04.950
Misschien heeft het daarmee te maken.

1431
01:08:08.450 --> 01:08:09.970
En goed, sommige projecten.

1432
01:08:10.090 --> 01:08:15.490
Maar dan heb ik dus, ja, het niveauotje Cyberpunk, GTA, dat zijn die projecten van één of twee jaar.

1433
01:08:15.570 --> 01:08:18.910
Dus dat duurt, weet ik veel, zeven, acht jaar misschien.

1434
01:08:18.910 --> 01:08:23.190
Ik weet het niet eens, want volgens mij Cyberpunk heeft echt wel veel jaren.

1435
01:08:24.890 --> 01:08:29.250
Dus het prototype weggooien is in die grand scheme.

1436
01:08:29.270 --> 01:08:31.410
Ja, dat stelt niks voor, denk ik dan.

1437
01:08:31.730 --> 01:08:34.490
En ondertussen hebben ze mensen die waarschijnlijk aan de core engine werken.

1438
01:08:34.650 --> 01:08:36.310
En die werken wel gewoon door.

1439
01:08:36.550 --> 01:08:38.650
Dus die bouwen dan nieuwe rendering features, weet ik voor wat.

1440
01:08:38.710 --> 01:08:40.370
En dat blijft waarschijnlijk wel.

1441
01:08:44.210 --> 01:08:47.910
Thomas, ik zie ook in jouw spellen een soort thema af en toe terugkomen.

1442
01:08:47.910 --> 01:08:52.050
Is dat die organische groei?

1443
01:08:52.770 --> 01:08:55.330
Ja, ik zie veel organische componenten in jouw spellen.

1444
01:08:55.610 --> 01:08:58.410
Heb je daar iets af in die tijd mee?

1445
01:08:59.070 --> 01:09:02.210
Ja, ik vind, omdat ik het altijd van...

1446
01:09:02.210 --> 01:09:03.750
Je ziet ook een plant op de achtergrond, sorry.

1447
01:09:04.830 --> 01:09:06.190
Ja, dat is nou wel weer...

1448
01:09:06.190 --> 01:09:10.410
Ja, zo'n plant op de achtergrond is tegenwoordig een mastave in de tijd van Zoom.

1449
01:09:10.530 --> 01:09:11.890
Dat je niet gewoon een witte achtergrond hebt.

1450
01:09:12.030 --> 01:09:12.890
Er moet het zitten.

1451
01:09:13.850 --> 01:09:14.890
Ja, mensen, ja, precies.

1452
01:09:15.530 --> 01:09:21.050
Nee, ja, planten, ja, ik vind het altijd wel leuk om te tekenen.

1453
01:09:21.870 --> 01:09:24.070
Ik maak ook die pixel art voor die spelletje.

1454
01:09:24.110 --> 01:09:27.770
Ik begin in ieder geval zelf met het maken van de pixel art of andere soort art.

1455
01:09:28.390 --> 01:09:30.890
Ja, het tekenen van die planten en het dan in zo'n spel zetten is...

1456
01:09:31.510 --> 01:09:33.570
Ja, dat vind ik inderdaad leuk om te doen.

1457
01:09:33.690 --> 01:09:36.470
Ik weet niet precies waar het vandaan komt of waarom het iets betekent.

1458
01:09:37.150 --> 01:09:41.030
Maar het is ook iets dat planten tekenen eigenlijk heel makkelijk is.

1459
01:09:41.030 --> 01:09:43.030
Want je kan gewoon een soort...

1460
01:09:43.590 --> 01:09:48.650
In Photoshop neem je dan een brush in met een willekeurig vormpje en dan zet je gewoon een groene klodder.

1461
01:09:48.810 --> 01:09:50.330
En het lijkt al gauw op een boompje of zo.

1462
01:09:50.910 --> 01:09:56.190
Je kan heel makkelijk een soort Bob Ross-achtig gewoon wat klodders neerleggen en dan een beetje...

1463
01:09:57.050 --> 01:10:02.650
Ja, maar goed, dan moet je dat toch ook in een soort van algoritme kunnen proberen te gaan vangen.

1464
01:10:03.710 --> 01:10:08.030
En dat is dan best wel veel uitzoeken of dat moet je ook heel erg leuk vinden.

1465
01:10:09.170 --> 01:10:10.170
Ja, dat klopt.

1466
01:10:11.010 --> 01:10:16.070
In het geval van Cloud Gardens waar die planten echt groeien, is er natuurlijk een soort algoritme dat die planten laten groeien.

1467
01:10:17.950 --> 01:10:22.950
Ik ben niet echt uitgehaald van een soort fundamenteel model van hoe planten groeien of zoiets.

1468
01:10:24.050 --> 01:10:25.170
Ik kijk gewoon eigenlijk...

1469
01:10:25.170 --> 01:10:34.210
Ik gebruik de physics engine, dus het deel wat kijkt waar objecten zijn en of objecten niet door elkaar heen zitten.

1470
01:10:34.210 --> 01:10:40.210
Maar objecten kunnen natuurlijk van elkaar afstuiteren en zorgen dat ze zich niet realistisch gedragen.

1471
01:10:40.510 --> 01:10:44.350
Die gebruik ik om te kijken of er ruimte is voor een blaadje en als er ruimte is dan stop ik dat blaadje daar.

1472
01:10:44.990 --> 01:10:49.830
En bij het volgende blaadje ga ik weer kijken en zoek ik weer een nieuwe plek, gewoon brute force.

1473
01:10:50.170 --> 01:10:52.710
Als er ergens ruimte is, dan kwak ik er een blaadje neer.

1474
01:10:52.890 --> 01:10:55.090
En het werkt eigenlijk best wel goed voor die planten.

1475
01:10:56.450 --> 01:10:57.170
Ja, precies.

1476
01:10:57.350 --> 01:11:00.110
En dan gebruik ik de physics engine om zijn ruimte te laten innemen.

1477
01:11:01.550 --> 01:11:01.910
Cool.

1478
01:11:03.030 --> 01:11:10.090
Ik vind echt, wat ik echt gewoon heel tof vind, is die ontwikkeling die game development heeft gemaakt.

1479
01:11:10.310 --> 01:11:18.410
Want het is even een korte tijd geweest dat, nou goed, assembly geprogrammeerd met de V86 ooit.

1480
01:11:18.710 --> 01:11:19.190
Lang geleden.

1481
01:11:19.830 --> 01:11:21.630
Een 3D-model, dat moest je gewoon programmeren.

1482
01:11:21.690 --> 01:11:26.130
Dus dat moest je gewoon zelf de translaties doen, de rotaties, de hele zooi.

1483
01:11:26.350 --> 01:11:30.470
Dat was wel, ja, niet pijn, maar dat kost wel wat tijd.

1484
01:11:30.470 --> 01:11:36.090
Toen was er de fase, zeg maar, dat je toen begon je 3D-kaarten te krijgen.

1485
01:11:36.350 --> 01:11:38.210
Dus de, weet ik veel, hoe moet ik het noemen?

1486
01:11:38.350 --> 01:11:40.830
De S3 furtje, die was heel slecht.

1487
01:11:40.990 --> 01:11:45.010
Toen kreeg je de 3DFX-kaart en Nvidia en al dat begon toen net te komen.

1488
01:11:45.110 --> 01:11:48.050
Toen kreeg je die modellen dat je gewoon iets naar die kaarten toe stuurde.

1489
01:11:48.070 --> 01:11:49.470
En die deden heel veel dingen voor je.

1490
01:11:50.530 --> 01:11:55.210
En daarna is overal de dingen die je noemt, is best wel in een stroomversnelling gekomen.

1491
01:11:55.290 --> 01:11:58.370
En die physics engine, zeg maar, dat hield wel.

1492
01:11:58.370 --> 01:12:02.350
Ja, goed, ik heb nooit, weet je, ik heb heel kleine dingetjes gemaakt.

1493
01:12:02.590 --> 01:12:04.230
Het kan niet eens een game genoemd worden.

1494
01:12:04.750 --> 01:12:06.510
Ik noem het meer demo's, zeg maar.

1495
01:12:07.490 --> 01:12:08.370
Dus we hadden dingetjes mee gespeeld.

1496
01:12:10.990 --> 01:12:15.490
En op losgelaten, zeg maar, toen eenmaal die 3D-kaarten kwamen, toen was ik al gestopt, zeg maar.

1497
01:12:15.810 --> 01:12:19.290
Maar elke keer als ik die dingen hoorde, dacht ik van, oh shit, dat is echt tof dat dat allemaal...

1498
01:12:19.290 --> 01:12:20.230
Dat kan je allemaal, ja.

1499
01:12:20.330 --> 01:12:21.310
Dat kan je allemaal al.

1500
01:12:21.630 --> 01:12:26.370
Dus die physics engines en nog meer, weet je, die AI-en.

1501
01:12:27.170 --> 01:12:29.570
Hoe heet dat, angels, zeg maar, op die Nvidia-kaarten.

1502
01:12:29.790 --> 01:12:34.430
Dus het wordt echt wel, ja, we gaan echt wel vooruit, zeg maar.

1503
01:12:34.710 --> 01:12:35.390
Ja, klopt.

1504
01:12:35.510 --> 01:12:36.290
Dus dat, ja.

1505
01:12:36.390 --> 01:12:40.450
Wat je zegt over dat je vroeger 3D-mo's programmeren, dat vind ik nog wel...

1506
01:12:40.450 --> 01:12:46.730
Het is ook soms wel fascinerend om naar terug te gaan, om gewoon te zien dat die 3D-modellen ook heel simpel kunnen zijn

1507
01:12:46.730 --> 01:12:50.270
en je gewoon in code een aantal coördinaten kan programmeren en dat op je scherm kan tekenen.

1508
01:12:50.270 --> 01:12:55.390
En ik vind het ook wel leuk om daar soms een beetje naar terug te gaan en echt te zien van, oh ja, dit is gewoon hoe het werkt.

1509
01:12:55.770 --> 01:12:58.470
Je kan ook met een hele dagen resolutie, ja.

1510
01:12:59.630 --> 01:13:08.050
Voordat die video-GPU's er allemaal waren, heb ik een rendering gemaakt van een soort bol om je heen

1511
01:13:08.050 --> 01:13:11.230
waar je in staat en je alle kanten op kon kijken.

1512
01:13:11.310 --> 01:13:13.890
Het was niet 3D, het was eigenlijk gewoon een...

1513
01:13:13.890 --> 01:13:16.310
Hoe je het spel mist, ken je dat misschien van heel lang geleden, Saber?

1514
01:13:16.470 --> 01:13:19.630
Dat was een van die eerste spellen waar je dan in zo'n bol stond en alle kanten op kon kijken.

1515
01:13:20.690 --> 01:13:23.470
Toen dat ongeveer uitkwam, heb ik ook zoiets gemaakt.

1516
01:13:23.470 --> 01:13:28.410
En daarmee hebben we een aantal klanten in musea, waar je dan zo virtueel doorheen kon lopen.

1517
01:13:29.110 --> 01:13:35.670
In het Anne Frankhuis was er een fotograaf die dan, zeg maar, in een kubusfoto ging maken.

1518
01:13:36.230 --> 01:13:40.500
Dus dan maakten wij daar weer een bol van en die kon je dan op je PC...

1519
01:13:41.670 --> 01:13:44.170
Daar kon je dan in het Anne Frankhuis rondlopen.

1520
01:13:44.930 --> 01:13:47.430
Dus die engine heb ik ook aan meegeholpen.

1521
01:13:47.790 --> 01:13:53.190
Maar dat was eigenlijk geen 3D, maar voornamelijk een raytracing naar een kubus met foto's.

1522
01:13:53.190 --> 01:13:57.670
En dan dat zo snel mogelijk doen met heel veel cynisch en kozinsberekeningen.

1523
01:13:57.910 --> 01:14:01.230
En daar hadden we wel wat assembly nodig eerst, maar na een tijdje ook al niet meer.

1524
01:14:02.030 --> 01:14:04.090
Je bedoelt qua snelheid, na een tijdje ging dat gewoon goed.

1525
01:14:04.330 --> 01:14:11.970
Ja, die computers waren snel genoeg, maar dat duurde wel even voor het snel genoeg was.

1526
01:14:12.350 --> 01:14:18.630
We hadden wel assembly nodig, omdat snel te kunnen rennen op je 640x480 schermpje.

1527
01:14:23.570 --> 01:14:27.970
Hoe bepaal je of je een spel echt wilt gaan ontwikkelen als je ook in het achterhoofd

1528
01:14:27.970 --> 01:14:30.970
moet bedenken of het geld gaat opleveren?

1529
01:14:31.530 --> 01:14:34.290
Ja, dat is echt wel heel moeilijk.

1530
01:14:35.390 --> 01:14:40.450
Ik ken ook veel andere indie game developers die in die situatie zitten waarin ze verschillende

1531
01:14:40.450 --> 01:14:42.470
prototypes hebben en zich al heel lang afvragen.

1532
01:14:42.550 --> 01:14:43.670
Oké, waarmee ga ik nu verder?

1533
01:14:43.810 --> 01:14:44.970
Welk spel wordt het spel?

1534
01:14:46.990 --> 01:14:48.830
Dat is echt lastig.

1535
01:14:48.990 --> 01:14:52.650
Het is denk ik een soort gut feeling waarin je zegt, ja, hier kan ik iets mee, hier kan

1536
01:14:52.650 --> 01:14:53.530
ik nog verder mee.

1537
01:14:56.450 --> 01:14:59.910
Voor mij is het ook een beetje geëscaleerd, want ik dacht zowel bij Kingdom als bij Cloud

1538
01:14:59.910 --> 01:15:06.130
Gardens, ik doe nog twee maanden dit en dan doe ik er een strik omheen en dan gooi

1539
01:15:06.130 --> 01:15:06.810
ik het op Steam.

1540
01:15:08.070 --> 01:15:09.930
En die twee maanden zijn toen twee jaar geworden.

1541
01:15:10.990 --> 01:15:13.710
Als je kijkt naar welke features je er nog in wilt stoppen.

1542
01:15:15.430 --> 01:15:21.070
Dus dan heb je gepland voor een klein projectje waar al dan niet geld uitkomt en dan langzaam

1543
01:15:21.070 --> 01:15:22.210
antwoordt steeds meer.

1544
01:15:22.470 --> 01:15:25.210
Hoe meer tijd je er investeert, hoe meer het ook weer moet opbrengen natuurlijk.

1545
01:15:28.390 --> 01:15:33.790
Maar heb je van tevoren een prijs bedacht en dan kan je je daar dan aan vasthouden

1546
01:15:33.790 --> 01:15:36.250
als je het in één keer twee jaar duurt in plaats van twee maanden?

1547
01:15:37.270 --> 01:15:38.770
Ik denk dat de prijs wel een beetje omhoog gaat.

1548
01:15:39.190 --> 01:15:42.290
In eerste instantie dacht ik oké, ik maak het spelletje, dan doe ik het voor vijf euro.

1549
01:15:43.550 --> 01:15:49.110
Nu is het uiteindelijk voor zeven euro uitgekomen op Steam en we doen zoiets dat heet

1550
01:15:49.110 --> 01:15:49.770
early access.

1551
01:15:49.930 --> 01:15:53.290
Dus dan release je het en dan zeg je bij dat het nog niet helemaal af is.

1552
01:15:54.590 --> 01:15:57.450
En dan doe je steeds updates en dan met elke update doe je de prijs ook weer een

1553
01:15:57.450 --> 01:16:00.770
beetje omhoog omdat het spel dan dichterbij de final versie is.

1554
01:16:04.710 --> 01:16:07.610
En als het spel er straks uitkomt dan is de prijs nog.

1555
01:16:09.070 --> 01:16:12.710
Ja, het is een soort zeg je dat Blackmagic, iedereen bedenkt maar wat en dan zeg je

1556
01:16:12.710 --> 01:16:15.870
ja, als het nou net onder een tientje is dan willen mensen het vast wel

1557
01:16:15.870 --> 01:16:18.770
kopen of dan is het twee koppen koffie en dan willen ze het vast wel kopen of

1558
01:16:19.410 --> 01:16:20.870
je doet echt maar wat.

1559
01:16:21.470 --> 01:16:22.330
Ja, dat is ook zo.

1560
01:16:22.430 --> 01:16:24.970
Je hebt het geldt ook voor iOS appjes die ik heb gebouwd.

1561
01:16:25.090 --> 01:16:25.330
Denk je?

1562
01:16:26.270 --> 01:16:27.430
Ja, dat is redelijk.

1563
01:16:27.770 --> 01:16:28.130
Waarom?

1564
01:16:28.570 --> 01:16:32.490
Ja, ja, ik denk, ik denk de laatste tijd wel steeds vaker.

1565
01:16:32.570 --> 01:16:36.450
Ik heb het liefst gewoon een iOS app waar ik gewoon een normaal bedrag voor

1566
01:16:36.450 --> 01:16:36.750
betaal.

1567
01:16:36.750 --> 01:16:40.150
Laat het een tientje zijn die dan gewoon iets, één ding heel goed doet in plaats

1568
01:16:40.150 --> 01:16:42.910
van een soort app die het net niet allemaal goed doet, waar je drie keer door

1569
01:16:42.910 --> 01:16:43.790
ads heen moet klikken.

1570
01:16:44.270 --> 01:16:50.150
En maar er is natuurlijk een soort ja, ik denk ik om betaalde apps te maken,

1571
01:16:50.150 --> 01:16:55.130
ook omdat veel gebruikers bij een betaalde app al gelijk zeg je dat

1572
01:16:56.230 --> 01:16:56.630
wegklikken.

1573
01:16:56.910 --> 01:16:58.250
Maar bij games is een beetje hetzelfde.

1574
01:16:58.390 --> 01:16:58.990
Dat is waar.

1575
01:16:59.930 --> 01:17:02.370
Maar als gebruiker denk ik steeds vaker.

1576
01:17:02.410 --> 01:17:04.750
Laat mij maar gewoon betalen, want dan weet ik wat ik krijg.

1577
01:17:05.550 --> 01:17:06.470
En als developer?

1578
01:17:06.650 --> 01:17:07.330
Denk je ook?

1579
01:17:07.930 --> 01:17:09.050
Ik zet er gewoon een prijs op.

1580
01:17:10.010 --> 01:17:13.210
Ja, als developer vind ik het ook eerlijker, want je hoeft niet eerst een

1581
01:17:13.210 --> 01:17:15.230
spel te maken en vervolgens te verzinnen hoe je er geld aan gaat

1582
01:17:15.230 --> 01:17:15.510
verdienen.

1583
01:17:15.650 --> 01:17:18.510
Je zegt gewoon ja, jullie krijgen deze ervaring voor dit bedrag en ik

1584
01:17:18.510 --> 01:17:21.410
probeer je voor dat bedrag gewoon de leukste ervaring te geven en niet.

1585
01:17:22.110 --> 01:17:25.370
Het is een gratis spel, dus je krijgt een beetje en dan na een uur spelen

1586
01:17:25.370 --> 01:17:27.150
ga ik proberen om je geld af te troggelen.

1587
01:17:28.070 --> 01:17:30.330
Ja, je hoeft ook niks.

1588
01:17:30.350 --> 01:17:31.430
Je hoeft niks achter te houden.

1589
01:17:31.430 --> 01:17:34.810
Je kan gewoon als je betaalt voor het spel kan je gewoon het zo leuk

1590
01:17:34.810 --> 01:17:35.450
mogelijk maken.

1591
01:17:35.630 --> 01:17:35.890
Je hoeft geen.

1592
01:17:37.170 --> 01:17:38.370
Ja, het is wel.

1593
01:17:38.470 --> 01:17:39.410
Het is wel het fijnste.

1594
01:17:39.630 --> 01:17:44.050
Ja, maar wat jij zegt is vanuit een gebruikers perspectief, zeg

1595
01:17:44.050 --> 01:17:46.530
me, die perspectief heb ik niet.

1596
01:17:46.610 --> 01:17:47.590
Natuurlijk voor games.

1597
01:17:48.310 --> 01:17:52.130
Maar dan is dat één keer betalen, zeg maar, en dan niet iedere keer

1598
01:17:52.130 --> 01:17:52.610
weer.

1599
01:17:52.610 --> 01:17:53.950
Oh ja, hiervoor een uitbreiding.

1600
01:17:54.210 --> 01:17:57.550
Dat is het fijnste en dan betaal ik ook echt liever zelf voor een

1601
01:17:57.550 --> 01:18:00.550
keer weet ik veel in plaats van één of twee euro.

1602
01:18:01.350 --> 01:18:04.650
Hier heb je dan niet tien of vijftien euro en dan laat me verder met

1603
01:18:04.650 --> 01:18:04.970
rust.

1604
01:18:06.370 --> 01:18:08.590
Ja, dus dat dat dat vind ik het fijnste.

1605
01:18:08.590 --> 01:18:12.410
Alleen ik vraag me af en ja, dat zul jij denk ik beter waar het

1606
01:18:12.410 --> 01:18:13.630
meeste mee aan verdiend wordt.

1607
01:18:14.050 --> 01:18:16.810
Want jij bedoelt speeltjes als hoe heet ze?

1608
01:18:17.210 --> 01:18:19.690
Fortnite, Apex Legends en dat soort dingen.

1609
01:18:19.690 --> 01:18:23.670
Ja, dat is allemaal freemium en ze verdienen bakkevol met geld aan

1610
01:18:24.110 --> 01:18:24.510
ja.

1611
01:18:25.410 --> 01:18:28.690
Ja, kleding hoort dat of pakjes en dat soort.

1612
01:18:29.330 --> 01:18:30.910
Ja, dus dat dat zijn.

1613
01:18:32.210 --> 01:18:34.150
Ja, dat model is wel goed.

1614
01:18:34.170 --> 01:18:35.530
Maar goed, het is volgens mij op iOS.

1615
01:18:36.150 --> 01:18:37.810
Dat is wel volgens mij bij Apple.

1616
01:18:38.030 --> 01:18:40.530
Wel hebben ze wel een beetje de insteek gehad.

1617
01:18:41.450 --> 01:18:43.010
Dat ze veel duidelijk wilde maken.

1618
01:18:43.650 --> 01:18:48.590
Oké, of of je nu echt in app betaal je nog had.

1619
01:18:50.310 --> 01:18:52.470
Om mensen wat bewuster te maken van dat je dat ja, dat het

1620
01:18:52.470 --> 01:18:55.010
niet echt gratis is en dat je dus beter erbij staat.

1621
01:18:55.370 --> 01:18:56.470
Er zijn in app payments.

1622
01:18:56.950 --> 01:18:58.570
Ja, ja, je weet natuurlijk nooit.

1623
01:18:59.950 --> 01:19:01.090
Het is altijd lastig als je speelt.

1624
01:19:01.130 --> 01:19:01.570
Kan je altijd denken.

1625
01:19:01.670 --> 01:19:04.610
Ja, maar hoeveel lol krijg ik nu voor hoeveel euro zeg maar.

1626
01:19:04.650 --> 01:19:07.910
Je moet altijd denken van ja, welke leuke dingen houden zij

1627
01:19:07.910 --> 01:19:10.410
achter voor de spelers die wel betalen en hoe leuk is het om

1628
01:19:10.410 --> 01:19:10.950
niet te betalen?

1629
01:19:10.970 --> 01:19:12.970
Je bent ook constant bezig met die overweging.

1630
01:19:13.410 --> 01:19:15.090
Wat je zei over die kleding in Fortnite.

1631
01:19:15.230 --> 01:19:17.190
Wordt het spel nou leuker als ik een hoedje koop?

1632
01:19:17.250 --> 01:19:18.250
Moet ik het wel of niet doen?

1633
01:19:19.730 --> 01:19:23.050
Daarom is het ja, denk ik, voor iedereen beter als je van tevoren

1634
01:19:23.050 --> 01:19:23.370
betaalt.

1635
01:19:23.450 --> 01:19:25.470
Maar als je nou vraagt waarom wordt het meest verdiend, dan is

1636
01:19:25.470 --> 01:19:26.970
het wel het freemium model natuurlijk.

1637
01:19:27.210 --> 01:19:28.170
Ja, dat denk ik wel.

1638
01:19:28.350 --> 01:19:31.390
Ik denk dat voor Fortnite en Apex er meer dan zijn.

1639
01:19:33.610 --> 01:19:38.890
Ja, ja, kijk en ja goed, ik heb een paar kinderen die zeg

1640
01:19:38.890 --> 01:19:41.250
maar met de iPads rondstuiteren.

1641
01:19:42.070 --> 01:19:42.970
En dan krijgen we iedere dag.

1642
01:19:43.030 --> 01:19:43.890
Ja, ik wil dit spelletje.

1643
01:19:43.950 --> 01:19:44.630
Ik wil dat spelletje.

1644
01:19:44.650 --> 01:19:46.910
En ik ga niet iedere keer dat daar zit.

1645
01:19:46.910 --> 01:19:47.630
Dus weer.

1646
01:19:47.850 --> 01:19:49.470
Daar zit ik een beetje wel weer voor.

1647
01:19:49.790 --> 01:19:51.330
Hier heb je gratis spel.

1648
01:19:53.250 --> 01:19:59.290
En dan eigenlijk nooit, zo moet ik het echt zeggen, is dat we dan in

1649
01:19:59.290 --> 01:20:01.150
app purchases doen.

1650
01:20:01.230 --> 01:20:03.590
Dus we verdienen niet per se iets aan ons.

1651
01:20:04.970 --> 01:20:06.610
Alleen, ja, dat is één spel Brawl Stars.

1652
01:20:07.490 --> 01:20:09.030
Daar doe ik nog eens één keer in de maand.

1653
01:20:09.070 --> 01:20:12.310
Of hier heb je de Brawl Pass.

1654
01:20:12.430 --> 01:20:14.210
En dan laten we hem even met rust, zeg maar.

1655
01:20:15.350 --> 01:20:16.910
Dus dat is daar wel weer zo.

1656
01:20:17.170 --> 01:20:19.070
Maar goed, dat Free Me model werkt dan wel.

1657
01:20:19.290 --> 01:20:20.990
Weet je, die kinderen die willen spelletjes.

1658
01:20:21.170 --> 01:20:23.130
En dan, ja, daar verdienen ze gewoon bakkenvol met geld.

1659
01:20:23.290 --> 01:20:24.130
En dat is ook met Fortnite.

1660
01:20:24.370 --> 01:20:29.610
Dat is echt mensen gewoon hun zakgeld allemaal in Fortnite steken.

1661
01:20:30.030 --> 01:20:32.770
Ja, en uiteindelijk gemiddeld betalen mensen daar meer voor dan.

1662
01:20:32.770 --> 01:20:33.490
Ja, zeker.

1663
01:20:33.770 --> 01:20:34.010
Ja, ja.

1664
01:20:34.010 --> 01:20:35.890
Dat ze zouden betalen als je gewoon één keer dat spel koopt.

1665
01:20:35.970 --> 01:20:36.930
Maar ja, dat is natuurlijk gemiddeld.

1666
01:20:36.990 --> 01:20:39.630
Er zijn mensen die veel uitgeven en weinig uitgeven.

1667
01:20:39.950 --> 01:20:42.650
En dat weten zij natuurlijk ook precies.

1668
01:20:42.650 --> 01:20:46.010
Wie er meer of minder uitgeeft, zelfs al voor je dat spel gespeeld hebt.

1669
01:20:46.790 --> 01:20:47.110
Oké.

1670
01:20:47.210 --> 01:20:51.450
Want ze tracken jou natuurlijk ook via alle opties voor tracking die er tot hun beschikking zijn.

1671
01:20:51.990 --> 01:20:56.050
En ze kunnen dus ook de spelervaring aanpassen aan of jij een betalende gebruiker bent of niet.

1672
01:20:56.130 --> 01:20:59.210
Als ze weten dat je een whale bent, schotelen ze je geen ads voor.

1673
01:20:59.290 --> 01:21:02.350
Want dan weten ze dat ze veel meer kunnen verdienen aan in-app purchases.

1674
01:21:03.790 --> 01:21:07.470
En als ze toch wel weten dat je niet gaat betalen, dan krijg je een heleboel ads.

1675
01:21:10.590 --> 01:21:12.170
En dat zit ook in jouw games?

1676
01:21:13.950 --> 01:21:15.830
Of zit er enige tracking in jouw games?

1677
01:21:16.310 --> 01:21:17.530
Of wat weet je?

1678
01:21:18.190 --> 01:21:18.870
Wat weet ik?

1679
01:21:19.050 --> 01:21:24.770
Ik heb dus als het spel crash dan kan je een crash report sturen en dan krijg ik een stack trace en dan kan ik dat zien.

1680
01:21:25.490 --> 01:21:27.450
En je kan ook via het spel feedback geven.

1681
01:21:27.550 --> 01:21:29.790
Dus je kan iets intypen en dan kun je je e-mail adres achterlaten.

1682
01:21:30.990 --> 01:21:32.210
En dan kan ik dat fixen.

1683
01:21:32.410 --> 01:21:33.050
Verder geen tracking.

1684
01:21:33.190 --> 01:21:36.810
Je kan echt wel die analytics doen waarin je echt kijkt van nou ja, hoe lang spelen mensen?

1685
01:21:36.810 --> 01:21:38.130
Wanneer houden ze er mee op?

1686
01:21:38.670 --> 01:21:39.470
Hoe lang is elke keer?

1687
01:21:40.150 --> 01:21:41.450
Na hoeveel tijd komen ze terug?

1688
01:21:42.350 --> 01:21:44.870
Ik heb dat wel gedaan, maar ik vond het ook moeilijk om er echt iets uit te leren.

1689
01:21:44.950 --> 01:21:46.970
Dan dacht ik ja, ze haken af na een uur denk ik.

1690
01:21:47.290 --> 01:21:48.310
Ja, ze hebben betaald.

1691
01:21:48.430 --> 01:21:50.570
Als ze het een uur lang naar hun zin hebben gehad, vind ik het eigenlijk prima.

1692
01:21:51.470 --> 01:21:53.010
Ja, ja, precies.

1693
01:21:53.190 --> 01:21:55.750
Ik vind dat is wel wel grappig wat je nu zegt.

1694
01:21:55.950 --> 01:21:59.150
Want ik had altijd al wel een beetje het idee.

1695
01:21:59.230 --> 01:22:01.450
Zeker bij first person shooter, zeg maar.

1696
01:22:01.850 --> 01:22:04.550
Je gedraagt je het gedrag binnen dat spel.

1697
01:22:04.550 --> 01:22:07.550
Dus los van wat mensen kopen of niet.

1698
01:22:07.650 --> 01:22:10.670
Maar goed, is iemand heel erg agressief?

1699
01:22:11.030 --> 01:22:12.290
Of is iemand juist niet agressief?

1700
01:22:12.450 --> 01:22:15.990
En dat gedrag kun je ook nog eens mogelijk koppelen aan.

1701
01:22:16.330 --> 01:22:18.610
Koopt hij wel pakjes?

1702
01:22:18.710 --> 01:22:21.570
Of koopt hij juist de custom gun?

1703
01:22:22.270 --> 01:22:22.610
Hoe heet dat?

1704
01:22:23.570 --> 01:22:23.990
Ja, klopt.

1705
01:22:24.070 --> 01:22:27.370
Ze doen er vast meer mee dan wij zouden bedenken.

1706
01:22:28.950 --> 01:22:31.870
Misschien kijken ze naar hoe snel je er op het menu heen klikt als je het spel opstart.

1707
01:22:31.870 --> 01:22:34.390
En dan op basis daarom zeg je echt heel eager.

1708
01:22:34.550 --> 01:22:37.390
Dus je gaat vast geld uitgeven.

1709
01:22:38.290 --> 01:22:40.730
De prijs van de wapens gaat omhoog als je hard praat.

1710
01:22:40.890 --> 01:22:41.470
Omdat je boos bent.

1711
01:22:43.890 --> 01:22:47.330
En wat ook wel bekend is dat ze doen is dat of dat soms gebeurt,

1712
01:22:47.410 --> 01:22:51.790
is dat de eerste paar games die je speelt dan stoppen ze in een team waarin de kans groter is dat je gaat winnen.

1713
01:22:51.850 --> 01:22:53.190
Zodat je eerste ervaring toch.

1714
01:22:53.230 --> 01:22:53.790
Oh ja.

1715
01:22:55.150 --> 01:22:55.910
Oh wow.

1716
01:22:55.950 --> 01:22:56.990
Dat is wel vals.

1717
01:22:57.350 --> 01:22:58.530
Dat klinkt een beetje sneaky.

1718
01:22:58.990 --> 01:22:59.950
Dat is wel een beetje sneaky.

1719
01:23:00.870 --> 01:23:03.130
Ja, er valt heel veel op z'n plek nu.

1720
01:23:04.170 --> 01:23:04.290
Ja, precies.

1721
01:23:04.390 --> 01:23:07.350
Dan speel je het de eerste half uur en denk je oh, ik ben echt goed in dit spel.

1722
01:23:07.910 --> 01:23:10.390
En daarna komt ineens de harde realiteit.

1723
01:23:10.410 --> 01:23:14.310
Dat je hier niet kan meten met kids van 16 met reflexen.

1724
01:23:15.330 --> 01:23:16.570
Ja, daar heb je wel gelijk in trouwens.

1725
01:23:16.670 --> 01:23:17.910
Die reflexen, dat is wel een ding.

1726
01:23:18.110 --> 01:23:18.570
Ja, dat is.

1727
01:23:18.750 --> 01:23:20.210
Ik dacht deze week, ik ben echt snel.

1728
01:23:20.710 --> 01:23:21.970
Nee, ik ben echt snel.

1729
01:23:23.130 --> 01:23:26.010
Ja, dat is even voor mij ook al binnengekomen.

1730
01:23:27.210 --> 01:23:29.030
Ja, ja, cool.

1731
01:23:29.030 --> 01:23:33.710
Maar bouw je misschien wel andere dingen in je spellen in die je zo lang mogelijk geheim

1732
01:23:34.370 --> 01:23:36.110
of verrassing moeten blijven voor de gebruikers.

1733
01:23:36.990 --> 01:23:39.490
Zijn er, zijn er, ja.

1734
01:23:41.090 --> 01:23:43.070
Ja, die geheim moeten blijven.

1735
01:23:43.130 --> 01:23:48.590
Of ja, gewoon die je langzaam prijs wilt geven, maar niet meteen het eerste.

1736
01:23:48.790 --> 01:23:52.630
Ja, Kingdom was wel een beetje zo'n spel waarbij er een heleboel soort mysterieuze

1737
01:23:52.630 --> 01:23:54.930
dingen gebeuren, waar je ook op verschillende manieren mee om kan gaan.

1738
01:23:54.970 --> 01:23:57.650
Dus je komt dan een of andere karakter tegen en je weet niet precies wat die doet.

1739
01:23:57.650 --> 01:24:00.870
En dan vind je dat uit met een beetje trial en error.

1740
01:24:00.970 --> 01:24:02.950
Dus daar zitten wel veel van dat soort dingen in.

1741
01:24:03.910 --> 01:24:05.870
Nu wat minder. Cloud Garden is wat meer gewoon straight forward.

1742
01:24:05.970 --> 01:24:08.090
Je weet eigenlijk binnen het eerste uur al ongeveer hoe het spel gaat zijn.

1743
01:24:08.110 --> 01:24:09.670
En dan is het gewoon meer daarvan.

1744
01:24:10.890 --> 01:24:15.010
Het is ook zo dat als je natuurlijk een spel programmeert, hoe meer unieke

1745
01:24:15.010 --> 01:24:17.970
gameplay mechanics je programmeert, hoe meer werk het ook is, want die hebben ook

1746
01:24:17.970 --> 01:24:21.270
allemaal weer, die moeten weer in elkaar haken, als het ware.

1747
01:24:21.810 --> 01:24:24.690
Terwijl je spel gewoon het hele spel lang hetzelfde doet, is dat makkelijk.

1748
01:24:24.690 --> 01:24:27.410
Dat is een soort van overzichtelijk. Dan hoef je alleen maar meer levels te bouwen.

1749
01:24:28.010 --> 01:24:30.370
Maar als het spel elke keer iets nieuws doet en weer iets.

1750
01:24:33.230 --> 01:24:36.830
Dat was bij Kingdom nog wel een ding, want ik wilde elke keer

1751
01:24:36.830 --> 01:24:39.130
content toevoegen die ook iets echt iets nieuws deed.

1752
01:24:39.250 --> 01:24:42.630
Dus niet alleen een nieuw kleurtje of een mannetje dat gewoon twee keer zo

1753
01:24:42.630 --> 01:24:45.250
sterk is, maar ook echt een soort nieuw nieuw behavior.

1754
01:24:45.930 --> 01:24:47.370
En dat was dan elke keer wel weer.

1755
01:24:47.550 --> 01:24:48.890
Oh ja, hier hadden we dit hadden we niet voorzien.

1756
01:24:49.050 --> 01:24:51.170
Hier is die engine eigenlijk niet opgebouwd.

1757
01:24:51.330 --> 01:24:53.810
Dat je bijvoorbeeld door een of andere war portal kan teleporten.

1758
01:24:54.830 --> 01:24:56.210
Ja, ja, ja.

1759
01:24:56.270 --> 01:24:57.550
Zo snel kan die wereld helemaal niet.

1760
01:24:57.730 --> 01:25:00.430
Na goed, en elke keer bouw je weer op en weer nieuwe dingetjes.

1761
01:25:01.090 --> 01:25:03.810
Is wel leuk voor gebruikers, maar het wordt wel een soort gammelbouwer.

1762
01:25:04.030 --> 01:25:07.590
Ik heb wel eens iets van oké, laat ik eens iets programmeren voor, weet ik veel,

1763
01:25:07.890 --> 01:25:10.890
een Nintendo Super Nintendo van vroeger.

1764
01:25:10.970 --> 01:25:12.510
Want dat gebeurt nog steeds.

1765
01:25:12.570 --> 01:25:15.450
Ja, dat mensen voor de Commodore 64.

1766
01:25:15.710 --> 01:25:16.590
Dat ding is echt oud.

1767
01:25:16.690 --> 01:25:18.490
Dat ze daar nog nieuwe software voor maken.

1768
01:25:19.150 --> 01:25:20.050
Heb je dat weleens?

1769
01:25:21.230 --> 01:25:22.890
Ik begrijp de fascinatie wel.

1770
01:25:23.310 --> 01:25:23.670
Ja.

1771
01:25:23.730 --> 01:25:29.330
En ik ken ook een team en die hebben dus inderdaad wat je zegt voor de voor de

1772
01:25:29.330 --> 01:25:32.210
eerste Nintendo, niet de Super Nintendo, maar de net.

1773
01:25:33.210 --> 01:25:33.930
Game gebouwd.

1774
01:25:33.970 --> 01:25:34.850
En ik dacht echt.

1775
01:25:34.990 --> 01:25:35.890
Ah, dit is zo vet.

1776
01:25:36.030 --> 01:25:38.630
Wat voor trucjes zij moeten doen om daar het meeste uit te krijgen.

1777
01:25:39.490 --> 01:25:41.050
Hoe ze alle assets moeten hergebruiken.

1778
01:25:42.390 --> 01:25:45.290
Dus wat ook het is toch ook het verhaal van Mario dat de wolkjes hetzelfde zijn

1779
01:25:45.290 --> 01:25:46.710
als de boompjes of zo.

1780
01:25:46.850 --> 01:25:49.450
Dat je echt dat soort dingen moet doen, dat je gewoon die sprites moet hergebruiken

1781
01:25:49.450 --> 01:25:50.070
en zo.

1782
01:25:50.170 --> 01:25:52.370
Als je er echt in moet werken.

1783
01:25:52.370 --> 01:25:53.310
Het is ook wel zwaar.

1784
01:25:53.450 --> 01:25:53.970
Lijkt me.

1785
01:25:54.170 --> 01:25:54.770
Je moet wel.

1786
01:25:55.330 --> 01:25:56.450
Ja, ja, het is.

1787
01:25:56.710 --> 01:25:57.390
Ja, je bent verwend.

1788
01:25:57.410 --> 01:25:57.990
Misschien nu.

1789
01:25:58.070 --> 01:25:58.790
Je bent echt verwend.

1790
01:25:58.830 --> 01:26:01.830
En ik vind het leuk om wel visueel met die soort beperkingen te werken.

1791
01:26:01.910 --> 01:26:04.390
Maar dan weet je van oh, gelukkig draai ik dit gewoon op.

1792
01:26:04.470 --> 01:26:05.070
Nou ja, wat zei je?

1793
01:26:05.730 --> 01:26:06.050
3060.

1794
01:26:06.330 --> 01:26:07.890
Ik heb er ergens last van.

1795
01:26:08.150 --> 01:26:08.590
Ja, ja.

1796
01:26:08.910 --> 01:26:09.510
Ja, dat is waar.

1797
01:26:09.710 --> 01:26:12.170
En het leuke is dan ook dat je een soort van wat je krijgt.

1798
01:26:12.250 --> 01:26:16.550
Stel je werkt met een soort retro graphics op huidige hardware, dan kan je dus ook

1799
01:26:16.550 --> 01:26:18.650
een miljoen sprites op je scherm tekenen.

1800
01:26:18.790 --> 01:26:21.190
Omdat elke sprite zo licht is, kan je dus weer een nieuw soort ding doen.

1801
01:26:21.190 --> 01:26:23.710
Omdat je in een keer zoveel overhead.

1802
01:26:23.810 --> 01:26:25.370
Zo zag je dat zoveel headroom hebt.

1803
01:26:27.450 --> 01:26:28.150
Ja, dat klopt.

1804
01:26:28.350 --> 01:26:29.950
Je moet je nooit zorgen te maken over performance.

1805
01:26:30.690 --> 01:26:30.950
Ja.

1806
01:26:30.950 --> 01:26:31.970
Terwijl je het ook van die games.

1807
01:26:32.270 --> 01:26:34.310
Die hebben dan karakters met weet ik veel.

1808
01:26:34.670 --> 01:26:37.330
Ik weet niet of dit dan normaal getal is, maar 10 miljoen polygons.

1809
01:26:37.470 --> 01:26:39.550
Dus die kunnen er maar twee karakters op het scherm tegelijk hebben.

1810
01:26:39.670 --> 01:26:40.110
Weet je wel?

1811
01:26:41.070 --> 01:26:41.410
Ja.

1812
01:26:41.510 --> 01:26:44.390
Omdat ze zo helemaal ingezond zijn als het ware.

1813
01:26:44.870 --> 01:26:45.170
Ja.

1814
01:26:45.650 --> 01:26:46.610
Oh ja, tuurlijk.

1815
01:26:46.830 --> 01:26:47.010
Ja.

1816
01:26:47.770 --> 01:26:48.310
Nou ja, cool.

1817
01:26:48.710 --> 01:26:49.130
Nou ja, goed.

1818
01:26:49.130 --> 01:26:50.210
Ik hoor dat wel.

1819
01:26:50.330 --> 01:26:51.090
Ze denken vet.

1820
01:26:51.310 --> 01:26:53.230
Dat is wel wel leuk, zeg maar, om dat.

1821
01:26:53.550 --> 01:26:55.510
Ja, ja, het is denk ik ook.

1822
01:26:55.590 --> 01:26:56.710
Ik kan me het voorstellen om te doen.

1823
01:26:57.070 --> 01:26:59.970
Ja, en je kan het ook redelijk behappen, zeg maar, denk ik.

1824
01:27:00.050 --> 01:27:02.730
Dat hele apparaat geeft denk ik ook wel echt voldoening om gewoon te weten.

1825
01:27:03.390 --> 01:27:06.410
Ja, deze chip gaat gewoon dit doen en ik ken al die instructies.

1826
01:27:06.750 --> 01:27:08.950
Ja, ja, je moet denk ik wel assembly schrijven.

1827
01:27:09.010 --> 01:27:11.850
Maar goed, dan zijn jullie waarschijnlijk wel bekend mee.

1828
01:27:12.010 --> 01:27:14.810
Nou ja, wel bekend mee, maar bedreven niet meer.

1829
01:27:14.890 --> 01:27:16.570
Maar goed, het was wel.

1830
01:27:17.210 --> 01:27:20.710
Weet je, die Commodore 64 en al die homecomputers, die zaten.

1831
01:27:20.870 --> 01:27:21.650
Dat was gewoon vast.

1832
01:27:21.770 --> 01:27:24.410
Het is niet dat je dan bij een pc een jaartje wacht.

1833
01:27:24.530 --> 01:27:28.230
En dan was er een nieuwe versie van een Intel of van een GPU.

1834
01:27:28.530 --> 01:27:29.470
Of van een AMD, whatever.

1835
01:27:31.090 --> 01:27:34.670
Nee, in de tijdspannen, weet ik veel, tien jaar.

1836
01:27:34.730 --> 01:27:37.590
Ik weet niet hoe lang de lifespan was van de Commodore 64.

1837
01:27:37.690 --> 01:27:38.590
Maar dat was altijd hetzelfde.

1838
01:27:38.710 --> 01:27:42.650
Dus je moest gewoon creatief zijn met die hardware.

1839
01:27:42.650 --> 01:27:47.750
Dat was wel, ja, dat was een soort van wedstrijd ook, zeg maar,

1840
01:27:47.890 --> 01:27:50.450
tussen verschillende developers.

1841
01:27:50.590 --> 01:27:52.630
En ook demomakers, zeg maar, dat is nog niet eens game development.

1842
01:27:52.950 --> 01:27:55.510
Wat kan ik nou, hoeveel kleuren kan ik nou op het scherm krijgen?

1843
01:27:55.610 --> 01:27:59.050
Terwijl in de hardware staat, in de spec staat er 16 kleuren.

1844
01:27:59.130 --> 01:28:01.590
Maar ja, ik krijg het voor elkaar om 256 op te krijgen.

1845
01:28:01.830 --> 01:28:02.970
Of weet je, dat soort dingetjes.

1846
01:28:03.370 --> 01:28:04.890
Ja, dat vond ik wel, dat was al leuk.

1847
01:28:05.130 --> 01:28:09.730
Ik kon zelf een eigen turbo-knop maken op je Commodore 64.

1848
01:28:10.010 --> 01:28:11.270
Zo'n switchje.

1849
01:28:11.270 --> 01:28:13.490
Ik weet niet wat er dan gebeurde, maar dan ging die sneller.

1850
01:28:14.970 --> 01:28:15.690
Ja, precies.

1851
01:28:16.130 --> 01:28:18.570
Dus dat soort dingen was wel, ja, dat was wel wel.

1852
01:28:18.710 --> 01:28:19.330
Ja, heel vet.

1853
01:28:19.410 --> 01:28:21.670
Je weet natuurlijk dan ook echt dat je het laatste eruit geperst hebt.

1854
01:28:21.690 --> 01:28:22.830
Dat je gewoon dat deed.

1855
01:28:22.950 --> 01:28:25.450
Ja, maar dat is volgens mij wel een heel aparte hobby.

1856
01:28:25.550 --> 01:28:26.450
Dat moet je wel leuk vinden.

1857
01:28:26.590 --> 01:28:32.330
Ik denk, nu ik verwend ben met onbeperkt geheugen en snelheid,

1858
01:28:32.910 --> 01:28:37.650
dan om daar nog eens, je moet het wel leuk vinden.

1859
01:28:37.650 --> 01:28:41.450
Ik denk niet dat ik daar genoeg plezier aan ga beleven.

1860
01:28:41.690 --> 01:28:45.810
Nee, maar goed, dat is ook een soort van hobby, zeg maar.

1861
01:28:46.070 --> 01:28:48.550
Ik vind het wel fascinerend om te lezen van die Prince of Persia,

1862
01:28:49.430 --> 01:28:52.410
die dat boek van die maken met zijn logs en wat ze allemaal moeten doen.

1863
01:28:53.030 --> 01:28:56.830
En als je die trucken terugleest, wat ze moet uithalen,

1864
01:28:56.930 --> 01:29:00.150
om inderdaad het uiterste uit die beperkte...

1865
01:29:00.150 --> 01:29:03.470
En dan voor wat toen een soort van echt heel vooruitstrevende graphics waren.

1866
01:29:03.890 --> 01:29:04.810
Ja, ja, ja.

1867
01:29:04.810 --> 01:29:09.890
Het is fantastisch dat je een poppetje beweegt, zo vloeiend, met zoveel frames animatie.

1868
01:29:10.750 --> 01:29:13.490
Ook de kleurkeuzes en zo, want dat is ook voor bij Mario,

1869
01:29:13.550 --> 01:29:16.470
hoe dat ook zat, van waarom die kleuren nou zo gekozen zijn.

1870
01:29:17.070 --> 01:29:18.570
Dat had ook al met die hardware te maken.

1871
01:29:18.810 --> 01:29:22.510
Dus het is echt wel... Ja, ik heb dat boek nog niet gelezen,

1872
01:29:22.550 --> 01:29:25.290
maar ik vind het wel heel gaaf om dat soort geschiedenis dan te lezen

1873
01:29:25.650 --> 01:29:27.250
en van waar hebben ze allemaal mee te maken gehad?

1874
01:29:27.450 --> 01:29:30.950
En waarom is dat, ook wat jij net zegt van die wolkjes en de boompjes,

1875
01:29:31.050 --> 01:29:32.150
dat dat dan hergebruikt is?

1876
01:29:32.150 --> 01:29:34.110
Want je hebt toch beperkingen in je geheugen

1877
01:29:34.470 --> 01:29:39.490
en hoeveel sprites kun je op je scherm tonen en de collision, zeg maar.

1878
01:29:39.690 --> 01:29:42.370
Dus daar had je ook allemaal nog wel dingetjes mee.

1879
01:29:42.750 --> 01:29:47.430
Ik denk wel dat het ook wel voldoening geeft

1880
01:29:47.430 --> 01:29:49.290
om het gewoon helemaal te begrijpen, het hele systeem.

1881
01:29:49.350 --> 01:29:52.390
Je weet gewoon hoe die audiochip werkt, je weet hoe die graphicschip werkt.

1882
01:29:52.490 --> 01:29:55.650
Je snapt gewoon het hele systeem en nu moet je gewoon loslaten.

1883
01:29:55.770 --> 01:29:59.210
Je moet gewoon beseffen, oké, ik snap die engine niet, ik programmeer het tegenaan

1884
01:29:59.210 --> 01:30:02.490
en ik kan een groot deel snappen, maar ik weet niet wat die computer op dit moment

1885
01:30:02.490 --> 01:30:03.890
allemaal precies aan het doen is.

1886
01:30:04.130 --> 01:30:06.150
Want er zijn zoveel lagen en dat geldt natuurlijk voor alles,

1887
01:30:06.170 --> 01:30:08.370
dat geldt natuurlijk ook voor webdevelopment.

1888
01:30:08.430 --> 01:30:09.770
Je moet gewoon op een gegeven moment loslaten en zeggen,

1889
01:30:09.890 --> 01:30:15.030
ik begrijp het bovenste laagje van deze machine en de rest is, ja.

1890
01:30:15.410 --> 01:30:21.330
En dat is toch een speciaal gevoel, denk ik, als je wel alles begrijpt.

1891
01:30:22.070 --> 01:30:25.230
Ja, ja, nou ja, goed, op een gegeven moment kan het ook gewoon niet meer, weet je.

1892
01:30:26.490 --> 01:30:30.670
Ja, nou goed, er zullen zeker mensen zijn die dat allemaal begrijpen

1893
01:30:32.050 --> 01:30:33.970
of blijven begrijpen, zo moet ik het zeggen.

1894
01:30:35.310 --> 01:30:36.910
Maar ja, hoe productief blijf je dan?

1895
01:30:37.150 --> 01:30:39.090
Want in mijn ogen kun je niet alles doen.

1896
01:30:39.570 --> 01:30:42.670
Dat is gewoon niet mogelijk.

1897
01:30:42.790 --> 01:30:44.130
Het is wel leuk om dat te kunnen zeggen,

1898
01:30:44.470 --> 01:30:47.130
maar of dat nou weer in de praktijk heel nuttig is, weet ik niet.

1899
01:30:48.910 --> 01:30:53.370
Ja, oké, we hebben ook een sectie die gaat over tips.

1900
01:30:53.370 --> 01:30:54.490
En dat kan van alles zijn.

1901
01:30:54.810 --> 01:30:59.150
Ik heb dit keer één tip, die is ook relevant voor het onderwerp

1902
01:30:59.150 --> 01:31:00.510
wat we vandaag allemaal besproken hebben.

1903
01:31:01.010 --> 01:31:04.310
En dat is iemand die ken ik, die ga ik nog een keer uitnodigen,

1904
01:31:04.350 --> 01:31:05.530
maar dat is ook een .NET developer.

1905
01:31:06.070 --> 01:31:07.530
Dat is Frans Bouma.

1906
01:31:09.730 --> 01:31:12.070
Die doet ook aan in-game photography.

1907
01:31:13.210 --> 01:31:15.330
Dus ja, met 3D-speldjes, ja.

1908
01:31:16.430 --> 01:31:19.970
En dan, nou goed, dan zou je zeggen van ja, je gebruikt gewoon de tools

1909
01:31:19.970 --> 01:31:21.690
bijvoorbeeld op een PlayStation.

1910
01:31:22.730 --> 01:31:26.510
Ja, dat had ik nog niet eens tot vorig jaar niet eens door.

1911
01:31:26.610 --> 01:31:29.230
Dat eigenlijk heel veel spelletjes gewoon een modus hebben

1912
01:31:29.230 --> 01:31:31.850
waarmee je, ja, foto's kunt maken.

1913
01:31:32.010 --> 01:31:35.730
Dus de camera kunt je zo zetten en dat je dan even iets meer tijd neemt

1914
01:31:35.730 --> 01:31:37.470
om het beeld te renderen.

1915
01:31:38.530 --> 01:31:40.410
Maar hij doet dat ook op PC.

1916
01:31:42.170 --> 01:31:45.150
Nou, weet ik veel, Lara Croft.

1917
01:31:45.450 --> 01:31:47.150
Heel mooie foto's.

1918
01:31:47.150 --> 01:31:50.690
Maar ook Cyberpunk heeft hij dan weer hele gaaf foto's gemaakt.

1919
01:31:51.170 --> 01:31:55.550
Maar wat hij ook echt doet is ook zijn eigen shaders schrijven.

1920
01:31:56.910 --> 01:31:59.610
Hij zit ook soms wel een beetje te, ja,

1921
01:31:59.810 --> 01:32:00.950
in het tevloek is een beetje een groot woord,

1922
01:32:01.130 --> 01:32:05.790
maar wel een beetje te erger aan dat er best wel bugs in zitten

1923
01:32:05.790 --> 01:32:08.290
in bepaalde code, omdat ze niet overal rekening mee hebben gehouden.

1924
01:32:09.110 --> 01:32:12.330
Waardoor zijn stuk assembly, wat hij dan zelf aanpast,

1925
01:32:12.470 --> 01:32:14.910
ja, niet helemaal wil werken.

1926
01:32:14.970 --> 01:32:16.070
Dus dat doet hij heel gaaf.

1927
01:32:16.070 --> 01:32:17.690
Dat is een link, zeg maar, naar die site.

1928
01:32:17.830 --> 01:32:19.930
Die zal ik in de show notes zetten.

1929
01:32:21.330 --> 01:32:22.910
Ja, ik ga hem een keer uitnodigen.

1930
01:32:24.330 --> 01:32:27.350
Maar hij is ook, dit soort dingen met gaming,

1931
01:32:27.450 --> 01:32:28.690
doet hij ook heel veel.

1932
01:32:30.190 --> 01:32:31.430
Met database's en t-shout.

1933
01:32:31.590 --> 01:32:33.970
Dus het is gewoon een goede vent.

1934
01:32:35.310 --> 01:32:35.490
Ja.

1935
01:32:36.750 --> 01:32:38.410
Dus dat is mijn tip.

1936
01:32:41.370 --> 01:32:42.310
Hebben jullie tips?

1937
01:32:42.450 --> 01:32:43.510
Het mag van alles zijn.

1938
01:32:43.510 --> 01:32:45.350
Een boek, een film, alles.

1939
01:32:46.370 --> 01:32:50.710
In het kader van games heb ik een tip.

1940
01:32:50.750 --> 01:32:53.690
Dat is een link die ik van de week tegenkwam.

1941
01:32:53.910 --> 01:32:58.050
Over hoe je maps kan genereren.

1942
01:32:58.130 --> 01:33:01.810
Katen, plattegronden, kunstmatige maps voor in je spellen.

1943
01:33:02.810 --> 01:33:07.130
En dit is een website van iemand die de bestaande maps

1944
01:33:07.130 --> 01:33:10.810
en die vaak gegeneerd worden aan de hand van fractals.

1945
01:33:10.810 --> 01:33:14.130
En dat soort dingen vond hij toch wat te kunstmatig aanvoelend.

1946
01:33:14.210 --> 01:33:17.630
Dus die is daarmee gaan spelen en heeft van alles en nog wat gedaan

1947
01:33:17.630 --> 01:33:21.230
om het een beetje een Tolkien gevoel te geven.

1948
01:33:22.350 --> 01:33:22.870
Oh, vet.

1949
01:33:22.970 --> 01:33:25.810
Best grappig hoe je dat doet en wat er dan uitkomt.

1950
01:33:26.810 --> 01:33:27.550
Het staat in de show notes.

1951
01:33:31.090 --> 01:33:31.490
Tips.

1952
01:33:32.170 --> 01:33:36.310
Als je nou naar aanleiding van deze podcast denk ik ook wel een keer een spelletje bouwen

1953
01:33:36.310 --> 01:33:38.950
of je wil daar een keertje mee aanrommelen,

1954
01:33:38.950 --> 01:33:44.160
dan kan ik de tutorials aanraden van Cat-like coding over Unity.

1955
01:33:45.810 --> 01:33:46.950
Die vind ik erg goed geschreven.

1956
01:33:48.350 --> 01:33:51.410
En een andere tip die ik heb als je je nou interesseert voor graphics

1957
01:33:51.410 --> 01:33:54.510
en dat soort dingen is de nieuwsbrief van Jendrik.

1958
01:33:54.530 --> 01:33:55.870
Ik zal jullie straks een link sturen.

1959
01:33:56.270 --> 01:33:59.730
Die verzamelt elke week de beste artikelen en twitter threads

1960
01:33:59.730 --> 01:34:01.350
die ik over graphics programming ga.

1961
01:34:01.390 --> 01:34:03.870
Er zitten dan heel vaak dingen bij dat ze bijvoorbeeld een spel nemen

1962
01:34:03.870 --> 01:34:07.010
en dan gaan ze gewoon een frame rendering helemaal uit elkaar plukken.

1963
01:34:07.010 --> 01:34:09.790
Gewoon hoe wordt de achtergrond gerenderd, hoe worden de wolken gerenderd,

1964
01:34:10.450 --> 01:34:13.030
hoe wordt de berg en dan halen ze zo'n frame helemaal in lagen uit elkaar

1965
01:34:13.030 --> 01:34:15.030
en dan laten ze zien hoe al die shaders zitten.

1966
01:34:15.030 --> 01:34:17.190
Die zitten er vaak bij in die nieuwsbrief, maar ook andere dingen.

1967
01:34:17.430 --> 01:34:20.670
Ook soort kleine tutorials of ook echt wetenschappelijke doorbraak

1968
01:34:20.670 --> 01:34:21.950
op het gebied van rendering enzo.

1969
01:34:21.950 --> 01:34:24.430
En die nieuwsbrief is best wel cool. Dus dat is mijn andere tip.

1970
01:34:24.790 --> 01:34:26.710
Oh vet. Nice. Kom maar door.

1971
01:34:28.630 --> 01:34:29.430
Cool, cool.

1972
01:34:31.110 --> 01:34:32.730
Mooi. Dat was hem.

1973
01:34:33.470 --> 01:34:34.850
Mocht je CodeKlets leuk vinden,

1974
01:34:34.850 --> 01:34:39.090
vertel het vooral door aan je vrienden en collega's.

1975
01:34:39.210 --> 01:34:43.230
Daardoor krijgen wij nog meer reach en nog meer enthousiaste developers

1976
01:34:43.230 --> 01:34:45.350
die mogelijk ook op onze Slack komen.

1977
01:34:45.750 --> 01:34:48.590
Je kunt onze Slack vinden via de codeklets.nl site.

1978
01:34:48.830 --> 01:34:51.770
En je kunt ons natuurlijk ook vinden via Twitter.

1979
01:34:52.130 --> 01:34:53.230
AAP staat je codeklets.

1980
01:34:54.050 --> 01:34:57.970
Daar posten we altijd als een nieuwe aflevering online staan.

1981
01:34:57.970 --> 01:35:05.390
En andere zaken. Dus soms retweeten we wat tweets van van eerdere gasten.

1982
01:35:05.670 --> 01:35:07.610
En sowieso volgen we. Dat is altijd handig.

1983
01:35:08.050 --> 01:35:11.450
De enige die we volgen vanuit CodeKlets zijn de gasten die eerder zijn geweest.

1984
01:35:11.910 --> 01:35:12.390
Dus mocht jij.

1985
01:35:13.030 --> 01:35:13.890
Dat is een hele goede.

1986
01:35:14.550 --> 01:35:18.410
Thomas, we hebben nog niet gevraagd hoe mensen je kunnen vinden op het internet.

1987
01:35:19.950 --> 01:35:20.810
Ja, dat is.

1988
01:35:20.810 --> 01:35:22.390
Ik heb de Twitter.

1989
01:35:22.390 --> 01:35:24.470
Dat is NoYoGames.

1990
01:35:24.950 --> 01:35:28.850
At n-o-i-o underscore games.

1991
01:35:29.590 --> 01:35:30.110
Ja, cool.

1992
01:35:30.730 --> 01:35:31.450
Die gaan we ook meenemen.

1993
01:35:33.330 --> 01:35:39.880
En we gaan ook de links natuurlijk, zeg maar, voor je games, zeg maar, opnemen.

1994
01:35:40.730 --> 01:35:41.330
Dus dat sowieso.

1995
01:35:41.970 --> 01:35:42.990
Dank je voor de uitnodiging ook.

1996
01:35:43.070 --> 01:35:43.790
Ik vond het interessant.

1997
01:35:43.950 --> 01:35:44.290
Was leuk.

1998
01:35:45.450 --> 01:35:45.770
Graag gedaan.

1999
01:35:45.870 --> 01:35:46.790
We willen jou ook bedanken.

2000
01:35:46.870 --> 01:35:48.070
Dat is echt heel erg interessant.

2001
01:35:49.970 --> 01:35:50.430
Ja, zeker.

2002
01:35:51.130 --> 01:35:52.030
Ja, dat was hem.

2003
01:35:52.430 --> 01:35:52.830
Oké.

2004
01:35:52.930 --> 01:35:53.170
Dank jullie.

2005
01:35:53.950 --> 01:35:54.070
Ja.

2006
01:35:54.210 --> 01:35:54.590
Bye bye.

2007
01:35:55.050 --> 01:35:55.290
Bye.

2008
01:35:55.470 --> 01:35:55.990
Hoi hoi.
