YouTube2Text

ISU Fall 2026 - DGD205 Week 3 - 08.10.2026 — Transcript

by Onur EREREN · 9,193 words · 1,395 segments · language en · Watch on YouTube

Full transcript

  1. 0:01Good morning everyone. Welcome to DGD
  2. 0:04205 game development pipelines and this
  3. 0:07is week three. It's 8th of October 2026.
  4. 0:12Now just before we started we were
  5. 0:14chatting a little bit about what a game
  6. 0:16engine is and why should we use one now
  7. 0:20that AI is here and we can just say put
  8. 0:23this on the screen do this and it just
  9. 0:25does it for us. Now
  10. 0:28I will just summarize and I will get
  11. 0:29back to the class after that. Now the
  12. 0:32end the thing that we call an engine.
  13. 0:35See I don't like this one. When I'm
  14. 0:37writing I'm just looking down in the
  15. 0:38camera here. So you see me looking down.
  16. 0:40You see the top of my head. It's
  17. 0:42pointless but it's in front of me. So I
  18. 0:44will probably drop this workflow but for
  19. 0:46this week bear with me. Anyway,
  20. 0:49now a game engine is not just a graphics
  21. 0:52engine. There is a for example there's a
  22. 0:54graphics engine called Auggre for that
  23. 0:56specific purpose. It just draws graphics
  24. 0:58on the screen. But a game engine does
  25. 1:01many things for you besides graphics. It
  26. 1:04for example Unity I'm proficient in
  27. 1:06Unity so I can tell you in Unity. Unity
  28. 1:09handles audio. It has mixers. It has
  29. 1:11spatial audio which means depending on
  30. 1:14where in 3D games depending on where the
  31. 1:16sound source is in 3D space and where
  32. 1:19your camera is it can adjust the left
  33. 1:21and right speakers so you hear it from
  34. 1:24that side. If you make your own engine,
  35. 1:26you have to program for that, right?
  36. 1:29Unity has animation pipelines, not very
  37. 1:33it's a little bit outdated and it's a
  38. 1:35little bit clunky and there are other
  39. 1:37packages out there that solve that
  40. 1:38problem. So you can buy them, integrate
  41. 1:41them. So other people are creating
  42. 1:44assets for these engines as well and you
  43. 1:46can use them. The other thing is
  44. 1:48ecosystem. You don't have to code
  45. 1:50everything. You don't have to AI have AI
  46. 1:53code everything, right? there's UI
  47. 1:55system there and there's a set code
  48. 1:57base. So for example, a person who only
  49. 2:00codes for Unity in C may not be
  50. 2:04proficient with regular software
  51. 2:07development or headless software
  52. 2:09development with C because Unity has
  53. 2:13update method and maybe you don't know
  54. 2:16how to advance a tech without that in C.
  55. 2:19Unity does that for you. So it gives you
  56. 2:21a framework to work with. Now when you
  57. 2:25want to do make your own engine, your
  58. 2:28custom engine, what you have to do is
  59. 2:30plan for all of these. You can plan for
  60. 2:33these step by step as the need arises.
  61. 2:36But every time you do, you will have to
  62. 2:38go into your codebase and rip things
  63. 2:42apart to make things fit. Now mate asked
  64. 2:45the question regarding this. There is AI
  65. 2:47now. Do we need to use those engines
  66. 2:51over there? But every new feature you
  67. 2:54want is going to be something you will
  68. 2:57tell AI to do for you, right? And AI at
  69. 3:03these at this this year and last year
  70. 3:06and probably next year as well,
  71. 3:09AI has the thing called tunnel vision.
  72. 3:12So it you tell AI to create you a UI
  73. 3:15system and it if it if it feels
  74. 3:18necessary it rips through the rest of
  75. 3:21your code base to make things fit to
  76. 3:24build the UI system but other things
  77. 3:27break. They do it all the time. Okay?
  78. 3:32Because they only focus at that moment
  79. 3:35that AI agent only wants to do what you
  80. 3:39wanted it to do. other things are
  81. 3:41collateral. Now what you can do to
  82. 3:44prevent this if you set out if you don't
  83. 3:48say
  84. 3:49draw a square on the screen it will do
  85. 3:51whatever it needs to draw a square on
  86. 3:53the screen okay and then you say I want
  87. 3:56to use wd to be able to move this screen
  88. 4:00move this square sorry
  89. 4:03so what it will do is just to create a
  90. 4:05basic system and for example it will
  91. 4:09bind it to w because you said so It will
  92. 4:12not include the arrow keys. It will not
  93. 4:13make it rebindable. Those things are not
  94. 4:15in its mind at all. And then you will
  95. 4:18say for example, I want space to shoot
  96. 4:22something.
  97. 4:23So we are gradually building a shoot
  98. 4:26them up, right? It's like this. And then
  99. 4:28I will replace this with a sprite. So
  100. 4:31but
  101. 4:33the AI doesn't know your next step, what
  102. 4:36you have in mind. It doesn't know you
  103. 4:39want to replace this with a plain
  104. 4:41graphic later on. So, it just didn't put
  105. 4:44that sprite idea in place. It just put a
  106. 4:47square. Right now, this is a very minor
  107. 4:49change. No problem at all. But when you
  108. 4:51want to switch them later on, it might
  109. 4:54need it might need to rip through
  110. 4:58previous things it has written.
  111. 5:03Does it make sense?
  112. 5:08Does it? I hope it does. So, what you
  113. 5:11can do is to start structured. If you
  114. 5:15want that, you tell AI, I want to build
  115. 5:19an engine that does this, this, this,
  116. 5:22and this. For example, you can say, do
  117. 5:24you have any questions for me? Because
  118. 5:26it might think of something you did not
  119. 5:28know about. It will probably think of
  120. 5:31something you did not know about because
  121. 5:32like it or not any AI agent that is chat
  122. 5:36GPT cloud or Gemini right now knows more
  123. 5:39than you about writing a game engine
  124. 5:41right normally. So so but you can talk
  125. 5:46with the AI to I'm going to show you
  126. 5:49something if only I can find this. Where
  127. 5:53is this? I'm looking for the place to
  128. 5:54put the stylus.
  129. 5:56So
  130. 5:58for example, let me show you something I
  131. 6:00did. This is you guys. I will share my
  132. 6:03screen with you with sound
  133. 6:09and I want you to see me as well because
  134. 6:12so for example actually let me open VS
  135. 6:16code. We will go better from there. I
  136. 6:18don't know which one will open. So I
  137. 6:20will just text detective. Okay, that's
  138. 6:22all right. But this one uh this one
  139. 6:25isn't the thing I'm looking for. I'm
  140. 6:29looking for undermine the incremental
  141. 6:32I'm working on. Here it is.
  142. 6:35So for example for undermine
  143. 6:38actually let me show you my GitHub if it
  144. 6:40is here.
  145. 6:43See, you see this screen right on the
  146. 6:46left hand side
  147. 6:52you have. Wait a second. Where is it?
  148. 6:56Where is it?
  149. 6:59Source. Here it is.
  150. 7:01So, this game, let me show you what it
  151. 7:05is.
  152. 7:09Where does it run?
  153. 7:11Show me where you run.
  154. 7:17Okay, it's not running. Huh? It is
  155. 7:20already. Okay.
  156. 7:2373.
  157. 7:29Now,
  158. 7:33this is this is the game. All right. So
  159. 7:36you just uh build shafts and then push
  160. 7:40mining equipment into it and it starts
  161. 7:41digging for you. So it's a mining
  162. 7:43incremental game. All right. Now I will
  163. 7:45show you this.
  164. 7:48The game is actually this.
  165. 7:52So I first built I told cloud that I'm
  166. 7:57going to use phaser and I want to build
  167. 8:00a hex game engine inside phaser. So I
  168. 8:05don't
  169. 8:07if there is a demo scene. Let me try to
  170. 8:10find that
  171. 8:17demo scene. There is a demo scene but I
  172. 8:19don't know how I can. So I have
  173. 8:21forgotten how I can do that. So
  174. 8:25let's ask
  175. 8:27I want to start the demo scene for this
  176. 8:32game.
  177. 8:35which will
  178. 8:37display all the underlying engine
  179. 8:41capabilities
  180. 8:43like tiles, arrows, etc.
  181. 8:49Scan the codebase and tell me how I can
  182. 8:54display it because I forgot. I mean,
  183. 8:57it's been about one and a half months
  184. 8:59since I made this. So it's going to
  185. 9:03look through things now.
  186. 9:06So this is a brand new fresh agent. It's
  187. 9:09going to go through the codebase. So uh
  188. 9:12level name public levels with no
  189. 9:14extension.
  190. 9:18So scene demo. It wants this one. Okay.
  191. 9:23Let's go back here.
  192. 9:30scene demo. Here it is. So,
  193. 9:35for example, I made this one and I
  194. 9:39worked with phaser. I worked with cloud
  195. 9:41code and I said I want a hex engine and
  196. 9:46for reference, let me show you how I
  197. 9:49structured this, how I planned this. I
  198. 9:51mean this is a little bit out of our
  199. 9:52scope for the class but I think this is
  200. 9:54a much more valuable thing for you to
  201. 9:57learn so we will catch up on the other
  202. 9:59don't worry about that where is my steam
  203. 10:01where is my steam now there is this game
  204. 10:04I don't know if you heard of it who who
  205. 10:07among you likes playing strategy games
  206. 10:11turnbased
  207. 10:13strategy trying to
  208. 10:23There is a game called Into the Bridge.
  209. 10:26If you don't know about it, it is on
  210. 10:28discount. Okay, you all have to buy it
  211. 10:29or you cannot pass my class. Okay, I'm
  212. 10:32not serious or or am I? But let me show
  213. 10:36you the trailer because it is just that
  214. 10:39good. It's worth one minute of your
  215. 10:41time.
  216. 11:00Heat. Heat.
  217. 11:07Heat. Heat.
  218. 11:17[music]
  219. 11:38>> [music]
  220. 11:42>> So you will understand why it is so
  221. 11:44great when you play it if you are into
  222. 11:46strategy games otherwise it might bore
  223. 11:48you. But every
  224. 11:51every game screen is like a chessboard
  225. 11:54and every turn what the enemies will do
  226. 11:57is perfectly shown. It's called
  227. 12:00telegraphing. So when you show what an
  228. 12:02enemy will do, it's telegraphing. You
  229. 12:04see it a lot in games. And in this one,
  230. 12:07there is no randomness. What each enemy
  231. 12:10will do is completely
  232. 12:13open to you. So you can see it, right?
  233. 12:16And then you act accordingly. So each
  234. 12:19turn is like solving a puzzle.
  235. 12:22Anyway, I just love this game. And I
  236. 12:25said to myself, I want to build a
  237. 12:27prototype like this, but with hexagons
  238. 12:30because this is a little bit I want to
  239. 12:32do try something different. I want I
  240. 12:34don't want to make a clone of this. So,
  241. 12:35I want to introduce something new. And a
  242. 12:38hexport is something that is tried and
  243. 12:40tested in strategy games. So, I said to
  244. 12:43cloud, I want to build some this is our
  245. 12:45gold standard. This is our baseline.
  246. 12:48Okay. And I want to build something like
  247. 12:49this. And it gave me a spec list. You
  248. 12:52should we need this, this, this, and
  249. 12:54this. And then I said, okay, first let's
  250. 12:57build the grid. And for example, I think
  251. 13:01besides the demo, there is this
  252. 13:05hexagon. No, hexagon is this one. Okay.
  253. 13:08Anyway, I don't want to go too deep into
  254. 13:11that. But what you can do is for example
  255. 13:15you can draw paths from one point to
  256. 13:18another
  257. 13:19like this. And these paths can follow
  258. 13:22around obstacles.
  259. 13:24So or you can highlight cells like this.
  260. 13:29And you can have twins move objects.
  261. 13:34So this is just a press of a button. And
  262. 13:38you can have indicators like this from
  263. 13:41one hex to another to show
  264. 13:42directionality, right? And you can have
  265. 13:45small icons on the bottom right or any
  266. 13:48point of the hex to show any status
  267. 13:51icons. So I thought what would a game
  268. 13:54like that require? And I said I want a
  269. 13:58game engine. Technically this is not a
  270. 14:00game engine itself. It uses phase phaser
  271. 14:03game engine but it's a another framework
  272. 14:06on top of it. Right? So this can build
  273. 14:10any game that uses a hex like this. This
  274. 14:13has no troop movement. It has movement
  275. 14:17but it doesn't have an understanding of
  276. 14:19a unit, a character, a stat. It is a
  277. 14:22grid. It can create a grid. It can draw
  278. 14:25lines on cells because I want to show
  279. 14:28paths for example. And it can calculate
  280. 14:31the path from one point to another, the
  281. 14:34shortest path. It's a very simple
  282. 14:36algorithm. It can highlight cells. It
  283. 14:38can highlight tiles. And it can print
  284. 14:41sprites on these tiles. So this is a
  285. 14:44game engine I built. And then on top of
  286. 14:49that,
  287. 14:53I I realized I first want to do
  288. 14:55something simpler. I don't want to go
  289. 14:56into complex unit calculations and
  290. 14:59combat mechanics and balancing. So I
  291. 15:02said I'll just make a mining incremental
  292. 15:04game. So this uses the same engine. The
  293. 15:06underlying engine is the same. And you
  294. 15:09can see now when I just for example
  295. 15:11click on this I highlighted the tile.
  296. 15:14This is engines capability. So I just
  297. 15:17say when I'm coding this game I say to
  298. 15:20the AI when I click on a tile it should
  299. 15:23be highlighted. That's all I have to say
  300. 15:25because the engine I built beforehand
  301. 15:29already has the code for it and most
  302. 15:31importantly
  303. 15:33I have full documentation for that here
  304. 15:38because one of my command commands to
  305. 15:41cloud was whenever we add a feature you
  306. 15:44will add extensive documentation for
  307. 15:47that because I will not always work with
  308. 15:50the same agent. Sometimes maybe I will
  309. 15:53use this game engine with another agent
  310. 15:56or I will give it to somebody else, a
  311. 15:58human to work with, right? Documentation
  312. 16:01has to be there. And in the older times
  313. 16:04when we were coding by hand,
  314. 16:05documentation was that thing everybody
  315. 16:07dreaded.
  316. 16:09No coders, designers, nobody wanted to
  317. 16:11mess with the documentation. They just
  318. 16:13wanted to do the job, right? But
  319. 16:15documentation is just as important as
  320. 16:18doing the thing. Without that you have
  321. 16:20no memory of what you did and why you
  322. 16:23did it. Imagine people just living
  323. 16:25through life old up till days and they
  324. 16:28never kept any records. It would be a
  325. 16:30mess, right? Our entire society would be
  326. 16:33a complete mess anyway. But now AI can
  327. 16:36do this very cheaply and I can highlight
  328. 16:39cells. This costs me nothing to
  329. 16:42implement in the game because the engine
  330. 16:44already has it. And for example, the
  331. 16:48engine has no UI. This is just a
  332. 16:50placeholder UI so you can see it. See it
  333. 16:53just logs things very bare bones. But
  334. 16:56then I select an equipment
  335. 16:58and you see this is for free because
  336. 17:01these arrows are already implemented in
  337. 17:03the engine. So I just say to the AI when
  338. 17:06I want to build an equipment
  339. 17:09choose the push direction and highlight
  340. 17:12it. So you push it like this. For
  341. 17:14example, I will build a shaft here. It
  342. 17:16costs incrementally more but I have $1
  343. 17:19trillion anyway. So what you do is for
  344. 17:21example you push another one. Okay. And
  345. 17:25then you push another one and it merges.
  346. 17:26It's a merge incremental
  347. 17:29right. But I had to deal with some
  348. 17:31limitations myself. So for example if I
  349. 17:35hope they are still here I will to show
  350. 17:37them to you external images. So you see
  351. 17:41I had a merge problem.
  352. 17:44Not that one. Shaft problem. So I just
  353. 17:47took these. But where is that? Oh, I I
  354. 17:50deleted them. So there was a graphics
  355. 17:52problem. Very basic. When I zoomed out,
  356. 17:56these lines, see these lines here would
  357. 17:59disappear, right? Because of antalyzing
  358. 18:02and such. Now Godo, Unity, Unreal, or
  359. 18:06pretty much any other engine you will
  360. 18:07deal with already has this. My engine
  361. 18:11Phaser did not. and my engine did not
  362. 18:15right. So I had to work with AI with
  363. 18:18cloud and it took about three or four
  364. 18:21days to handle it properly.
  365. 18:25I I had to work with AI to create for
  366. 18:27example atlases of sprites here because
  367. 18:31I handled that problem. These these
  368. 18:34lines would disappear. I wish the image
  369. 18:36was there to show. Wait wait wait a
  370. 18:38second. Maybe it lives in my screenshots
  371. 18:41folder. Let me try to find it.
  372. 18:46Ah, it's on the other computer. Not
  373. 18:47here. I work on the other computer.
  374. 18:48Anyway, no worries. But the thing is
  375. 18:52then I I solved these problems, these
  376. 18:55lines disappearing. But then I had
  377. 18:59complete fault lines like this because
  378. 19:02the map is being divided into chunks and
  379. 19:04rendered that way. So I had to solve
  380. 19:07that one. Unity has that built in.
  381. 19:10Unreal is not that good at 2D, but it
  382. 19:13has it built in. Godo definitely has it
  383. 19:16built in. And now my engine has that
  384. 19:19built in. But I did this because, for
  385. 19:22example, this game was not in this. This
  386. 19:25game was not an idea. This game was just
  387. 19:28because I didn't want to make something
  388. 19:30as complicated as this for a starting
  389. 19:33game in this one engine. Right? So I
  390. 19:36will build this one. But then I will
  391. 19:38have a hex engine. And actually when I
  392. 19:41talked to cloud as when creating this I
  393. 19:44said this will be this engine will be
  394. 19:46hex for now but in the future it will
  395. 19:50definitely have square grids as well
  396. 19:53rectangular grids. So plan for that.
  397. 19:57Does it make sense?
  398. 20:01So I don't know what it did inside. I
  399. 20:03admit because as I said I'm not a
  400. 20:05JavaScript coder. I don't know what's
  401. 20:07going on inside this grid. See this
  402. 20:10entire grid is the engine and this game
  403. 20:13is what you see on the screen. This is
  404. 20:15the game. Okay, it doesn't even have
  405. 20:18proper folder structure because I just
  406. 20:20let it do its thing. Maybe we should do
  407. 20:23this sometime. But this thing animation
  408. 20:26and I worked in modules animation module
  409. 20:29camera module clustering it. It detects
  410. 20:32clusters for biomes etc. for example and
  411. 20:35vis there is visibility some if
  412. 20:37something is
  413. 20:40further front it overlaps the it
  414. 20:46closes the thing on the back I'm a
  415. 20:50little bit sleepless and hungry I'm
  416. 20:52sorry about that but there was also one
  417. 20:56scene
  418. 20:58okay it public levels
  419. 21:01Round world 20. Let's try that one.
  420. 21:11But how do I round
  421. 21:1520? Let's try that. No, doesn't work.
  422. 21:19Hexagon pointy.
  423. 21:26No, you lied to me.
  424. 21:30scene. Demo demo scene. Ah, level. Okay,
  425. 21:34not scene. Sorry about that.
  426. 21:39But there was a tilted
  427. 21:47tilted
  428. 21:49demo level.
  429. 21:52So because this is top down but this is
  430. 21:55not right. You see it at an angle. So I
  431. 21:58said I told cloud to that this should be
  432. 22:02able to work at an angle and all the
  433. 22:05because it is 2D it cannot actually turn
  434. 22:08it. What it does is squish the tiles to
  435. 22:11make it look like it is turning right.
  436. 22:16So let's see where that one is.
  437. 22:20and hexagon tilted a copy and
  438. 22:24okay let's do what it says
  439. 22:29I think I deleted that out of it
  440. 22:32let's go into the level
  441. 22:35and it says add tilt
  442. 22:43so it's been a while so I forget about
  443. 22:46these things.
  444. 22:52No. Is it?
  445. 22:59Let's try. I mean, what can we lose? We
  446. 23:02are doing things together, right?
  447. 23:08No, didn't work.
  448. 23:12Oh, wait a second. Let's see. Where is
  449. 23:15the tilt value in this one?
  450. 23:20Ah, tilt is just written like that.
  451. 23:21Okay, that's why it didn't work
  452. 23:29like this. Let's see. I don't This is
  453. 23:33JSON. I'm not very proficient with JSON
  454. 23:35file format either because I never
  455. 23:37directly interface with it. But I can
  456. 23:40find my way around it. Tilt is equal to
  457. 23:43zero. And is it
  458. 23:450.5. Okay, let's try this again. Now
  459. 23:50see, so I can tilt it. But for example,
  460. 23:54right now I cannot rotate it any more
  461. 23:57than it is like this. But this is just
  462. 23:59things squished. So let's try that on
  463. 24:02the demo scene. For example, where is
  464. 24:04the demo scene?
  465. 24:09It's not in the levels than it is in
  466. 24:13source
  467. 24:15game demo scene. But this is
  468. 24:20yeah this is not the this is all this
  469. 24:22this is all the game so I cannot tilt it
  470. 24:24from here I guess. Anyway, but you get
  471. 24:27the point, right?
  472. 24:33We have spent the first half of our
  473. 24:36lecture on engines and how to build one.
  474. 24:41But I think it was fruitful
  475. 24:44and you can rest in bliss knowing that I
  476. 24:49will not ask anything from this in the
  477. 24:51exam. Probably not.
  478. 24:56because that come on. Yes, I will
  479. 24:59definitely stop using this.
  480. 25:06I mean, it's partially the software's
  481. 25:08fault and partially this thing is acting
  482. 25:10up. So, I hate switching from stylus to
  483. 25:14mouse, but for you guys,
  484. 25:20what was that for you? Nothing is
  485. 25:25It's a Fallout 4 reference and I cannot
  486. 25:27click on it now.
  487. 25:31Ah, come on.
  488. 25:38Okay, I'm right about to end this. Oh,
  489. 25:41you don't see my You don't see the
  490. 25:42struggle I'm in now. You will see.
  491. 25:46See? Do you see it?
  492. 25:53See,
  493. 25:55this is what I'm dealing with every day
  494. 25:57in my life. No, not actually. But why is
  495. 26:00it stuck?
  496. 26:05Okay, I'm officially done with this. I'm
  497. 26:08just going to do it with my mouse first.
  498. 26:11And I think it will stop acting up once
  499. 26:13I start type writing with it. No. Why
  500. 26:17does it still
  501. 26:19I think there's a button that has been
  502. 26:24okay guys three minute break until I fix
  503. 26:27this thing. Okay, let's take a five.
  504. 26:29Let's make it 5 minutes. It's 11. Let's
  505. 26:31meet 5 minutes later at 11.0 11:05 and
  506. 26:36this thing will be fixed. Okay, see you.
  507. 26:41Okay, welcome back everyone. Welcome
  508. 26:43back everyone. So
  509. 26:47before the break we discussed about what
  510. 26:49is an engine and how can we make one
  511. 26:52using an AI and then begs the question
  512. 26:55do we need to make one? Could I have
  513. 26:57made this thing that I showed you in
  514. 27:00Unity? I mean I could have no problems.
  515. 27:03Could I have used AI to make it in
  516. 27:05Unity? Yes, I could have. Same as in
  517. 27:08Godo. Why did I choose something like
  518. 27:10Phaser that I don't know how to write
  519. 27:13in? Right? Because for example for this
  520. 27:16specific thing,
  521. 27:19Unity is an editor first engine. There
  522. 27:22are many things that are happening in
  523. 27:24the editor and you have to see them. And
  524. 27:26as I said back in back in the day, my
  525. 27:29experience with Unity's MCP's AI with
  526. 27:31Unity wasn't very good. And also
  527. 27:34whenever I did something in Unity, I was
  528. 27:37going to have to go to Unity, press play
  529. 27:40button, check things, see if it works,
  530. 27:42blah blah blah. Whereas in here, I just
  531. 27:45interface with the AI and it
  532. 27:50it automatically puts the thing on the
  533. 27:52screen next to me when I type it. And I
  534. 27:55type it, I give it a command, it does
  535. 27:58its thing for three, four, five minutes,
  536. 28:00whatever, and I can do something else in
  537. 28:02the meantime. It's I'm delegating that
  538. 28:04work to the AI. And that is frankly the
  539. 28:07only way I can find time in my schedule
  540. 28:11to make a game right now. So
  541. 28:14Unity would require me to constantly
  542. 28:17step in adjust something in the UI in
  543. 28:20the inspector, adjust something in the
  544. 28:22settings blah blah. I didn't want to go
  545. 28:24through with that. So I wanted something
  546. 28:26headless. Headless means it works in
  547. 28:29code all by itself. Godo has such a
  548. 28:31mode. So we can try godo too. Anyway,
  549. 28:34now we are back to the topic at hand.
  550. 28:37So, let's go. Let's very carefully try
  551. 28:42the ah
  552. 28:45because this isn't in focus. It should
  553. 28:47be in focus. Yeah, here it is. A working
  554. 28:53stylus is a happy stylus. So, what did
  555. 28:55we talk about last week? We we talked
  556. 28:58about the steps of production. If you
  557. 29:00remember, we had the ideation stage.
  558. 29:07We had the pre-production,
  559. 29:17we have production,
  560. 29:23and we had post production. I don't have
  561. 29:27there's a USB problem here because my
  562. 29:30numpad micropad also flashes the lights
  563. 29:33which means there is a USB communication
  564. 29:36problem. Maybe the mainboard there are
  565. 29:38lots of USB devices plugged into this
  566. 29:40thing. So maybe I should make it powered
  567. 29:42postp production.
  568. 29:49Okay, so we already covered this one.
  569. 29:55So let's put double ticks on that. And
  570. 29:58now we want to cover this one.
  571. 30:03What is pre-production?
  572. 30:06What is the
  573. 30:10pre production stage? What do you think
  574. 30:13we do there?
  575. 30:23As much as I love the extra monitor, I
  576. 30:25think I'm going to go back to my old
  577. 30:28tablet.
  578. 30:29What do we do? What is your opinion?
  579. 30:32What do you think we do in
  580. 30:34pre-production stage?
  581. 30:36>> We start planning.
  582. 30:39>> Okay, good.
  583. 30:40>> My we start planning how the game is
  584. 30:43going to work. Uh the main game loop.
  585. 30:46>> Mhm. And
  586. 30:48>> how are we going to go about making the
  587. 30:51game? Like there's going to be different
  588. 30:54enemy type. So we make a default enemy
  589. 30:56type and change a little thing about it.
  590. 31:00>> Wonderful. Wonderful remark. You said we
  591. 31:02make a default enemy type. Where do we
  592. 31:05make it?
  593. 31:08>> Oh, that's also pre-production. I guess
  594. 31:10you choose which engine you are going to
  595. 31:12use or if you are going to use an engine
  596. 31:14and stuff. So because when you say we
  597. 31:17make a default enemy type it implies you
  598. 31:20code it in right but do you have your
  599. 31:23basic game mechanics laid down yet? The
  600. 31:27more important thing is have you decided
  601. 31:30what exactly your mechanics will be? Now
  602. 31:34there are different there is a
  603. 31:35difference between for example saying
  604. 31:38let's say
  605. 31:42and
  606. 31:44FPS game
  607. 31:48where
  608. 31:51we
  609. 31:54fight zombies
  610. 32:00and the name FP the genre FPS PS gives
  611. 32:03me a lot of information. I'm going to
  612. 32:05have guns. I'm going to shoot with them.
  613. 32:07Blah blah blah. Right? But these are the
  614. 32:11core mechanics. And now when I'm in
  615. 32:14pre-production, I want to decide maybe
  616. 32:16for example
  617. 32:20zombie
  618. 32:28limbs fly off.
  619. 32:35when you shoot them.
  620. 32:43Okay, there is definitely So, but
  621. 32:49this is an additional mechanic. It's a
  622. 32:51polish mechanic, but this is something
  623. 32:53you want to implement into the game
  624. 32:55because you want it to be appealing, for
  625. 32:57example, or maybe a more concrete
  626. 33:01mechanic
  627. 33:10you cannot get.
  628. 33:14Sorry, this is this is a total disaster.
  629. 33:21I will just type it.
  630. 33:26Huh?
  631. 33:30Wait a second. Why is my control key is
  632. 33:32pressed for some reason?
  633. 33:35Come on.
  634. 33:37Is it the other keyboard? There are two
  635. 33:39keyboards.
  636. 33:41No.
  637. 33:45Okay, this is coming to you live.
  638. 33:48And can I delete it? I cannot.
  639. 33:55What does this button do? It carries.
  640. 33:56What does this one do? It's scales. I
  641. 33:59like this software less and less. And I
  642. 34:02don't think it's the software's fault.
  643. 34:06Let's say the mechanic is
  644. 34:10you
  645. 34:13cannot
  646. 34:17heal.
  647. 34:21When you die,
  648. 34:24you restart.
  649. 34:29These may not be the things you have
  650. 34:30decided during the ideation stage. In
  651. 34:33the ideation stage, you wanted to make a
  652. 34:35cool FPS game where you shoot zombies.
  653. 34:37But now that you go into pre-production,
  654. 34:40you have to think of all of these things
  655. 34:42and you have to design for them, right?
  656. 34:46So in the pre-production unless we are
  657. 34:49doing something that requires it we are
  658. 34:52not touching the code we are not
  659. 34:53touching the engine we are planning okay
  660. 35:11we are not making the game we haven't
  661. 35:12even started making the game so what do
  662. 35:15we do
  663. 35:19I will start I will go in random order.
  664. 35:23So for example
  665. 35:25we will define our art style.
  666. 35:32Now you can say
  667. 35:35but we have we should have already
  668. 35:37decided that in the ideation stage
  669. 35:38because it's a very central part of it
  670. 35:40and you are correct but you may maybe
  671. 35:43you don't define
  672. 35:48But you refine the art style.
  673. 35:51You wanted handp painted graphics like
  674. 35:54Warcraft, but then you decide, oh, maybe
  675. 35:57we should go this specific route down
  676. 35:59it, etc.
  677. 36:07Okay,
  678. 36:09I will just remove this. I think this
  679. 36:11causes all my problems. game pad
  680. 36:13features and such. We will see. So, we
  681. 36:16will define or refine our art style,
  682. 36:19right? And
  683. 36:22we will decide.
  684. 36:27No, it wasn't a problem.
  685. 36:30It was just a symptom pipeline.
  686. 36:38Guys, can you give me a minute?
  687. 36:41I will do something. And I think I know
  688. 36:43what's going on.
  689. 37:29I'll be back. Let's see.
  690. 37:36No, it doesn't work at all. It's
  691. 37:38blended.
  692. 37:40No, it does.
  693. 37:46No, the same problems, the same
  694. 37:47everything. There's some interference in
  695. 37:49the USB ports.
  696. 37:51Maybe something is short circuiting. I
  697. 37:53don't know. I tried I switched the USB
  698. 37:55ports, but it didn't help.
  699. 37:58This is our problem today. So but we are
  700. 38:01planning our pipeline. For example, one
  701. 38:03very important thing that you should do
  702. 38:05first and foremost team formation.
  703. 38:10Who will be in which role?
  704. 38:25Right? Because you are six people and
  705. 38:28you should ple me this even if you say
  706. 38:33oh we are just four people everyone will
  707. 38:35do whatever they can you still should
  708. 38:39have your roles set up to a point
  709. 38:43because if there are three coders
  710. 38:47and each one is trying to pull the code
  711. 38:49base in a different direction you are
  712. 38:51going to tear that team apart pretty
  713. 38:53fast. You should know okay we are three
  714. 38:55coders but we should decide
  715. 38:59which who decides which code about what.
  716. 39:02Maybe one person will be specifically
  717. 39:04dealing with the combat code right the
  718. 39:07other will be dealing with the other
  719. 39:09part of the code and the third person
  720. 39:11will just do the pipeline tooling for
  721. 39:14the 3D artist. I don't know
  722. 39:18but that is what you're going to do and
  723. 39:21we're going to do something that again
  724. 39:23everybody despises documentation.
  725. 39:35Now
  726. 39:37this is important
  727. 39:40because I just told you documentation is
  728. 39:43the memory of the project.
  729. 39:55Imagine that you have a mechanic right
  730. 39:58in your mind. So this is the mechanic
  731. 40:02and you try started testing it inside
  732. 40:05the game and it didn't go very well. So
  733. 40:09you scrapped it. You said we won't be
  734. 40:11using this mechanic. So your game is now
  735. 40:13without that mechanic, right? And two
  736. 40:16months, three months pass, maybe the
  737. 40:19person who coded this or the designer
  738. 40:21who worked with this is gone. Maybe
  739. 40:22you're a large studio and you're a small
  740. 40:25studio and that guy who just worked on
  741. 40:28that left and a new guy came and just
  742. 40:31said, "Oh, why don't we introduce a
  743. 40:32mechanic like this?"
  744. 40:34Now, if you don't have any
  745. 40:35documentation, you might say, "Oh,
  746. 40:37that's a great idea." But if you do have
  747. 40:39the documentation, if you know this was
  748. 40:42scrapped and better, if you know why it
  749. 40:45was scrapped, you say, "All right, we
  750. 40:47tried this once. It didn't work, so
  751. 40:51let's not use it again." And please
  752. 40:54don't trust your memory saying, "Oh, we
  753. 40:58would remember." No, you wouldn't. Okay,
  754. 41:02this is especially valid about code. You
  755. 41:05do things a certain way, it doesn't
  756. 41:08work. You scrap it, you start over, you
  757. 41:11do something else. And then some other
  758. 41:13coder or some friend of yours comes in
  759. 41:16and suggests why don't you use this
  760. 41:18method and you don't trust me, you
  761. 41:21probably won't remember it. You tried it
  762. 41:24and it didn't work because it will be
  763. 41:26suggested to you in a different way.
  764. 41:29Right? So documentation is really
  765. 41:33important. It's the memory of the
  766. 41:36project
  767. 41:38and as always the memory is not a fixed
  768. 41:41thing. So the
  769. 41:46the main document we have in game
  770. 41:48development is called game design
  771. 41:55document.
  772. 42:00Now remember last week we talked about
  773. 42:02the high concept document, right? High
  774. 42:05concept document is the two or three
  775. 42:08page five minute read summary of the
  776. 42:11game. This is
  777. 42:14everything. So this is the main document
  778. 42:27about
  779. 42:29everything in the game.
  780. 42:44Let me take it down here.
  781. 42:51I'm very disappointed with this.
  782. 42:56Maybe it's the holding angle. Maybe it's
  783. 42:57because I'm not holding it upright. We
  784. 43:00will see. Let's try another thing. So,
  785. 43:02but the other important thing is guys,
  786. 43:05this is very important.
  787. 43:08It is a living document.
  788. 43:19which means
  789. 43:26constantly updated
  790. 43:32throughout
  791. 43:39the game's development.
  792. 43:42So you don't create this document and
  793. 43:44say this is the fixed document let's
  794. 43:46make according to this because you are
  795. 43:48going to change designs the certain
  796. 43:51designs you had worked perfectly on
  797. 43:54paper will not work at all right
  798. 44:07this is a living document ment.
  799. 44:13Why is it living? So it is not a fixed
  800. 44:16document that you design once, you write
  801. 44:19once and everything else is made
  802. 44:22according to it. Now
  803. 44:24you are going to put
  804. 44:27for example
  805. 44:29mechanics into this
  806. 44:34your level design philosophies. For
  807. 44:36example,
  808. 44:39level design rules. You will say the
  809. 44:42levels will have these rules at minimum
  810. 44:44and the level designer will look at
  811. 44:46this, right? And we'll design that. You
  812. 44:48will have your character design rules.
  813. 45:03All sorts of stuff. everything.
  814. 45:13So this can be a document that is
  815. 45:15hundreds of pages long, right? Okay. So
  816. 45:19but you're going to create start
  817. 45:21creating it here. But you will know that
  818. 45:24it will start changing. Okay. And for
  819. 45:28example
  820. 45:31you can start the most important part
  821. 45:34here is this is where you touch the
  822. 45:35engine for example prototyping.
  823. 45:45Now there are different types of
  824. 45:46prototyping. The cheapest one actually
  825. 45:51is one that you probably don't know
  826. 45:53about and you probably will never do
  827. 45:55even if I tell you about it. It is
  828. 45:57something called paper prototyping.
  829. 46:11And paper prototyping is exactly what it
  830. 46:14sounds like. You take a piece of paper.
  831. 46:17You take Lego pieces, whatever to
  832. 46:19represent your units. Okay? You take
  833. 46:22whatever is handy in the physical space
  834. 46:25around you. You use things like this,
  835. 46:27for example. You use
  836. 46:32things like this, right? With symbols on
  837. 46:35it, for example, as board pieces. And
  838. 46:37you just
  839. 46:40put things. Let me show how can I show
  840. 46:42it to you? Can I do this? I apparently
  841. 46:46can. Back to the future is here. Okay.
  842. 46:49So, you will just take these and you
  843. 46:51will say these are my tiles.
  844. 46:55Okay. And you will say
  845. 46:59now this unit looks here and this one
  846. 47:02will be here. So, if it's two steps, you
  847. 47:04can hit that. Let me see if it can hit
  848. 47:06that. All right. It could hit it. You
  849. 47:08can see my You can see here, right? It's
  850. 47:10a little bit too far like this.
  851. 47:13Let's make it No, I cannot make it any
  852. 47:16closer because
  853. 47:19you can understand what I'm doing here.
  854. 47:21I'm just taking things that I have
  855. 47:23around me or I can I make them with
  856. 47:25paper and pen and I say, "Oh, there is a
  857. 47:28barrier here now. So, this one cannot
  858. 47:30hit this one. So, it will try to hit
  859. 47:33this one. Can it hit?" But what? So, I'm
  860. 47:35testing out my mechanics on the board in
  861. 47:39front of me. Why do I do this and not go
  862. 47:42into Unity and start typing away?
  863. 47:44Because this is way cheaper not in
  864. 47:48materials. This is cheaper in time.
  865. 47:51Okay? When you do something like this,
  866. 47:55it will be multiple times cheaper to do
  867. 47:59because I just had these lying around
  868. 48:00from other things, right? But uh you can
  869. 48:04just cut pieces of paper, write letters
  870. 48:06on them, put them on and you can test if
  871. 48:09what you are trying to do has some logic
  872. 48:13in what you are trying to do. If it has
  873. 48:15some fun in it and I'm going to show you
  874. 48:18something. Let's see if we can get back
  875. 48:19here now.
  876. 48:22Okay, minimal damage. Wonderful. I'm
  877. 48:25going to show you something really
  878. 48:28important.
  879. 48:30Let's share [snorts] the screen.
  880. 48:37Let me just gather these Lego pieces
  881. 48:39back because they're getting in my way
  882. 48:42of my typing.
  883. 48:45Me put everything in place
  884. 48:48while you watch a wonderful sunset. So,
  885. 48:52I'm going to show you.
  886. 48:58It's a terrible video quality, but
  887. 49:04I think we will find that. So, this guy,
  888. 49:07I think you know him. He's kind of a
  889. 49:09famous level designer, right? And when
  890. 49:13he designed
  891. 49:16Metal Gear Solid one,
  892. 49:19he used this
  893. 49:21method. For example, he was trying to
  894. 49:24understand this is basically paper
  895. 49:25prototyping but with Legos and a webcam
  896. 49:29but he was trying to visualize how
  897. 49:33different viewpoints would look before
  898. 49:37even coding in something and
  899. 49:41in our defense today it is actually easy
  900. 49:43to do this in Unity etc. But I'm trying
  901. 49:46to put the point across. Back in his
  902. 49:49time, it was very difficult because you
  903. 49:51didn't have the engine, right? You
  904. 49:53should you had to write the engine to
  905. 49:56support all of these.
  906. 49:58[music]
  907. 50:00>> So this is the game view. This is a
  908. 50:03summary of what they are doing. And I
  909. 50:05said terrible quality, but this is top
  910. 50:08down view. And he shows with the camera
  911. 50:10what it's going to look like.
  912. 50:12And this is when you are investigating
  913. 50:14your surroundings. It switches the first
  914. 50:16person view and he shows with the camera
  915. 50:19what it's going to look like.
  916. 50:22[music]
  917. 50:33like this.
  918. 50:35[music]
  919. 50:39But you can see even if you have Unity,
  920. 50:44having a programmer move this camera
  921. 50:46around is much slower than just taking
  922. 50:49the webcam in your hand and poking
  923. 50:51around in a Lego set to see what
  924. 50:54different camera angles will show you,
  925. 50:56right? So this thing still has merit
  926. 50:59actually when you think about because
  927. 51:00see how he very smoothly moves for
  928. 51:03example.
  929. 51:07>> So he can actually even simulate camera
  930. 51:10movements with his webcam in Unity.
  931. 51:13Again it's going to take some coding and
  932. 51:15some moving things around and then
  933. 51:16pressing play to see all of this. But
  934. 51:18he's using a live webcam shoot.
  935. 51:20>> So you go up. So for I'll just shut it
  936. 51:23off. And then he says as you come up the
  937. 51:26camera will move here quickly. So he can
  938. 51:28do it right because you see in the game
  939. 51:31and after you come out it goes into
  940. 51:32another mode again. This is switching
  941. 51:37and
  942. 51:40while we're at it.
  943. 51:43So this is for app design but the same
  944. 51:46thing goes for app design as well. So
  945. 51:49you can just paper prototype things,
  946. 51:52right? And show how things are going to
  947. 51:54go. And I admit this is from a time when
  948. 51:57the AI was not here. So
  949. 52:04we can just say
  950. 52:07AI agent prototyping
  951. 52:16prototyping prototyper
  952. 52:24we can say this right. So but we also
  953. 52:29have our traditional
  954. 52:31uh digital prototype.
  955. 52:34So what we do
  956. 52:46and the common of the feature of this
  957. 52:49one and now of this one as well. These
  958. 52:52would probably be disposable.
  959. 53:00What I mean is you will write quick, you
  960. 53:03will write dirty, you will cut corners,
  961. 53:06take shortcuts, and this prototype will
  962. 53:10probably not work in production because
  963. 53:13it will be too complicated to put
  964. 53:16something on top of this. You just want
  965. 53:18a simple WD move set and the basic
  966. 53:21camera movements. So you will move the C
  967. 53:23character around and see if what you are
  968. 53:25doing, put the basic mechanics in place
  969. 53:28and try to see what you are doing is
  970. 53:29fun. And if it is fun, you then sit down
  971. 53:33with all your game design constraints
  972. 53:36and you try to figure out how you will
  973. 53:38actually do it. As I say, AI has sped
  974. 53:43this up immensely.
  975. 53:46This is where you would see the true
  976. 53:48value of working with AI. Okay? Because
  977. 53:52you can prototype.
  978. 53:54For example, you are going to work in
  979. 53:56Godo or Unity in 3D, but you can just
  980. 53:59use an AI agent to prototype it in
  981. 54:02JavaScript in a 2D mode from top down
  982. 54:06with just a few prompts and a few hours
  983. 54:08of working on it, right? Whereas if you
  984. 54:12want to do it in Unity as a prototype,
  985. 54:13maybe you will spend two or three days
  986. 54:15to put everything in a very crude way
  987. 54:18together and see if it works. But you
  988. 54:20can just say build me a prototype of
  989. 54:23this and I have these ideas blah blah
  990. 54:26blah and it can create a structure for
  991. 54:28you. You can even do that structurally.
  992. 54:30It can create you a good coherent
  993. 54:32structure and build it and you play and
  994. 54:35you see if it is fun or not and then you
  995. 54:37say okay this is quite fun. So let's
  996. 54:40start building it for real. Does it make
  997. 54:43sense?
  998. 54:47This step is really important. Thus, and
  999. 54:51I can tell you
  1000. 54:55pretty much all the games I made in my
  1001. 54:58career were prototypes. Almost all of
  1002. 55:02them because I worked in the mobile
  1003. 55:04industry. And in mobile, you do this.
  1004. 55:07you make the prototype, you do you put a
  1005. 55:10you don't work on it too much. So
  1006. 55:14uh when I was in come on
  1007. 55:26when I started working on mobile
  1008. 55:28industry the thing we called hyper
  1009. 55:30casual was made in about three
  1010. 55:34weeks or let's say two and a half weeks.
  1011. 55:41So developing one prototype took about
  1012. 55:43yeah it took about three weeks but no
  1013. 55:46that was my first one because I was a
  1014. 55:49noob back then. So it took about two and
  1015. 55:52a half weeksish
  1016. 55:56right when I left it the mobile mobile
  1017. 56:00not exactly when I left hyper casual
  1018. 56:02let's say not mobile completely it took
  1019. 56:05about 4 days
  1020. 56:09and this is a span of what 3 years four
  1021. 56:13years
  1022. 56:15so things and there was no AI back then
  1023. 56:18no chat GPT wasn't even a thing. Okay,
  1024. 56:22maybe Google even didn't publish the
  1025. 56:24paper. No, Google did publish the paper,
  1026. 56:26but it wasn't it was being developed in
  1027. 56:28secret. So, but in three or three to
  1028. 56:31four years, prototyping went from in two
  1029. 56:35and a half weeks to four days. This is
  1030. 56:38an almost a game that almost looks like
  1031. 56:42the complete one in order to test it on
  1032. 56:45people, right? So,
  1033. 56:48and I made I think around a hundred of
  1034. 56:51these
  1035. 56:53and
  1036. 56:5595 96% of them did not ship. One of the
  1037. 56:58games I worked on was shipped but it
  1038. 57:00wasn't hyper casual. That was later on.
  1039. 57:02I think none of the hyper casuals I made
  1040. 57:04shipped because in Turkey back in those
  1041. 57:07days maybe they were releasing thousands
  1042. 57:10of hyper casuals
  1043. 57:13per month. Overall all the studios in
  1044. 57:15Turkey, Roli alone used to work with
  1045. 57:19around 90 game studios in Turkey and in
  1046. 57:26Balkans I guess. So they had over 90
  1047. 57:30game studios working with them and each
  1048. 57:33of them was pumping around 10 apparently
  1049. 57:36or there are others publishers as well
  1050. 57:38but at least 1,000 games were hitting
  1051. 57:40the market every month being tested
  1052. 57:44every month. Okay. So only one or two of
  1053. 57:47these are hits.
  1054. 57:50So it's a
  1055. 57:530.1% or like this chance to have a hit.
  1056. 57:58So I never had one.
  1057. 58:01But this is hyper casual. There's also
  1058. 58:04hybrid casual, there's strategy, there's
  1059. 58:05blood, there's premium, all that things.
  1060. 58:07But that's not necessary. What we are,
  1061. 58:09what I'm trying to tell you is you make
  1062. 58:12a prototype
  1063. 58:14to see what you are building is actually
  1064. 58:17fun, if it actually works. Because if it
  1065. 58:20not, it's not you are still in the early
  1066. 58:22stages. You can cut it. Go back to
  1067. 58:25ideiation and design something else. All
  1068. 58:27right?
  1069. 58:30Is this
  1070. 58:33okay? Did you understand what I'm trying
  1071. 58:35to do here? You do your prototype in the
  1072. 58:37pre-production stage. And generally,
  1073. 58:42let's put a yellow arrow, blue arrow
  1074. 58:44here.
  1075. 58:53Generally
  1076. 58:55the prototype
  1077. 59:07has to be
  1078. 59:11completely rebuilt.
  1079. 59:24for the game
  1080. 59:31because the prototype is just to see if
  1081. 59:33it will work. You just hack and cut
  1082. 59:36corners and tie everything with duct
  1083. 59:38tape. Okay, tie them together. But when
  1084. 59:42the game gets larger, it generally does
  1085. 59:45not hold. Well, now what people do
  1086. 59:47actually
  1087. 59:49is they is they build the prototype.
  1088. 59:54This is the prototype, right? And they
  1089. 59:57tell themselves, okay, when we decide
  1090. 1:00:00that we going to build this, we will
  1091. 1:00:02scrap this and do this proper. But then
  1092. 1:00:05since all those systems seem to be
  1093. 1:00:07working, they just start building around
  1094. 1:00:09it anyway.
  1095. 1:00:16like this. Okay, it's not a Microsoft
  1096. 1:00:19logo. So in the end, what happens is and
  1097. 1:00:24if you also don't have proper
  1098. 1:00:26documentation, this is an abomination.
  1099. 1:00:29Your game is an abomination that only
  1100. 1:00:32you can understand.
  1101. 1:00:35It will be a nightmare for any other
  1102. 1:00:37coder you will bring in. And even if you
  1103. 1:00:41even you two months from now will not be
  1104. 1:00:44able to understand this if you just
  1105. 1:00:46leave it and come back to it. You will
  1106. 1:00:48curse at you in the past for doing it
  1107. 1:00:52like this. But it is the easy path
  1108. 1:00:55because you already have something
  1109. 1:00:56working. So why not just keep building
  1110. 1:00:59on it? Keep it in mind. You can do it in
  1111. 1:01:02a structured way from the beginning of
  1112. 1:01:05course but you have to keep these things
  1113. 1:01:07in mind. All right. So, and the other
  1114. 1:01:10thing that we have to do the last thing
  1115. 1:01:15did I write pipeline planning here.
  1116. 1:01:19Okay, let's just scroll with the mouse.
  1117. 1:01:22No.
  1118. 1:01:25Yes, we did the pipeline planning.
  1119. 1:01:28But we have to do our for example
  1120. 1:01:30technical tests.
  1121. 1:01:40Because we have something in mind. Is it
  1122. 1:01:42working? Can we do this?
  1123. 1:02:04This is just an example.
  1124. 1:02:06Sometimes you're going to test for a
  1125. 1:02:08visual style. Can I achieve that visual
  1126. 1:02:10style? Actually, is it possible? I have
  1127. 1:02:12something in mind. I want things to look
  1128. 1:02:14like a one log painting. Well, because
  1129. 1:02:18the answer is
  1130. 1:02:21can we do that in gaming? The answer is
  1131. 1:02:25yes.
  1132. 1:02:27Because you are just printing pixels on
  1133. 1:02:29the screen. We are not doing anything
  1134. 1:02:30else. So if you print if you find a way
  1135. 1:02:33to print the correct pixels on the
  1136. 1:02:36correct position on the screen, you can
  1137. 1:02:38do anything that is defined by 2D
  1138. 1:02:40surfaces. The point is can you do that?
  1139. 1:02:45Right? The question is not can it be
  1140. 1:02:47done because the answer is probably yes
  1141. 1:02:51but the the true question is can we do
  1142. 1:02:54that mechanic in this engine with
  1143. 1:03:00now it comes with
  1144. 1:03:05the money
  1145. 1:03:09time
  1146. 1:03:12or talent that's not like talent it's It
  1147. 1:03:16dehumanizes people a little bit. People
  1148. 1:03:20that we have
  1149. 1:03:26now this is probably the most important.
  1150. 1:03:30I wrote technical tests but I will erase
  1151. 1:03:34this because there's a much more
  1152. 1:03:36important word for this because it's not
  1153. 1:03:39about technical at all. This is
  1154. 1:03:41something behemoth called and tell me if
  1155. 1:03:45you have heard it before
  1156. 1:03:51Scope
  1157. 1:03:53because maybe you do want to make an
  1158. 1:03:56openw world
  1159. 1:03:58sandbox survival crafting game with deck
  1160. 1:04:01building mechanics and rogike
  1161. 1:04:04progression. Can you do all that with
  1162. 1:04:07what you have? You're going to you are
  1163. 1:04:09going to look at your money me okay it's
  1164. 1:04:11just me and my computer I don't need the
  1165. 1:04:13money fine you don't have a money
  1166. 1:04:15constraint wonderful
  1167. 1:04:18and it's only me all right do you or my
  1168. 1:04:22friend who does 3D okay do do you two
  1169. 1:04:26have the capability then to do this
  1170. 1:04:29and most importantly do you plan to
  1171. 1:04:32release this anytime soon because if you
  1172. 1:04:34give yourself 40 years to develop a game
  1173. 1:04:37you can pretty much do anything right?
  1174. 1:04:40So this is
  1175. 1:04:44define scope
  1176. 1:04:48is the most important thing you will do
  1177. 1:04:52in this stage. You will say okay this
  1178. 1:04:54will be an action RPG or this will be an
  1179. 1:04:57zombie FPS so we probably don't need
  1180. 1:05:01crafting in it.
  1181. 1:05:03I mean can do we want crafting? Yes, we
  1182. 1:05:06actually do. But we want to make this
  1183. 1:05:09game playable in one year, for example.
  1184. 1:05:11And if we put all these systems in, the
  1185. 1:05:14crafting will be quite a lot of work. So
  1186. 1:05:17you can say, all right, I'd say what I
  1187. 1:05:19have my core features,
  1188. 1:05:24right? I definitely want in the game.
  1189. 1:05:27And then there are nice toes.
  1190. 1:05:38And then there will be some
  1191. 1:05:41that will be that will look very good on
  1192. 1:05:44paper
  1193. 1:05:47but that will be bloat. So you don't
  1194. 1:05:50actually want them right. So you have to
  1195. 1:05:53define your scope carefully.
  1196. 1:05:58And the let me tell you if I can zoom
  1197. 1:06:03out of this thing.
  1198. 1:06:08So everything I said here see look this
  1199. 1:06:12is this is the maximum zoom. All right.
  1200. 1:06:15So you see production pre-production
  1201. 1:06:17here we talked a lot about about a lot
  1202. 1:06:19of things. Two things two two most three
  1203. 1:06:23everything is important but the most
  1204. 1:06:26important thing here is the scope.
  1205. 1:06:29You have to be aware what you want to
  1206. 1:06:33have in your game. Okay. What you want
  1207. 1:06:37but cannot do.
  1208. 1:06:40That's reasonable. what you want but
  1209. 1:06:44wouldn't be fun in this game or would
  1210. 1:06:47ruin the experience. Right? You have to
  1211. 1:06:51find these things and you have to look
  1212. 1:06:53at them. The way to
  1213. 1:06:56refine your scope
  1214. 1:06:59is to prototype.
  1215. 1:07:02You refine by prototyping and testing
  1216. 1:07:05things.
  1217. 1:07:07And you write things in your game design
  1218. 1:07:10document.
  1219. 1:07:12Now you will think okay at this point I
  1220. 1:07:15am making the game actually right
  1221. 1:07:17because I I'm defining my scope I'm
  1222. 1:07:20prototyping I'm writing a game design
  1223. 1:07:22document but
  1224. 1:07:25imagine that you are going to make a
  1225. 1:07:28game that will take about three years to
  1226. 1:07:30complete that's your vision right
  1227. 1:07:32because we are four people we are also
  1228. 1:07:34working we are not doing this full-time
  1229. 1:07:36or even if we are doing this full-time
  1230. 1:07:37making games is a long making a quality
  1231. 1:07:40game can be a long time. So
  1232. 1:07:44spending two months
  1233. 1:07:47on proper prototyping is not actually
  1234. 1:07:50wasted time because if the game doesn't
  1235. 1:07:53work properly, it it was wonderful in
  1236. 1:07:56your head. The ideation stage went
  1237. 1:07:58perfectly. You said, "Okay, we're going
  1238. 1:08:00to do this. The character will fly, will
  1239. 1:08:01punch monsters, there will be zombies,
  1240. 1:08:03there can even be dinosaurs, aliens. Oh,
  1241. 1:08:05what? Wait, let's put crafting in it."
  1242. 1:08:06You are ideating. You are throwing
  1243. 1:08:08everything around, right?
  1244. 1:08:10and you have the perfect thing in your
  1245. 1:08:13head and then you sit down to actually
  1246. 1:08:16making it. Sometimes, most of the times
  1247. 1:08:19you will realize, oh, it's not as fun as
  1248. 1:08:22we thought it would be.
  1249. 1:08:25Then you don't lose one year, two years
  1250. 1:08:28to realize that just by going into
  1251. 1:08:31production. You realize that in two
  1252. 1:08:33months. Yes, you lost two months, but at
  1253. 1:08:36least you didn't lose a year or two.
  1254. 1:08:39Okay, does it make sense?
  1255. 1:08:43Any questions?
  1256. 1:08:48Then I will do a happy dance because you
  1257. 1:08:51all got this perfectly and there are no
  1258. 1:08:54questions at all. So we couldn't go into
  1259. 1:08:57production and post-production. We are a
  1260. 1:08:58little bit behind. But hey, we talked
  1261. 1:09:01about the engines and I think how to use
  1262. 1:09:03AI with the engines and I think that is
  1263. 1:09:06important because
  1264. 1:09:09you will hopefully go into game design
  1265. 1:09:11and development and you will want to use
  1266. 1:09:13AI with it naturally so and you should
  1267. 1:09:15it's a great tool right now to be doing
  1268. 1:09:17things and
  1269. 1:09:20it is important that you know how to
  1270. 1:09:23properly use it to get work done. Now
  1271. 1:09:28there is an important distinction here
  1272. 1:09:30please. I want to make my camera I mean
  1273. 1:09:33ever since I showed you that my camera
  1274. 1:09:35is a little bit off. I think this should
  1275. 1:09:37be the correct one. Okay. So
  1276. 1:09:40here is the important thing. Now
  1277. 1:09:45this semester I will keep talking a lot
  1278. 1:09:47about AI because it is here. It is here
  1279. 1:09:50even more than it was last year. It is
  1280. 1:09:53here even more than it was last
  1281. 1:09:55semester. All right. It is more here now
  1282. 1:09:58than it was last week. The thing is
  1283. 1:10:01improving people. Have you seen that
  1284. 1:10:03people are putting Mario in Elden Ring,
  1285. 1:10:05right? Because now the latest models
  1286. 1:10:08Astra and Fable can reverse engineer
  1287. 1:10:12game code and inject another game's code
  1288. 1:10:15or rewrite another game's code in that
  1289. 1:10:18game's code.
  1290. 1:10:20So this is something that has that could
  1291. 1:10:22never be actually there's something I
  1292. 1:10:24will show you a website. Was it? Let me
  1293. 1:10:28just just a second.
  1294. 1:10:31I have to find it first.
  1295. 1:10:34Some company reverse engineered
  1296. 1:10:36Photoshop
  1297. 1:10:41and
  1298. 1:10:43wrote it again. Now, this is not
  1299. 1:10:46illegal.
  1300. 1:10:48They basically wrote another copy of
  1301. 1:10:51Photoshop, right? Let me share my screen
  1302. 1:10:53with you.
  1303. 1:10:59This is let me
  1304. 1:11:02show put the link in the chat as well
  1305. 1:11:05for those of you who want to explore
  1306. 1:11:08that. So they made Photoshop they made
  1307. 1:11:12what was that in design? No, what was
  1308. 1:11:15Photoshop? What was Adobe's vector
  1309. 1:11:17program? Illustrator.
  1310. 1:11:20So they made
  1311. 1:11:23Premiere Pro, Lightroom,
  1312. 1:11:28Acrobat. I will use this a lot.
  1313. 1:11:32F what was Microsoft Adobe's? Do you
  1314. 1:11:36know what the After Effects
  1315. 1:11:38and I don't publisher I think I think
  1316. 1:11:41but publisher was decry whatever anyway.
  1317. 1:11:44So, but these guys reverse engineered
  1318. 1:11:46these and this is actually the same
  1319. 1:11:51interface as Photoshop. The same
  1320. 1:11:54shortcuts, the same workflows, the same
  1321. 1:11:56everything. Because up until now, the
  1322. 1:12:00real contender was
  1323. 1:12:04And the way Linux people do it is
  1324. 1:12:07generally completely redesign everything
  1325. 1:12:11in their own mind. or we had photo
  1326. 1:12:15which is quite great by the way I still
  1327. 1:12:17use it daily. This is a very good
  1328. 1:12:19Photoshop clone but it lives on the web.
  1329. 1:12:22So what these guys did is they reverse
  1330. 1:12:25engineered it and I I suspect they
  1331. 1:12:27heavily used AI for that right and they
  1332. 1:12:31made a completely free Photoshop version
  1333. 1:12:34and I will be using it quite a lot. So
  1334. 1:12:39the use of AI is not even a discussion
  1335. 1:12:42anymore. Well, if you talk about art,
  1336. 1:12:45you can say that it is JI is a some is a
  1337. 1:12:48topic different entirely. All right?
  1338. 1:12:51Because that is about
  1339. 1:12:54well copyrights and artist rights and
  1340. 1:12:58everything. But in coding, in software
  1341. 1:13:01development, the AI is here. Now you
  1342. 1:13:06will ask me
  1343. 1:13:08do we even need to learn coding anymore?
  1344. 1:13:12That's and that would be a valid
  1345. 1:13:14question because you have coding classes
  1346. 1:13:15right and I say yes right now you do
  1347. 1:13:20because
  1348. 1:13:21the AI is not another way to code. You
  1349. 1:13:27have to understand this. The AI is
  1350. 1:13:30another agent another being not human
  1351. 1:13:33but machine. It would be the same if you
  1352. 1:13:36gave it to a human that does some coding
  1353. 1:13:38for you, does the coding for you. So you
  1354. 1:13:41have to understand the systems. You have
  1355. 1:13:43to understand how the computer works,
  1356. 1:13:46how code works to be able to direct AI
  1357. 1:13:50properly. Otherwise, it will just go
  1358. 1:13:53ahead and do what it thinks you want.
  1359. 1:13:57Right?
  1360. 1:13:58So even if it does it flawlessly, it may
  1361. 1:14:02not be able to do what you want it to
  1362. 1:14:04do. It might be doing something else.
  1363. 1:14:06And you say, "Okay, then I will just
  1364. 1:14:08prompt again." Well, it all costs money
  1365. 1:14:10and tokens. You see, you go out to
  1366. 1:14:13Twitter, formerly known as Twitter X,
  1367. 1:14:16and there are AI bros there. Bro, I made
  1368. 1:14:19Elen Ring in just three lines of prompt,
  1369. 1:14:21blah blah blah. They just talk a lot,
  1370. 1:14:24and you see them, and you say, "Oh, I
  1371. 1:14:26must be missing something. These guys
  1372. 1:14:27are doing so much with AI. Well, they
  1373. 1:14:31look like they are doing so much with
  1374. 1:14:32AI. What most of what they do is
  1375. 1:14:34useless. They are playing around with it
  1376. 1:14:36because they create content with it,
  1377. 1:14:39right? And they don't tell you how much
  1378. 1:14:41they spend in the background. They say,
  1379. 1:14:44"Ah, Astra did this with just $60 of
  1380. 1:14:46prompting." Okay, it is $60 for that,
  1381. 1:14:49but what else did you do to acquire that
  1382. 1:14:52prompt knowledge to tell it what to do?
  1383. 1:14:55Have you spent $3,000 last week? You are
  1384. 1:14:58not telling us that, right? So,
  1385. 1:15:02long story short,
  1386. 1:15:04coding is still relevant.
  1387. 1:15:08Not about writing the actual code, but
  1388. 1:15:11about knowing how code works. Okay.
  1389. 1:15:16So, any questions now?
  1390. 1:15:24Then I will leave you
  1391. 1:15:27with a goodbye or with a Yeah. So I will
  1392. 1:15:32first stop my this recording, then I
  1393. 1:15:35will stop the Zoom recording. But at any
  1394. 1:15:37rate, goodbye. Take care and go play
  1395. 1:15:40some games.

About this transcript

This page contains the full transcript of ISU Fall 2026 - DGD205 Week 3 - 08.10.2026 by Onur EREREN, generated from the public captions YouTube serves with the video. The transcript has 9,193 words across 1,395 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.