﻿WEBVTT

1
00:00:00.083 --> 00:00:03.000
[electronic music]

2
00:00:06.590 --> 00:00:08.050 line:15% 
<v ->Hi, I'm Louis Castle.</v>

3
00:00:08.050 --> 00:00:10.350 line:15% 
I'm the co-founder of Westwood Studios,

4
00:00:10.350 --> 00:00:12.570 line:15% 
the executive producer, art director,

5
00:00:12.570 --> 00:00:15.210 line:15% 
and technical director for "Blade Runner" the game.

6
00:00:15.210 --> 00:00:17.760
To get to the same emotional response of the movie,

7
00:00:17.760 --> 00:00:19.420
we had to invent all new technologies

8
00:00:19.420 --> 00:00:21.280
and treat this medium differently

9
00:00:21.280 --> 00:00:22.892
than anybody had done before.

10
00:00:22.892 --> 00:00:26.642 line:15% 
[electronic music continues]

11
00:00:29.819 --> 00:00:32.968
[electronics powering]

12
00:00:32.968 --> 00:00:36.250
[electronic typing]

13
00:00:36.250 --> 00:00:38.480
For "Blade Runner" the game, we decided

14
00:00:38.480 --> 00:00:40.660
we had to create an emotional experience

15
00:00:40.660 --> 00:00:42.530
and a story that would give you a feeling

16
00:00:42.530 --> 00:00:43.940
of being a detective.

17
00:00:43.940 --> 00:00:45.860
And to do that, we had to move to something

18
00:00:45.860 --> 00:00:47.820
that was a little different than the shooting 'em up,

19
00:00:47.820 --> 00:00:49.510
first person shooter games that were out at the time

20
00:00:49.510 --> 00:00:51.330
or even story games that were out,

21
00:00:51.330 --> 00:00:53.390
which were "if you go the wrong way, you die"

22
00:00:53.390 --> 00:00:54.640
kind of venture games.

23
00:00:54.640 --> 00:00:57.270
Games like "Monkey Island," games like "King's Quest,"

24
00:00:57.270 --> 00:00:58.690
were the adventure games at the time

25
00:00:58.690 --> 00:01:01.730
and the shoot 'em ups were really kind of "Quake,"

26
00:01:01.730 --> 00:01:03.060
or, actually, I don't think "Quake" was out yet,

27
00:01:03.060 --> 00:01:03.893
it was really "Doom"

28
00:01:03.893 --> 00:01:06.587
and some of these other maze-like shooters.

29
00:01:06.587 --> 00:01:08.547
"Blade Runner" was designed in 1995

30
00:01:08.547 --> 00:01:11.940
and at that time we had two dimensional adventure games

31
00:01:11.940 --> 00:01:14.710
which you could click on, and you had some running guns

32
00:01:14.710 --> 00:01:17.480
that were done like blocky looking mazes.

33
00:01:17.480 --> 00:01:18.313
There really wasn't any kind

34
00:01:18.313 --> 00:01:20.320
of open world adventure games around.

35
00:01:20.320 --> 00:01:21.720
This was the very first one.

36
00:01:22.705 --> 00:01:25.546
[electronic typing]

37
00:01:25.546 --> 00:01:27.270
Westwood came very late to the process

38
00:01:27.270 --> 00:01:28.520
for bidding for "Blade Runner."

39
00:01:28.520 --> 00:01:30.940
When we came in, it was pretty much decided,

40
00:01:30.940 --> 00:01:31.810
we found out later,

41
00:01:31.810 --> 00:01:33.920
that they were going to go with another publisher.

42
00:01:33.920 --> 00:01:36.270
But we came in and we showed that we really appreciated

43
00:01:36.270 --> 00:01:39.180
and understood what the emotional response of the film was.

44
00:01:39.180 --> 00:01:40.440
And we had a very good idea

45
00:01:40.440 --> 00:01:42.550
about how we could create an interactive experience

46
00:01:42.550 --> 00:01:44.470
that would be truly authentic to the film.

47
00:01:44.470 --> 00:01:45.480
I think at the end of the day

48
00:01:45.480 --> 00:01:48.800
that combination of understanding the film

49
00:01:48.800 --> 00:01:50.720
and having a technical demonstration

50
00:01:50.720 --> 00:01:53.410
that we could actually deliver on that understanding

51
00:01:53.410 --> 00:01:54.810
really sealed the deal for us.

52
00:01:54.810 --> 00:01:57.080
And that's how we got the deal.

53
00:01:57.080 --> 00:01:58.480
When we pitched "Blade Runner" the game

54
00:01:58.480 --> 00:02:01.930
it was to The Ladd Company and Bud Yorkin in particular.

55
00:02:01.930 --> 00:02:03.370
They were the people who actually paid

56
00:02:03.370 --> 00:02:05.050
for the completion of the movie.

57
00:02:05.050 --> 00:02:06.360
They didn't get on too well with Ridley,

58
00:02:06.360 --> 00:02:09.760
so we really never had any interaction with Ridley Scott,

59
00:02:09.760 --> 00:02:12.140
but we were big fans of Ridley's movies,

60
00:02:12.140 --> 00:02:15.400
and I understand from interviews and things later,

61
00:02:15.400 --> 00:02:18.340
that he was pretty happy with what we had actually done.

62
00:02:18.340 --> 00:02:21.120
I think the reason we really got the contract

63
00:02:21.120 --> 00:02:24.100
for "Blade Runner" was that we demonstrated

64
00:02:24.100 --> 00:02:27.450
that we could recreate the visual authenticity of the film

65
00:02:27.450 --> 00:02:31.150
and the audio experience that was just really amazing

66
00:02:31.150 --> 00:02:32.330
at the time for the film,

67
00:02:32.330 --> 00:02:34.470
and we could do so in a way that was interactive

68
00:02:34.470 --> 00:02:37.520
and something that was going to be new to the space.

69
00:02:37.520 --> 00:02:40.330
So that kind of taking some risks creatively

70
00:02:40.330 --> 00:02:42.600
and the ability to really understand the original IP,

71
00:02:42.600 --> 00:02:44.802
I think that's what did it for us.

72
00:02:44.802 --> 00:02:48.490
[electronic typing]

73
00:02:48.490 --> 00:02:50.850
At the time we made "Blade Runner" in 1995

74
00:02:50.850 --> 00:02:52.790
graphic cards were very early in the industry.

75
00:02:52.790 --> 00:02:54.620
So there wasn't a way to put a lot

76
00:02:54.620 --> 00:02:56.080
of polygons on the screen.

77
00:02:56.080 --> 00:02:57.580
And so to get to anything close

78
00:02:57.580 --> 00:02:59.810
to the kind of visual quality you would have from film,

79
00:02:59.810 --> 00:03:00.740
you had to be doing something

80
00:03:00.740 --> 00:03:02.890
that would be almost like standalone

81
00:03:02.890 --> 00:03:04.740
or point-and-click adventure games.

82
00:03:04.740 --> 00:03:07.980
So when we set out to build the "Blade Runner" universe,

83
00:03:07.980 --> 00:03:08.850
the first thing we did

84
00:03:08.850 --> 00:03:11.620
was we went through a very detailed process

85
00:03:11.620 --> 00:03:14.110
of understanding how the sets were built for the film.

86
00:03:14.110 --> 00:03:16.270
And it wasn't until we brought in the set designers

87
00:03:16.270 --> 00:03:19.170
that actually had to take Syd Mead's concepts;

88
00:03:19.170 --> 00:03:20.280
we did hire Syd Mead,

89
00:03:20.280 --> 00:03:22.170
who was the concept artist for the film,

90
00:03:22.170 --> 00:03:23.810
but they were the ones who actually imagined

91
00:03:23.810 --> 00:03:25.870
how that would be built into an actual physical set

92
00:03:25.870 --> 00:03:27.520
where people could walk around in them.

93
00:03:27.520 --> 00:03:31.040
So it wasn't until we recreated that exact process in 3-D

94
00:03:31.040 --> 00:03:32.450
and rendered it as 3-D images,

95
00:03:32.450 --> 00:03:35.310
before we could get a look that felt like the film.

96
00:03:35.310 --> 00:03:37.240
And honestly, until we animated that

97
00:03:37.240 --> 00:03:39.010
and had actually the rain coming in, and the fog,

98
00:03:39.010 --> 00:03:40.050
and all the atmospherics,

99
00:03:40.050 --> 00:03:41.920
it just didn't feel like the film at all,

100
00:03:41.920 --> 00:03:43.570
until we did all of those things.

101
00:03:43.570 --> 00:03:45.430
So effectively, what we had to do with the game

102
00:03:45.430 --> 00:03:47.010
was make a living movie.

103
00:03:47.010 --> 00:03:48.650
And that's where we started from, which is,

104
00:03:48.650 --> 00:03:51.400
here's these cut scenes that look very close to the film,

105
00:03:51.400 --> 00:03:53.360
how are we gonna turn those cut scenes

106
00:03:53.360 --> 00:03:55.440
into interactive experiences?

107
00:03:55.440 --> 00:03:56.497
When we were building "Blade Runner,"

108
00:03:56.497 --> 00:03:58.210
and all the games in the 90s,

109
00:03:58.210 --> 00:03:59.750
we were actually one of the first people

110
00:03:59.750 --> 00:04:00.990
to use a rendering farm.

111
00:04:00.990 --> 00:04:03.530
We had consumer grade Pentium 90s

112
00:04:03.530 --> 00:04:05.450
and we had them all stacked up on gorilla racks,

113
00:04:05.450 --> 00:04:07.280
and I actually wrote some batch processing software

114
00:04:07.280 --> 00:04:08.920
that helped us put all the images together.

115
00:04:08.920 --> 00:04:10.660
So we would literally have to render

116
00:04:10.660 --> 00:04:11.493
each one of these frames.

117
00:04:11.493 --> 00:04:14.150
It could take 20, 30, 40 minutes per frame

118
00:04:14.150 --> 00:04:15.290
to render on these P90s,

119
00:04:15.290 --> 00:04:17.060
and we have to reassemble them back as movies again,

120
00:04:17.060 --> 00:04:18.020
and then compress them.

121
00:04:18.020 --> 00:04:20.320
And that actually ended up being the core technology

122
00:04:20.320 --> 00:04:22.330
that allowed "Blade Runner" to become a game,

123
00:04:22.330 --> 00:04:24.140
which was this idea that we knew

124
00:04:24.140 --> 00:04:27.190
how to create these visual spaces, these 3-D spaces,

125
00:04:27.190 --> 00:04:28.680
on very low NPCs at the time.

126
00:04:28.680 --> 00:04:33.680
We're talking about 8086 processors, so a few a megahertz.

127
00:04:34.620 --> 00:04:37.080
They weren't even in gigahertz lands there.

128
00:04:37.080 --> 00:04:39.140
So the idea that you could make a scene

129
00:04:39.140 --> 00:04:40.870
that had a few hundred thousand polygons,

130
00:04:40.870 --> 00:04:42.450
that's about the most you could ever do.

131
00:04:42.450 --> 00:04:44.450
And that was only if you could pre-render it.

132
00:04:44.450 --> 00:04:46.480
You couldn't do any of that in real time.

133
00:04:46.480 --> 00:04:48.100
So when we went to Bud York

134
00:04:48.100 --> 00:04:49.400
and the "Blade Runner" partnership,

135
00:04:49.400 --> 00:04:51.890
and presented the idea for the game, what we had done

136
00:04:51.890 --> 00:04:54.270
is recreate the beginning sequence of the movie

137
00:04:54.270 --> 00:04:55.940
where the spinner flies in over Watson,

138
00:04:55.940 --> 00:04:57.700
the fires are flying in the air and everything.

139
00:04:57.700 --> 00:05:00.160
We had created that and we had another scene

140
00:05:00.160 --> 00:05:02.300
where a character would talk to a character

141
00:05:02.300 --> 00:05:03.530
and have an interaction.

142
00:05:03.530 --> 00:05:04.980
Once we showed that to them, they said,

143
00:05:04.980 --> 00:05:06.870
well, it sounds just like the movie

144
00:05:06.870 --> 00:05:07.810
and it looks just like the movie,

145
00:05:07.810 --> 00:05:09.290
what would you use from the movie

146
00:05:09.290 --> 00:05:11.993
if you can recreate it in 3-D?

147
00:05:12.850 --> 00:05:13.730
We said, well, we wouldn't.

148
00:05:13.730 --> 00:05:15.440
We wouldn't actually use any of the film stock

149
00:05:15.440 --> 00:05:16.600
or any of the audio.

150
00:05:16.600 --> 00:05:18.370
We would recreate everything from scratch.

151
00:05:18.370 --> 00:05:19.940
And that way we could have a consistent look

152
00:05:19.940 --> 00:05:20.937
throughout the entire game.

153
00:05:20.937 --> 00:05:24.010
And also, because we had to create a lot more places

154
00:05:24.010 --> 00:05:24.980
that existed in the film.

155
00:05:24.980 --> 00:05:26.370
In the film, there were only a few sets

156
00:05:26.370 --> 00:05:27.620
that they use many times.

157
00:05:27.620 --> 00:05:29.240
We had to create an entire world.

158
00:05:29.240 --> 00:05:32.210
So it was necessary for us to recreate "Blade Runner"

