{"id":404,"date":"2024-04-15T20:56:50","date_gmt":"2024-04-15T20:56:50","guid":{"rendered":"https:\/\/abdoubouam.com\/?p=404"},"modified":"2024-04-15T21:06:43","modified_gmt":"2024-04-15T21:06:43","slug":"devlog-week-17","status":"publish","type":"post","link":"https:\/\/abdoubouam.com\/index.php\/2024\/04\/15\/devlog-week-17\/","title":{"rendered":"Devlog Week 17"},"content":{"rendered":"\n<p>Here&#8217;s a summary of week 17:<\/p>\n\n\n\n<p>1- I added debris and dirt to the main train material. It has 4 layers : cigarette butts, small pieces of paper, bigger pieces of paper, and dirt. It uses RGBA vertex colors for masking<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video controls src=\"http:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/vertex_paint.mp4\"><\/video><figcaption class=\"wp-element-caption\">Vertex Color painting<\/figcaption><\/figure>\n\n\n\n<p>2- I programmed some basic &#8220;interactive&#8221; environment props, like doors opening when you approach them, and cameras looking at the player. They weren&#8217;t complicated, but it&#8217;s good Blueprint practice<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video controls src=\"http:\/\/abdoubouam.com\/wp-content\/uploads\/cameras and doors.mp4\"><\/video><figcaption class=\"wp-element-caption\">Interactive doors and cameras<\/figcaption><\/figure>\n\n\n\n<p>3- I added more dream shenanigans, mostly things changing when you&#8217;re not looking. There&#8217;s also a small chance they will change in front of your eyes.<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video controls src=\"http:\/\/abdoubouam.com\/wp-content\/uploads\/changing_decals.mp4\"><\/video><figcaption class=\"wp-element-caption\">Dream Shenanigans<\/figcaption><\/figure>\n\n\n\n<p>One of the methods I used is a custom decal shader that takes an atlas texture and pics a random portion when you&#8217;re not looking. I can set the number X and Y subdivisions, so it can be any numebr, 6&#215;1, 2&#215;2, 4&#215;2&#8230;etc.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/abdoubouam.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/decal_textures.jpg&quot;,&quot;figureClassNames&quot;:&quot;aligncenter size-full&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-408&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:825,&quot;targetHeight&quot;:561,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Enlarge image&quot;,&quot;alt&quot;:&quot;&quot;}\" data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"825\" height=\"561\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"http:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/decal_textures.jpg\" alt=\"\" class=\"wp-image-408\" srcset=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/decal_textures.jpg 825w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/decal_textures-300x204.jpg 300w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/decal_textures-768x522.jpg 768w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/decal_textures-230x156.jpg 230w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/decal_textures-350x238.jpg 350w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/decal_textures-480x326.jpg 480w\" sizes=\"(max-width: 825px) 100vw, 825px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Decal Textures<\/figcaption><\/figure><\/div>\n\n\n<p>I couldn&#8217;t find a way to easily change the decal material properties at runtime, but I knew that each decal actor has a color attribute I can set and then reference from the shader, and I know that one can be edited in runtime. It&#8217;s usually used to set the color and opacity of the decal, but there are really no rules. I still kept the RGB components to set the color, but I used the Alpha component to control which decal to pick. After that it&#8217;s just a matter of setting a random value to the Alpha component from the level blueprint (or the player character blueprint, or any blueprint really) when it&#8217;s not in the camera field of view.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/abdoubouam.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/decal_pick.gif&quot;,&quot;figureClassNames&quot;:&quot;aligncenter size-full&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-409&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:854,&quot;targetHeight&quot;:543,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Enlarge image&quot;,&quot;alt&quot;:&quot;&quot;}\" data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"854\" height=\"543\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/decal_pick.gif\" alt=\"\" class=\"wp-image-409\"\/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Picking a decal from the atlas using Alpha<\/figcaption><\/figure><\/div>\n\n\n<figure class=\"wp-block-gallery aligncenter has-nested-images columns-3 wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/abdoubouam.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/exit.jpg&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image size-full&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-405&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:640,&quot;targetHeight&quot;:640,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Enlarge image&quot;,&quot;alt&quot;:&quot;&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"640\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"405\" src=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/exit.jpg\" alt=\"\" class=\"wp-image-405\" srcset=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/exit.jpg 640w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/exit-300x300.jpg 300w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/exit-150x150.jpg 150w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/exit-230x230.jpg 230w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/exit-350x350.jpg 350w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/exit-480x480.jpg 480w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/abdoubouam.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/no_smoking.jpg&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image size-large&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-406&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:1602,&quot;targetHeight&quot;:858,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Enlarge image&quot;,&quot;alt&quot;:&quot;&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"548\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"406\" src=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/no_smoking-1024x548.jpg\" alt=\"\" class=\"wp-image-406\" srcset=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/no_smoking-1024x548.jpg 1024w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/no_smoking-300x161.jpg 300w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/no_smoking-768x411.jpg 768w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/no_smoking-1536x823.jpg 1536w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/no_smoking-1000x536.jpg 1000w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/no_smoking-230x123.jpg 230w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/no_smoking-350x187.jpg 350w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/no_smoking-480x257.jpg 480w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/no_smoking.jpg 1602w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/abdoubouam.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/changing_decals.jpg&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image size-large&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-393&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:1280,&quot;targetHeight&quot;:996,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Enlarge image&quot;,&quot;alt&quot;:&quot;&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"797\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"393\" src=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/changing_decals-1024x797.jpg\" alt=\"\" class=\"wp-image-393\" srcset=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/changing_decals-1024x797.jpg 1024w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/changing_decals-300x233.jpg 300w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/changing_decals-768x598.jpg 768w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/changing_decals-1000x778.jpg 1000w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/changing_decals-230x179.jpg 230w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/changing_decals-350x272.jpg 350w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/changing_decals-480x374.jpg 480w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/changing_decals.jpg 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">Some examples of &#8220;dream shenanigans&#8221; <\/figcaption><\/figure>\n\n\n\n<p>4- Finalized the lighting and environment of this portion of the scene. it&#8217;s missing NPCs and some small props and events, but the environment and lighting itself is done. I used static lighting for performance reasons. I am getting ~40-50fps on my laptop (just an integrated intel GPU) without having to make any visual sacrifices, which I&#8217;m happy about. I&#8217;m getting up to 200FPS on my desktop with a 2070 Super.<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video controls src=\"http:\/\/abdoubouam.com\/wp-content\/uploads\/Out-1.mp4\"><\/video><figcaption class=\"wp-element-caption\">Cinematic render<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/abdoubouam.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/r3.jpg&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image size-large&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-398&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:1920,&quot;targetHeight&quot;:1080,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Enlarge image&quot;,&quot;alt&quot;:&quot;&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"398\" src=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r3-1024x576.jpg\" alt=\"\" class=\"wp-image-398\" srcset=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r3-1024x576.jpg 1024w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r3-300x169.jpg 300w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r3-768x432.jpg 768w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r3-1536x864.jpg 1536w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r3-1000x563.jpg 1000w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r3-230x129.jpg 230w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r3-350x197.jpg 350w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r3-480x270.jpg 480w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r3.jpg 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/abdoubouam.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/r2.jpg&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image size-large&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-397&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:1920,&quot;targetHeight&quot;:1080,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Enlarge image&quot;,&quot;alt&quot;:&quot;&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"397\" src=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r2-1024x576.jpg\" alt=\"\" class=\"wp-image-397\" srcset=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r2-1024x576.jpg 1024w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r2-300x169.jpg 300w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r2-768x432.jpg 768w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r2-1536x864.jpg 1536w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r2-1000x563.jpg 1000w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r2-230x129.jpg 230w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r2-350x197.jpg 350w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r2-480x270.jpg 480w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r2.jpg 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/abdoubouam.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/train.jpg&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image size-large&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-396&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:1917,&quot;targetHeight&quot;:1039,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Enlarge image&quot;,&quot;alt&quot;:&quot;&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"555\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"396\" src=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/train-1024x555.jpg\" alt=\"\" class=\"wp-image-396\" srcset=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/train-1024x555.jpg 1024w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/train-300x163.jpg 300w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/train-768x416.jpg 768w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/train-1536x833.jpg 1536w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/train-1000x542.jpg 1000w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/train-230x125.jpg 230w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/train-350x190.jpg 350w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/train-480x260.jpg 480w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/train.jpg 1917w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/abdoubouam.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/r4.jpg&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image size-large&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-395&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:1920,&quot;targetHeight&quot;:1080,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Enlarge image&quot;,&quot;alt&quot;:&quot;&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"395\" src=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r4-1024x576.jpg\" alt=\"\" class=\"wp-image-395\" srcset=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r4-1024x576.jpg 1024w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r4-300x169.jpg 300w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r4-768x432.jpg 768w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r4-1536x864.jpg 1536w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r4-1000x563.jpg 1000w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r4-230x129.jpg 230w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r4-350x197.jpg 350w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r4-480x270.jpg 480w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r4.jpg 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/abdoubouam.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/r1.jpg&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image size-large&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-394&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:1920,&quot;targetHeight&quot;:1080,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Enlarge image&quot;,&quot;alt&quot;:&quot;&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"394\" src=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r1-1024x576.jpg\" alt=\"\" class=\"wp-image-394\" srcset=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r1-1024x576.jpg 1024w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r1-300x169.jpg 300w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r1-768x432.jpg 768w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r1-1536x864.jpg 1536w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r1-1000x563.jpg 1000w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r1-230x129.jpg 230w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r1-350x197.jpg 350w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r1-480x270.jpg 480w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/r1.jpg 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/abdoubouam.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/cameras-scaled.jpg&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image size-large&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-392&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:2560,&quot;targetHeight&quot;:1617,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Enlarge image&quot;,&quot;alt&quot;:&quot;&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"647\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"392\" src=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/cameras-1024x647.jpg\" alt=\"\" class=\"wp-image-392\" srcset=\"https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/cameras-1024x647.jpg 1024w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/cameras-300x190.jpg 300w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/cameras-768x485.jpg 768w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/cameras-1536x970.jpg 1536w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/cameras-2048x1294.jpg 2048w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/cameras-1000x632.jpg 1000w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/cameras-230x145.jpg 230w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/cameras-350x221.jpg 350w, https:\/\/abdoubouam.com\/wp-content\/uploads\/2024\/04\/cameras-480x303.jpg 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge image\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">in-game Screenshots<\/figcaption><\/figure>\n\n\n\n<p>5- I experimented a bit with sounds for robot voices. I made it so NPCs (or a random placeholder object in this case) pick a random sound from a list and slightly change its pitch with every few characters printed on the screen. Here&#8217;s a compilation of the sounds I made myself<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video controls src=\"http:\/\/abdoubouam.com\/wp-content\/uploads\/sounds.mp4\"><\/video><figcaption class=\"wp-element-caption\">Random robot sounds<\/figcaption><\/figure>\n\n\n\n<p>I also commissioned &#8220;Terra Marique&#8221; to experiment a bit, and he did a good job. I didn&#8217;t have a clear vision in the beginning and wasn&#8217;t entirely sure what I wanted, but I got a good result I&#8217;m happy with.<\/p>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video controls src=\"http:\/\/abdoubouam.com\/wp-content\/uploads\/sounds2.mp4\"><\/video><figcaption class=\"wp-element-caption\">Better robot sounds<\/figcaption><\/figure>\n\n\n\n<p>6- I made drafts and sketches related to the NPC dialogue system. There&#8217;s nothing worth showing, but I have an better idea on how to proceed.<\/p>\n\n\n\n<p>This week (#18) will be mostly spent implementing the system and experimenting with it. After that&#8217;s done, I can finally start making NPCs and implementing the story and interactions. After that I am not entirely sure what I&#8217;ll work on, the player\/NPC models or an environment blockout, but it&#8217;s probably 3D art related, since I missed doing that.<\/p>\n\n\n\n<p>Thanks for reading, and have a great week!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here&#8217;s a summary of week 17: 1- I added debris and dirt to the main train material. It has 4 layers : cigarette butts, small pieces of paper, bigger pieces of paper, and dirt. It uses RGBA vertex colors for masking 2- I programmed some basic &#8220;interactive&#8221; environment props, like doors opening when you approach them, and cameras looking at the player. They weren&#8217;t [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":392,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/abdoubouam.com\/index.php\/wp-json\/wp\/v2\/posts\/404"}],"collection":[{"href":"https:\/\/abdoubouam.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/abdoubouam.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/abdoubouam.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/abdoubouam.com\/index.php\/wp-json\/wp\/v2\/comments?post=404"}],"version-history":[{"count":6,"href":"https:\/\/abdoubouam.com\/index.php\/wp-json\/wp\/v2\/posts\/404\/revisions"}],"predecessor-version":[{"id":416,"href":"https:\/\/abdoubouam.com\/index.php\/wp-json\/wp\/v2\/posts\/404\/revisions\/416"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/abdoubouam.com\/index.php\/wp-json\/wp\/v2\/media\/392"}],"wp:attachment":[{"href":"https:\/\/abdoubouam.com\/index.php\/wp-json\/wp\/v2\/media?parent=404"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/abdoubouam.com\/index.php\/wp-json\/wp\/v2\/categories?post=404"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/abdoubouam.com\/index.php\/wp-json\/wp\/v2\/tags?post=404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}