159
00:05:32.210 --> 00:05:34.180
and that was the pitch that we gave to them.

160
00:05:34.180 --> 00:05:35.850
You have to understand, in 1995,

161
00:05:35.850 --> 00:05:37.250
there were no game engines to use.

162
00:05:37.250 --> 00:05:38.700
So everything was written from scratch.

163
00:05:38.700 --> 00:05:42.410
So for "Blade Runner," we didn't have any conception

164
00:05:42.410 --> 00:05:45.760
of like, oh, Unreal could do this or Unity could that.

165
00:05:45.760 --> 00:05:46.593
It was basically,

166
00:05:46.593 --> 00:05:48.810
well, here's what we want to do creatively,

167
00:05:48.810 --> 00:05:50.080
how are we going to solve that?

168
00:05:50.080 --> 00:05:52.470
So we got the freedom, or had the freedom,

169
00:05:52.470 --> 00:05:54.500
to basically invent everything we needed to do

170
00:05:54.500 --> 00:05:57.350
to deliver that artistic vision for the game.

171
00:05:57.350 --> 00:05:58.560
Our initial pitch for "Blade Runner"

172
00:05:58.560 --> 00:06:01.480
was very ambitious, to say the least.

173
00:06:01.480 --> 00:06:02.920
But we had already done some renderings,

174
00:06:02.920 --> 00:06:04.830
so we knew we could get to the visual quality.

175
00:06:04.830 --> 00:06:07.400
And we had done a lot of work in compression,

176
00:06:07.400 --> 00:06:10.240
so I knew as a creative director and a technical director

177
00:06:10.240 --> 00:06:14.320
that we could deliver on the animated single screens

178
00:06:14.320 --> 00:06:16.450
with some z-buffering and everything else.

179
00:06:16.450 --> 00:06:17.390
What we really didn't know

180
00:06:17.390 --> 00:06:19.610
is how far could we push that technology?

181
00:06:19.610 --> 00:06:21.000
What else could we do with it?

182
00:06:21.000 --> 00:06:23.560
And we certainly hadn't invented our voxels yet.

183
00:06:23.560 --> 00:06:24.490
We didn't know how we were going to do

184
00:06:24.490 --> 00:06:25.820
the characters exactly,

185
00:06:25.820 --> 00:06:28.180
because clearly they needed to be able to move around

186
00:06:28.180 --> 00:06:30.100
in three dimensional space and turn and things like that.

187
00:06:30.100 --> 00:06:31.950
And a sprites just wasn't going to do it.

188
00:06:31.950 --> 00:06:34.330
There would be too many and it would overwhelm

189
00:06:34.330 --> 00:06:35.600
the computers of the day.

190
00:06:35.600 --> 00:06:37.587
So we had some technologies we knew

191
00:06:37.587 --> 00:06:39.430
and we had a lot of them that we didn't,

192
00:06:39.430 --> 00:06:41.250
but we had a pretty good notion of how we'd do it.

193
00:06:41.250 --> 00:06:42.670
And over the next few months,

194
00:06:42.670 --> 00:06:43.780
as we were negotiating the deal,

195
00:06:43.780 --> 00:06:45.710
of course the movie had been out much earlier,

196
00:06:45.710 --> 00:06:48.360
so we weren't under a lot of time pressure to do a deal.

197
00:06:48.360 --> 00:06:49.290
So over the next few months

198
00:06:49.290 --> 00:06:51.290
as we were trying to negotiate all the terms the deal,

199
00:06:51.290 --> 00:06:52.360
we went through and specified

200
00:06:52.360 --> 00:06:53.500
exactly what that product would be,

201
00:06:53.500 --> 00:06:55.130
and how we would accomplish those goals,

202
00:06:55.130 --> 00:06:57.190
and even had a chance to prototype some of the technology.

203
00:06:57.190 --> 00:06:59.120
So by the time we put ink to paper,

204
00:06:59.120 --> 00:07:01.100
we were very confident in the game we were going to make.

205
00:07:01.100 --> 00:07:05.040
And in fact, Donny Miele, Donny Blank, and the team

206
00:07:05.040 --> 00:07:07.060
had put together this great big binder

207
00:07:07.060 --> 00:07:09.110
of exactly how the game would be put together.

208
00:07:09.110 --> 00:07:11.300
So when we originally pitched "Blade Runner,"

209
00:07:11.300 --> 00:07:14.040
we recreated the movie very, very faithfully.

210
00:07:14.040 --> 00:07:15.660
It looked very close to the original film.

211
00:07:15.660 --> 00:07:16.830
It sounded just like the film.

212
00:07:16.830 --> 00:07:18.440
And so essentially what we had done

213
00:07:18.440 --> 00:07:21.730
is we had set the expectation in our licensing partner

214
00:07:21.730 --> 00:07:24.100
that we were going to be able to recreate the film.

215
00:07:24.100 --> 00:07:26.410
Now, remember, we had these little computers

216
00:07:26.410 --> 00:07:28.200
that couldn't do the kinds of things they could do now.

217
00:07:28.200 --> 00:07:29.730
And we're talking about a total budget

218
00:07:29.730 --> 00:07:30.910
of a couple million dollars, right?

219
00:07:30.910 --> 00:07:32.940
Versus a film that costs many, many times that.

220
00:07:32.940 --> 00:07:34.340
So it was pretty audacious to say

221
00:07:34.340 --> 00:07:35.450
that we could recreate those elements.

222
00:07:35.450 --> 00:07:37.750
And then in fact, we had to actually recreate the film

223
00:07:37.750 --> 00:07:38.800
and a lot more.

224
00:07:38.800 --> 00:07:39.690
Because in a game you have to be able

225
00:07:39.690 --> 00:07:40.710
to go in all these different places.

226
00:07:40.710 --> 00:07:42.490
You don't just walk around the outside.

227
00:07:42.490 --> 00:07:44.040
We have all these other shots that we have to have.

228
00:07:44.040 --> 00:07:46.860
Many, many times, hundreds of times, bigger than a movie.

229
00:07:46.860 --> 00:07:48.130
So it was pretty audacious to believe

230
00:07:48.130 --> 00:07:49.970
that we could do all of these things,

231
00:07:49.970 --> 00:07:52.253
but Westwood was pretty plucky back then.

232
00:07:52.253 --> 00:07:55.220
We didn't shirk away from hard problems.

233
00:07:55.220 --> 00:07:56.720
So we took on a bunch of things,

234
00:07:56.720 --> 00:07:58.570
a bit like the dog chasing the car

235
00:07:58.570 --> 00:08:00.330
and finally catches the back bumper, right?

236
00:08:00.330 --> 00:08:03.100
So we got the license and we were ready to go.

237
00:08:03.100 --> 00:08:05.533
So we chased after that big goal.

238
00:08:06.476 --> 00:08:09.476
[electronic typing]

239
00:08:10.340 --> 00:08:12.170
Once we understood that we were gonna recreate

240
00:08:12.170 --> 00:08:14.630
the visual quality of the film in an animated environment

241
00:08:14.630 --> 00:08:15.920
with characters that could move around,

242
00:08:15.920 --> 00:08:17.750
that had their own agency,

243
00:08:17.750 --> 00:08:20.000
it was pretty clear we had to have some new technologies.

244
00:08:20.000 --> 00:08:22.780
Video compression and video playback wasn't enough.

245
00:08:22.780 --> 00:08:24.700
We had to have a sense of depth in the world,

246
00:08:24.700 --> 00:08:27.370
so we had to create a type of buffering

247
00:08:27.370 --> 00:08:28.630
that would run in real time.

248
00:08:28.630 --> 00:08:29.730
We had to create lighting.

249
00:08:29.730 --> 00:08:32.520
So we had to create deferred rendering and normal vectors

250
00:08:32.520 --> 00:08:34.347
that would actually allow us to light the scene.

251
00:08:34.347 --> 00:08:36.330
We had to create realtime compositing

252
00:08:36.330 --> 00:08:38.250
that would allow the z-buffers to work together.

253
00:08:38.250 --> 00:08:40.340
And we had to do all of those things inside of loops

254
00:08:40.340 --> 00:08:42.630
that would be repeated but also lay on top of each other,

255
00:08:42.630 --> 00:08:44.990
so you didn't get the sense that the world

256
00:08:44.990 --> 00:08:46.830
kept repeating itself over and over again.

257
00:08:46.830 --> 00:08:48.330
That's okay for a neon sign that blinks,

258
00:08:48.330 --> 00:08:49.770
but it's not so good for a car that drives by.

259
00:08:49.770 --> 00:08:52.410
You don't want to see the same car go back and forth.

260
00:08:52.410 --> 00:08:54.490
We couldn't do characters with polygons

261
00:08:54.490 --> 00:08:56.380
because the tech wasn't good enough at that time,

262
00:08:56.380 --> 00:08:57.350
the hardware tech.

263
00:08:57.350 --> 00:08:59.660
So we had to invent a way to do the tech for characters.

264
00:08:59.660 --> 00:09:01.970
We used voxels for that and had to invent that.

265
00:09:01.970 --> 00:09:03.940
But even voxels weren't really sufficient.

266
00:09:03.940 --> 00:09:06.650
We had to do something which we...

267
00:09:06.650 --> 00:09:07.770
It's kind of a voxel light.

268
00:09:07.770 --> 00:09:09.350
It's a sort of spindle-like things,

269
00:09:09.350 --> 00:09:10.830
we call them slice models.

270
00:09:10.830 --> 00:09:12.810
So we had to invent all these different technologies

271
00:09:12.810 --> 00:09:14.990
and even that wasn't quite enough of a challenge,

272
00:09:14.990 --> 00:09:17.890
because to make the game feel like the movie

273
00:09:17.890 --> 00:09:19.090
we had to make a detective game,

274
00:09:19.090 --> 00:09:22.780
which meant that you couldn't be able to get a guidebook

275
00:09:22.780 --> 00:09:23.930
and just walk through the game.

276
00:09:23.930 --> 00:09:25.750
That wouldn't be much of a being a detective.

277
00:09:25.750 --> 00:09:27.000
So we had to create a simulation

278
00:09:27.000 --> 00:09:28.790
that would create a story that was compelling,

279
00:09:28.790 --> 00:09:31.500
that sort of met the bar of "Blade Runner,"

280
00:09:31.500 --> 00:09:33.640
but it was also unpredictable.

281
00:09:33.640 --> 00:09:35.550
And that was the whole crux of "Blade Runner,"

282
00:09:35.550 --> 00:09:37.850
was this idea of what is real and what is not real.

283
00:09:37.850 --> 00:09:39.370
What's human, what's not human.

284
00:09:39.370 --> 00:09:40.960
So being able to make those things fuzzy

285
00:09:40.960 --> 00:09:42.293
and make it harder for people to understand them,

286
00:09:42.293 --> 00:09:43.930
like is my character a real character?

287
00:09:43.930 --> 00:09:44.867
Or are they a "Blade Runner"?

288
00:09:44.867 --> 00:09:46.700
"Blade Runner" replicant? I don't know.

289
00:09:46.700 --> 00:09:48.310
That was also part of the problem.

290
00:09:48.310 --> 00:09:50.910
So it was a creative problem, it was a technical problem,

291
00:09:50.910 --> 00:09:52.670
many technical problems,

292
00:09:52.670 --> 00:09:54.443
and overall, it was just a bundle of things

293
00:09:54.443 --> 00:09:56.910
that were very different than anybody had ever done.

294
00:09:56.910 --> 00:09:58.840
The building of "Blade Runner" really started

295
00:09:58.840 --> 00:10:01.560
with the idea of how do we create the immersive environment?

296
00:10:01.560 --> 00:10:03.240
That was our technical problem.

297
00:10:03.240 --> 00:10:05.240
And from a game design point of view it was,

298
00:10:05.240 --> 00:10:06.870
how are we going to create the feeling

299
00:10:06.870 --> 00:10:08.680
of agency in the player?

300
00:10:08.680 --> 00:10:11.220
Make the player be able to decide for themselves

301
00:10:11.220 --> 00:10:12.880
am I a replicant, am I a human?

302
00:10:12.880 --> 00:10:14.900
And so the way we did that was we broke it down and said,

303
00:10:14.900 --> 00:10:16.640
okay, well, every time you play the game

304
00:10:16.640 --> 00:10:18.670
you're gonna have this same set of characters in the game,

305
00:10:18.670 --> 00:10:20.850
but we're going to randomize some of those characters.

306
00:10:20.850 --> 00:10:23.010
Sometimes they're replicants and sometimes they're humans.

307
00:10:23.010 --> 00:10:24.120
And because of that,

308
00:10:24.120 --> 00:10:25.430
they would leave different kinds of clues.

309
00:10:25.430 --> 00:10:26.990
And because the clues were different every time,

310
00:10:26.990 --> 00:10:28.700
you had to actually go get the clues

311
00:10:28.700 --> 00:10:30.070
to try to figure out whether or not

312
00:10:30.070 --> 00:10:31.110
the person was replicant or not,

313
00:10:31.110 --> 00:10:34.070
because shooting a human was illegal and would end the game.

314
00:10:34.070 --> 00:10:35.840
Actually, didn't end the game, that's another story.

315
00:10:35.840 --> 00:10:37.330
But it made the game much more challenging

316
00:10:37.330 --> 00:10:38.790
because now you are a murderer

317
00:10:38.790 --> 00:10:41.540
versus somebody who just "aired out a skin job,"

318
00:10:41.540 --> 00:10:42.690
as they said.

319
00:10:42.690 --> 00:10:45.330
So that made it really hard because,

320
00:10:45.330 --> 00:10:46.260
from a testing point of view,

321
00:10:46.260 --> 00:10:47.300
from a game design point of view,

322
00:10:47.300 --> 00:10:48.790
we were never really on solid ground.

323
00:10:48.790 --> 00:10:50.510
We could never be sure that any given scene

324
00:10:50.510 --> 00:10:51.840
would play out the same way,

325
00:10:51.840 --> 00:10:53.810
because the game kept track of the player

326
00:10:53.810 --> 00:10:55.140
and whether they played as a replicant,

327
00:10:55.140 --> 00:10:56.130
or they played as a human,

328
00:10:56.130 --> 00:10:57.720
and the world would react to them

329
00:10:57.720 --> 00:10:59.320
based on the things they've done.

330
00:10:59.320 --> 00:11:01.750
So the world would behave differently

331
00:11:01.750 --> 00:11:03.520
if you went around shooting everything,

332
00:11:03.520 --> 00:11:06.070
than it would if you went around trying to be very cautious.

333
00:11:06.070 --> 00:11:08.400
At the same time, you never really knew

334
00:11:08.400 --> 00:11:09.880
if the person you're talking to in the game

335
00:11:09.880 --> 00:11:11.000
was a human or a replicant,

336
00:11:11.000 --> 00:11:12.680
and their responses will be subtly different

337
00:11:12.680 --> 00:11:13.980
depending on which ones they were.

338
00:11:13.980 --> 00:11:16.850
So all that sense of unease and uncertainty

339
00:11:16.850 --> 00:11:18.950
helped to create that sense from the original film,

340
00:11:18.950 --> 00:11:21.890
where you just never knew that tension of any time,

341
00:11:21.890 --> 00:11:25.210
any moment, this slow moving methodical pace

342
00:11:25.210 --> 00:11:27.120
would suddenly explode in violence.

343
00:11:27.120 --> 00:11:29.670
And that's exactly what we created with the game.

344
00:11:29.670 --> 00:11:31.350
You go through each scene, clicking around,

345
00:11:31.350 --> 00:11:32.370
and you start to get comfortable.

346
00:11:32.370 --> 00:11:33.320
And all of a sudden somebody comes

347
00:11:33.320 --> 00:11:34.550
and starts shooting at you

348
00:11:34.550 --> 00:11:36.220
or comes chasing through the scene,

349
00:11:36.220 --> 00:11:39.300
and that sudden explosion of violence, of action,

350
00:11:39.300 --> 00:11:42.150
made you tense and nervous at all times.

351
00:11:42.150 --> 00:11:44.090
Even when the scene was quite sedate.

352
00:11:44.090 --> 00:11:46.140
Well, back in the 90s, every game that was being done

353
00:11:46.140 --> 00:11:48.130
was built on homegrown tech.

354
00:11:48.130 --> 00:11:49.800
There was no engine that everybody used.

355
00:11:49.800 --> 00:11:51.920
In fact, companies like Sierra online

356
00:11:51.920 --> 00:11:53.370
had a graphics engine for...

357
00:11:53.370 --> 00:11:55.750
They would do their things, LucasArts too,

358
00:11:55.750 --> 00:11:58.110
but those were really just the shells.

359
00:11:58.110 --> 00:11:59.585
Anything that you want to do that was innovative,

360
00:11:59.585 --> 00:12:00.850
you had to roll your own.

361
00:12:00.850 --> 00:12:04.050
For "Blade Runner," we probably bit off an awful lot.

362
00:12:04.050 --> 00:12:06.800
We wanted to invent new ways of doing graphics,

363
00:12:06.800 --> 00:12:08.330
new ways of doing gameplay,

364
00:12:08.330 --> 00:12:10.770
new ways of doing just about everything.

365
00:12:10.770 --> 00:12:12.410
And in fact, a lot of stuff that we worked on

366
00:12:12.410 --> 00:12:14.380
for CD-ROM stuff from "Command and Conquer"

367
00:12:14.380 --> 00:12:15.900
ended up helping us with "Blade Runner,"

368
00:12:15.900 --> 00:12:18.494
because there's so many problems with the CD-ROM,

369
00:12:18.494 --> 00:12:21.180
as a medium, and all that learning

370
00:12:21.180 --> 00:12:22.110
really helped to inform us.

371
00:12:22.110 --> 00:12:23.490
But that was all internal tech.

372
00:12:23.490 --> 00:12:25.820
None of that was middleware. That just didn't exist.

373
00:12:25.820 --> 00:12:27.130
So one of the things people always ask me

374
00:12:27.130 --> 00:12:29.010
is like what compression technology did you use?

375
00:12:29.010 --> 00:12:30.530
You must have used Bink or something like that.

376
00:12:30.530 --> 00:12:32.560
And I'm like, no, no, we couldn't use that. [laughs]

377
00:12:32.560 --> 00:12:34.330
And the reason was, not that Bink wasn't great,

378
00:12:34.330 --> 00:12:36.040
but Bink was made for video.

379
00:12:36.040 --> 00:12:37.800
And it was very good at just doing video.

380
00:12:37.800 --> 00:12:39.330
But when you look at the data throughput rates

381
00:12:39.330 --> 00:12:41.480
and the speed at which you could render it on the screen,

382
00:12:41.480 --> 00:12:42.523
it wasn't close to the kinds of things we do,

383
00:12:42.523 --> 00:12:44.740
because we had to basically be running

384
00:12:44.740 --> 00:12:48.420
anywhere from six or seven streams continuously

385
00:12:48.420 --> 00:12:50.360
and simultaneously on the screen.

386
00:12:50.360 --> 00:12:51.610
So we had to be much, much better

387
00:12:51.610 --> 00:12:53.590
than the best in class video codecs

388
00:12:53.590 --> 00:12:56.250
and compression algorithms you could buy at the time.

389
00:12:56.250 --> 00:12:59.180
So we were really a way ahead of the curve in so many ways.

390
00:12:59.180 --> 00:13:01.190
And it goes all the way back to in the 80s,

391
00:13:01.190 --> 00:13:03.680
when we used to do fast loading cartridge technology,

392
00:13:03.680 --> 00:13:05.430
and we had to learn how to do compression

393
00:13:05.430 --> 00:13:07.680
and serialization, and how to make those things very,

394
00:13:07.680 --> 00:13:10.050
very small and very fast and very accurate.

395
00:13:10.050 --> 00:13:12.190
So all of that learning over the many years

396
00:13:12.190 --> 00:13:14.510
built up to this point where we could do something

397
00:13:14.510 --> 00:13:16.880
where we could have many, many times the amount of data

398
00:13:16.880 --> 00:13:20.166
on the screen than other people thought was even possible.

399
00:13:20.166 --> 00:13:23.500
[electronic typing]

400
00:13:23.500 --> 00:13:25.720
So the teams at that time, a big team,

401
00:13:25.720 --> 00:13:26.890
was about 10 or 15 people.

402
00:13:26.890 --> 00:13:28.520
And I think we had about 20 people on "Blade Runner,"

403
00:13:28.520 --> 00:13:30.150
so it was a fairly large team.

404
00:13:30.150 --> 00:13:33.347
And part of the problem was deciding who's going to do what

405
00:13:33.347 --> 00:13:34.680
and how we're gonna get all this stuff done.

406
00:13:34.680 --> 00:13:35.770
There's a lot of work.

407
00:13:35.770 --> 00:13:39.900
So we created a very regimented process of concept art

408
00:13:39.900 --> 00:13:42.660
that would go through many revisions and approvals,

409
00:13:42.660 --> 00:13:45.070
that then would lead to models,

410
00:13:45.070 --> 00:13:46.260
and for every model in the game,

411
00:13:46.260 --> 00:13:47.750
we had to hire a voice actor.

412
00:13:47.750 --> 00:13:49.960
We had to have a physical actor to put on a spindle

413
00:13:49.960 --> 00:13:51.070
and scan their bodies.

414
00:13:51.070 --> 00:13:53.140
And then we had to have an animator who would rig it

415
00:13:53.140 --> 00:13:54.790
and do all the 3-D stuff you do now,

416
00:13:54.790 --> 00:13:57.210
so every single person, every single character in the game

417
00:13:57.210 --> 00:13:58.770
was actually three or four people.

418
00:13:58.770 --> 00:13:59.603
All of these things broke down.

419
00:13:59.603 --> 00:14:01.710
We had our own studio at Westwood, which was great,

420
00:14:01.710 --> 00:14:03.510
so we could do all of our own filming.

421
00:14:03.510 --> 00:14:04.920
And we had our own motion capture.

422
00:14:04.920 --> 00:14:07.770
And we did thousands of sequences of motion capture.

423
00:14:07.770 --> 00:14:09.260
Every movement of every character in the game

424
00:14:09.260 --> 00:14:10.540
was a motion capture sequence.

425
00:14:10.540 --> 00:14:13.070
Our system captured at 120 Hertz,

426
00:14:13.070 --> 00:14:15.040
and we had to reduce that down to about 20 Hertz

427
00:14:15.040 --> 00:14:17.770
by grabbing key frames and then building individual models

428
00:14:17.770 --> 00:14:18.800
to make those animate.

429
00:14:18.800 --> 00:14:21.160
So the amount of work to just make all the characters

430
00:14:21.160 --> 00:14:23.440
move around the world was an enormous amount.

431
00:14:23.440 --> 00:14:24.830
It was really important to be organized

432
00:14:24.830 --> 00:14:27.610
and to constantly re-examine how much time it was taking

433
00:14:27.610 --> 00:14:28.630
to do everything.

434
00:14:28.630 --> 00:14:30.433
And I think we were probably...

435
00:14:30.433 --> 00:14:32.040
It was supposed to be a year and a half

436
00:14:32.040 --> 00:14:34.600
of development cycle, we went over by six months.

437
00:14:34.600 --> 00:14:35.740
I think we were about a year into it

438
00:14:35.740 --> 00:14:38.100
when we realized that there's just too much here.

439
00:14:38.100 --> 00:14:39.320
We're trying to do too much,

440
00:14:39.320 --> 00:14:40.320
how are we going to get it done?

441
00:14:40.320 --> 00:14:42.930
And so we had to start making some automated processes

442
00:14:42.930 --> 00:14:45.920
for processing the characters and some shortcuts

443
00:14:45.920 --> 00:14:47.840
for getting things into the game.

444
00:14:47.840 --> 00:14:49.840
Ultimately, that's what led to a lot of the characters

445
00:14:49.840 --> 00:14:51.160
looking very blocky in the backgrounds.

446
00:14:51.160 --> 00:14:52.700
We had to make some choices.

447
00:14:52.700 --> 00:14:53.750
Every character in the game

448
00:14:53.750 --> 00:14:56.160
could technically look beautiful and perfect,

449
00:14:56.160 --> 00:14:58.630
but the amount of manpower to make them do that

450
00:14:58.630 --> 00:15:00.250
was just outside the scope of what we could do

451
00:15:00.250 --> 00:15:01.600
in the time we had.

452
00:15:01.600 --> 00:15:02.900
So those that's where we cut corners.

453
00:15:02.900 --> 00:15:05.030
We just, at the end of the day, had to do that.

454
00:15:05.030 --> 00:15:07.010
One of the technologies we had in "Blade Runner"

455
00:15:07.010 --> 00:15:09.050
was the ability to actually move the camera

456
00:15:09.050 --> 00:15:10.550
through these beautiful environments.

457
00:15:10.550 --> 00:15:13.380
That didn't come around till very late in the process.

458
00:15:13.380 --> 00:15:16.210
So we back into the game and all these sequences

459
00:15:16.210 --> 00:15:18.050
where a character would go around the corner

460
00:15:18.050 --> 00:15:19.890
and we would just cut to the next camera,

461
00:15:19.890 --> 00:15:22.380
we would put in a camera track that would do that.

462
00:15:22.380 --> 00:15:23.960
And so we layered those back in at the end.

463
00:15:23.960 --> 00:15:26.610
And honestly, if we had known in the beginning

464
00:15:26.610 --> 00:15:27.650
we could have done that,

465
00:15:27.650 --> 00:15:29.010
we would've made that a key part of the game.

466
00:15:29.010 --> 00:15:31.550
But instead it kind of looks almost like a trick,

467
00:15:31.550 --> 00:15:33.060
because we just didn't have the opportunity

468
00:15:33.060 --> 00:15:35.128
to have that technology early enough

469
00:15:35.128 --> 00:15:37.070
to embedded in the entire product.

470
00:15:37.070 --> 00:15:39.417
So as a creator, I don't think any game is ever done

471
00:15:39.417 --> 00:15:40.960
and you always want to do more,

472
00:15:40.960 --> 00:15:42.550
or you always have something you would have done differently

473
00:15:42.550 --> 00:15:43.890
or something you would have done

474
00:15:43.890 --> 00:15:45.260
if you had more time and money.

475
00:15:45.260 --> 00:15:46.280
But ultimately, I think,

476
00:15:46.280 --> 00:15:47.780
in the particular case of "Blade Runner,"

477
00:15:47.780 --> 00:15:49.900
the one thing I wish we had a little bit more time

478
00:15:49.900 --> 00:15:51.110
was with those characters.

479
00:15:51.110 --> 00:15:53.390
Because it did degregate the quality of the game experience

480
00:15:53.390 --> 00:15:55.430
to have these very blocky characters in the background.

481
00:15:55.430 --> 00:15:57.270
But other than that, the original script,

482
00:15:57.270 --> 00:15:58.830
the original shooting script that we had

483
00:15:58.830 --> 00:15:59.950
and I don't remember how many...

484
00:15:59.950 --> 00:16:01.400
It's a book about that thick.

485
00:16:02.320 --> 00:16:04.020
Thousands and thousands of pages,

486
00:16:04.020 --> 00:16:06.550
altogether, when you add all the interactive sequences in.

487
00:16:06.550 --> 00:16:09.110
That original script got entirely put into the game.

488
00:16:09.110 --> 00:16:10.350
All of our characters made it in,

489
00:16:10.350 --> 00:16:11.870
all of our ideas made it in.

490
00:16:11.870 --> 00:16:13.370
The places where we had to cut back a bit

491
00:16:13.370 --> 00:16:15.900
was just the quality of the characters in the background.

492
00:16:15.900 --> 00:16:16.920
And some of the places

493
00:16:16.920 --> 00:16:18.350
where we just didn't get to go deep enough

494
00:16:18.350 --> 00:16:19.650
in the number of options you could have

495
00:16:19.650 --> 00:16:20.870
in a particular environment.

496
00:16:20.870 --> 00:16:21.940
But overall, I was very proud

497
00:16:21.940 --> 00:16:23.360
of where "Blade Runner" landed.

498
00:16:23.360 --> 00:16:25.360
It felt like a complete game when we shipped it.

499
00:16:25.360 --> 00:16:26.640
As a game maker, I knew all the things

500
00:16:26.640 --> 00:16:28.240
we wanted to put in that we didn't make,

501
00:16:28.240 --> 00:16:30.430
but the people who are playing it don't ever know that.

502
00:16:30.430 --> 00:16:33.300
We had 47 different varieties of endings.

503
00:16:33.300 --> 00:16:36.280
There's about six or seven major ones.

504
00:16:36.280 --> 00:16:38.660
And then four sequences that were really detailed

505
00:16:38.660 --> 00:16:39.950
with big animations and everything else.

506
00:16:39.950 --> 00:16:41.640
And then variants depending on

507
00:16:41.640 --> 00:16:42.870
which kind of characters were in there.

508
00:16:42.870 --> 00:16:46.050
So the dialogue changed based on how you ended the game

509
00:16:46.050 --> 00:16:47.800
and who was a replicant, and who was a human.

510
00:16:47.800 --> 00:16:49.070
There were lots of Easter eggs

511
00:16:49.070 --> 00:16:50.430
that we got a chance to put in, too.

512
00:16:50.430 --> 00:16:52.840
Which was one of the things you always like to do in a game.

513
00:16:52.840 --> 00:16:54.580
One of my favorites was you could play the game

514
00:16:54.580 --> 00:16:57.890
as a Rambo character, that's we called it, Rambo and Gandhi.

515
00:16:57.890 --> 00:16:58.787
You could play the game just running around

516
00:16:58.787 --> 00:17:00.930
and shooting gun, or you can play the game very passive

517
00:17:00.930 --> 00:17:02.070
and try to save everybody.

518
00:17:02.070 --> 00:17:03.320
Well, one of the things you could do with "Blade Runner,"

519
00:17:03.320 --> 00:17:04.970
because it was a living simulation,

520
00:17:04.970 --> 00:17:07.010
you could play the entire game, saving all the replicants,

521
00:17:07.010 --> 00:17:08.720
get to the very last scene, get on the shuttle,

522
00:17:08.720 --> 00:17:10.580
get ready to take off, to save them

523
00:17:10.580 --> 00:17:12.130
and bring them to off-world colonies,

524
00:17:12.130 --> 00:17:13.490
pull out your guns and shoot them all.

525
00:17:13.490 --> 00:17:15.450
And then you've got a very special ending for that,

526
00:17:15.450 --> 00:17:17.280
where you walked out of the shuttle

527
00:17:17.280 --> 00:17:20.290
and your cohort, Crystal Steele, walks up and says,

528
00:17:20.290 --> 00:17:21.840
I didn't know you had it in you, slick.

529
00:17:21.840 --> 00:17:23.480
And it was really fun, because up until that point,

530
00:17:23.480 --> 00:17:24.340
everybody's chasing you,

531
00:17:24.340 --> 00:17:27.290
everybody thinks you're this replicant sympathizer,

532
00:17:27.290 --> 00:17:28.700
but in the end you decided

533
00:17:28.700 --> 00:17:29.757
that you were just tricking the replicants

534
00:17:29.757 --> 00:17:31.820
and you shot them all like cattle.

535
00:17:31.820 --> 00:17:33.630
So that kind of attention to detail

536
00:17:33.630 --> 00:17:37.691
and those kinds of things made it a really special game.

537
00:17:37.691 --> 00:17:40.691
[electronic typing]

538
00:17:41.550 --> 00:17:42.920
So one of the most audacious things

539
00:17:42.920 --> 00:17:44.520
we did with "Blade Runner" was, early on,

540
00:17:44.520 --> 00:17:46.520
we said our editing environment for the game,

541
00:17:46.520 --> 00:17:49.090
our game editor, is 3-D Studio Max.

542
00:17:49.090 --> 00:17:51.320
Everything was built inside of 3-D Studio Max.

543
00:17:51.320 --> 00:17:53.210
We scripted inside of 3-D Studio Max

544
00:17:53.210 --> 00:17:55.320
all of the things that the characters would do,

545
00:17:55.320 --> 00:17:57.890
and the environments, the 3-D Studio Max environments,

546
00:17:57.890 --> 00:18:00.110
were the ones that the programmers wrote

547
00:18:00.110 --> 00:18:02.070
to create the collision spaces

548
00:18:02.070 --> 00:18:04.250
and to create all the interactive spaces.

549
00:18:04.250 --> 00:18:06.220
What that did, is it allowed our artists to go back

550
00:18:06.220 --> 00:18:07.500
and change things anytime they wanted,

551
00:18:07.500 --> 00:18:09.290
and everything would automatically change with the artists

552
00:18:09.290 --> 00:18:10.210
and sometimes break things.

553
00:18:10.210 --> 00:18:12.080
But at the end of the day, everything lived

554
00:18:12.080 --> 00:18:14.360
as these really, really high polygon models.

555
00:18:14.360 --> 00:18:16.420
It looked a lot like it does now.

556
00:18:16.420 --> 00:18:18.400
Where we create these incredibly rich environments

557
00:18:18.400 --> 00:18:20.050
and we're interacting with them.

558
00:18:20.050 --> 00:18:21.600
But of course, we run them in realtime.

559
00:18:21.600 --> 00:18:24.410
Back then we couldn't ever render that stuff in realtime.

560
00:18:24.410 --> 00:18:26.040
So the first problem we had

561
00:18:26.040 --> 00:18:27.310
was we had these beautiful scenes

562
00:18:27.310 --> 00:18:29.330
that were really wonderful, when they animated looked great,

563
00:18:29.330 --> 00:18:31.490
but we had to compress them down to a really small space.

564
00:18:31.490 --> 00:18:35.920
At the time, games shipped on CDs, 700 megabytes to a CD.

565
00:18:35.920 --> 00:18:38.510
And "Blade Runner" went out on four CDs.

566
00:18:38.510 --> 00:18:40.040
So that's how much space it was.

567
00:18:40.040 --> 00:18:43.860
And that's compressing the game down to where loops of video

568
00:18:43.860 --> 00:18:46.770
would run through single-speed CD-ROMs at 44 kilohertz.

569
00:18:46.770 --> 00:18:48.610
I don't even know the thousands of hours that we...

570
00:18:48.610 --> 00:18:50.280
[laughs] It was really huge.

571
00:18:50.280 --> 00:18:52.530
So the idea was, start with compression.

572
00:18:52.530 --> 00:18:53.590
So we started with the compression.

573
00:18:53.590 --> 00:18:55.940
We said, look, we can make these beautiful scenes

574
00:18:55.940 --> 00:18:57.380
that are really lush and really detailed

575
00:18:57.380 --> 00:18:58.213
with all this lighting.

576
00:18:58.213 --> 00:19:00.690
And they look wonderful and we've crunched them down

577
00:19:00.690 --> 00:19:02.270
to where we can fit and they look great.

578
00:19:02.270 --> 00:19:03.510
Then it's like, well, let's animate them.

579
00:19:03.510 --> 00:19:04.760
Okay and once you animate them, of course,

580
00:19:04.760 --> 00:19:06.890
now you end up with several seconds of animation.

581
00:19:06.890 --> 00:19:08.440
You have to be even better at the compression.

582
00:19:08.440 --> 00:19:10.170
So we had to take our compression technology,

583
00:19:10.170 --> 00:19:12.060
which was really around these codecs,

584
00:19:12.060 --> 00:19:15.580
around blocks, basically levels of Welch compression

585
00:19:15.580 --> 00:19:17.330
like think a tokenized compression.

586
00:19:17.330 --> 00:19:18.500
And we had to actually make it

587
00:19:18.500 --> 00:19:20.330
more of a trilinear compression

588
00:19:20.330 --> 00:19:21.650
that would look through time,

589
00:19:21.650 --> 00:19:23.310
so that we could make use of the fact

590
00:19:23.310 --> 00:19:24.870
that blocks were repeated over time.

591
00:19:24.870 --> 00:19:26.760
And this was pretty innovative

592
00:19:26.760 --> 00:19:29.280
when you're talking about eight or nine seconds of video.

593
00:19:29.280 --> 00:19:31.110
At the time, even things like MPEG

594
00:19:31.110 --> 00:19:33.616
would only do a couple of frames.

595
00:19:33.616 --> 00:19:35.190
Not dozens or hundreds of frames,

596
00:19:35.190 --> 00:19:36.420
even just a couple of frames.

597
00:19:36.420 --> 00:19:38.750
So we had look ahead, that was all the way out,

598
00:19:38.750 --> 00:19:39.877
several hundred frames later.

599
00:19:39.877 --> 00:19:42.100
And that was the only way we could compress all that data

600
00:19:42.100 --> 00:19:43.670
down into a small code book

601
00:19:43.670 --> 00:19:45.320
that we could play back at real time.

602
00:19:45.320 --> 00:19:46.450
But even that wasn't good enough,

603
00:19:46.450 --> 00:19:50.700
because at the end of the day, our token size got too big.

604
00:19:50.700 --> 00:19:52.070
So we had to do some predictive stuff.

605
00:19:52.070 --> 00:19:53.900
So we added on top of that predictive elements

606
00:19:53.900 --> 00:19:55.620
that would say, well, looking ahead

607
00:19:55.620 --> 00:19:57.190
through this one particular block,

608
00:19:57.190 --> 00:19:58.890
it looks like this block changes in this way.

609
00:19:58.890 --> 00:20:00.670
Let me see if I have a mathematical algorithm

610
00:20:00.670 --> 00:20:02.130
that can actually build that,

611
00:20:02.130 --> 00:20:04.840
and use math to generate or predict what it was.

612
00:20:04.840 --> 00:20:07.185
So, in much the same way that you would do like,

613
00:20:07.185 --> 00:20:09.240
now if you're really technical person,

614
00:20:09.240 --> 00:20:11.960
you would do like rewind sync on server code.

615
00:20:11.960 --> 00:20:14.510
Same kind of thing, where we kept using prediction

616
00:20:14.510 --> 00:20:15.670
to create a smaller delta,

617
00:20:15.670 --> 00:20:17.120
so we could have a better compression.

618
00:20:17.120 --> 00:20:18.370
And once we were done with all that

619
00:20:18.370 --> 00:20:20.890
we had this beautiful environment that looked amazing.

620
00:20:20.890 --> 00:20:22.180
And it was like, okay, this looks

621
00:20:22.180 --> 00:20:23.410
like the 3-D rendered stuff.

622
00:20:23.410 --> 00:20:24.930
It was better than the stuff we had done

623
00:20:24.930 --> 00:20:26.100
for "Command and Conquer" to the date

624
00:20:26.100 --> 00:20:27.450
and it was really great.

625
00:20:27.450 --> 00:20:28.990
Now we're going to put a character in it.

626
00:20:28.990 --> 00:20:30.080
You have to go back in time.

627
00:20:30.080 --> 00:20:33.160
Everything that was put on a screen back in the 90s,

628
00:20:33.160 --> 00:20:35.040
was put as a raster.

629
00:20:35.040 --> 00:20:36.460
So you literally had a piece of code

630
00:20:36.460 --> 00:20:38.810
that would poke a value into a place in memory

631
00:20:38.810 --> 00:20:40.310
and that would create a pixel.

632
00:20:40.310 --> 00:20:41.630
Everything was rasterized.

633
00:20:41.630 --> 00:20:43.170
So we have these things called sprites,

634
00:20:43.170 --> 00:20:44.360
were basically just a bitmap

635
00:20:44.360 --> 00:20:46.730
that you would stamp into the environment

636
00:20:46.730 --> 00:20:48.760
and they would have like a alpha mask, basically.

637
00:20:48.760 --> 00:20:50.170
There were no z-buffers.

638
00:20:50.170 --> 00:20:51.400
Like we had to create z-buffers,

639
00:20:51.400 --> 00:20:52.670
there was no hardware that did that.

640
00:20:52.670 --> 00:20:55.060
That was something you had to actually maintain in software.

641
00:20:55.060 --> 00:20:56.410
And so sprite was just basically

642
00:20:56.410 --> 00:20:58.060
a two dimensional map of a character

643
00:20:58.060 --> 00:20:59.780
that you would stamp into the world.

644
00:20:59.780 --> 00:21:01.270
And you would either have a z-buffer,

645
00:21:01.270 --> 00:21:02.450
or you would do them in order

646
00:21:02.450 --> 00:21:03.980
to make sure that they would look right.

647
00:21:03.980 --> 00:21:06.160
And so the idea was, let's go put some sprites in there.

648
00:21:06.160 --> 00:21:07.840
Well, they look terrible, right?

649
00:21:07.840 --> 00:21:09.913
Like the idea originally was we'll just use sprites

650
00:21:09.913 --> 00:21:11.490
and the kind that we'll move them around

651
00:21:11.490 --> 00:21:13.940
and between our [indistinct] and everything else,

652
00:21:13.940 --> 00:21:15.540
like we did with our other adventure games.

653
00:21:15.540 --> 00:21:17.230
It clearly wasn't going to work.

654
00:21:17.230 --> 00:21:18.700
The minute you put a sprite in that environment,

655
00:21:18.700 --> 00:21:23.260
even though we had the z-buffer, it just didn't look right.

656
00:21:23.260 --> 00:21:24.760
That was something I didn't even mention.

657
00:21:24.760 --> 00:21:26.400
We had to compress the z-buffer as well,

658
00:21:26.400 --> 00:21:28.270
because the z-buffer was what allowed us

659
00:21:28.270 --> 00:21:29.670
to composite in realtime things

660
00:21:29.670 --> 00:21:31.350
like characters moving around.

661
00:21:31.350 --> 00:21:34.540
So then we said, okay, well now we have the sprites.

662
00:21:34.540 --> 00:21:36.380
They don't work, what are we gonna do instead?

663
00:21:36.380 --> 00:21:37.510
Before we had even signed the deal,

664
00:21:37.510 --> 00:21:39.863
we started working with this idea of voxels.

665
00:21:39.863 --> 00:21:43.800
A voxel is a single graphical element

666
00:21:43.800 --> 00:21:46.350
that is a volume instead of a single pixel.

667
00:21:46.350 --> 00:21:48.930
And because it's a volume, it can be wrapped around.

668
00:21:48.930 --> 00:21:49.920
Let's think of "Minecraft,"

669
00:21:49.920 --> 00:21:51.750
if you took "Minecraft" and shrunk it down,

670
00:21:51.750 --> 00:21:52.583
that would be voxels.

671
00:21:52.583 --> 00:21:54.250
Everything's made of little blocks.

672
00:21:54.250 --> 00:21:55.820
So they looked great, the voxels look good

673
00:21:55.820 --> 00:21:58.340
because pixel by pixel they looked very much like the scene,

674
00:21:58.340 --> 00:22:02.110
and the blockiness you get from voxels

675
00:22:02.110 --> 00:22:04.950
when you go to render them, back then pixel by pixel,

676
00:22:04.950 --> 00:22:07.390
really kind of voxel unit by voxel unit,

677
00:22:07.390 --> 00:22:08.500
they look very blocky too.

678
00:22:08.500 --> 00:22:10.260
So they matched the compression of the scene,

679
00:22:10.260 --> 00:22:11.830
so they felt really good.

680
00:22:11.830 --> 00:22:14.770
What was also nice about voxels is, at any given time,

681
00:22:14.770 --> 00:22:18.290
because we put them on a spindle and we did slices of them,

682
00:22:18.290 --> 00:22:20.150
as we were going around the outside of the character,

683
00:22:20.150 --> 00:22:22.240
at any given time, we had the normal vector

684
00:22:22.240 --> 00:22:24.740
of what that particular pixel was.

685
00:22:24.740 --> 00:22:26.900
And so we were able to actually add another layer

686
00:22:26.900 --> 00:22:29.210
of compression, so we didn't just have the scene,

687
00:22:29.210 --> 00:22:30.770
we also had the z-buffer,

688
00:22:30.770 --> 00:22:32.810
then on top of that, we added another layer,

689
00:22:32.810 --> 00:22:34.150
which was a lighting buffer.

690
00:22:34.150 --> 00:22:35.730
Sort of like a deferred renderer.

691
00:22:35.730 --> 00:22:39.070
That would have lighting information, so that the character,

692
00:22:39.070 --> 00:22:40.190
as we're rendering the voxels,

693
00:22:40.190 --> 00:22:42.480
we could actually allow light to land on the character.

694
00:22:42.480 --> 00:22:43.810
And that kind of sold the deal.

695
00:22:43.810 --> 00:22:45.490
At that point, when the character

696
00:22:45.490 --> 00:22:47.210
like McCoy walks into the scene

697
00:22:47.210 --> 00:22:49.210
and picks up all the light from the neon.

698
00:22:49.210 --> 00:22:51.980
And if there's a big spotlight that's hitting the water

699
00:22:51.980 --> 00:22:55.050
and it's splashing up with all this global lumination,

700
00:22:55.050 --> 00:22:58.200
because that light information was inside 3-D Studio Max,

701
00:22:58.200 --> 00:22:59.250
the character that walked on the scene

702
00:22:59.250 --> 00:23:00.430
would pick up that light.

703
00:23:00.430 --> 00:23:02.020
And it looked very believable.

704
00:23:02.020 --> 00:23:04.600
Technically, it wasn't very accurate. [laughs]

705
00:23:04.600 --> 00:23:05.630
It was really sloppy,

706
00:23:05.630 --> 00:23:07.700
but because the characters were sort of blocky

707
00:23:07.700 --> 00:23:08.810
and things were just kind of...

708
00:23:08.810 --> 00:23:11.670
There was really not very, very precise,

709
00:23:11.670 --> 00:23:12.960
we got away with it.

710
00:23:12.960 --> 00:23:14.360
And so we thought, okay, that's really great.

711
00:23:14.360 --> 00:23:15.630
We're done. This is gonna be amazing.

712
00:23:15.630 --> 00:23:16.613
As we start to build the game,

713
00:23:16.613 --> 00:23:18.240
we started to all the sequences.

714
00:23:18.240 --> 00:23:20.387
We realized that there was another thing that was missing.

715
00:23:20.387 --> 00:23:22.200
"Blade Runner" has all this atmosphere in it.

716
00:23:22.200 --> 00:23:24.130
It has all these clouds and steam.

717
00:23:24.130 --> 00:23:28.100
And so the problem with z-buffers is they're z-buffers.

718
00:23:28.100 --> 00:23:29.870
They're opaque, right?

719
00:23:29.870 --> 00:23:32.140
So the character would be walking into the distance

720
00:23:32.140 --> 00:23:34.180
and they wouldn't be affected by the steam.

721
00:23:34.180 --> 00:23:35.700
They would just be stamped out over the top of the steam.

722
00:23:35.700 --> 00:23:38.500
So if they walked through the cloud in the distance,

723
00:23:38.500 --> 00:23:39.560
they would look wrong.

724
00:23:39.560 --> 00:23:41.430
So then we had to add on top of all of that

725
00:23:41.430 --> 00:23:43.590
another system that managed volume metrics.

726
00:23:43.590 --> 00:23:46.120
And so we've put imposters, basically probes

727
00:23:46.120 --> 00:23:47.100
inside the environment,

728
00:23:47.100 --> 00:23:49.340
that were invisible when we rendered them.

729
00:23:49.340 --> 00:23:51.070
But that information in realtime

730
00:23:51.070 --> 00:23:54.530
was used to add effects onto the voxel characters

731
00:23:54.530 --> 00:23:56.900
to make them appear to be going into the steam.

732
00:23:56.900 --> 00:23:58.710
To gray them out if they were into steam

733
00:23:58.710 --> 00:24:00.780
or make them go a little darker if they went into areas

734
00:24:00.780 --> 00:24:02.220
that were really heavy shadows.

735
00:24:02.220 --> 00:24:04.610
And once we did all of that, we actually even had shadows

736
00:24:04.610 --> 00:24:07.240
that could fall across the the surface of an object.

737
00:24:07.240 --> 00:24:09.790
We got to the point where the characters look so believable

738
00:24:09.790 --> 00:24:11.410
that they could do just about anything.

739
00:24:11.410 --> 00:24:12.690
And so we were finally there.

740
00:24:12.690 --> 00:24:15.200
And then I still remember the day we were probably, again,

741
00:24:15.200 --> 00:24:16.630
two thirds of the way through development.

742
00:24:16.630 --> 00:24:18.890
And we said, well, all of this stuff works.

743
00:24:18.890 --> 00:24:20.600
There's no reason that that second and half

744
00:24:20.600 --> 00:24:23.360
of cycled animation, couldn't be a second and a half

745
00:24:23.360 --> 00:24:25.430
of a camera that tracks around a corner.

746
00:24:25.430 --> 00:24:27.040
And because everything was in 3-D,

747
00:24:27.040 --> 00:24:29.080
and everything had three dimensional placement,

748
00:24:29.080 --> 00:24:30.880
you could have characters walking around in the background

749
00:24:30.880 --> 00:24:33.400
inside a hallway and the camera would fly down the hallway.

750
00:24:33.400 --> 00:24:36.420
And everybody tracked perfectly inside the space.

751
00:24:36.420 --> 00:24:37.740
Including all the lighting and everything else.

752
00:24:37.740 --> 00:24:40.450
In fact, if a spinner flew by and flew down the streets,

753
00:24:40.450 --> 00:24:42.550
the walls would get wash of the color

754
00:24:42.550 --> 00:24:43.430
and the light from the spinner.

755
00:24:43.430 --> 00:24:45.630
And all of this was just a bunch of simple tricks.

756
00:24:45.630 --> 00:24:47.270
I mean, it was all about this compositing

757
00:24:47.270 --> 00:24:48.670
of these elements together.

758
00:24:48.670 --> 00:24:50.520
And at the end, it was very convincing.

759
00:24:50.520 --> 00:24:52.650
I remember during reviews at the time, people said,

760
00:24:52.650 --> 00:24:53.990
how many polygons in this scene?

761
00:24:53.990 --> 00:24:55.240
I go, millions.

762
00:24:55.240 --> 00:24:56.320
There's millions of polygons

763
00:24:56.320 --> 00:24:57.570
because that's what the original scene was.

764
00:24:57.570 --> 00:24:59.280
They go, but there's not even a million pixels on screen.

765
00:24:59.280 --> 00:25:00.210
I'm like, well, no,

766
00:25:00.210 --> 00:25:01.890
but there's millions of polygons in there

767
00:25:01.890 --> 00:25:04.340
and all of it's being treated in a very sneaky

768
00:25:04.340 --> 00:25:06.360
and compressed way, but that's what those scenes look like.

769
00:25:06.360 --> 00:25:08.250
And so, to this day, if you take "Blade Runner"

770
00:25:08.250 --> 00:25:10.350
and you look at the video from the film

771
00:25:10.350 --> 00:25:11.840
or from the game, and you look at the film,

772
00:25:11.840 --> 00:25:13.210
they're very, very close.

773
00:25:13.210 --> 00:25:16.210
In fact, the game, if you look at anything else from 1995

774
00:25:16.210 --> 00:25:17.100
it's not even close.

775
00:25:17.100 --> 00:25:19.030
It's like night and day,

776
00:25:19.030 --> 00:25:21.603
nobody even came anywhere near what "Blade Runner" did.

777
00:25:21.603 --> 00:25:25.217
[electronic typing]

778
00:25:25.217 --> 00:25:26.360
"Blade Runner" was a great fun

779
00:25:26.360 --> 00:25:27.930
and I think we all really enjoyed it,

780
00:25:27.930 --> 00:25:29.270
but there were definitely some frustrating times,

781
00:25:29.270 --> 00:25:31.030
and I know I frustrated my team.

782
00:25:31.030 --> 00:25:34.330
I just wouldn't compromise on the visual quality

783
00:25:34.330 --> 00:25:36.520
being as absolutely as high as it could possibly be.

784
00:25:36.520 --> 00:25:38.390
And there were a couple of suggestions

785
00:25:38.390 --> 00:25:39.330
that we should probably just go

786
00:25:39.330 --> 00:25:41.500
with much simpler system for characters.

787
00:25:41.500 --> 00:25:42.640
There were a lot of ideas like, hey,

788
00:25:42.640 --> 00:25:43.820
we don't need a motion capture this stuff.

789
00:25:43.820 --> 00:25:45.110
We could just do some simple animations

790
00:25:45.110 --> 00:25:46.410
or whatever transforms.

791
00:25:46.410 --> 00:25:47.980
At the end of the day, I wouldn't have it.

792
00:25:47.980 --> 00:25:50.120
I was like, no, we need to do everything we can.

793
00:25:50.120 --> 00:25:51.860
I love this movie, it's my favorite movie.

794
00:25:51.860 --> 00:25:53.530
I want it to be as authentic as possible.

795
00:25:53.530 --> 00:25:55.190
And because I have a fine arts background

796
00:25:55.190 --> 00:25:56.290
and a technical background,

797
00:25:56.290 --> 00:25:58.120
I was just uncompromising on the visual quality.

798
00:25:58.120 --> 00:25:59.490
It just had to be the best.

799
00:25:59.490 --> 00:26:02.140
So I think that's probably where we pushed the hardest,

800
00:26:02.140 --> 00:26:04.320
was just, we had to invent new things

801
00:26:04.320 --> 00:26:06.330
because the way that you had to do things

802
00:26:06.330 --> 00:26:08.370
back then for graphics, just couldn't get to the quality

803
00:26:08.370 --> 00:26:09.750
that was anywhere close to film.

804
00:26:09.750 --> 00:26:12.550
When I started "Blade Runner" and we pitched it,

805
00:26:12.550 --> 00:26:14.080
I remember coming back and Brett had asked me,

806
00:26:14.080 --> 00:26:15.387
he said, hey, how'd the pitch go?

807
00:26:15.387 --> 00:26:17.560
And I said, I think it went really well.

808
00:26:17.560 --> 00:26:20.000
Hard to tell, these guys have good poker faces, right?

809
00:26:20.000 --> 00:26:21.043
He goes, so are you excited?

810
00:26:21.043 --> 00:26:22.330
I know it's your favorite movie.

811
00:26:22.330 --> 00:26:24.210
His favorite book was "Dune," so we'd just done "Dune,"

812
00:26:24.210 --> 00:26:26.010
and we were both on top of the world.

813
00:26:26.010 --> 00:26:27.910
Done D and D. I love D and D.

814
00:26:27.910 --> 00:26:30.460
And I said, you know, the one thing I'm terrified of

815
00:26:30.460 --> 00:26:33.390
is the "Blade Runner" fans coming after me

816
00:26:33.390 --> 00:26:35.900
and wanting to kill me for doing something terrible

817
00:26:35.900 --> 00:26:37.060
with this property.

818
00:26:37.060 --> 00:26:38.840
And I think that motivated me more than anything.

819
00:26:38.840 --> 00:26:41.760
As a fan of the property of the movie,

820
00:26:41.760 --> 00:26:43.980
the thing I was most afraid of is,

821
00:26:43.980 --> 00:26:45.010
what are the fans gonna think?

822
00:26:45.010 --> 00:26:48.530
I would just be mortified if I had done something

823
00:26:48.530 --> 00:26:51.880
that they felt was a travesty for the IP

824
00:26:51.880 --> 00:26:53.330
and had done something that belittled it

825
00:26:53.330 --> 00:26:54.620
or took away from the value.

826
00:26:54.620 --> 00:26:56.850
And so that motivated me more than anything.

827
00:26:56.850 --> 00:26:58.060
I feel like we were successful.

828
00:26:58.060 --> 00:27:02.320
My takeaway was nobody sent me hate mail. [laughs]

829
00:27:02.320 --> 00:27:06.030
I didn't see any mean trollish things online.

830
00:27:06.030 --> 00:27:07.740
Generally, people either love the game

831
00:27:07.740 --> 00:27:09.820
or dismiss it as maybe, well, it was kind of simple.

832
00:27:09.820 --> 00:27:11.710
It wasn't quite as deep as I wanted or whatever.

833
00:27:11.710 --> 00:27:13.010
There's always that not big enough,

834
00:27:13.010 --> 00:27:15.370
not deep enough argument, but generally speaking

835
00:27:15.370 --> 00:27:19.770
it was well received and the fans were really appreciative

836
00:27:19.770 --> 00:27:23.480
of how hard we worked to be authentic to the IP.

837
00:27:23.480 --> 00:27:27.120
And so my takeaway was good work to the team.

838
00:27:27.120 --> 00:27:28.960
The Mikes, and David Leary,

839
00:27:28.960 --> 00:27:31.440
and all those folks that worked so hard.

840
00:27:31.440 --> 00:27:33.350
We all could have done a few more things differently,

841
00:27:33.350 --> 00:27:34.880
but at the end, the fans liked it.

842
00:27:34.880 --> 00:27:36.593
And I think that was a validation.

843
00:27:37.512 --> 00:27:40.420
[electronic typing]

844
00:27:40.420 --> 00:27:41.550
People ask me all the time, was there any point

845
00:27:41.550 --> 00:27:42.727
where you just thought, okay, we're hosed,

846
00:27:42.727 --> 00:27:44.760
we're not gonna make it.

847
00:27:44.760 --> 00:27:45.780
I don't think so.

848
00:27:45.780 --> 00:27:49.660
I think my optimism runs eternal.

849
00:27:49.660 --> 00:27:50.493
And to this day,

850
00:27:50.493 --> 00:27:52.540
I'm probably still way too optimistic about things.

851
00:27:52.540 --> 00:27:54.680
There was no point where I didn't think we'd get there.

852
00:27:54.680 --> 00:27:56.840
There was definitely a point in time during "Blade Runner"

853
00:27:56.840 --> 00:27:59.840
where we felt, okay, we're gonna need more time.

854
00:27:59.840 --> 00:28:00.720
We're gonna need more money.

855
00:28:00.720 --> 00:28:02.750
And the amount of money participation

856
00:28:02.750 --> 00:28:03.980
we had from our partnership,

857
00:28:03.980 --> 00:28:05.510
the "Blade Runner" partnership was capped.

858
00:28:05.510 --> 00:28:06.850
It was part of our deal.

859
00:28:06.850 --> 00:28:10.400
So we did have to go back to our publishing partner

860
00:28:10.400 --> 00:28:12.250
and say, hey, we want to spend

861
00:28:12.250 --> 00:28:14.791
a few hundred thousand dollars more on this game.

862
00:28:14.791 --> 00:28:17.660
It's an adventure game, which nobody thought could sell.

863
00:28:17.660 --> 00:28:18.850
And because it's important

864
00:28:18.850 --> 00:28:21.670
and it needs to be done for the quality.

865
00:28:21.670 --> 00:28:22.790
So that was on me.

866
00:28:22.790 --> 00:28:25.290
And in fact, some of the other things.

867
00:28:25.290 --> 00:28:28.800
Getting things funded back then, like now, really hard.

868
00:28:28.800 --> 00:28:29.900
So that was probably the only time

869
00:28:29.900 --> 00:28:31.940
where I had really crisis, was like, oh my God,

870
00:28:31.940 --> 00:28:32.980
where am I gonna get this money?

871
00:28:32.980 --> 00:28:35.260
I can't write the kind of check that I need to write.

872
00:28:35.260 --> 00:28:36.990
I gotta get the money from our owner.

873
00:28:36.990 --> 00:28:38.920
And are they gonna buy into this,

874
00:28:38.920 --> 00:28:40.330
are they gonna believe this crazy idea

875
00:28:40.330 --> 00:28:42.030
that we're gonna sell an adventure game

876
00:28:42.030 --> 00:28:43.410
that's going to sell more copies

877
00:28:43.410 --> 00:28:45.730
than any other adventure game could, just to break even?

878
00:28:45.730 --> 00:28:48.210
So that was probably the only time where it was really...

879
00:28:48.210 --> 00:28:49.740
Not that we wouldn't get the game done,

880
00:28:49.740 --> 00:28:52.040
that we couldn't get the game we wanted to get done.

881
00:28:52.040 --> 00:28:54.741
We needed more time. We needed more money.

882
00:28:54.741 --> 00:28:57.390
[electronic typing]

883
00:28:57.390 --> 00:28:59.280
The biggest thing that pressed us to finish

884
00:28:59.280 --> 00:29:01.080
was we had gone to a trade show,

885
00:29:01.080 --> 00:29:03.520
we had so much excitement behind it.

886
00:29:03.520 --> 00:29:06.570
Virgin had had this incredible amount of energy

887
00:29:06.570 --> 00:29:09.400
behind the game and the people wanting to pre-order it.

888
00:29:09.400 --> 00:29:12.700
And it was a calendar date

889
00:29:12.700 --> 00:29:14.360
that made us have to make decisions.

890
00:29:14.360 --> 00:29:17.290
I think by then, after that show especially.

891
00:29:17.290 --> 00:29:20.670
the world knew and our owners knew we had something special.

892
00:29:20.670 --> 00:29:24.427
It felt a lot like "Command and Conquer," "Lion King,"

893
00:29:24.427 --> 00:29:26.370
"Lands of Lore," a couple other big games Westwood had,

894
00:29:26.370 --> 00:29:28.140
where you kind of know at some point

895
00:29:28.140 --> 00:29:28.980
you've got something big.

896
00:29:28.980 --> 00:29:31.270
You don't know how big, you know it's pretty big.

897
00:29:31.270 --> 00:29:33.270
And I think we could have gotten more time and money,

898
00:29:33.270 --> 00:29:35.020
but we couldn't take the time and money,

899
00:29:35.020 --> 00:29:37.720
because we had to get the game out

900
00:29:37.720 --> 00:29:40.100
while the energy was there, while people were excited,

901
00:29:40.100 --> 00:29:41.610
and the world was changing quickly.

902
00:29:41.610 --> 00:29:44.610
And so I think at the end, it was less about...

903
00:29:44.610 --> 00:29:47.370
It was certainly hard to get the time and money

904
00:29:47.370 --> 00:29:49.050
in the beginning, but once we delivered,

905
00:29:49.050 --> 00:29:50.630
it was more about we got to get this thing done

906
00:29:50.630 --> 00:29:51.770
because now is the time.

907
00:29:51.770 --> 00:29:53.910
And if we wait too long, we have to start all over again.

908
00:29:53.910 --> 00:29:55.710
We'd have to go redo all the assets.

909
00:29:56.597 --> 00:29:57.880
Everything has to get better.

910
00:29:57.880 --> 00:30:00.580
And so you find yourself in game development,

911
00:30:00.580 --> 00:30:02.920
quite often, even today, this is still true.

912
00:30:02.920 --> 00:30:04.360
You're getting close to getting the product,

913
00:30:04.360 --> 00:30:07.010
it's almost there, and you realize now, wow,

914
00:30:07.010 --> 00:30:08.300
if we had done something differently

915
00:30:08.300 --> 00:30:09.780
or with the new technology, or new techniques,

916
00:30:09.780 --> 00:30:10.890
we could do it so much better.

917
00:30:10.890 --> 00:30:12.300
And it's really a hard call.

918
00:30:12.300 --> 00:30:13.580
Do we take a little more time?

919
00:30:13.580 --> 00:30:15.830
Do we spend more money to up that quality?

920
00:30:15.830 --> 00:30:17.170
It's going to start everything over again

921
00:30:17.170 --> 00:30:19.220
and next year, aren't we gonna have that same problem?

922
00:30:19.220 --> 00:30:20.780
And so that's the rub, at the end,

923
00:30:20.780 --> 00:30:23.310
it was it's time, we have to ship it.

924
00:30:23.310 --> 00:30:24.143
What are we gonna cut?

925
00:30:24.143 --> 00:30:25.330
What are we gonna do to make it work?

926
00:30:25.330 --> 00:30:27.820
And again, the things we cut,

927
00:30:27.820 --> 00:30:29.610
nobody knew we cut them except us.

928
00:30:29.610 --> 00:30:32.540
So it worked out and you never know

929
00:30:32.540 --> 00:30:33.630
how hard that's gonna be.

930
00:30:33.630 --> 00:30:34.850
Sometimes you cut deep enough

931
00:30:34.850 --> 00:30:36.520
where the game doesn't get a good review.

932
00:30:36.520 --> 00:30:38.150
Or people are disappointed.

933
00:30:38.150 --> 00:30:40.632
In this case, I think we pulled it out.

934
00:30:40.632 --> 00:30:43.420
[electronic typing]

935
00:30:43.420 --> 00:30:44.830
Because of the negotiations,

936
00:30:44.830 --> 00:30:46.530
it was a delicate time for Westwood.

937
00:30:46.530 --> 00:30:48.320
We didn't have ink on paper,

938
00:30:48.320 --> 00:30:51.150
so we couldn't throw the full dev team at it right away.

939
00:30:51.150 --> 00:30:53.560
So we had to just take the people we had and keep planning.

940
00:30:53.560 --> 00:30:57.180
I'll always look back and say, that's the closest game ever

941
00:30:57.180 --> 00:30:59.240
that I've made from the original designed,

942
00:30:59.240 --> 00:31:01.620
to what actually ended up in the hands of the consumers.

943
00:31:01.620 --> 00:31:03.370
That amount of planning was never wasted.

944
00:31:03.370 --> 00:31:05.270
I mean, it felt like we were wasting time.

945
00:31:05.270 --> 00:31:07.550
It was not a waste of time. And that's what I took away.

946
00:31:07.550 --> 00:31:09.810
And to this day, I might get criticized at times,

947
00:31:09.810 --> 00:31:11.950
where I'm really insisting on a lot more documentation,

948
00:31:11.950 --> 00:31:13.290
a lot more planning.

949
00:31:13.290 --> 00:31:16.020
But from my experience, thinking through those things

950
00:31:16.020 --> 00:31:19.190
as much as possible, was a learning that is just...

951
00:31:20.070 --> 00:31:20.960
You can't replicate that.

952
00:31:20.960 --> 00:31:23.140
Once you realize that that's what you have to do,

953
00:31:23.140 --> 00:31:24.560
you obsess about planning.

954
00:31:24.560 --> 00:31:26.200
And since then, I would say the best thing

955
00:31:26.200 --> 00:31:27.440
is to actually put it in the hands of customers.

956
00:31:27.440 --> 00:31:29.692
We just didn't have that option back then.

957
00:31:29.692 --> 00:31:32.647
[electronic typing]

958
00:31:32.647 --> 00:31:34.170
When we started off with "Blade Runner,"

959
00:31:34.170 --> 00:31:35.510
we started with that first scene,

960
00:31:35.510 --> 00:31:36.800
we got it compressed as a video,

961
00:31:36.800 --> 00:31:38.510
we played it and we said, that's really cool.

962
00:31:38.510 --> 00:31:41.240
Then we added the z-buffer and we could move things around.

963
00:31:41.240 --> 00:31:42.330
We could move like a big block

964
00:31:42.330 --> 00:31:43.320
and it could move through the world,

965
00:31:43.320 --> 00:31:44.950
and pass through things like, oh, that's really cool.

966
00:31:44.950 --> 00:31:46.240
This is going to work, you know?

967
00:31:46.240 --> 00:31:49.100
And then I think the sad trombone sound

968
00:31:49.100 --> 00:31:49.933
was when we put that sprite in

969
00:31:49.933 --> 00:31:52.530
and we're like, oh, that doesn't look good at all.

970
00:31:52.530 --> 00:31:54.530
And we knew we had to come up with a new technology.

971
00:31:54.530 --> 00:31:56.730
Unfortunately, we were still in the early stages

972
00:31:56.730 --> 00:31:58.790
where we hadn't committed to anything.

973
00:31:58.790 --> 00:32:01.190
So we were like, okay, maybe this isn't gonna work.

974
00:32:01.190 --> 00:32:02.150
Let's try something different.

975
00:32:02.150 --> 00:32:03.670
That's when we did the voxel stuff.

976
00:32:03.670 --> 00:32:04.800
It was an evolution.

977
00:32:04.800 --> 00:32:06.560
So in the very beginning, we were pretty sure

978
00:32:06.560 --> 00:32:09.870
all we would do is have about a second or so of video

979
00:32:09.870 --> 00:32:13.390
that would loop, so rain, but maybe a sign

980
00:32:13.390 --> 00:32:16.530
that blinked rather fast, a couple seconds at most.

981
00:32:16.530 --> 00:32:19.000
But we couldn't do anything that was any really much longer.

982
00:32:19.000 --> 00:32:20.870
And every time we came up with a new idea

983
00:32:20.870 --> 00:32:22.310
on how we would do next new technology,

984
00:32:22.310 --> 00:32:25.820
of course it added more onto the total load

985
00:32:25.820 --> 00:32:27.990
of what we had to process and get on the screen.

986
00:32:27.990 --> 00:32:29.400
And every time we did that,

987
00:32:29.400 --> 00:32:31.100
we had to find better compression.

988
00:32:31.100 --> 00:32:33.270
And I remember, as a compression geek

989
00:32:33.270 --> 00:32:34.500
and that's what I love doing,

990
00:32:34.500 --> 00:32:35.650
saying in the beginning, it's like,

991
00:32:35.650 --> 00:32:37.750
well, 47% of the original size

992
00:32:37.750 --> 00:32:39.230
that's like lossless compression.

993
00:32:39.230 --> 00:32:40.750
That's kind of data entropy.

994
00:32:40.750 --> 00:32:42.730
If you're gonna go lossy, you can get to a 20%

995
00:32:42.730 --> 00:32:43.563
of the original size.

996
00:32:43.563 --> 00:32:45.360
Your pretty much as far as you can go.

997
00:32:45.360 --> 00:32:48.170
We were down to single digits. We were down to, when you did

998
00:32:48.170 --> 00:32:49.560
the effective compression rate of pixels,

999
00:32:49.560 --> 00:32:53.250
we were down to well under 5%, 3%, 4% of the original image,

1000
00:32:53.250 --> 00:32:55.750
which is a ridiculous amount of compression

1001
00:32:55.750 --> 00:32:57.060
when you take all the data we had.

1002
00:32:57.060 --> 00:32:58.380
And so that was the kind of thing

1003
00:32:58.380 --> 00:32:59.770
that had to happen over time.

1004
00:32:59.770 --> 00:33:00.650
It didn't happen right away,

1005
00:33:00.650 --> 00:33:03.190
but every time we got those jumps in technology,

1006
00:33:03.190 --> 00:33:04.460
we came up with a new idea.

1007
00:33:04.460 --> 00:33:06.220
Oh, I know what we're doing, we'll do some predictive math.

1008
00:33:06.220 --> 00:33:07.450
And we'll figure that out.

1009
00:33:07.450 --> 00:33:09.230
That would give us some extra percentage,

1010
00:33:09.230 --> 00:33:10.641
which let us put more in the game.

1011
00:33:10.641 --> 00:33:12.560
And the team was really frustrated with me too,

1012
00:33:12.560 --> 00:33:14.010
because every time they got more they'd go,

1013
00:33:14.010 --> 00:33:14.843
okay, we've solved problem.

1014
00:33:14.843 --> 00:33:17.301
I'd go, awesome, let's do it for 10 seconds.

1015
00:33:17.301 --> 00:33:19.490
No, stop! Please, uncle. [laughs]

1016
00:33:19.490 --> 00:33:21.310
So it was really fun in the sense

1017
00:33:21.310 --> 00:33:23.150
that we kept finding ways to do more,

1018
00:33:23.150 --> 00:33:25.500
and do more fun stuff, and make things better.

1019
00:33:25.500 --> 00:33:28.270
And Bill Petro kept making the slice models faster,

1020
00:33:28.270 --> 00:33:30.080
which let us do more technology for the lighting.

1021
00:33:30.080 --> 00:33:31.700
And all of these things just kept adding

1022
00:33:31.700 --> 00:33:32.600
to making it better and better.

1023
00:33:32.600 --> 00:33:34.530
I'm sure if we had another year,

1024
00:33:34.530 --> 00:33:37.090
it would have looked much better and perform even better,

1025
00:33:37.090 --> 00:33:39.445
but at some point you got to ship it.

1026
00:33:39.445 --> 00:33:43.260
[electronic typing]

1027
00:33:43.260 --> 00:33:45.420
At the time we were building "Blade Runner,"

1028
00:33:45.420 --> 00:33:48.800
it was not actually possible on our lowest end platform

1029
00:33:48.800 --> 00:33:51.290
to completely paint the screen with a pixel

1030
00:33:51.290 --> 00:33:53.920
fast enough to be a playable experience.

1031
00:33:53.920 --> 00:33:56.500
So if you think about how hard this problem is,

1032
00:33:56.500 --> 00:33:58.220
you're going to have a bunch of stuff moving on the screen

1033
00:33:58.220 --> 00:34:00.300
pixels everywhere, rain, lights, all this stuff,

1034
00:34:00.300 --> 00:34:02.080
characters moving around, spinners flying around,

1035
00:34:02.080 --> 00:34:05.980
and you actually can't even scan the entire screen

1036
00:34:05.980 --> 00:34:08.240
fast enough to keep a frame rate that's acceptable.

1037
00:34:08.240 --> 00:34:09.073
So what we had to do

1038
00:34:09.073 --> 00:34:11.130
is we had to manage dirty buffers all the time.

1039
00:34:11.130 --> 00:34:12.500
And that meant that we had to keep track

1040
00:34:12.500 --> 00:34:13.347
of what parts of the screen changed

1041
00:34:13.347 --> 00:34:14.630
and what parts didn't change,

1042
00:34:14.630 --> 00:34:16.100
and we had to be really economical

1043
00:34:16.100 --> 00:34:17.450
about how we change those pixels,

1044
00:34:17.450 --> 00:34:18.800
and what deltas we did.

1045
00:34:18.800 --> 00:34:20.250
And we had to double buffer everything.

1046
00:34:20.250 --> 00:34:22.360
So we would have one that was not being seen

1047
00:34:22.360 --> 00:34:23.230
and one that was being seen,

1048
00:34:23.230 --> 00:34:25.490
and we'd be updating things on the other buffer.

1049
00:34:25.490 --> 00:34:27.360
And some things we would do out of sync,

1050
00:34:27.360 --> 00:34:28.870
because they were such big pieces,

1051
00:34:28.870 --> 00:34:30.440
we would actually have a third buffer

1052
00:34:30.440 --> 00:34:33.060
where we would keep track of the future state of something.

1053
00:34:33.060 --> 00:34:34.610
So we would know that in eight frames,

1054
00:34:34.610 --> 00:34:36.040
this is gonna be the frame that's gonna be drawn,

1055
00:34:36.040 --> 00:34:38.450
so we'll create it over here, put the image in it,

1056
00:34:38.450 --> 00:34:40.070
and then that way it would land on the screen.

1057
00:34:40.070 --> 00:34:41.960
And that one would update at eight frames per second

1058
00:34:41.960 --> 00:34:43.930
while everything else was running about 60 frames a second.

1059
00:34:43.930 --> 00:34:45.670
Actually about 30, 30 frames a second

1060
00:34:45.670 --> 00:34:46.600
was about what we managed.

1061
00:34:46.600 --> 00:34:48.590
So really, really hard problems.

1062
00:34:48.590 --> 00:34:51.140
And people don't realize how hard these things were

1063
00:34:51.140 --> 00:34:53.300
because today it's just like, you throw things up there

1064
00:34:53.300 --> 00:34:55.150
and you complain if the engine's not fast enough.

1065
00:34:55.150 --> 00:34:56.410
That's not how it worked back then back then.

1066
00:34:56.410 --> 00:34:59.801
Back then, every single pixel was your fault. [laughs]

1067
00:34:59.801 --> 00:35:03.600
[electronic typing]

1068
00:35:03.600 --> 00:35:05.020
So one of the things that's really important

1069
00:35:05.020 --> 00:35:06.110
with "Blade Runner" was,

1070
00:35:06.110 --> 00:35:10.070
we had to imagine, at the time, really good selling...

1071
00:35:10.070 --> 00:35:14.200
The bestselling adventure games were 100,000 plus copies.

1072
00:35:14.200 --> 00:35:16.360
We had to imagine that this game was going to sell 300,000

1073
00:35:16.360 --> 00:35:17.320
or more copies,

1074
00:35:17.320 --> 00:35:19.370
which would make it the number one selling adventure game.

1075
00:35:19.370 --> 00:35:23.460
So the math for the business required a number one hit.

1076
00:35:23.460 --> 00:35:26.020
Well, to sell that many copies, you also have to sell

1077
00:35:26.020 --> 00:35:28.110
to the lowest common denominator of machine.

1078
00:35:28.110 --> 00:35:31.060
So 4.77 megahertz 8086

1079
00:35:31.060 --> 00:35:33.240
was the lowest platform we had to support.

1080
00:35:33.240 --> 00:35:35.360
And at that time, those machines

1081
00:35:35.360 --> 00:35:38.210
could literally not blink the screen fast enough

1082
00:35:38.210 --> 00:35:41.320
to be able to do a compelling animation.

1083
00:35:41.320 --> 00:35:43.180
And so all of the problems

1084
00:35:43.180 --> 00:35:44.530
we had to support those low end machines

1085
00:35:44.530 --> 00:35:45.770
were absolutely required,

1086
00:35:45.770 --> 00:35:48.820
because otherwise we could never meet the sales goal

1087
00:35:48.820 --> 00:35:51.110
of having so many copies sold.

1088
00:35:51.110 --> 00:35:54.270
And there's a lot of companies that were very famous

1089
00:35:54.270 --> 00:35:55.760
for making games that couldn't run

1090
00:35:55.760 --> 00:35:57.610
on most people's hardware.

1091
00:35:57.610 --> 00:35:58.850
We couldn't afford to do that.

1092
00:35:58.850 --> 00:36:00.640
We would never be able to earn out on the game

1093
00:36:00.640 --> 00:36:02.150
and we would lose a lot of money.

1094
00:36:02.150 --> 00:36:05.030
So not only were the technical problems really big problems,

1095
00:36:05.030 --> 00:36:06.480
they were also commercial problems,

1096
00:36:06.480 --> 00:36:08.210
because we had to support these low end systems.

1097
00:36:08.210 --> 00:36:10.560
The Voodoo 3-D hardware out was very cool hardware

1098
00:36:10.560 --> 00:36:11.530
for certain things.

1099
00:36:11.530 --> 00:36:12.420
But as a practical matter,

1100
00:36:12.420 --> 00:36:13.730
you would only be able to build a scene

1101
00:36:13.730 --> 00:36:16.070
out of a few hundred, maybe a thousand polygons,

1102
00:36:16.070 --> 00:36:18.070
because you had to have a decent frame rate

1103
00:36:18.070 --> 00:36:19.107
and it could only render so many frames per second,

1104
00:36:19.107 --> 00:36:20.810
and you have to have time for everything else in the game.

1105
00:36:20.810 --> 00:36:22.870
You still had audio, you still had all the game logic,

1106
00:36:22.870 --> 00:36:23.703
and everything else.

1107
00:36:23.703 --> 00:36:26.440
So even if the 3-D card was fast, it's not a demo.

1108
00:36:26.440 --> 00:36:27.790
You'd always see these great game demos.

1109
00:36:27.790 --> 00:36:29.380
You're like, look at all these balls bouncing around.

1110
00:36:29.380 --> 00:36:30.790
I was like, well, sure, but you have imposters.

1111
00:36:30.790 --> 00:36:32.490
You have all these tricks to make it look awesome,

1112
00:36:32.490 --> 00:36:34.830
but the reality was, under stress, with a game,

1113
00:36:34.830 --> 00:36:37.580
you were hundreds, maybe thousands of polygons.

1114
00:36:37.580 --> 00:36:39.970
Nowhere near the tens of thousands, hundreds of thousands,

1115
00:36:39.970 --> 00:36:42.693
millions that we would need to do to create "Blade Runner."

1116
00:36:42.693 --> 00:36:46.260
[electronic typing]

1117
00:36:46.260 --> 00:36:48.540
So "Blade Runner" had another design challenge.

1118
00:36:48.540 --> 00:36:50.860
As we were building this game, there were all these clues.

1119
00:36:50.860 --> 00:36:52.250
So characters would pick up clues

1120
00:36:52.250 --> 00:36:53.600
and hand them to other characters.

1121
00:36:53.600 --> 00:36:57.730
And we managed to figure out the whisper

1122
00:36:57.730 --> 00:36:59.760
or the rumor mill.

1123
00:36:59.760 --> 00:37:01.010
So somebody would tell you

1124
00:37:01.010 --> 00:37:03.370
that they saw a person who saw a person.

1125
00:37:03.370 --> 00:37:05.580
Well, that piece of data was less reliable.

1126
00:37:05.580 --> 00:37:08.100
So we actually tracked how reliable the information was

1127
00:37:08.100 --> 00:37:10.810
and characters would lie to you in the game

1128
00:37:10.810 --> 00:37:11.710
based on whether or not

1129
00:37:11.710 --> 00:37:13.420
they thought you were a friend or a foe.

1130
00:37:13.420 --> 00:37:14.840
And that was really a cool concept,

1131
00:37:14.840 --> 00:37:15.730
and it played out really well,

1132
00:37:15.730 --> 00:37:17.660
but it became really confusing.

1133
00:37:17.660 --> 00:37:20.360
So we expose the clues database to the player

1134
00:37:20.360 --> 00:37:21.460
through a thing called KIA,

1135
00:37:21.460 --> 00:37:23.200
which is the knowledge information agent.

1136
00:37:23.200 --> 00:37:25.280
And basically was an interface to the database

1137
00:37:25.280 --> 00:37:26.530
which was a clues database.

1138
00:37:26.530 --> 00:37:28.180
So players could keep track of all the clues

1139
00:37:28.180 --> 00:37:29.900
and keep track of what it is they're supposed to be doing,

1140
00:37:29.900 --> 00:37:31.830
because otherwise you'd be completely overwhelmed.

1141
00:37:31.830 --> 00:37:32.920
Well, as we were doing all of that,

1142
00:37:32.920 --> 00:37:34.990
we realized that it was really cool

1143
00:37:34.990 --> 00:37:36.710
to be able to track that tracing of the things

1144
00:37:36.710 --> 00:37:39.340
and be able to add that the uncertainty of the clues,

1145
00:37:39.340 --> 00:37:41.660
so that I wouldn't just want to go talk to person A,

1146
00:37:41.660 --> 00:37:43.950
I'd wanna go talk to the person the person saw,

1147
00:37:43.950 --> 00:37:45.690
or go to the place where they saw it.

1148
00:37:45.690 --> 00:37:47.270
That became a huge challenge,

1149
00:37:47.270 --> 00:37:48.780
as to how do you store all that data.

1150
00:37:48.780 --> 00:37:50.320
And it turned out to be a really simple solution.

1151
00:37:50.320 --> 00:37:51.710
We basically just, for every clue,

1152
00:37:51.710 --> 00:37:53.820
we just kept track of the last person it came from.

1153
00:37:53.820 --> 00:37:55.130
And we would back trace the clue

1154
00:37:55.130 --> 00:37:56.370
back to where it originally occurred.

1155
00:37:56.370 --> 00:37:57.650
And then we would know how many times

1156
00:37:57.650 --> 00:37:58.600
it had passed through different hands.

1157
00:37:58.600 --> 00:38:00.270
And we could actually influence the clue

1158
00:38:00.270 --> 00:38:02.150
based on the agents that were in the world.

1159
00:38:02.150 --> 00:38:05.650
And a really simple solution made the game really rich.

1160
00:38:05.650 --> 00:38:08.700
Made it very deep and it was a design problem

1161
00:38:08.700 --> 00:38:10.120
that felt insurmountable

1162
00:38:10.120 --> 00:38:11.550
and it turned out to be not hard at all.

1163
00:38:11.550 --> 00:38:12.930
So one of the biggest problems we had

1164
00:38:12.930 --> 00:38:16.280
with the database clues in "Blade Runner" was,

1165
00:38:16.280 --> 00:38:18.680
if you could rely on any piece of information,

1166
00:38:18.680 --> 00:38:21.080
no matter who told it to you to be perfectly accurate,

1167
00:38:21.080 --> 00:38:24.320
it became unnecessary to go question people.

1168
00:38:24.320 --> 00:38:26.210
Because there was no reason to go to the place.

1169
00:38:26.210 --> 00:38:27.050
There was no reason to do anything,

1170
00:38:27.050 --> 00:38:28.580
because everything was reliable.

1171
00:38:28.580 --> 00:38:30.630
So we knew we had to create unreliability.

1172
00:38:30.630 --> 00:38:33.130
And the problem was that the database was already huge

1173
00:38:33.130 --> 00:38:33.963
by the standards of the time.

1174
00:38:33.963 --> 00:38:36.290
It was taking up a huge amount of our footprint and memory.

1175
00:38:36.290 --> 00:38:38.160
We just couldn't store many, many,

1176
00:38:38.160 --> 00:38:39.130
many copies of the database.

1177
00:38:39.130 --> 00:38:40.280
It wasn't possible.

1178
00:38:40.280 --> 00:38:41.780
And so we had this insurmountable problem.

1179
00:38:41.780 --> 00:38:44.120
We had to have unreliability of clues,

1180
00:38:44.120 --> 00:38:45.990
but how do you do that? We can't just make it random.

1181
00:38:45.990 --> 00:38:47.960
That's not gonna encouraged people to go look

1182
00:38:47.960 --> 00:38:49.520
and we had to have some way of learning

1183
00:38:49.520 --> 00:38:51.220
about how things occur.

1184
00:38:51.220 --> 00:38:52.560
And that's when we came up with the idea

1185
00:38:52.560 --> 00:38:55.580
of tracking the clue from who passed it to each person

1186
00:38:55.580 --> 00:38:56.710
by just simply remembering

1187
00:38:56.710 --> 00:38:58.270
who the last person was it came from.

1188
00:38:58.270 --> 00:39:00.450
And that also allowed the characters in the world

1189
00:39:00.450 --> 00:39:02.090
to have copies of the clues as well.

1190
00:39:02.090 --> 00:39:04.530
So, somebody would see you shoot a human being

1191
00:39:04.530 --> 00:39:06.507
or shoot a replicant, they would know that you shot them,

1192
00:39:06.507 --> 00:39:07.760
and they would tell their friends

1193
00:39:07.760 --> 00:39:08.900
the next time they ran into them.

1194
00:39:08.900 --> 00:39:09.790
So they were running around

1195
00:39:09.790 --> 00:39:11.450
in the virtual space of the world

1196
00:39:11.450 --> 00:39:12.620
and when they bumped into somebody they would say,

1197
00:39:12.620 --> 00:39:15.720
oh, I saw McCoy shoot a replicant,

1198
00:39:15.720 --> 00:39:18.010
so he's obviously not a replicant sympathizer.

1199
00:39:18.010 --> 00:39:19.140
And that kind of information

1200
00:39:19.140 --> 00:39:21.960
would make the world react to your behavior.

1201
00:39:21.960 --> 00:39:23.760
It also made it incredibly difficult to play test

1202
00:39:23.760 --> 00:39:27.010
because if you tried to replay the same scene again,

1203
00:39:27.010 --> 00:39:27.843
you might've been standing

1204
00:39:27.843 --> 00:39:29.050
just a little bit around the corner,

1205
00:39:29.050 --> 00:39:30.420
behind an occluding wall,

1206
00:39:30.420 --> 00:39:33.090
and that character never saw you do the thing you did,

1207
00:39:33.090 --> 00:39:34.210
and so they never handed the clue

1208
00:39:34.210 --> 00:39:35.280
or they didn't go in that direction,

1209
00:39:35.280 --> 00:39:36.990
and that made it really hard.

1210
00:39:36.990 --> 00:39:38.390
Play testing was...

1211
00:39:38.390 --> 00:39:40.070
Sorry about that guys, Glen and those guys

1212
00:39:40.070 --> 00:39:42.890
who are still out there, if you're watching this, I'm sorry.

1213
00:39:42.890 --> 00:39:44.130
Sorry, sorry, a thousand times sorry.

1214
00:39:44.130 --> 00:39:46.827
That was an impossible game to test. [laughs]

1215
00:39:46.827 --> 00:39:49.827
[electronic typing]

1216
00:39:50.670 --> 00:39:52.850
It wasn't lost on the game development team,

1217
00:39:52.850 --> 00:39:54.510
or myself, and any of them.

1218
00:39:54.510 --> 00:39:57.480
I think that the very things we were doing,

1219
00:39:57.480 --> 00:39:58.930
the very criticisms we were having

1220
00:39:58.930 --> 00:40:01.800
about replacing human actors with 3-D actors.

1221
00:40:01.800 --> 00:40:03.670
The idea that we couldn't really tell

1222
00:40:03.670 --> 00:40:05.140
whether a person was a human or replicant.

1223
00:40:05.140 --> 00:40:06.440
The idea that when you're playing the game,

1224
00:40:06.440 --> 00:40:08.700
you're not really sure if you're supposed to be a human

1225
00:40:08.700 --> 00:40:09.760
or you're supposed to be a replicant.

1226
00:40:09.760 --> 00:40:11.070
It was open to all this.

1227
00:40:11.070 --> 00:40:12.530
It makes you really start to challenge

1228
00:40:12.530 --> 00:40:13.363
and question those things,

1229
00:40:13.363 --> 00:40:14.850
about what does it mean to be human.

1230
00:40:14.850 --> 00:40:15.937
The very line from "Blade Runner,"

1231
00:40:15.937 --> 00:40:19.340
"more human than human" is actually accurate.

1232
00:40:19.340 --> 00:40:21.200
If you think about the story of "Blade Runner,"

1233
00:40:21.200 --> 00:40:23.830
the replicants are more humane.

1234
00:40:23.830 --> 00:40:24.700
They're not just more human,

1235
00:40:24.700 --> 00:40:26.830
they're more humane than the humans.

1236
00:40:26.830 --> 00:40:28.290
That was what Philip K. Dick was playing with

1237
00:40:28.290 --> 00:40:29.400
in his original short story.

1238
00:40:29.400 --> 00:40:31.460
It's certainly what Ridley Scott brought into the film.

1239
00:40:31.460 --> 00:40:33.410
And we had to capture that as part of the game

1240
00:40:33.410 --> 00:40:35.260
or it wouldn't have been authentic.

1241
00:40:35.260 --> 00:40:37.690
And that was really a big part of what was exciting

1242
00:40:37.690 --> 00:40:39.440
about making the game and also kind of terrifying.

1243
00:40:39.440 --> 00:40:41.290
That's like, did we get that right?

1244
00:40:41.290 --> 00:40:42.920
I've had people actually come back to me

1245
00:40:42.920 --> 00:40:43.800
and say, you got it right.

1246
00:40:43.800 --> 00:40:45.530
So I think so, I think so. [chuckles]

1247
00:40:45.530 --> 00:40:47.020
In making video games we have this thing

1248
00:40:47.020 --> 00:40:49.060
called the uncanny valley, which is,

1249
00:40:49.060 --> 00:40:51.720
if you make something that is iconographic

1250
00:40:51.720 --> 00:40:54.140
or representative, it's real easy.

1251
00:40:54.140 --> 00:40:56.303
A silhouette of a man and a woman, is a man and a woman.

1252
00:40:56.303 --> 00:40:57.880
Binary, very easy to understand.

1253
00:40:57.880 --> 00:40:59.430
A smiley face is somebody who is happy.

1254
00:40:59.430 --> 00:41:00.370
A frown face.

1255
00:41:00.370 --> 00:41:02.250
The minute you start to get more and more realistic,

1256
00:41:02.250 --> 00:41:05.580
you get to some point where it looks kind of real

1257
00:41:05.580 --> 00:41:07.940
but it's not really real and it's kind of uncanny.

1258
00:41:07.940 --> 00:41:09.350
That's what they call the uncanny valley.

1259
00:41:09.350 --> 00:41:11.870
That actually played as a huge advantage for "Blade Runner."

1260
00:41:11.870 --> 00:41:14.490
Because our characters were in the uncanny valley,

1261
00:41:14.490 --> 00:41:17.210
they weren't really human and they weren't really not human.

1262
00:41:17.210 --> 00:41:18.430
And that was perfect.

