<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Practice Flip]]></title><description><![CDATA[art, game dev, and learning through daily practice]]></description><link>https://practiceflip.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!UaRK!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f1ee762-c2db-404a-94c8-f4d2d3056219_1080x1080.png</url><title>Practice Flip</title><link>https://practiceflip.substack.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 20 Apr 2026 03:31:20 GMT</lastBuildDate><atom:link href="https://practiceflip.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Phi Nguyen]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[practiceflip@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[practiceflip@substack.com]]></itunes:email><itunes:name><![CDATA[Phi]]></itunes:name></itunes:owner><itunes:author><![CDATA[Phi]]></itunes:author><googleplay:owner><![CDATA[practiceflip@substack.com]]></googleplay:owner><googleplay:email><![CDATA[practiceflip@substack.com]]></googleplay:email><googleplay:author><![CDATA[Phi]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[47 Chrome Tabs Later]]></title><description><![CDATA[A deck-building problem turned into a weekend father-son coding project]]></description><link>https://practiceflip.substack.com/p/47-chrome-tabs-later</link><guid isPermaLink="false">https://practiceflip.substack.com/p/47-chrome-tabs-later</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Thu, 09 Apr 2026 22:01:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a50ad678-e8a5-49f5-9427-6d4c697d5e39_960x540.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My son is 13. And lately, connecting with him means entering a world I know nothing about. Right now that world is <a href="https://en.wikipedia.org/wiki/Magic:_The_Gathering">Magic the Gathering</a> (MTG). He&#8217;s deep into it... deck strategies, card synergies, things I can barely follow. I grew up around MTG but never got into it myself. Twenty years later, of course my kid is obsessed with it. That wasn&#8217;t me,I had nothing to do with that. I&#8217;m still waiting have to break out the Gundam model kits with him&#8230; maybe in a couple years.</p><p>Most days I&#8217;m the confused dad that just says <em>cool!!, oh really?!, that&#8217;s neat!</em>, while he talks about all MTG things I don&#8217;t understand. <em>Am I a bad parent?</em> But I figured if I can&#8217;t meet him in his world, maybe I can meet him halfway. Well&#8230;this past weekend, we found that halfway point. </p><p>We built an app together.</p><h3>Chrome tabs for dayz</h3><p>Who&#8217;s with me on this? My son spends hours browsing the internet trying to find cards, build decks, and keep track of strategies for MTG. Dozens of Chrome tabs and groups open all at once&#8230; for &#8220;organizing". Ofc there are deck building tools out there already. We tried each one for a short time and confirm what we already suspected... the existing tools were confusing and complex, bloated with things we didn&#8217;t need and ads&#8230; so many ads. Clearly not designed for a 13-year-old trying to get into the hobby. That was enough for us to start a brainstorm about what we really wanted, and what the problem was. What if we could just... built something better? Not better for the world. Better for him. Something clean, minimal, and designed around exactly how he wanted to use it. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EmuY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22c73ce9-9baa-4ecd-9d82-ea9d4fb116fa_500x570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EmuY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22c73ce9-9baa-4ecd-9d82-ea9d4fb116fa_500x570.png 424w, https://substackcdn.com/image/fetch/$s_!EmuY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22c73ce9-9baa-4ecd-9d82-ea9d4fb116fa_500x570.png 848w, https://substackcdn.com/image/fetch/$s_!EmuY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22c73ce9-9baa-4ecd-9d82-ea9d4fb116fa_500x570.png 1272w, https://substackcdn.com/image/fetch/$s_!EmuY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22c73ce9-9baa-4ecd-9d82-ea9d4fb116fa_500x570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EmuY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22c73ce9-9baa-4ecd-9d82-ea9d4fb116fa_500x570.png" width="500" height="570" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22c73ce9-9baa-4ecd-9d82-ea9d4fb116fa_500x570.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:570,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103370,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/193488804?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22c73ce9-9baa-4ecd-9d82-ea9d4fb116fa_500x570.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EmuY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22c73ce9-9baa-4ecd-9d82-ea9d4fb116fa_500x570.png 424w, https://substackcdn.com/image/fetch/$s_!EmuY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22c73ce9-9baa-4ecd-9d82-ea9d4fb116fa_500x570.png 848w, https://substackcdn.com/image/fetch/$s_!EmuY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22c73ce9-9baa-4ecd-9d82-ea9d4fb116fa_500x570.png 1272w, https://substackcdn.com/image/fetch/$s_!EmuY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22c73ce9-9baa-4ecd-9d82-ea9d4fb116fa_500x570.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>the afternoon of our minds got exploded</h3><p>To preface where I&#8217;m coming from&#8230;I&#8217;m a 3D artist, I make games. I know <em>some</em> Python and C# but nothing I would put on a resume. I am not a software engineer. JavaScript? Completely foreign to me. APIs, modern web dev tooling, deployment pipelines... I knew basically none of it. The only thing I knew how to do was push a repo to GitHub. That was about it.</p><p>But we had Mr. Claude on our team. <a href="https://claude.ai/">Claude Code</a> that is.</p><p>I generated and talked through our brainstorming session with my son, then chatted through our brainstorming session with Claude doe. From there, a detailed plan and spec was created with all of the exact steps to get a tool like this up and running. It walked me through <em>everything&#8230;</em> step by step. The file structure, the codebase, setting up a local server in <a href="https://zed.dev/?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=brand&amp;utm_term=zed%20ide&amp;gad_source=1&amp;gad_campaignid=23608930243&amp;gbraid=0AAAABC6KK9UK2qI-1lLXAMks7hgO7AB6C&amp;gclid=CjwKCAjw1tLOBhAMEiwAiPkRHlKkiUY2Azznq-RiPxMQeqzl7zeuAcyApR8GFF-W7Q1wSkfUpXrzIhoC7_wQAvD_BwE">Zed</a>. It was quite a learning experience, and now I&#8217;m a little smarter with web development. </p><p>Hit Enter and we&#8217;re off&#8230; 15 min later Claude had built us its first prototype. And it worked! Not flawlessly... but it worked! &#129327;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hkKf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80c198b7-22bd-4272-81c5-f6ba8c8cc6ed_1920x911.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hkKf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80c198b7-22bd-4272-81c5-f6ba8c8cc6ed_1920x911.png 424w, https://substackcdn.com/image/fetch/$s_!hkKf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80c198b7-22bd-4272-81c5-f6ba8c8cc6ed_1920x911.png 848w, https://substackcdn.com/image/fetch/$s_!hkKf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80c198b7-22bd-4272-81c5-f6ba8c8cc6ed_1920x911.png 1272w, https://substackcdn.com/image/fetch/$s_!hkKf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80c198b7-22bd-4272-81c5-f6ba8c8cc6ed_1920x911.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hkKf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80c198b7-22bd-4272-81c5-f6ba8c8cc6ed_1920x911.png" width="1456" height="691" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80c198b7-22bd-4272-81c5-f6ba8c8cc6ed_1920x911.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:691,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2237578,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/193488804?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80c198b7-22bd-4272-81c5-f6ba8c8cc6ed_1920x911.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!hkKf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80c198b7-22bd-4272-81c5-f6ba8c8cc6ed_1920x911.png 424w, https://substackcdn.com/image/fetch/$s_!hkKf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80c198b7-22bd-4272-81c5-f6ba8c8cc6ed_1920x911.png 848w, https://substackcdn.com/image/fetch/$s_!hkKf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80c198b7-22bd-4272-81c5-f6ba8c8cc6ed_1920x911.png 1272w, https://substackcdn.com/image/fetch/$s_!hkKf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80c198b7-22bd-4272-81c5-f6ba8c8cc6ed_1920x911.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At that point we were convinced this could actually replace the Chrome tabs. And from there we iterated. Bug fixes, tweaks, new features. Every time something new got pushed, all we could say to each other was <em>this is so good! </em>We couldn&#8217;t have built this without working this way. Full stop. If I had tried to learn enough JavaScript and web dev tooling to build this from scratch, it would&#8217;ve taken weeks. Probably longer. Probably never. One of those someday projects. But it was really amazing&#8230; we had an idea in the morning and a working app by the afternoon. A tangible thing. Deployed on the web.</p><p>We live in a time where you can build a personalized tool faster than ever. And the result actually fits your needs exactly. No compromises, no workarounds, no features you&#8217;ll never use cluttering up the screen. I think my rough rule of thumb now is this... if it takes me more than an hour to ramp up on existing software to get where I want to be, I might as well just build it. That&#8217;s the wild part of where we&#8217;re at right now. It&#8217;s really got me to re-think the way I make prototypes for game dev. I&#8217;m just excited, what a crazy time and place we live in today!</p><h3>On creating</h3><p>I still have strong feelings about generative AI. Especially with art. That hasn&#8217;t changed and I don&#8217;t think it will anytime soon. I&#8217;ll be the first one to tell you how overwhelmed I feel with all of this. The speed at which AI is advancing and changing the way we create is crazy. Its hard wrap my head around it, tbh.</p><p>But <em>this felt very different.</em></p><p>This wasn&#8217;t a product going to market. It wasn&#8217;t for making money. It wasn&#8217;t competing with anyone. It was solving a small problem to make things just ever so slightly easier. When it&#8217;s a tool for personal creation, and you&#8217;re using it to make something you couldn&#8217;t have made otherwise, for yourself, maybe that&#8217;s okay.</p><p>And the biggest win wasn&#8217;t the app. It was the afternoon. My son is reaching an age where it&#8217;s harder to find those windows of connection. He&#8217;s getting into things I don&#8217;t understand and soon the punk is going to come out and not want anything to do with me. But for the short time, I got to sit next to him and build and create something together. That&#8217;s pretty neat in my book! If nothing else comes out of this, that&#8217;s okay. At least I now know wtf a <a href="https://scryfall.com/card/tla/167/badgermole-cub">Badgermole Cub</a> mana ramp board wipe aggo deck is. Tha&#8217;ll come in handy later on in life&#8230;I&#8217;m sure of it. LOL.</p><p>Anyway, The app is still buggy. It works, but it&#8217;s rough around the edges. If you&#8217;re into MTG or just curious about what a confused dad and his son built in an afternoon, check it out <a href="https://mtg-deck-builder-gold.vercel.app/">here</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rSBj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff329eff5-bdda-47cc-8db3-a26485e79f46_599x649.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rSBj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff329eff5-bdda-47cc-8db3-a26485e79f46_599x649.png 424w, https://substackcdn.com/image/fetch/$s_!rSBj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff329eff5-bdda-47cc-8db3-a26485e79f46_599x649.png 848w, https://substackcdn.com/image/fetch/$s_!rSBj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff329eff5-bdda-47cc-8db3-a26485e79f46_599x649.png 1272w, https://substackcdn.com/image/fetch/$s_!rSBj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff329eff5-bdda-47cc-8db3-a26485e79f46_599x649.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rSBj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff329eff5-bdda-47cc-8db3-a26485e79f46_599x649.png" width="599" height="649" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f329eff5-bdda-47cc-8db3-a26485e79f46_599x649.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:649,&quot;width&quot;:599,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:69925,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/193488804?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff329eff5-bdda-47cc-8db3-a26485e79f46_599x649.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rSBj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff329eff5-bdda-47cc-8db3-a26485e79f46_599x649.png 424w, https://substackcdn.com/image/fetch/$s_!rSBj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff329eff5-bdda-47cc-8db3-a26485e79f46_599x649.png 848w, https://substackcdn.com/image/fetch/$s_!rSBj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff329eff5-bdda-47cc-8db3-a26485e79f46_599x649.png 1272w, https://substackcdn.com/image/fetch/$s_!rSBj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff329eff5-bdda-47cc-8db3-a26485e79f46_599x649.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around&#8230; catcha on the Flip!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Write When You Can]]></title><description><![CDATA[On consistency, sustainability, and making the game&#8230; the game]]></description><link>https://practiceflip.substack.com/p/write-when-you-can</link><guid isPermaLink="false">https://practiceflip.substack.com/p/write-when-you-can</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Thu, 02 Apr 2026 22:00:50 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/21f97c43-f1dd-4a29-b1d6-111e90e7f95e_960x540.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As you may or may not have known from the <a href="https://practiceflip.substack.com/p/you-only-have-so-many-games-in-you?r=5e1y8a">last post&#8230; I took a break</a> over spring break with the fam. And surprisingly at times felt guilty about it, but also felt lighter for it. Both things were true at the same time. I needed balance to recharge. Inspiration to feed creativity. And sleep so my body wouldn&#8217;t yell at me anymore.</p><p>You set expectations for yourself to stick to the schedule. Be consistent, post regularly, and you&#8217;ll find your audience and your niche of people who value what you&#8217;re doing. And then you miss a week and the whole thing goes to $h1t.</p><h3>Waiting... it&#8217;s in your head</h3><p>The guilt is real because the people who read this are real. People subscribed to this newsletter. They might actually be waiting for the next post. That&#8217;s not some made-up pressure... someone&#8217;s there on the other end.</p><p>But I&#8217;m not sure how true that really is. I think about my own reading habits on here. There are so many writers on here that I want to read, and I don&#8217;t get to most of them until days later, sometimes weeks. Two or three posts might go by before I actually open one up. So is it really the same feeling as an unanswered email sitting in your inbox? There&#8217;s pressure on you to reply because someone&#8217;s waiting. But even though someone <em>is</em> on the other end, are they clicking refresh, refresh, refresh until they see your response? That&#8217;s how I imagine it anyway in my head.</p><p>I keep coming back to this thing about <a href="https://practiceflip.substack.com/p/side-projects-delete?r=5e1y8a">deleting side projects</a>. About scoping things down so you can focus on what actually matters. Turns out the hardest thing to scope down is your own expectations for yourself. Seems cutting a project off a list is easy compared to giving yourself permission to just... not post this week. There&#8217;s so much more pressure&#8230;</p><p><em>why?</em></p><p>I broke the streak right after break. I felt good scheduling posts and letting it do its thing. But then when I got back there was that pressure again. So I let that get to me. Losing that streak of consistency doesn&#8217;t feel good, especially when you&#8217;ve set yourself a goal. But after some thought, focus and clarity, I won&#8217;t let that snowball into quitting.</p><p><em>Write when you can.</em></p><p>That&#8217;s the mantra I&#8217;m trying to sit with. Not as a way to dismiss the people reading this. But as a way to keep the guilt from running the show.</p><h3>The Slow Burn</h3><p>Building an audience takes a long time. Finding your crew, your niche, the people who actually care about what you&#8217;re making... there&#8217;s no shortcut for that. It&#8217;s a slow burn. And if you&#8217;re trying to do it while also making a game, teaching, staying healthy, and being present for your family, something has to give sometimes. The trick is making sure it&#8217;s the right something.</p><p>Having a plan helps. Getting clear on your priorities is what lets you make those calls... what to cut, what to push down for later, what to protect. Without that clarity, everything feels equally urgent and you just spin. But also think far ahead. Not just what next week looks like, but next month, next year. And if you can bring clarity into what it looks like years from now... that&#8217;s the ultimate motivation to keep doing what you&#8217;re doing.</p><h3>It Doesn&#8217;t Have to Be Suffering</h3><p>I recently rewatched <em><a href="https://www.youtube.com/watch?v=Z7CWZhhBMSo">Surviving Indie</a></em>, the documentary about the brutal side of indie game development. Sleeping on couches. Living with parents. Going broke. Asking friends for help. All the stuff we tend to gloss over when we romanticize the indie life.</p><p>Those stories are real. I don&#8217;t want to minimize them. But my takeaway isn&#8217;t that suffering is the price of admission.</p><p>I think gamedev can be sustainable. Even enjoyable. It just takes work to get there... building the discipline, establishing the practice, making deliberate choices about what you take on and what you don&#8217;t. That foundation doesn&#8217;t appear overnight.</p><p>What I do know is that every turning point in my career came out of discomfort. Not suffering, exactly, but that uneasy feeling where you&#8217;re not sure if you&#8217;re onto something or just lost. Every time though, it led to something better. You get a moment to pause, re-evaluate where your priorities actually are. And from there the path gets clearer.</p><p>So where does that leave me right now? The game<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. That&#8217;s the priority. Everything else... this newsletter, YouTube, all of it... funnels toward making this game real.. Yes. Is it too much&#8230; Yes. Does it take more time away from building&#8230; probably yes. So maybe it just has to wait a bit while you take care of the important stuff. Make making the game the game. I have to read and write that one more time&#8230; <em>Make</em> making the game <em>the game</em>&#8230;</p><p><em>Write when you can.</em></p><p><em>Focus on the thing that moves you forward.</em></p><p><em>Let the others wait&#8230;</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around&#8230; catcha on the Flip!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>no pretty pictures in this post, but much to show&#8230; soon. </p></div></div>]]></content:encoded></item><item><title><![CDATA[You Only Have So Many Games In You]]></title><description><![CDATA[Thinking about scope, time, and what's worth making]]></description><link>https://practiceflip.substack.com/p/you-only-have-so-many-games-in-you</link><guid isPermaLink="false">https://practiceflip.substack.com/p/you-only-have-so-many-games-in-you</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Fri, 27 Mar 2026 13:03:01 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/599ebc10-3bd8-472b-85e1-4f9d535b4ba7_1080x1350.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://www.youtube.com/@JonasTyroller">Jonas Tyroller </a>said it in a video from one of his interviews<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>... something along the lines of&#8230; and I&#8217;m paraphrasing here, <strong>that he has maybe only 10 games left in him. For the rest of his life.</strong></p><p>That number hit different than I expected.</p><p>It&#8217;s been a few weeks. Took the family to the UK for the kids spring break, got to speak at Cambridge with my wife at the School of Fine Arts which was an amazing opportunity and experience, and honestly needed the reset. Back now and into the swing of things again. I had a lot of time to think during the flight and watch bad movies like the new reboot of <em>The Running Man</em>. Not that <a href="https://www.youtube.com/watch?v=g_QHzV3NVPk">the original</a> wasn&#8217;t bad, but maybe nostalgia is creeping in and affecting my judgement here. </p><p>10 games in him. Not playing 10 games, but making 10 games. But now that I think of it, you could probably apply that to playing games too&#8230; if it takes you years to finish a game, which in my case that&#8217;s true. but he&#8217;s talking about making only 10 games left in his lifetime.</p><p>Do the math. If each game takes 3-5 years, and you&#8217;re not doing this full-time, 10 is generous. Most indie games actually take a lot longer. 5-10 years maybe when you factor in part-time dev, life stuff, setbacks. In the case of <em><a href="https://store.steampowered.com/app/108600/Project_Zomboid/?l=english&amp;curator_clanid=36953115&amp;gad_source=1&amp;gad_campaignid=23519058958&amp;gbraid=0AAAAAqD7is3yOAv0siN8ZaxwsizVXAbsW&amp;gclid=CjwKCAjwspPOBhB9EiwATFbi5AbwAF1Og78or-hllnlRMeQmPIBfOC2iqwmq0rjb7OTTuCShx54mTRoCK_sQAvD_BwE">Project Zomboid</a></em>, they&#8217;ve been in production, early access, for a good 14 YEARS! This is the trend lately for games it seems.</p><p>Suddenly each project isn&#8217;t just &#8220;the thing I&#8217;m working on.&#8221; It&#8217;s a significant chunk of your finite creative life. One of maybe ten. Maybe fewer. I&#8217;m pretty much mid-life at 46, so I&#8217;m already getting a late start in this pool of young hungry indie game developers. Realistically I probably only have about 5 games in me. Maybe less.</p><h3>Real Tension</h3><p>Here&#8217;s where it gets uncomfortable for me when I really try to apply that to my life. All the advice says make small games, fail fast, learn cheap. Ship something in a month. Then ship another one. Get your reps in so that when you make your &#8220;dream&#8221; game it actually hits.</p><p>But if you only have 10 games in you... do you want 8 of them to be throwaway learning projects? The tension is real. Protect your time for the work that matters vs. don&#8217;t bet everything on your first game before you&#8217;ve learned the hard lessons. <a href="https://howtomarketagame.com/">Chris Zukowski</a> of how to market your games said something like, and I&#8217;m paraphrasing again so fact check me, around 80% of game devs and that includes studios and startups, only ship one game.</p><p><strong>ONE. That&#8217;s it.</strong></p><p>Most people don&#8217;t get to two, let alone ten. That&#8217;s because they end up failing on the first go. You put all of your sweat and blood... and mistakes... all into one basket and it doesn&#8217;t hit. It doesn&#8217;t perform as expected, and you think you suck. You think that was your chance. You think that&#8217;s it, You think what&#8217;s next? What can I hit it big on next?</p><p>The thing is... if you&#8217;re looking to hit it big, that might be the wrong reasons to get into game dev. Yes it&#8217;s one of the most lucrative businesses in more recent years, surpassing film. But it&#8217;s not for the light hearted. We do this because we can&#8217;t stop. We do it because we would do it otherwise. It&#8217;s just something that&#8217;s in us. Not just game devs but creatives in general.</p><h3>What I&#8217;m Sitting With</h3><p>So what does that mean for our game? I don&#8217;t have a clean answer here. I&#8217;m not sure there is one. But thinking in terms of &#8220;how many do I have left&#8221; is clarifying. It cuts through a lot of noise.</p><p>For the game my brother and I are making... it&#8217;s not about small vs. big. It&#8217;s about scope discipline. Make something we believe in and want to play, but watch out for scope creep. Keep it manageable for two people. Don&#8217;t let it balloon into a 7-year death march, but also don&#8217;t strip it down to something we&#8217;re not excited about just to ship faster. Of course failing in the process and iterating, but hopefully coming out with something in the end that we feel proud of.</p><p>In any case, I&#8217;ve been re-thinking how I spend my time lately, like I always do, <a href="https://practiceflip.substack.com/p/side-projects-delete?r=5e1y8a">deleting side projects</a> and what not. Coming up with a roadmap for the next few years to provide some clarity. Prioritizing what actually matters. It&#8217;s an honest and scary exercises I like to do every year and this framing is part of that.</p><div><hr></div><p><em>How do you think about this? Do you protect your time for the &#8220;real&#8221; projects, or do you believe in the small-games-first path? I&#8217;m genuinely unsure which is right.</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around&#8230; catcha on the Flip</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I forget the interview it was in which he said that but if I end up finding it again I&#8217;ll update this footnote.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Characters for the Gilded Age]]></title><description><![CDATA[Beautiful aesthetics and characters in a post-apocalyptic world]]></description><link>https://practiceflip.substack.com/p/restoration-characters-for-the-gilded</link><guid isPermaLink="false">https://practiceflip.substack.com/p/restoration-characters-for-the-gilded</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Thu, 26 Feb 2026 17:12:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QNaG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s been a minute since an update on the progress of <a href="https://practiceflip.substack.com/p/feel-the-game?r=5e1y8a">our game</a>. The past couple of week we&#8217;ve taken a pause on the world building and shifted our focus onto characters. Prior to this, we&#8217;ve just used a temporary character as a stand-in. But along with that, we&#8217;re also taking a look at shifting the art direction itself.</p><h3>Artistic Direction Inspiration</h3><p>The aesthetic we&#8217;re aiming for is something in the realm of Decopunk<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. We want that Art Deco and Art Nouveau time period, but minus the dark, gritty, and grimy look of other diesel and steampunk genres. We&#8217;re also looking at a mix of flat-shaded and cel-shaded styles, but with painterly gradients to give it some depth and bring in some of the beauty from the gilded age.</p><p>The idea of keeping everything flat and paper-like is still really interesting to us for certain elements like the foliage... taking those flowing Art Nouveau lines and turning them into 3D greenery that looks like it was cut from paper. <em>Paper Nouveau</em>&#8230; is that a thing?</p><p>Visually, I&#8217;ve been looking at a few specific games that handle a clean, flat-shaded look really well. <em>Breath of the Wild</em> is an obvious case study, especially for its lighting... I think that was the first time I really noticed that specific look. But more recently, I&#8217;ve been looking at games like <em><a href="https://store.steampowered.com/app/837470/Untitled_Goose_Game/">Untitled Goose Game</a></em><a href="https://store.steampowered.com/app/837470/Untitled_Goose_Game/"> </a>and <em><a href="https://store.steampowered.com/app/2133760/Tiny_Bookshop/">Tiny Bookshop</a></em> which both choose their art style for its simplicity and charm. There&#8217;s probably more examples that I&#8217;m missing here, but I think you get the idea&#8230; somewhat illustrative, but not too cartoony.</p><p>So here&#8217;s an initial pass&#8230; a rough initial pass. Brut forcing a bunch of primitives jammed into one another to get the general look and feel, while staying close to the proportion and design we want.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D8l1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95559848-1172-4c79-9222-4798564bddc7_2443x1637.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D8l1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95559848-1172-4c79-9222-4798564bddc7_2443x1637.png 424w, https://substackcdn.com/image/fetch/$s_!D8l1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95559848-1172-4c79-9222-4798564bddc7_2443x1637.png 848w, https://substackcdn.com/image/fetch/$s_!D8l1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95559848-1172-4c79-9222-4798564bddc7_2443x1637.png 1272w, https://substackcdn.com/image/fetch/$s_!D8l1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95559848-1172-4c79-9222-4798564bddc7_2443x1637.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D8l1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95559848-1172-4c79-9222-4798564bddc7_2443x1637.png" width="1456" height="976" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95559848-1172-4c79-9222-4798564bddc7_2443x1637.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:976,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:605661,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/189258373?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95559848-1172-4c79-9222-4798564bddc7_2443x1637.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!D8l1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95559848-1172-4c79-9222-4798564bddc7_2443x1637.png 424w, https://substackcdn.com/image/fetch/$s_!D8l1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95559848-1172-4c79-9222-4798564bddc7_2443x1637.png 848w, https://substackcdn.com/image/fetch/$s_!D8l1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95559848-1172-4c79-9222-4798564bddc7_2443x1637.png 1272w, https://substackcdn.com/image/fetch/$s_!D8l1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95559848-1172-4c79-9222-4798564bddc7_2443x1637.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">female character with the flat shading aesthetic</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VFEt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e4af55-ff9d-4ae8-9fa8-b178fbac4da1_1553x1796.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VFEt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e4af55-ff9d-4ae8-9fa8-b178fbac4da1_1553x1796.png 424w, https://substackcdn.com/image/fetch/$s_!VFEt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e4af55-ff9d-4ae8-9fa8-b178fbac4da1_1553x1796.png 848w, https://substackcdn.com/image/fetch/$s_!VFEt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e4af55-ff9d-4ae8-9fa8-b178fbac4da1_1553x1796.png 1272w, https://substackcdn.com/image/fetch/$s_!VFEt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e4af55-ff9d-4ae8-9fa8-b178fbac4da1_1553x1796.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VFEt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e4af55-ff9d-4ae8-9fa8-b178fbac4da1_1553x1796.png" width="1456" height="1684" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82e4af55-ff9d-4ae8-9fa8-b178fbac4da1_1553x1796.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1684,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:282808,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/189258373?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e4af55-ff9d-4ae8-9fa8-b178fbac4da1_1553x1796.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VFEt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e4af55-ff9d-4ae8-9fa8-b178fbac4da1_1553x1796.png 424w, https://substackcdn.com/image/fetch/$s_!VFEt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e4af55-ff9d-4ae8-9fa8-b178fbac4da1_1553x1796.png 848w, https://substackcdn.com/image/fetch/$s_!VFEt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e4af55-ff9d-4ae8-9fa8-b178fbac4da1_1553x1796.png 1272w, https://substackcdn.com/image/fetch/$s_!VFEt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e4af55-ff9d-4ae8-9fa8-b178fbac4da1_1553x1796.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Maya wireframe with default material ready for Advanced Skeleton test</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s5-q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1764c3d2-0c19-47fb-a92a-23862116652f_969x776.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s5-q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1764c3d2-0c19-47fb-a92a-23862116652f_969x776.png 424w, https://substackcdn.com/image/fetch/$s_!s5-q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1764c3d2-0c19-47fb-a92a-23862116652f_969x776.png 848w, https://substackcdn.com/image/fetch/$s_!s5-q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1764c3d2-0c19-47fb-a92a-23862116652f_969x776.png 1272w, https://substackcdn.com/image/fetch/$s_!s5-q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1764c3d2-0c19-47fb-a92a-23862116652f_969x776.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s5-q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1764c3d2-0c19-47fb-a92a-23862116652f_969x776.png" width="969" height="776" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1764c3d2-0c19-47fb-a92a-23862116652f_969x776.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:776,&quot;width&quot;:969,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:675571,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/189258373?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1764c3d2-0c19-47fb-a92a-23862116652f_969x776.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!s5-q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1764c3d2-0c19-47fb-a92a-23862116652f_969x776.png 424w, https://substackcdn.com/image/fetch/$s_!s5-q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1764c3d2-0c19-47fb-a92a-23862116652f_969x776.png 848w, https://substackcdn.com/image/fetch/$s_!s5-q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1764c3d2-0c19-47fb-a92a-23862116652f_969x776.png 1272w, https://substackcdn.com/image/fetch/$s_!s5-q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1764c3d2-0c19-47fb-a92a-23862116652f_969x776.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">underlying geo of the body shape</figcaption></figure></div><h3>Technical Workflow Choices</h3><p>There&#8217;s a few technical reasons for choosing this art style for its simplicity. Flat shading doesn&#8217;t require much, if any, UV work. It doesn&#8217;t require super clean geometry either. With this style, we&#8217;re hoping to eliminate skinning completely. Traditional character rigging through skinning and painting weights takes A LOT of time. Instead, we&#8217;re choosing to parent the geometry directly to the bones or locators.</p><p>This &#8220;Rigid Binding&#8221; will allow us to swap clothing and accessories instantly. We don&#8217;t have to spend days weight painting a new jacket... we can just snap it to the skeleton and move on. We want to lean into character customization, but we need a workflow that allows for rapid iteration.</p><p>To make this work across different characters, we&#8217;re using Advanced Skeleton, which is a very robust auto-rigging tool. It&#8217;s been a minute since I&#8217;ve done rigging... or animation for that matter... so any help I can get is a win.</p><p>If we&#8217;re able to use a one size fits all system, one outfit on a model can fit both male and female characters and rigs. We wouldn&#8217;t have to model variants or custom instances for each character and able to interchange the parts. Even if they have different heights, we can use sockets to handle the placement and scale offsets accordingly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QNaG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QNaG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png 424w, https://substackcdn.com/image/fetch/$s_!QNaG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png 848w, https://substackcdn.com/image/fetch/$s_!QNaG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png 1272w, https://substackcdn.com/image/fetch/$s_!QNaG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QNaG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png" width="1456" height="1154" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1154,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:484476,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/189258373?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QNaG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png 424w, https://substackcdn.com/image/fetch/$s_!QNaG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png 848w, https://substackcdn.com/image/fetch/$s_!QNaG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png 1272w, https://substackcdn.com/image/fetch/$s_!QNaG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F726de0ae-9cde-4097-bd13-025f57ed0bf9_2144x1700.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">clothing and customization variation previz</figcaption></figure></div><p>At the end of the day, I&#8217;m still refining the look of our characters, but the logic of the technical pipeline is feeling solid. I leave you with a very very rough animation taken from some mocap and applied with an Advanced Skeleton rig onto our character! It&#8217;s very on brand! <em><strong>Let me know what you think of all this?!</strong></em></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;17bb8b13-9bc1-47ff-9dd1-ca54dbf6239c&quot;,&quot;duration&quot;:null}"></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around to the end&#8230; catcha on the Flip</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><strong><a href="https://en.wiktionary.org/wiki/decopunk">decopunk</a></strong> - A subset of the <a href="https://en.wiktionary.org/wiki/dieselpunk#English">dieselpunk</a> <a href="https://en.wiktionary.org/wiki/science_fiction#English">science fiction</a> <a href="https://en.wiktionary.org/wiki/genre#English">genre</a> and <a href="https://en.wiktionary.org/wiki/aesthetic#English">aesthetic</a> that incorporates <a href="https://en.wiktionary.org/wiki/Art_Deco#English">Art Deco</a> elements and other aspects of the <a href="https://en.wiktionary.org/wiki/technology#English">technology</a>, <a href="https://en.wiktionary.org/wiki/culture#English">culture</a>, and <a href="https://en.wiktionary.org/wiki/fashion#English">fashion</a> of the <a href="https://en.wiktionary.org/wiki/1920s#English">1920s</a>-<a href="https://en.wiktionary.org/wiki/1930s#English">1930s</a>. </p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Letting Go of Isometric]]></title><description><![CDATA[It was a worthwhile experiment but moving back to 3D simplifies things to keep moving forward.]]></description><link>https://practiceflip.substack.com/p/letting-go-of-isometric</link><guid isPermaLink="false">https://practiceflip.substack.com/p/letting-go-of-isometric</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Thu, 12 Feb 2026 16:57:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b33867ab-25bb-4067-b0d2-92444bfc1417_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Moving onto another prototype this week by converting assets back into 3D. We&#8217;ve decided to abandon the idea of fully pre-rendered because it&#8217;s proving to be more difficult to implement than we initially imagined. In the long run, we foresee it causing more technical issues than it&#8217;s worth and decided it&#8217;s better to pivot now than to lose any more development time with troubleshooting. So, we&#8217;re shifting once again back into a 3D or 2.5D world while keeping that top-down 3/4 view to help simplify things like entering buildings, character occlusion, or just simply casting shadows onto objects. The things I take for granted and what you get for free when everything&#8217;s in full 3D.</p><h3>True Isometric</h3><p>True isometric&#8230; a view with no perspective distortion&#8230; still feels a little weird like something is off. I&#8217;m not quite sure what it is, but maybe because our eyes are use to seeing things in perspective with some parallax. Developers made isometric pre-rendered games in order to simplify the way they authored assets (<a href="https://practiceflip.substack.com/p/a-sidetrack-into-pre-rendered-games?r=5e1y8a">more on that previously</a>) And because assets were perfectly isometric, You were able to place them anywhere on the map and they would still look correct.</p><p>Switching completely into a 3D world simplifies things a bit for us, it also gives us a lot more freedom with implementation and camera. We now have the ability to place any asset anywhere in the world without worrying about any technical limits since most hardware nowadays can handle the geometry. The isometric camera angle now just becomes an aesthetic choice for the look of the game.</p><h3>Camera Choice</h3><p>One huge advantage of making everything in 3D is that now we have the ability to rotate the camera. </p><p>Our previous idea of keeping the world flat in 2.5D made sense to isolate the camera straight on... it made the world feel a little more cinematic and the low camera angle allowed us to showcase the architecture a bit better. We took a lot of inspiration from <em>Bo<a href="https://store.steampowered.com/app/1152340/Book_of_Travels/">ok of Travels</a></em> ... a 2.5D TMORPG (Tiny Multiplayer Online Role Playing Game) that has a very unique art style and camera angle. It feels almost like a side-scroller with its low camera angle but still has so much depth because they allow the player to traverse forwards and backwards in the world.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SP8V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ec762-50fe-499b-991e-5cc210fbaeb2_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SP8V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ec762-50fe-499b-991e-5cc210fbaeb2_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!SP8V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ec762-50fe-499b-991e-5cc210fbaeb2_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!SP8V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ec762-50fe-499b-991e-5cc210fbaeb2_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!SP8V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ec762-50fe-499b-991e-5cc210fbaeb2_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SP8V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ec762-50fe-499b-991e-5cc210fbaeb2_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/412ec762-50fe-499b-991e-5cc210fbaeb2_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:408207,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/187753513?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ec762-50fe-499b-991e-5cc210fbaeb2_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SP8V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ec762-50fe-499b-991e-5cc210fbaeb2_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!SP8V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ec762-50fe-499b-991e-5cc210fbaeb2_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!SP8V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ec762-50fe-499b-991e-5cc210fbaeb2_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!SP8V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ec762-50fe-499b-991e-5cc210fbaeb2_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">screenshot credit @<a href="https://www.mightanddelight.com/">Might and Delight</a></figcaption></figure></div><p>Rotating the camera with a constraint of 90 degrees, and having assets in full 3D is a good thing. We still want to inject some of that 2.5D-ish feel into it by keeping our foliage as flat sprites in order to keep them stylized. It also simplifies and speeds up the way we author foliage assets. The only trick is to keep those assets camera facing during implementation. Rotating the camera also means rotating the sprites ala <em><a href="https://store.steampowered.com/app/219740/Dont_Starve/">Don&#8217;t Starve</a></em></p><h3>Style and Color Palette</h3><p>In our world, we really want to move away from the typical gritty post-apocalyptic vibe. Instead, I&#8217;m leaning into a restoration-forward mood... something that feels more optimistic and supports the gameplay feel we&#8217;re going for.</p><p>We&#8217;re still narrowing down the final art style, but we&#8217;ve focused it on the Art Nouveau and Art Deco time periods. Instead of dark, desaturated tones, I&#8217;m trading those for something more warm, bright and pastel palette. It doesn&#8217;t quite feel Art Deco Nouveau yet, but we&#8217;ll get to that soon. </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;e6b980a6-23d6-43e5-be9b-3e7dc8813428&quot;,&quot;duration&quot;:null}"></div><p>We&#8217;re still not 100% sold on the final look, but we do very much like that 3/4 top-down angle and a flat 2.5D illustrative feel. Its a shift in art look, and the verdict is still out. Things will probably change in the future as solidify more of the game, but the progress does feels good.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around&#8230; Catcha on the Flip...</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[A Sidetrack Into Pre-Rendered Games]]></title><description><![CDATA[I took a quick detour to convert our game into an isometric pre-rendered fakery]]></description><link>https://practiceflip.substack.com/p/a-sidetrack-into-pre-rendered-games</link><guid isPermaLink="false">https://practiceflip.substack.com/p/a-sidetrack-into-pre-rendered-games</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Wed, 04 Feb 2026 23:28:46 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/999de953-905b-4093-b8ca-803239fbd7ae_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I loved the early games of the 90s and 00s which relied heavily on pre-rendering 3D models into high quality 2D sprites. Last week wrote a bit about <a href="https://practiceflip.substack.com/p/2d-game-interiors?r=5e1y8a">2D game interiors</a> and one that stuck in mind was <em>Disco Elysium</em>. I had hop back into that game to appreciate all of the pre-rendered, isometric, hand painted beauty of what those backgrounds gave us.  As I did more research, this idea of making something pre-rendered popped into head&#8230; <em>hey what if we gave that a try?</em></p><h3>Isometric Pre-rendered</h3><p>Isometric projection was originally a clever workaround for hardware that couldn&#8217;t handle 3D. They chose to use isometric to prevent perspective distortions which allowed developers to build massive worlds in a sort of fake 2D perspective. So many good games like <em>Diablo, AOE, Roller Coaster Tycoon</em> to name a few. A lot of games have transitioned into fully 3D because of hardware advancements, but achieving that level of detail at the time in real-time was something both beautiful and magical. Even in modern indie dev, I can see a resurgence in pre-rendered with games like <em>POE, Hades</em>, and of course the earlier mention of <em>Disco Elysium</em>. Nowadays devs are combining both 2D pre-rendered, and 3D assets together, using the best of both worlds to get a unique aesthetic we haven&#8217;t seen before.</p><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Trip Harrison&quot;,&quot;id&quot;:307494120,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f71ec0a6-2fd2-44b0-9323-0d92acf54fc5_1481x1481.png&quot;,&quot;uuid&quot;:&quot;ea2e2635-e7ee-4b72-a6c5-e1f2d51c47bf&quot;}" data-component-name="MentionToDOM"></span> has a great in-depth writeup on <a href="https://substack.com/home/post/p-186855493">The EnduringBeauty of Isometric Artwork</a></p><h3>Here Goes&#8230; Something</h3><p>And so&#8230; without much experience doing anything like this, I ventured off into Blender to model a small scene with a house and some of our flat foliage on 2d cards. Cozy right? This clay render would serve as the basis for the pre-rendered isometric camera angle&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DAMs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35cdd3cf-a31b-486a-b390-d1c45c2d5ece_2048x2048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DAMs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35cdd3cf-a31b-486a-b390-d1c45c2d5ece_2048x2048.png 424w, https://substackcdn.com/image/fetch/$s_!DAMs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35cdd3cf-a31b-486a-b390-d1c45c2d5ece_2048x2048.png 848w, https://substackcdn.com/image/fetch/$s_!DAMs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35cdd3cf-a31b-486a-b390-d1c45c2d5ece_2048x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!DAMs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35cdd3cf-a31b-486a-b390-d1c45c2d5ece_2048x2048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DAMs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35cdd3cf-a31b-486a-b390-d1c45c2d5ece_2048x2048.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35cdd3cf-a31b-486a-b390-d1c45c2d5ece_2048x2048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3156662,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/186105432?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35cdd3cf-a31b-486a-b390-d1c45c2d5ece_2048x2048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DAMs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35cdd3cf-a31b-486a-b390-d1c45c2d5ece_2048x2048.png 424w, https://substackcdn.com/image/fetch/$s_!DAMs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35cdd3cf-a31b-486a-b390-d1c45c2d5ece_2048x2048.png 848w, https://substackcdn.com/image/fetch/$s_!DAMs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35cdd3cf-a31b-486a-b390-d1c45c2d5ece_2048x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!DAMs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35cdd3cf-a31b-486a-b390-d1c45c2d5ece_2048x2048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I probably could have stopped here and brought this into Unity to complete the test, but wanted to take another quick detour into Midjourney&#8230;</p><blockquote><p><em>(I know, I know&#8230; AI for art&#8230; blasphemy!! Unsubscribe now! As this is only a proof of concept prototype and none of this will be used for the final art or final game, I don&#8217;t see any harm done here&#8230; Resubscribe please. Side note, I do think this one way AI image generation could be used fairly. Using it for conceptual iteration, or reference, or to just spark some ideas has its place&#8230; BUT not for final art. Also if I had AI do all the work for me, what&#8217;s the fun in making art in the first place right!? )</em></p></blockquote><p>I diverge, continuing on&#8230; Midjourney Retexture was used on the 3D render from Blender to create the image below. It&#8217;s not exactly what we envision for the look and style of the final game, but it has some of the right feels. So after lots and lots, and lots, I mean lots of random rolls and re-rolls, we get this&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P4QY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a69fa3-84f1-4d0f-9fd0-44a4725bb64d_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P4QY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a69fa3-84f1-4d0f-9fd0-44a4725bb64d_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!P4QY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a69fa3-84f1-4d0f-9fd0-44a4725bb64d_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!P4QY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a69fa3-84f1-4d0f-9fd0-44a4725bb64d_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!P4QY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a69fa3-84f1-4d0f-9fd0-44a4725bb64d_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P4QY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a69fa3-84f1-4d0f-9fd0-44a4725bb64d_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99a69fa3-84f1-4d0f-9fd0-44a4725bb64d_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1153652,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/186105432?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a69fa3-84f1-4d0f-9fd0-44a4725bb64d_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!P4QY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a69fa3-84f1-4d0f-9fd0-44a4725bb64d_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!P4QY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a69fa3-84f1-4d0f-9fd0-44a4725bb64d_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!P4QY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a69fa3-84f1-4d0f-9fd0-44a4725bb64d_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!P4QY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99a69fa3-84f1-4d0f-9fd0-44a4725bb64d_1024x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>With all of the AI fudgyness and melty globs and gloops, it&#8217;s somewhat descent <em>(again this is where you can see AI failing to as final art)</em>. Ideally I&#8217;d paint this pre-rendered image, or texture the model in 3D just how we&#8217;d want it, but a MJ generation will have to do for now. Now&#8230; into Unity we go and a proof of concept was born. Add an invisible shadow catcher plane and you&#8217;re good to go right&#8230; not so fast&#8230; </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;9bf78fea-e421-4b1f-851d-832a0664b165&quot;,&quot;duration&quot;:null}"></div><p>The character was walking around and it works! I was surprised at how convincing the results were but it still wasn&#8217;t quite right as you can see from the video above. Since I already had a 3D block out model of the house, I brought that in as another invisible mesh to catch the shadow on the walls and also use as collision to block the player&#8230;</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;882b7eea-2648-49fe-b3ca-c341483925ae&quot;,&quot;duration&quot;:null}"></div><p>It worked!&#8230; kinda. There is double shadow (on the floor and on the house wall) and still no ability to occlude the character behind the building, no way to interact with the plants, no way to go inside. This was tougher than I initially imagined. Once I turn on the invisible mesh, all you have is a floating plane, perfectly aligned to the isometric camera to make you think this is a high resolution 3D scene. It&#8217;s still all a FAKE! </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;7d7404ba-4819-44ae-b8d5-981d8e0d9ca3&quot;,&quot;duration&quot;:null}"></div><h3>Successful Fail</h3><p>The initial setup was pretty straight forward, but after a couple of days of troubleshooting, debugging and trying to sort things out, I realized this was going to be more of a hurdle for the game. It probably wouldn&#8217;t save us more time and in the end would probably cause us more problems and challenges.</p><p>As an experiment, it was a successful prototype and proof of concept with a lot of technical hurdles to overcome. At least now, I know we&#8217;ll probably won&#8217;t be going this method even though it opens the potential for some really unique art styles and beautiful art without any performance limitations. </p><p>I have a new found respect for the games who ended up re-rendering their game, and a bigger respect for the devs who spent time painting, integrating and making it work! </p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around&#8230; catcha on the Flip&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[2D Game Interiors]]></title><description><![CDATA[Researching how other games do interiors]]></description><link>https://practiceflip.substack.com/p/2d-game-interiors</link><guid isPermaLink="false">https://practiceflip.substack.com/p/2d-game-interiors</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Fri, 30 Jan 2026 17:56:37 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0d46caf5-0622-471c-8d8f-0b10e11805da_1300x738.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This week has been a week of playing and replaying&#8230; I mean researching&#8230; some of the 2D games that have inspired me for this project. There are a lot of 2D and 2.5D games that handle interiors very well. I want to specifically look at a few case studies to see if we can draw from their implementation to influence how we want to handle our interior space. </p><h3>Case Study Inspiration</h3><ul><li><p><em><strong><a href="https://store.steampowered.com/app/632470/Disco_Elysium__The_Final_Cut/">Disco Elysium</a></strong></em><strong> -</strong> Probably one of my favorite games visually. I love how they isolate the interior and just black out everything else. It forces you to focus on the space you&#8217;re in and brings the immersion up a notch.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i6fW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3098d414-a307-4d0e-b552-6a44860bab39_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i6fW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3098d414-a307-4d0e-b552-6a44860bab39_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!i6fW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3098d414-a307-4d0e-b552-6a44860bab39_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!i6fW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3098d414-a307-4d0e-b552-6a44860bab39_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!i6fW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3098d414-a307-4d0e-b552-6a44860bab39_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i6fW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3098d414-a307-4d0e-b552-6a44860bab39_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3098d414-a307-4d0e-b552-6a44860bab39_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1015070,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/185188436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3098d414-a307-4d0e-b552-6a44860bab39_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!i6fW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3098d414-a307-4d0e-b552-6a44860bab39_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!i6fW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3098d414-a307-4d0e-b552-6a44860bab39_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!i6fW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3098d414-a307-4d0e-b552-6a44860bab39_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!i6fW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3098d414-a307-4d0e-b552-6a44860bab39_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p></li><li><p><em><strong><a href="https://store.steampowered.com/app/1313140/Cult_of_the_Lamb/">Cult of the Lamb</a></strong></em><strong> -</strong> They do a similar approach for their procedural forest areas as well as their interiors. In the case of the Temple, you can get a bigger feel of what that interior is than what its represented at your base.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_734!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d3e139b-f0cf-4683-9bfa-a48a670bfaab_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_734!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d3e139b-f0cf-4683-9bfa-a48a670bfaab_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!_734!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d3e139b-f0cf-4683-9bfa-a48a670bfaab_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!_734!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d3e139b-f0cf-4683-9bfa-a48a670bfaab_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!_734!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d3e139b-f0cf-4683-9bfa-a48a670bfaab_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_734!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d3e139b-f0cf-4683-9bfa-a48a670bfaab_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d3e139b-f0cf-4683-9bfa-a48a670bfaab_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2110092,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/185188436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d3e139b-f0cf-4683-9bfa-a48a670bfaab_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_734!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d3e139b-f0cf-4683-9bfa-a48a670bfaab_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!_734!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d3e139b-f0cf-4683-9bfa-a48a670bfaab_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!_734!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d3e139b-f0cf-4683-9bfa-a48a670bfaab_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!_734!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d3e139b-f0cf-4683-9bfa-a48a670bfaab_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p></li><li><p><em><strong><a href="https://store.steampowered.com/app/3710210/Mandrake/">Mandrake</a></strong></em><strong> -</strong> This one isn&#8217;t out yet, but their Ghibli-inspired, hand-painted style is just beautiful.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2IQz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdacd1-9899-45a3-9f29-2e40434ec455_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2IQz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdacd1-9899-45a3-9f29-2e40434ec455_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!2IQz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdacd1-9899-45a3-9f29-2e40434ec455_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!2IQz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdacd1-9899-45a3-9f29-2e40434ec455_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!2IQz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdacd1-9899-45a3-9f29-2e40434ec455_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2IQz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdacd1-9899-45a3-9f29-2e40434ec455_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1bdacd1-9899-45a3-9f29-2e40434ec455_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2245280,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/185188436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdacd1-9899-45a3-9f29-2e40434ec455_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2IQz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdacd1-9899-45a3-9f29-2e40434ec455_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!2IQz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdacd1-9899-45a3-9f29-2e40434ec455_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!2IQz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdacd1-9899-45a3-9f29-2e40434ec455_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!2IQz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdacd1-9899-45a3-9f29-2e40434ec455_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>They seem to vary up the camera angle depending on which interior you&#8217;re entering. You have a top down, straight on overhead view (above), familiar to the likes of Stardew Valley. And You have a 3/4 isometric view (below), similar to a lot of early pre-rendered RPGs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JEbr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a48f51-2a9b-4d2f-9bec-af00b4aafb0a_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JEbr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a48f51-2a9b-4d2f-9bec-af00b4aafb0a_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!JEbr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a48f51-2a9b-4d2f-9bec-af00b4aafb0a_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!JEbr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a48f51-2a9b-4d2f-9bec-af00b4aafb0a_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!JEbr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a48f51-2a9b-4d2f-9bec-af00b4aafb0a_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JEbr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a48f51-2a9b-4d2f-9bec-af00b4aafb0a_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71a48f51-2a9b-4d2f-9bec-af00b4aafb0a_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1757565,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/185188436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a48f51-2a9b-4d2f-9bec-af00b4aafb0a_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JEbr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a48f51-2a9b-4d2f-9bec-af00b4aafb0a_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!JEbr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a48f51-2a9b-4d2f-9bec-af00b4aafb0a_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!JEbr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a48f51-2a9b-4d2f-9bec-af00b4aafb0a_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!JEbr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71a48f51-2a9b-4d2f-9bec-af00b4aafb0a_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p></li><li><p><em><strong><a href="https://store.steampowered.com/app/1706510/Songs_of_Glimmerwick/">Songs of Glimmerwick</a></strong></em><strong> -</strong> Lastly, we have the team at Eastshade who has gone in-depth on how they achieved their illustrative 2D look on their <a href="https://www.youtube.com/watch?v=JPQ2NVwm1Xk">dev videos and streams</a>. They put a huge emphasis on world-building, and you can really see it in how the interiors feel like a natural extension of the art.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k7i8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89eb8e11-f0db-4bfa-b362-88aa354cfbd1_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k7i8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89eb8e11-f0db-4bfa-b362-88aa354cfbd1_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!k7i8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89eb8e11-f0db-4bfa-b362-88aa354cfbd1_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!k7i8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89eb8e11-f0db-4bfa-b362-88aa354cfbd1_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!k7i8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89eb8e11-f0db-4bfa-b362-88aa354cfbd1_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k7i8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89eb8e11-f0db-4bfa-b362-88aa354cfbd1_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89eb8e11-f0db-4bfa-b362-88aa354cfbd1_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1291245,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/185188436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89eb8e11-f0db-4bfa-b362-88aa354cfbd1_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!k7i8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89eb8e11-f0db-4bfa-b362-88aa354cfbd1_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!k7i8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89eb8e11-f0db-4bfa-b362-88aa354cfbd1_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!k7i8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89eb8e11-f0db-4bfa-b362-88aa354cfbd1_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!k7i8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89eb8e11-f0db-4bfa-b362-88aa354cfbd1_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div></li></ul><h3>1:1 Experiment</h3><p>The examples above all have one thing in common... they pull focus to the interiors by blacking out the rest of the world. And they use a scene transition when you walk inside&#8230; that is there&#8217;s a cut from the exterior, and a load to the interior.  This gives the dev&#8217;s more real estate to work with&#8230; especially in the case of Cult of the Lamb. You can have your exterior building be represented in smaller scale, making the outer world feel bigger. When you transition into the inside, you can make this a larger scale, making the interior feel bigger. You get the best of both worlds.</p><p>For our project, we wanted to try something different. We wanted to see if we could make a 1:1 transition... where the size of the building on the outside matches exactly when you walk inside. As a proof of concept, the prototype actually works&#8230; but I&#8217;m starting to think we might need to try the other methods too. </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;10846501-126d-40ae-a9e0-3d6cea4b9c49&quot;,&quot;duration&quot;:null}"></div><p>Thinking back on when we made the Talos I Space Station for <em><a href="https://store.steampowered.com/app/480490/Prey/">Prey</a></em>, it was a pretty ambitious design to keep the environment 1:1. I&#8217;m not sure if folks knew that because of the loading screens between transitions. That would meanYou could travel from the Arboretum all the way down to Cargo Bay if you wanted to. But it would take you a hell of a lot longer than waiting for a loding screen. You would feel like you&#8217;ve traveled the distance. Now that&#8217;s immersive sim&#8230; amirite</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cSSi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ba434f-ee49-4ebf-95e0-bfcea0e51001_1364x1341.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cSSi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ba434f-ee49-4ebf-95e0-bfcea0e51001_1364x1341.png 424w, https://substackcdn.com/image/fetch/$s_!cSSi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ba434f-ee49-4ebf-95e0-bfcea0e51001_1364x1341.png 848w, https://substackcdn.com/image/fetch/$s_!cSSi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ba434f-ee49-4ebf-95e0-bfcea0e51001_1364x1341.png 1272w, https://substackcdn.com/image/fetch/$s_!cSSi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ba434f-ee49-4ebf-95e0-bfcea0e51001_1364x1341.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cSSi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ba434f-ee49-4ebf-95e0-bfcea0e51001_1364x1341.png" width="1364" height="1341" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85ba434f-ee49-4ebf-95e0-bfcea0e51001_1364x1341.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1341,&quot;width&quot;:1364,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Prey Talos I Station Exterior Map : r/prey&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Prey Talos I Station Exterior Map : r/prey" title="Prey Talos I Station Exterior Map : r/prey" srcset="https://substackcdn.com/image/fetch/$s_!cSSi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ba434f-ee49-4ebf-95e0-bfcea0e51001_1364x1341.png 424w, https://substackcdn.com/image/fetch/$s_!cSSi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ba434f-ee49-4ebf-95e0-bfcea0e51001_1364x1341.png 848w, https://substackcdn.com/image/fetch/$s_!cSSi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ba434f-ee49-4ebf-95e0-bfcea0e51001_1364x1341.png 1272w, https://substackcdn.com/image/fetch/$s_!cSSi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85ba434f-ee49-4ebf-95e0-bfcea0e51001_1364x1341.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There&#8217;s probably a good reason why a lot of games chose to do scene transitions instead of 1:1 representations, and that&#8217;s probably something we need to prototype and experiment with also. I&#8217;m not sure if the camera angle works, but revisiting all of these games has also gotten me rethinking our camera view too though. I really do love that isometric 3/4 view. It reminds me of the days of pre-rendered, isometric cameras of days past. I&#8217;ll look into it&#8230;</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around. Catcha on the Flip&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Consistency or Subtraction]]></title><description><![CDATA[Trying to balance focus, grit, and momentum without letting go of everything else]]></description><link>https://practiceflip.substack.com/p/consistency-or-the-subtraction-struggle</link><guid isPermaLink="false">https://practiceflip.substack.com/p/consistency-or-the-subtraction-struggle</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Fri, 16 Jan 2026 17:44:11 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a9166d60-ad73-43a7-ab6e-4b16dd4daaff_1456x1048.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Choosing what to remove or what to prioritize is a daily challenge for me. Like things we <em>should</em> be doing, and things we <em>want</em> and <em>need</em> to be doing. For me&#8230; a lot of those things all really feel like a <em>need</em> to do because they add to the overall goal.</p><p>The beginning of the new year brings many changes and reflections. We tend to adding things, track new habits, integrate new routines. But I&#8217;ve been thinking about the book <em>Grit</em> and the idea of taking things away instead. I&#8217;ve talked about <a href="https://practiceflip.substack.com/p/side-projects-delete?r=5e1y8a">deleting side projects</a> before, but this is more about the short list&#8230; <em>after</em> you&#8217;ve curated your priorities and aligned them to your project and goals. Here&#8217;s a timestamp about goal setting and time in an older interview from Angela Duckworth</p><div id="youtube2-BVvt2r408cs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;BVvt2r408cs&quot;,&quot;startTime&quot;:&quot;2104&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/BVvt2r408cs?start=2104&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><em><strong>So, How exactly do we remove more from the list without feeling guilty like we&#8217;re abandoning it completely?</strong></em></p><p>I know in the back of my mind it&#8217;s not abandoning it, it&#8217;s a matter of order of operations. But the dilemma I fall into is how to manage all the projects that seem to all be a priority, and that all contribute to that primary goal. So, looking at my list through that lens&#8230;</p><h3>My Short List:</h3><ul><li><p><strong>Indie Game Dev</strong> - That&#8217;s the primary goal.</p></li><li><p><strong><a href="https://practiceflip.substack.com/">Practice Flip Substack</a> </strong>- Here, where I talk about the game for accountability and some other random thoughts on development, practice, and art.</p></li><li><p><strong><a href="https://www.youtube.com/@practiceflip">Practice Flip YouTube</a></strong> - Mostly real time practice sketches for now, but eventually the home for dev logs and behind the scenes.</p></li><li><p><strong>Social</strong> - Platforms like <a href="http://itsmephi.bsky.social">Bluesky</a> and TikTok (<em>not on yet&#8230; cause I&#8217;m scared of it</em>). They  seem necessary these days for discovery and finding people who are interested in what you do.</p></li></ul><p>You could say a lot of these aren&#8217;t the main priority and it&#8217;s ok to remove them... for now. &#8220;not deleted, just not right now&#8221; is something I believe in and use a lot to help prioritize. I could probably stop dedicating time to some of these and it&#8217;ll be... OK.</p><p>But one thing I return to is that a lot of these take time to cook. It needs some time to simmer out on the internet because it&#8217;s a slow burn to build interest. It&#8217;s a slow burn for finding the right people interested in your stuff. Unless your post goes viral, most of us are riding that slow, long linear curve for quite some time before the exponential curve takes off.</p><h3>The Math in My Mind</h3><p>If I go the full focus route, the logic is easy. I spend every second on the game, and I reach the finish line way sooner. When I finally look up and get ready to shout the game to the world&#8230; there&#8217;s nobody there. You risk an unsuccessful launch or adding years to the tail because now we have time to focus on community building.</p><p>On the other hand, doing it all at the same time you risk burnout, stress, and not giving enough attention to the things that matter most. It&#8217;s that multitasking thing where you do all the things&#8230; you split your focus, and then you end up not doing anything all that great.</p><p>All this to say, it sure does feel like I should focus on all these things, but also feel like I can&#8217;t dedicate enough time to it to make it valuable. Setting it aside feels like you&#8217;ve failed, given up on the work you&#8217;ve put in and the promises you&#8217;ve made to keep up with it for the long term. Like posting here on Substack every week. Or posting a video on YT consistently. I need to feed that algo consistency so it doesn&#8217;t get mad at me when its AI takes over the world.</p><h3>Onward!</h3><p>So far I&#8217;m keeping up OK. But I do see it possibly being a problem later. My case is not unique, I&#8217;m sure many of you are doing the same thing and finding time where you can to make this all work out in the end. Things might change, things might not. I still haven&#8217;t figured it out yet, and this is just my way of working through it. For now&#8230; keeping on, keeping on. Current progress and peek on the game for next week&#8217;s post&#8230; interior/exterior transitions</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;81510bdc-b722-43fc-9fb5-f1e63cc30482&quot;,&quot;duration&quot;:null}"></div><p>hmm&#8230; maybe I&#8217;m just overthinking this whole process&#8230; ooooor&#8230; if only there was a way to not sleep&#8230;j/k</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around. Catcha on the Flip&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Ghosting Me]]></title><description><![CDATA[Occlusion Highlighting is a thing in games, I just didn't know it was called that or how to implement it.]]></description><link>https://practiceflip.substack.com/p/ghosting-me</link><guid isPermaLink="false">https://practiceflip.substack.com/p/ghosting-me</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Fri, 09 Jan 2026 04:12:36 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a5cdf6c5-9fdc-4dc4-9ab8-982c2021db51_732x456.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Happy New Year&#8217;s Ya&#8217;ll! </p><p>Continued work this week with something called Occlusion Highlighting. It&#8217;s when the player walks behind something and gets obstructed by it&#8230; eg. occluded by it. I&#8217;ve never actually implemented occlusion highlighting, or even knew it was called that before this&#8230; so this was an interesting challenge to take on.</p><h3>Dither</h3><p>Transparency is a performance killer. It&#8217;s one of those things that seems simple until you see your frame rate tank. The alternative is the Dither<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> node. It creates that tiny checkerboard pattern&#8230; think old-school bitmap graphics on a monochrome monitor&#8230;to fake transparency while keeping the object opaque. Unity&#8217;s Shader Graph does most of the heavy lifting here because it has a built in node for this. I just had to clean up the screen position logic to make the opacity parameter feel more intuitive.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B3As!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32820389-0d46-4b42-bb9d-735060617f1b_2049x964.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B3As!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32820389-0d46-4b42-bb9d-735060617f1b_2049x964.png 424w, https://substackcdn.com/image/fetch/$s_!B3As!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32820389-0d46-4b42-bb9d-735060617f1b_2049x964.png 848w, https://substackcdn.com/image/fetch/$s_!B3As!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32820389-0d46-4b42-bb9d-735060617f1b_2049x964.png 1272w, https://substackcdn.com/image/fetch/$s_!B3As!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32820389-0d46-4b42-bb9d-735060617f1b_2049x964.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B3As!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32820389-0d46-4b42-bb9d-735060617f1b_2049x964.png" width="1456" height="685" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/32820389-0d46-4b42-bb9d-735060617f1b_2049x964.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:685,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:195037,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/183967696?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32820389-0d46-4b42-bb9d-735060617f1b_2049x964.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!B3As!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32820389-0d46-4b42-bb9d-735060617f1b_2049x964.png 424w, https://substackcdn.com/image/fetch/$s_!B3As!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32820389-0d46-4b42-bb9d-735060617f1b_2049x964.png 848w, https://substackcdn.com/image/fetch/$s_!B3As!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32820389-0d46-4b42-bb9d-735060617f1b_2049x964.png 1272w, https://substackcdn.com/image/fetch/$s_!B3As!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32820389-0d46-4b42-bb9d-735060617f1b_2049x964.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>GPU Render Passes</h3><p>This was the part that felt like game dev is really hard&#8230; just real hard to understand and way above my usual pay grade. So what is it? I had to look it up as well. It&#8217;s essentially the order of operations for how things get pushed to the GPU. I set up a specific Occluded Pass in the Unity Render Asset to tell the game&#8230; <em>Hey, if the player is behind a wall, draw them using that dither shader on top of everything else.</em> At first this was such a mind-bend to get my head around, but when it worked, I finally understood what all those smart game engineers were talking about. </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;c910739f-cc35-4576-b8dd-7eced2a39ccc&quot;,&quot;duration&quot;:null}"></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zVrG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ea7fef-bf0b-40bf-96d1-cf2924411e66_889x880.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zVrG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ea7fef-bf0b-40bf-96d1-cf2924411e66_889x880.png 424w, https://substackcdn.com/image/fetch/$s_!zVrG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ea7fef-bf0b-40bf-96d1-cf2924411e66_889x880.png 848w, https://substackcdn.com/image/fetch/$s_!zVrG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ea7fef-bf0b-40bf-96d1-cf2924411e66_889x880.png 1272w, https://substackcdn.com/image/fetch/$s_!zVrG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ea7fef-bf0b-40bf-96d1-cf2924411e66_889x880.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zVrG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ea7fef-bf0b-40bf-96d1-cf2924411e66_889x880.png" width="889" height="880" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34ea7fef-bf0b-40bf-96d1-cf2924411e66_889x880.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:880,&quot;width&quot;:889,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:89397,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/183967696?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ea7fef-bf0b-40bf-96d1-cf2924411e66_889x880.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zVrG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ea7fef-bf0b-40bf-96d1-cf2924411e66_889x880.png 424w, https://substackcdn.com/image/fetch/$s_!zVrG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ea7fef-bf0b-40bf-96d1-cf2924411e66_889x880.png 848w, https://substackcdn.com/image/fetch/$s_!zVrG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ea7fef-bf0b-40bf-96d1-cf2924411e66_889x880.png 1272w, https://substackcdn.com/image/fetch/$s_!zVrG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ea7fef-bf0b-40bf-96d1-cf2924411e66_889x880.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">a Player Occluded Render Pass with the material set to Dither and the Compare Function checks if the player is occluded or not</figcaption></figure></div><h3>The Player Occlusion Mask</h3><p>Another option for player occlusion is doing the opposite. Instead of masking out the player, you mask out the material of the occluding volume, in this case we&#8217;d mask out the building that is blocking the player. All of this can be done through the shader by basically using the player position to create a bubble around the player. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tc1u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6bcd23-f5aa-4e92-abe6-3e980f78aab8_2169x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tc1u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6bcd23-f5aa-4e92-abe6-3e980f78aab8_2169x742.png 424w, https://substackcdn.com/image/fetch/$s_!tc1u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6bcd23-f5aa-4e92-abe6-3e980f78aab8_2169x742.png 848w, https://substackcdn.com/image/fetch/$s_!tc1u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6bcd23-f5aa-4e92-abe6-3e980f78aab8_2169x742.png 1272w, https://substackcdn.com/image/fetch/$s_!tc1u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6bcd23-f5aa-4e92-abe6-3e980f78aab8_2169x742.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tc1u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6bcd23-f5aa-4e92-abe6-3e980f78aab8_2169x742.png" width="1456" height="498" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e6bcd23-f5aa-4e92-abe6-3e980f78aab8_2169x742.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:498,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:163539,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/183967696?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6bcd23-f5aa-4e92-abe6-3e980f78aab8_2169x742.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tc1u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6bcd23-f5aa-4e92-abe6-3e980f78aab8_2169x742.png 424w, https://substackcdn.com/image/fetch/$s_!tc1u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6bcd23-f5aa-4e92-abe6-3e980f78aab8_2169x742.png 848w, https://substackcdn.com/image/fetch/$s_!tc1u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6bcd23-f5aa-4e92-abe6-3e980f78aab8_2169x742.png 1272w, https://substackcdn.com/image/fetch/$s_!tc1u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e6bcd23-f5aa-4e92-abe6-3e980f78aab8_2169x742.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;cf4b5d0a-078c-4bfb-8999-17e0aaf1fffb&quot;,&quot;duration&quot;:null}"></div><h3>The Camera Proximity Mask</h3><p>The camera mask is similar to the player mask except instead of the player, we find the distance the object is to camera. This handles those moments where a wall or a tree gets too close to the camera lens and fills the whole screen. The objects themselves sense how close they are to the camera and dither out automatically through the shader.</p><p>This one didn&#8217;t work out too well in my opinion and needs a little bit more tweaking to get the right effect. I think I might just try to put a simple fade out on the building structures as it nears the camera to keep it simple.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oGbw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279e2070-ac82-4554-b3f6-dfbf7810ca69_2150x874.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oGbw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279e2070-ac82-4554-b3f6-dfbf7810ca69_2150x874.png 424w, https://substackcdn.com/image/fetch/$s_!oGbw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279e2070-ac82-4554-b3f6-dfbf7810ca69_2150x874.png 848w, https://substackcdn.com/image/fetch/$s_!oGbw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279e2070-ac82-4554-b3f6-dfbf7810ca69_2150x874.png 1272w, https://substackcdn.com/image/fetch/$s_!oGbw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279e2070-ac82-4554-b3f6-dfbf7810ca69_2150x874.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oGbw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279e2070-ac82-4554-b3f6-dfbf7810ca69_2150x874.png" width="1456" height="592" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/279e2070-ac82-4554-b3f6-dfbf7810ca69_2150x874.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:592,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:175651,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/183967696?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279e2070-ac82-4554-b3f6-dfbf7810ca69_2150x874.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oGbw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279e2070-ac82-4554-b3f6-dfbf7810ca69_2150x874.png 424w, https://substackcdn.com/image/fetch/$s_!oGbw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279e2070-ac82-4554-b3f6-dfbf7810ca69_2150x874.png 848w, https://substackcdn.com/image/fetch/$s_!oGbw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279e2070-ac82-4554-b3f6-dfbf7810ca69_2150x874.png 1272w, https://substackcdn.com/image/fetch/$s_!oGbw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279e2070-ac82-4554-b3f6-dfbf7810ca69_2150x874.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;9f33eb71-eb26-46b2-ba0a-c34540a422fa&quot;,&quot;duration&quot;:null}"></div><h3>It works-ish&#8230; moving on</h3><p>My mantra of early stage game dev. Okay&#8230; I&#8217;m not sure which solution is better, or if this will be a solution down the road. It solves the problem temporarily so that we can move on. </p><p><em><strong>Let me know if you have any ideas on better solutions to this problem.</strong></em></p><p>I think I&#8217;m stalling on the core gameplay mechanic and need to get that going next. It&#8217;s definitely easier for me to fix a shader than to sit down and write the whole game design doc&#8230; but I guess I can&#8217;t hide behind the walls forever (<em>sorry&#8230; dad joke</em>)</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around&#8230; catcha on the Flip!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://en.wikipedia.org/wiki/Dither">Dither - Wikipedia</a></p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Being Productively Lazy]]></title><description><![CDATA[My New Year&#8217;s resolution... to stop doing things the hard way and automate the boring stuff]]></description><link>https://practiceflip.substack.com/p/being-productively-lazy</link><guid isPermaLink="false">https://practiceflip.substack.com/p/being-productively-lazy</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Wed, 31 Dec 2025 16:02:47 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/eb003581-d925-42aa-87ef-8d0e6d180b8c_1135x633.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m constantly looking for ways to cut corners, shave off some development time, or do things easier. Or maybe I&#8217;m just being lazy. I&#8217;ve always been interested in procedural content generation (PCG) for art. It very much leans into this idea of working smarter not harder. Having parameters control the outcome, and flexible enough to modify without being destructive. Basically, it&#8217;s when you give a computer a set of rules to create things on its own, rather than having a human build every single piece by hand&#8230; and no not the AI kind of creation.</p><p>For those of you who are new to proceduralism, this <a href="https://practiceflip.substack.com/p/flipping-fishy-looking-cover">isn&#8217;t the first time</a> I&#8217;ve delved into this topic. But nothing a GDC talk can&#8217;t fix to learn more about unfamiliar topics. Here&#8217;s one from quite a bit ago&#8230;</p><div id="youtube2-WumyfLEa6bU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;WumyfLEa6bU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/WumyfLEa6bU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>Procedural Foliage Placement</h3><p>Foliage placement and landscape scattering are probably the more common applications of proceduralism. The organic nature, randomness, and sheer massive volume of entitles to create such a thing lends itself  perfectly to be created in a more systematic way.</p><p>I mean&#8230; it only took me a grand total of <em>one time</em> to realize I didn&#8217;t want to spend more time placing sprite foliage all over the world. I knew I needed to take some time to come up with a better plan&#8230; a procedural plan, but hesitant on investing the time. Going procedural isn&#8217;t always the easiest, or even a requirement this early on, but it can add a lot of variability in the level, give unique playthroughs and replay value in the long run.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;845dfc53-84e5-42f6-961e-1ceddd2ab28c&quot;,&quot;duration&quot;:null}"></div><p>So last week was dedicated to working on a prototype of this type of foliage generator script. At the end of it all, it took a minute to debug, but came out quite smoothly the way I envisioned. All that&#8217;s left to do is load up the foliage prefabs, add collision boxes for where you want it to &#8220;grow&#8217; and where you don&#8217;t, then hit Generate! It was a magical &#8220;make art&#8221; button when it came together.</p><p> It still could probably use a little more tuning and work, but this has already saved a lot of time from the manual hand placing assets.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7UXl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60978619-4560-4aed-b358-628cd60e47a9_432x798.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7UXl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60978619-4560-4aed-b358-628cd60e47a9_432x798.png 424w, https://substackcdn.com/image/fetch/$s_!7UXl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60978619-4560-4aed-b358-628cd60e47a9_432x798.png 848w, https://substackcdn.com/image/fetch/$s_!7UXl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60978619-4560-4aed-b358-628cd60e47a9_432x798.png 1272w, https://substackcdn.com/image/fetch/$s_!7UXl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60978619-4560-4aed-b358-628cd60e47a9_432x798.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7UXl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60978619-4560-4aed-b358-628cd60e47a9_432x798.png" width="432" height="798" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60978619-4560-4aed-b358-628cd60e47a9_432x798.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:798,&quot;width&quot;:432,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:126291,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/183006804?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60978619-4560-4aed-b358-628cd60e47a9_432x798.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7UXl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60978619-4560-4aed-b358-628cd60e47a9_432x798.png 424w, https://substackcdn.com/image/fetch/$s_!7UXl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60978619-4560-4aed-b358-628cd60e47a9_432x798.png 848w, https://substackcdn.com/image/fetch/$s_!7UXl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60978619-4560-4aed-b358-628cd60e47a9_432x798.png 1272w, https://substackcdn.com/image/fetch/$s_!7UXl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60978619-4560-4aed-b358-628cd60e47a9_432x798.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7UjR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73c4305a-bb26-4f16-8aea-83e851f36bbd_1713x888.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7UjR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73c4305a-bb26-4f16-8aea-83e851f36bbd_1713x888.png 424w, https://substackcdn.com/image/fetch/$s_!7UjR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73c4305a-bb26-4f16-8aea-83e851f36bbd_1713x888.png 848w, https://substackcdn.com/image/fetch/$s_!7UjR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73c4305a-bb26-4f16-8aea-83e851f36bbd_1713x888.png 1272w, https://substackcdn.com/image/fetch/$s_!7UjR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73c4305a-bb26-4f16-8aea-83e851f36bbd_1713x888.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7UjR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73c4305a-bb26-4f16-8aea-83e851f36bbd_1713x888.png" width="1456" height="755" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73c4305a-bb26-4f16-8aea-83e851f36bbd_1713x888.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:755,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:881592,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/183006804?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73c4305a-bb26-4f16-8aea-83e851f36bbd_1713x888.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7UjR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73c4305a-bb26-4f16-8aea-83e851f36bbd_1713x888.png 424w, https://substackcdn.com/image/fetch/$s_!7UjR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73c4305a-bb26-4f16-8aea-83e851f36bbd_1713x888.png 848w, https://substackcdn.com/image/fetch/$s_!7UjR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73c4305a-bb26-4f16-8aea-83e851f36bbd_1713x888.png 1272w, https://substackcdn.com/image/fetch/$s_!7UjR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73c4305a-bb26-4f16-8aea-83e851f36bbd_1713x888.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The script ended up being a bit more robust than I expected. Here&#8217;s the breakdown of how I&#8217;m actually controlling the chaos&#8230;</p><ul><li><p><em><strong>Inclusion / Exclusion Volumes</strong></em> - using collision boxes as zones for placement of foliage and areas we don&#8217;t want any foliage at all, for example on a paved path. </p></li><li><p><em><strong>Automatic Building Exclusion</strong></em> - houses, and building structures will automatically be flagged as a &#8220;no grow&#8221; zone from being on its own layer in Unity. </p></li><li><p><em><strong>Random Seed Memory</strong></em> - ability to save random seed is important for debugging but also to save certain placement layouts or random colors if the roll was particularly favorable.</p></li><li><p><em><strong>Art Direct</strong></em> - parameters such as density, number of clumps, spread, spacing, radius etc. can all be tuned to give some finer control.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2cJH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9674cbc2-526f-45e3-bccc-9089f0aac431_430x489.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2cJH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9674cbc2-526f-45e3-bccc-9089f0aac431_430x489.png 424w, https://substackcdn.com/image/fetch/$s_!2cJH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9674cbc2-526f-45e3-bccc-9089f0aac431_430x489.png 848w, https://substackcdn.com/image/fetch/$s_!2cJH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9674cbc2-526f-45e3-bccc-9089f0aac431_430x489.png 1272w, https://substackcdn.com/image/fetch/$s_!2cJH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9674cbc2-526f-45e3-bccc-9089f0aac431_430x489.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2cJH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9674cbc2-526f-45e3-bccc-9089f0aac431_430x489.png" width="430" height="489" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9674cbc2-526f-45e3-bccc-9089f0aac431_430x489.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:489,&quot;width&quot;:430,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:62375,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/183006804?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9674cbc2-526f-45e3-bccc-9089f0aac431_430x489.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2cJH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9674cbc2-526f-45e3-bccc-9089f0aac431_430x489.png 424w, https://substackcdn.com/image/fetch/$s_!2cJH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9674cbc2-526f-45e3-bccc-9089f0aac431_430x489.png 848w, https://substackcdn.com/image/fetch/$s_!2cJH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9674cbc2-526f-45e3-bccc-9089f0aac431_430x489.png 1272w, https://substackcdn.com/image/fetch/$s_!2cJH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9674cbc2-526f-45e3-bccc-9089f0aac431_430x489.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;2fd60262-9233-4b88-921d-3cf08b2e1f3a&quot;,&quot;duration&quot;:null}"></div><h3>Thanks&#8230; I mean it.</h3><p>As we all close out the year, I just want to say thanks for sticking around while I brain dump. I appreciate all of you who have stayed for the random things I write about. I&#8217;m grateful for the community here and hope this Substack continues to give value to those who read it. I&#8217;m happy to see it keep going. Drink, celebrate, be safe ya&#8217;ll&#8230; and catcha on the Flippin New Year!!</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://practiceflip.substack.com/subscribe?"><span>Subscribe now</span></a></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Unimpressive Interesting Game Dev]]></title><description><![CDATA[And what we all have to go through during the early stages of production]]></description><link>https://practiceflip.substack.com/p/the-unimpressive-interesting-thing</link><guid isPermaLink="false">https://practiceflip.substack.com/p/the-unimpressive-interesting-thing</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Fri, 19 Dec 2025 03:55:59 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5251e878-b07b-41e0-89e2-4e9849a72517_2000x1302.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The beginnings of a project can sometimes be very unimpressive and very uninteresting. </p><p><em>Why is that?</em></p><p>The answer is&#8230; because most of it is unimpressive and uninteresting. And no one really wants to see or hear about that! At this stage&#8230; there&#8217;s no flashy final boss, no funny video clips, no gameplay in fact. There&#8217;s just a whole lot of logistics, setup, version control, naming convention, planning, setting up trello boards, getting organized, migrating stuff, making tools and front end necessities that doesn&#8217;t get shared often. </p><p>That&#8217;s where we&#8217;re at this week&#8230; and I&#8217;m going to highlight some of those things because one&#8230; I do find it really interesting with some of these QoL updates to games, and two&#8230; I don&#8217;t know what else to write about. But if this all sounds uninteresting and unimpressive, feel free to wait for the highly anticipated 5s viral animated gif on tiktok coming soon&#8230; in a few years :)</p><h3>Tools</h3><ul><li><p><strong>Foliage Material ID</strong> - Our <em><a href="https://practiceflip.substack.com/p/see-the-game">(previously mentioned</a>)</em> way of handling color variation through a palette map. This tool provides batch-randomized system for applying material color IDs to all of our 2D sprite foliage assets</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;507377f1-0d22-4728-a34c-429e73be82af&quot;,&quot;duration&quot;:null}"></div></li><li><p><strong>Replace Game Objects</strong> - Surprisingly Unity doesn&#8217;t have a &#8220;swap&#8221; button built into the inspector, so replacing things that you&#8217;ve already placed into the level isn&#8217;t as easy as a button click&#8230; until now!  It does what it does&#8230; replaces everything you&#8217;ve selected with the new Gameobject you specified while keeping their exact position, rotation, and scale.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RBVi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420c895d-dd33-494f-bc5d-48fdbbc22535_323x189.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RBVi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420c895d-dd33-494f-bc5d-48fdbbc22535_323x189.png 424w, https://substackcdn.com/image/fetch/$s_!RBVi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420c895d-dd33-494f-bc5d-48fdbbc22535_323x189.png 848w, https://substackcdn.com/image/fetch/$s_!RBVi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420c895d-dd33-494f-bc5d-48fdbbc22535_323x189.png 1272w, https://substackcdn.com/image/fetch/$s_!RBVi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420c895d-dd33-494f-bc5d-48fdbbc22535_323x189.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RBVi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420c895d-dd33-494f-bc5d-48fdbbc22535_323x189.png" width="323" height="189" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/420c895d-dd33-494f-bc5d-48fdbbc22535_323x189.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:189,&quot;width&quot;:323,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:18808,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/182046711?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420c895d-dd33-494f-bc5d-48fdbbc22535_323x189.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RBVi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420c895d-dd33-494f-bc5d-48fdbbc22535_323x189.png 424w, https://substackcdn.com/image/fetch/$s_!RBVi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420c895d-dd33-494f-bc5d-48fdbbc22535_323x189.png 848w, https://substackcdn.com/image/fetch/$s_!RBVi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420c895d-dd33-494f-bc5d-48fdbbc22535_323x189.png 1272w, https://substackcdn.com/image/fetch/$s_!RBVi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420c895d-dd33-494f-bc5d-48fdbbc22535_323x189.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div></li></ul><h3>Selection Highlighting</h3><p>Using the mouse the player can highlight which foliage objects we&#8217;ll be able to destroy, clean-up, carry, uproot&#8230; it&#8217;ll be one of those things&#8230; or all of those things. We should probably figure that out soon. </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;f647be5f-6a4b-4c56-9538-4c8b1dd98aea&quot;,&quot;duration&quot;:null}"></div><h3>Foliage Displacement</h3><p>Not necessarily important or needed at this stage of production &#8230; but also if you&#8217;re an artist&#8230; totally necessary and needed at this stage of production. I&#8217;ll justify the too much time I spent on this. For now, it&#8217;s a fun thing to do and game dev is suppose to be fun right?</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;b1ae4404-ea01-4554-bdf0-955bd70e785e&quot;,&quot;duration&quot;:null}"></div><h3>Camera Switching</h3><p>Determining the final camera angle and position on the other hand is probably a more serious, important thing we need to decide on. This will determine the POV and what we&#8217;ll want to show off&#8230; and ultimately will determine how assets are created.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;396b6d90-3a1b-48ea-a325-536eeb2d9c44&quot;,&quot;duration&quot;:null}"></div><h3>Bugs, Bugs, Bugs&#8230;</h3><p>Bugs are definitely the unappreciated work of game dev. They&#8217;re already coming in the moment you start making stuff. Many are uninteresting, but every once in awhile there are a few that are impressive&#8230; and in this case&#8230; somewhat funny.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;07032ff6-932e-45ac-b403-fa687cb5c01b&quot;,&quot;duration&quot;:null}"></div><p>So I leave you on that clip. Mostly all unimpressive things. There&#8217;s always going to be so many things to do, problems to solve, things to make, and bugs to fix. It&#8217;s all part of what makes game dev so interesting to me. </p><p>Now that most of these things are in, we have a good foundation to start running our core cleanup mechanic. I&#8217;m sure you noticed the sweet broken window in the gray building there&#8230; its just asking to be repaired and restored <em>don&#8217;t you think</em>?</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around this far. Catcha on the Flip&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[See the Game]]></title><description><![CDATA[Starting on a visual prototype to see if this game will have enough appeal and stand out in the sea of games.]]></description><link>https://practiceflip.substack.com/p/see-the-game</link><guid isPermaLink="false">https://practiceflip.substack.com/p/see-the-game</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Thu, 11 Dec 2025 15:40:49 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/19203c58-5176-4129-ada2-9f0786159a21_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This week we explore the potential look of <a href="https://practiceflip.substack.com/p/feel-the-game?r=5e1y8a">our game idea</a>. All we know right now is that we want something appealing, beautiful, and focused on the art. There are still many questions yet to be answered, but making smaller prototypes to prove or disprove ideas is something we want to test early on. One of the first things I usually try to wrap my brain around is a clear picture of what the game might look like. Walking around in the editor with a character helps inform some of those questions we have on the visual style and gameplay.</p><h3>Appeal</h3><blockquote><p><em>Making games players <strong>want to play</strong> before playing them. - Jonas Tyroller</em></p></blockquote><p>The challenge with setting yourself apart from the rest of the games out there&#8230; I think&#8230; comes down to appeal. With only a fraction of a second to capture&#8217;s someone attention with one screenshot, or an animated gif, or one gameplay mechanic&#8230; are you able to stop them from scrolling, take a pause, and click to learn more. If they can&#8217;t see the core appeal of your game (visual or otherwise) in that short timeframe, than I&#8217;ve already lost you as a potential person to convert into a player of your game.</p><p>The art style is a huge driving factor for me on whether or not I pick up and play, wishlist, or pass on a game. I&#8217;ve also played games where the art style was not something that didn&#8217;t appealed to me at all&#8230; yet the gameplay was so engaging and fun.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> On the other hand, there are also games with big art appeal, but no gameplay appeal, and I don&#8217;t think that works to keep me invested either.</p><p>Of course this is a case of personal preference and what attracts you to certain types of games. What might be appealing to you might not be to another player. And what might be appealing to another person, could well in fact, not be appealing to you. But I believe, if you have both in your game, that might give you a better chance to stand and really appeal to more players. And this is hard todo, there&#8217;s no easy answer.</p><p>For more about appeal, and experience focused games&#8230; I found this talk from <a href="https://www.youtube.com/@JonasTyroller">Jonas Tyroller</a> very insightful.</p><div id="youtube2-uiBDyZ-Pf2M" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;uiBDyZ-Pf2M&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/uiBDyZ-Pf2M?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p></p><h3>Progress Iteration</h3><p>Previously we didn&#8217;t have much&#8230; a proxy player character for scale, an old(ish) house to restore and some greenery scattered throughout. It&#8217;s a start. This initial pass got me going&#8230; it got me excited&#8230; and was important to me for starting a new project or idea. If it gets you up out of your funk to go about making something&#8230; than that&#8217;s something right there&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ijaO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b8928f8-388e-4b51-9be5-595c667030ae_790x771.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ijaO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b8928f8-388e-4b51-9be5-595c667030ae_790x771.png 424w, https://substackcdn.com/image/fetch/$s_!ijaO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b8928f8-388e-4b51-9be5-595c667030ae_790x771.png 848w, https://substackcdn.com/image/fetch/$s_!ijaO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b8928f8-388e-4b51-9be5-595c667030ae_790x771.png 1272w, https://substackcdn.com/image/fetch/$s_!ijaO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b8928f8-388e-4b51-9be5-595c667030ae_790x771.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ijaO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b8928f8-388e-4b51-9be5-595c667030ae_790x771.png" width="790" height="771" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b8928f8-388e-4b51-9be5-595c667030ae_790x771.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:771,&quot;width&quot;:790,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:538028,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/181157371?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b8928f8-388e-4b51-9be5-595c667030ae_790x771.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ijaO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b8928f8-388e-4b51-9be5-595c667030ae_790x771.png 424w, https://substackcdn.com/image/fetch/$s_!ijaO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b8928f8-388e-4b51-9be5-595c667030ae_790x771.png 848w, https://substackcdn.com/image/fetch/$s_!ijaO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b8928f8-388e-4b51-9be5-595c667030ae_790x771.png 1272w, https://substackcdn.com/image/fetch/$s_!ijaO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b8928f8-388e-4b51-9be5-595c667030ae_790x771.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Building on what I initially created, the house structure needed to be more overgrown, and old. This is a game is suppose to be about restoration, cleaning up the space and rebuilding&#8230; of course, so recreating that look and feel is important. Just throw in some more foliage and greenery&#8230; done&#8230; right?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p-cr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a57020e-5b26-4c92-a1d9-fa2f2a9b2054_2688x2012.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p-cr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a57020e-5b26-4c92-a1d9-fa2f2a9b2054_2688x2012.png 424w, https://substackcdn.com/image/fetch/$s_!p-cr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a57020e-5b26-4c92-a1d9-fa2f2a9b2054_2688x2012.png 848w, https://substackcdn.com/image/fetch/$s_!p-cr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a57020e-5b26-4c92-a1d9-fa2f2a9b2054_2688x2012.png 1272w, https://substackcdn.com/image/fetch/$s_!p-cr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a57020e-5b26-4c92-a1d9-fa2f2a9b2054_2688x2012.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p-cr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a57020e-5b26-4c92-a1d9-fa2f2a9b2054_2688x2012.png" width="1456" height="1090" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a57020e-5b26-4c92-a1d9-fa2f2a9b2054_2688x2012.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1090,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2193584,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/181157371?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a57020e-5b26-4c92-a1d9-fa2f2a9b2054_2688x2012.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!p-cr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a57020e-5b26-4c92-a1d9-fa2f2a9b2054_2688x2012.png 424w, https://substackcdn.com/image/fetch/$s_!p-cr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a57020e-5b26-4c92-a1d9-fa2f2a9b2054_2688x2012.png 848w, https://substackcdn.com/image/fetch/$s_!p-cr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a57020e-5b26-4c92-a1d9-fa2f2a9b2054_2688x2012.png 1272w, https://substackcdn.com/image/fetch/$s_!p-cr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a57020e-5b26-4c92-a1d9-fa2f2a9b2054_2688x2012.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Not quite, everything was just all too green. We implemented technique to achieve color variation across all the foliage assets using a single material. A script assigns a unique number or Material ID that tells the shader to choose which color to use from the pre-defined palette. Now we&#8217;re gettin&#8217; somewhere&#8230;</p><p><em>If anyone is interesting in the more technical implementations of this, please let me know, and I can write a more in depth post about it.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Oeu0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cbc23a2-0a44-42ab-95a4-6e29e2209286_3567x2005.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Oeu0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cbc23a2-0a44-42ab-95a4-6e29e2209286_3567x2005.png 424w, https://substackcdn.com/image/fetch/$s_!Oeu0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cbc23a2-0a44-42ab-95a4-6e29e2209286_3567x2005.png 848w, https://substackcdn.com/image/fetch/$s_!Oeu0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cbc23a2-0a44-42ab-95a4-6e29e2209286_3567x2005.png 1272w, https://substackcdn.com/image/fetch/$s_!Oeu0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cbc23a2-0a44-42ab-95a4-6e29e2209286_3567x2005.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Oeu0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cbc23a2-0a44-42ab-95a4-6e29e2209286_3567x2005.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6cbc23a2-0a44-42ab-95a4-6e29e2209286_3567x2005.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2389226,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/181157371?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cbc23a2-0a44-42ab-95a4-6e29e2209286_3567x2005.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Oeu0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cbc23a2-0a44-42ab-95a4-6e29e2209286_3567x2005.png 424w, https://substackcdn.com/image/fetch/$s_!Oeu0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cbc23a2-0a44-42ab-95a4-6e29e2209286_3567x2005.png 848w, https://substackcdn.com/image/fetch/$s_!Oeu0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cbc23a2-0a44-42ab-95a4-6e29e2209286_3567x2005.png 1272w, https://substackcdn.com/image/fetch/$s_!Oeu0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cbc23a2-0a44-42ab-95a4-6e29e2209286_3567x2005.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The work week with adding some more vegetation, vines and variants to the surrounding building. That was a lot of V&#8217;s. I tweaked the lighting to help tie everything together a little more to give the overall impression of the visual look and feel. And lastly&#8230; a tree. Because why not&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3-YS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a56d1b6-0f0e-433a-8335-5a474865543a_3582x2008.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3-YS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a56d1b6-0f0e-433a-8335-5a474865543a_3582x2008.png 424w, https://substackcdn.com/image/fetch/$s_!3-YS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a56d1b6-0f0e-433a-8335-5a474865543a_3582x2008.png 848w, https://substackcdn.com/image/fetch/$s_!3-YS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a56d1b6-0f0e-433a-8335-5a474865543a_3582x2008.png 1272w, https://substackcdn.com/image/fetch/$s_!3-YS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a56d1b6-0f0e-433a-8335-5a474865543a_3582x2008.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3-YS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a56d1b6-0f0e-433a-8335-5a474865543a_3582x2008.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a56d1b6-0f0e-433a-8335-5a474865543a_3582x2008.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3739093,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/181157371?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a56d1b6-0f0e-433a-8335-5a474865543a_3582x2008.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3-YS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a56d1b6-0f0e-433a-8335-5a474865543a_3582x2008.png 424w, https://substackcdn.com/image/fetch/$s_!3-YS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a56d1b6-0f0e-433a-8335-5a474865543a_3582x2008.png 848w, https://substackcdn.com/image/fetch/$s_!3-YS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a56d1b6-0f0e-433a-8335-5a474865543a_3582x2008.png 1272w, https://substackcdn.com/image/fetch/$s_!3-YS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a56d1b6-0f0e-433a-8335-5a474865543a_3582x2008.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Overall, we&#8217;re investing some time into this visual prototype. Not a lot of time was spent, and we quickly got things into the engine to help us see the game. The small effort&#8230; I think&#8230; was worth the initial visual payoff of the game beyond the graybox or basic primitive models. </p><p>It&#8217;s still a block in, graybox, prototype, and the house definitely still needs some work done to it (<em>no pun intended</em>). There needs to be some more aging and weathering to make it feel like it&#8217;s something that needs to be restored. And the greenery also could step up a notch to really sell that overgrown feel without making it look too post apocalyptic. But seeing how all the different elements like the foliage and house fit together was insightful for answering some of the questions we had. </p><p>I think there&#8217;s enough here to start prototyping some of the gameplay&#8230; so that will be the next step we work on! </p><div><hr></div><ul><li><p><em>Does it feel overgrown, run down, abandoned enough?</em></p></li><li><p><em>Is the current visuals appealing enough to get you to learn more about it?</em></p></li><li><p><em>Which is more important to you gameplay appeal or art appeal?</em></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around. Catcha on the Flip&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://store.steampowered.com/app/294100/RimWorld/">RimWorld</a> still sits in my Steam library&#8230; unplayed&#8230; because I can&#8217;t get over the style, but from everything I&#8217;ve heard, it&#8217;s such an amazing game.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Feel the Game]]></title><description><![CDATA[Things I've been thinking more about for starting a new indie game project]]></description><link>https://practiceflip.substack.com/p/feel-the-game</link><guid isPermaLink="false">https://practiceflip.substack.com/p/feel-the-game</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Thu, 04 Dec 2025 20:19:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!L6bZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I recently watched/listened to <a href="https://www.youtube.com/watch?v=bGsl3kvntbE">this talk by Adam Saltsman</a><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> and was very intrigued by the insightfulness and knowledge he shared. So many good takeaways to apply to indie game development. He talks about his approach to making small games and what makes them enjoyable. </p><h3>Idea vs Formula</h3><p>One of the core concepts he speaks about is the concept of idea versus formula.  That is the core spark of a concept&#8230; the Idea or what he refers to as &#8220;heart feel&#8221;. And the mechanical implementation&#8230; or Formula.</p><p>He says ideas deserve trust and love because if that idea pushes you to create a protype, a draft, or gets you up to actually go make something&#8230; than that&#8217;s something worth pursuing. </p><p>In any case, I think he&#8217;s onto something. He encourages small game developers to prioritize a fun, easy process, trust the core emotional spark of an idea, and constantly observe the emerging reality of the game to guide design decisions. </p><div id="youtube2-bGsl3kvntbE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;bGsl3kvntbE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/bGsl3kvntbE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>The Idea</h3><p>The idea is to create a cozy game<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> <a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a>that&#8217;s a low-stress, building game where you restore life and beauty back into forgotten architecture.</p><p>We (<em>my brother and I</em>) have this bigger idea of incorporating a town of some sort where you try and revitalize community through restoration. It could be fun to see the town come to life as you help restore and fix it. Maybe it&#8217;s abandoned at first and as you fix certain buildings people move in and you get to know them.</p><p>The smaller version of this would be that You&#8217;ll be able to restore a house or buildings, but you should be able to put your own creative touches on it through decoration and design choices with some limited choices so that every players&#8217; town doesn&#8217;t look the same and offers more replay value and some sort of progression.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L6bZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L6bZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png 424w, https://substackcdn.com/image/fetch/$s_!L6bZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png 848w, https://substackcdn.com/image/fetch/$s_!L6bZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png 1272w, https://substackcdn.com/image/fetch/$s_!L6bZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L6bZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png" width="795" height="631" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:631,&quot;width&quot;:795,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:441634,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/179256593?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L6bZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png 424w, https://substackcdn.com/image/fetch/$s_!L6bZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png 848w, https://substackcdn.com/image/fetch/$s_!L6bZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png 1272w, https://substackcdn.com/image/fetch/$s_!L6bZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F902a2c92-16ec-4191-b9e4-da9b33488f1a_795x631.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">it&#8217;s not much&#8230; but its a start of a prototype of the Idea</figcaption></figure></div><p>So gameplay could possibly be centered around cleaning, collecting, crafting, building or rebuilding, and decorating. Everything you do in game contributes to something. It would focus on ways to make you<em> feel</em> like you&#8217;re part of the community and you care about the characters and not a place to just buy items or to serve the player. </p><p>I know I said <a href="https://practiceflip.substack.com/p/side-projects-delete?r=5e1y8a">no more side projects</a>, and I don&#8217;t have a lot of time <a href="https://practiceflip.substack.com/p/the-crux-of-game-dev">due to my current job situation</a>, but this one&#8230; <em>feels</em> really exciting for some reason. </p><div><hr></div><p><em><strong>The question is&#8230; </strong></em></p><p><em>Do I bail on this Idea? Delete this side project and move on.</em></p><p><em>Or do I try? Trust this feeling and give this idea some love to find a better way to Formulate it into a game?</em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around. Catcha on the Flip&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>You can find more on Adam on <a href="https://adamatomic.com/">his website</a> and also <a href="https://adamatomic.itch.io/">his itch.io</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>Read this <a href="https://playingthisweek.substack.com/p/what-is-a-cozy-game">What is a &#8220;cozy&#8221; game?</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Katya Ryabova&quot;,&quot;id&quot;:194256168,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0415c10a-feb7-4c0e-b284-10db813bda3d_738x738.jpeg&quot;,&quot;uuid&quot;:&quot;b5590f80-c7ce-4995-bff3-1515475b693d&quot;}" data-component-name="MentionToDOM"></span> </p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Some small, cozy games I&#8217;ve been fond of recently&#8230; <a href="https://store.steampowered.com/app/2198150/Tiny_Glade/">Tiny Glade</a>, <a href="https://store.steampowered.com/app/1135690/Unpacking/">Unpacking</a>, <a href="https://store.steampowered.com/app/1055540/A_Short_Hike/">A Short Hike</a>, <a href="https://store.steampowered.com/app/2678990/Minami_Lane/">Minami Lane</a></p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Use Your Art Books]]></title><description><![CDATA[Trying to bridge the gap of skill acquisition]]></description><link>https://practiceflip.substack.com/p/use-your-art-books</link><guid isPermaLink="false">https://practiceflip.substack.com/p/use-your-art-books</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Mon, 17 Nov 2025 22:01:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pScD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pScD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pScD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pScD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pScD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pScD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pScD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg" width="1456" height="667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:667,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1650358,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/179161252?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pScD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pScD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pScD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pScD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3bf1b13-3ba2-4b06-9732-aab8e7a61b89_3840x1759.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>These are some of the art books that have sat half-read, half-finished, or completely untouched over the years. If any of you are like me, I love picking up these types of instructional, how-to, art of books in hopes to learn something new or get better at my craft.</p><p>We are living in a time where we have the ability to learn anything we would ever possibly want to learn because of the infinite amount of resources and information we have access to. Yet genuine skill acquisition remains difficult and sometimes a mystery&#8230; especially when it comes to art. </p><p>I wondered&#8230; <em>why the gap</em>?!</p><p>The only thing that I&#8217;ve come up with comes down to this&#8230; watching a tutorial or studying art of books, even reading text provides information&#8230; <em>not </em>skill. The skill only comes <em>after</em> deliberate practice and application of said/watched information. And often times, this practice is hard, takes long, and is filled with messy failures that cause us to abandon the practice in search for another book, another resource, another tutorial, another magic formula to help us acquire the skill. </p><p>It&#8217;s a frustrating divide between <em>knowing</em> we should practice and actually <em>doing</em> the work. It&#8217;s a cycle I&#8217;ve been stuck in and repeated for many years. </p><h3>Practice Flip YouTube</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j2fM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4180670e-d74d-4b6e-8624-b7e9519fd96b_711x203.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j2fM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4180670e-d74d-4b6e-8624-b7e9519fd96b_711x203.png 424w, https://substackcdn.com/image/fetch/$s_!j2fM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4180670e-d74d-4b6e-8624-b7e9519fd96b_711x203.png 848w, https://substackcdn.com/image/fetch/$s_!j2fM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4180670e-d74d-4b6e-8624-b7e9519fd96b_711x203.png 1272w, https://substackcdn.com/image/fetch/$s_!j2fM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4180670e-d74d-4b6e-8624-b7e9519fd96b_711x203.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j2fM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4180670e-d74d-4b6e-8624-b7e9519fd96b_711x203.png" width="711" height="203" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4180670e-d74d-4b6e-8624-b7e9519fd96b_711x203.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:203,&quot;width&quot;:711,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:28971,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/179161252?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4180670e-d74d-4b6e-8624-b7e9519fd96b_711x203.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!j2fM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4180670e-d74d-4b6e-8624-b7e9519fd96b_711x203.png 424w, https://substackcdn.com/image/fetch/$s_!j2fM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4180670e-d74d-4b6e-8624-b7e9519fd96b_711x203.png 848w, https://substackcdn.com/image/fetch/$s_!j2fM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4180670e-d74d-4b6e-8624-b7e9519fd96b_711x203.png 1272w, https://substackcdn.com/image/fetch/$s_!j2fM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4180670e-d74d-4b6e-8624-b7e9519fd96b_711x203.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>I&#8217;ve used Practice Flip on Substack as an accountability tool, as a place for game dev, art, and learning. I&#8217;ve shared a lot of my experiments and process throughout the past months in articles and notes. But I&#8217;ve also recorded a lot in the past months as well that has not been seen or shared. So now, I&#8217;m making another experiment to force myself (and hopefully inspire you) to bridge that gap and end a cycle.</p><p>I am launching a <strong><a href="https://www.youtube.com/@practiceflip">Practice Flip YouTube Channel</a></strong> today.</p><p>My goal is to use this channel as a public sketchbook where I hold myself accountable and share my practice session. It&#8217;s a quiet space (no voice-overs, reaction vids, or vlogs) where I commit to revisiting some of these art books that I&#8217;ve accumulated. I&#8217;ve created both short and long videos that focus on deliberate, patient execution of core foundational art concepts. </p><p>I want to show the honest, unpolished process (no heavy editing, with mistakes and some pauses), in real-time (no time-lapses, speed paints, jump cuts) to emphasize and the actual time it takes to build a skill. I&#8217;m starting with core foundational books like Scott Robertson&#8217;s <em><a href="https://designstudiopress.com/collections/educational/products/how-to-draw">How to Draw</a> and <a href="https://designstudiopress.com/products/how-to-render">How to Render</a></em>, <a href="https://practiceflip.substack.com/p/back-to-perspective-basics?r=5e1y8a">working through the exercises</a>. And hopefully continue with a variety of other art books from my library.</p><h3>Still here</h3><p>I understand that many of you might have moved over to Substack so that you can stay away from videos and YouTube. Or just want to read and not watch a video. That&#8217;s great! Practice Flip Substack will continue as usual, and in most cases this will still be a preview and glimpse of the process before it goes on the YouTube.</p><p>But if focused, art practice sounds like something you&#8217;d be into, come <a href="https://youtu.be/00GzLGRcgUQ">check out the first video</a>. You could follow along and practice with me, skip ahead through the chapters, or watch it sped up for a timelapse. My hope is we all learn something along the way and get better from the time invested into our practice. And eventually acquire the skill we always wanted when we got into this thing.</p><p>Always practicing art until we all get better.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lV8i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed74f0-cffe-48c8-87c1-897fd95984f4_3824x1450.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lV8i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed74f0-cffe-48c8-87c1-897fd95984f4_3824x1450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lV8i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed74f0-cffe-48c8-87c1-897fd95984f4_3824x1450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lV8i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed74f0-cffe-48c8-87c1-897fd95984f4_3824x1450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lV8i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed74f0-cffe-48c8-87c1-897fd95984f4_3824x1450.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lV8i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed74f0-cffe-48c8-87c1-897fd95984f4_3824x1450.jpeg" width="1456" height="552" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69ed74f0-cffe-48c8-87c1-897fd95984f4_3824x1450.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:552,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2216094,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/179161252?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed74f0-cffe-48c8-87c1-897fd95984f4_3824x1450.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lV8i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed74f0-cffe-48c8-87c1-897fd95984f4_3824x1450.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lV8i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed74f0-cffe-48c8-87c1-897fd95984f4_3824x1450.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lV8i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed74f0-cffe-48c8-87c1-897fd95984f4_3824x1450.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lV8i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed74f0-cffe-48c8-87c1-897fd95984f4_3824x1450.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Channel launches today at 4:00 PM CT!</h3><p><a href="https://www.youtube.com/@practiceflip">https://www.youtube.com/@practiceflip</a></p><p>New videos are uploaded every Tuesday and Friday at 4:00 PM CT.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">As always&#8230; Thanks for sticking around. Catcha on the Flip&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Back to Perspective Basics]]></title><description><![CDATA[boooorrrrring... but necessary for something bigger]]></description><link>https://practiceflip.substack.com/p/back-to-perspective-basics</link><guid isPermaLink="false">https://practiceflip.substack.com/p/back-to-perspective-basics</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Thu, 30 Oct 2025 20:25:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!g8vR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As a 3D artist, I tend to revert back to 2D all the time for a shift in art mediums. It also is a shift in how I think and use my creative brain. Sketching and drawing always felt a little bit more tactile than 3D even when doing it digitally&#8230; unless you&#8217;re sculpting in clay.</p><p>This week I spent some time going back to basic with perspective construction, specifically creating cast shadows.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VsbR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3c2d71-93f3-4d10-86ec-bb377ef92ca7_627x578.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VsbR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3c2d71-93f3-4d10-86ec-bb377ef92ca7_627x578.png 424w, https://substackcdn.com/image/fetch/$s_!VsbR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3c2d71-93f3-4d10-86ec-bb377ef92ca7_627x578.png 848w, https://substackcdn.com/image/fetch/$s_!VsbR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3c2d71-93f3-4d10-86ec-bb377ef92ca7_627x578.png 1272w, https://substackcdn.com/image/fetch/$s_!VsbR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3c2d71-93f3-4d10-86ec-bb377ef92ca7_627x578.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VsbR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3c2d71-93f3-4d10-86ec-bb377ef92ca7_627x578.png" width="627" height="578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a3c2d71-93f3-4d10-86ec-bb377ef92ca7_627x578.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:578,&quot;width&quot;:627,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103105,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/177599649?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3c2d71-93f3-4d10-86ec-bb377ef92ca7_627x578.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VsbR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3c2d71-93f3-4d10-86ec-bb377ef92ca7_627x578.png 424w, https://substackcdn.com/image/fetch/$s_!VsbR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3c2d71-93f3-4d10-86ec-bb377ef92ca7_627x578.png 848w, https://substackcdn.com/image/fetch/$s_!VsbR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3c2d71-93f3-4d10-86ec-bb377ef92ca7_627x578.png 1272w, https://substackcdn.com/image/fetch/$s_!VsbR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3c2d71-93f3-4d10-86ec-bb377ef92ca7_627x578.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">cast shadow construction of multiple sticks on multiple levels from a sunlight light source off the page when front lit.</figcaption></figure></div><h3>Perspective Construction</h3><p>Constructing things on paper by using the rules of perspective and lines really does feel like 3D modeling in a way. It feels a lot more technical and almost like you&#8217;re creating the wireframe of a 3D model. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g8vR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g8vR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png 424w, https://substackcdn.com/image/fetch/$s_!g8vR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png 848w, https://substackcdn.com/image/fetch/$s_!g8vR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png 1272w, https://substackcdn.com/image/fetch/$s_!g8vR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g8vR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png" width="731" height="633" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:633,&quot;width&quot;:731,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:171431,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/177599649?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!g8vR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png 424w, https://substackcdn.com/image/fetch/$s_!g8vR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png 848w, https://substackcdn.com/image/fetch/$s_!g8vR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png 1272w, https://substackcdn.com/image/fetch/$s_!g8vR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e0b8425-1b3b-4eb0-a16c-7f34dde80741_731x633.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">perspective construction of cast shadows of sticks on multiple levels from a local light source. eg. a lamp or similar</figcaption></figure></div><p>Basics and perspective construction is something I tend to return to often. It is the building blocks of all other types of drawing, however it can be pretty difficult and boring. I find a lot of beginner or students struggle with perspective even though its been around for so long and there&#8217;s so many tutorials that teach it.</p><h3>How to Draw/Render Books</h3><p>Two books that are automatically recommended among artists when learning concepts like rendering and perspective are&#8230;</p><ul><li><p><em><a href="https://designstudiopress.com/collections/educational/products/how-to-draw">How to Draw: drawing and sketching objects and environments from your imagination</a></em></p></li><li><p><em><a href="https://designstudiopress.com/collections/educational/products/how-to-render">How to Render: the fundamentals of light shadow and reflectivity</a></em></p></li></ul><p> &#8230; both by Scott Robertson with Thomas Bertling</p><p>This book is the art bible to drawing and rendering. I also can&#8217;t recommend it enough and point a lot of folks to it. Over the years I&#8217;ve been reading and slowly working through the exercises, but I&#8217;ve never formally tried to go through it from start to finish.</p><p>If you&#8217;re interested in this kind of sketching or construction, I also have a <a href="https://www.youtube.com/channel/UCuL4I4Jr12-QRs6FP7KmpvA">YouTube experiment</a> where I work through some of these exercises. They are presented in real-time w/o any VO, or timelapse. </p><p>Which is what brings me here this week. I&#8217;m taking a break from <a href="https://practiceflip.substack.com/p/jobs-in-a-crowded-market">portfolio</a> for a bit to draw for a bit. It&#8217;s not flashy, and its probably boring. So what&#8217;s the takeaway this week? keep practicing... of course&#8230; as always. Even small, boring, cast shadow constructions move you a little forward in your understanding of art and exercises those practice skills.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JWhK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac1c402-9837-4372-a97a-ceb867dd60de_565x524.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JWhK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac1c402-9837-4372-a97a-ceb867dd60de_565x524.png 424w, https://substackcdn.com/image/fetch/$s_!JWhK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac1c402-9837-4372-a97a-ceb867dd60de_565x524.png 848w, https://substackcdn.com/image/fetch/$s_!JWhK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac1c402-9837-4372-a97a-ceb867dd60de_565x524.png 1272w, https://substackcdn.com/image/fetch/$s_!JWhK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac1c402-9837-4372-a97a-ceb867dd60de_565x524.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JWhK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac1c402-9837-4372-a97a-ceb867dd60de_565x524.png" width="565" height="524" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ac1c402-9837-4372-a97a-ceb867dd60de_565x524.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:524,&quot;width&quot;:565,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:119941,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/177599649?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac1c402-9837-4372-a97a-ceb867dd60de_565x524.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JWhK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac1c402-9837-4372-a97a-ceb867dd60de_565x524.png 424w, https://substackcdn.com/image/fetch/$s_!JWhK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac1c402-9837-4372-a97a-ceb867dd60de_565x524.png 848w, https://substackcdn.com/image/fetch/$s_!JWhK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac1c402-9837-4372-a97a-ceb867dd60de_565x524.png 1272w, https://substackcdn.com/image/fetch/$s_!JWhK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac1c402-9837-4372-a97a-ceb867dd60de_565x524.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">cast shadow construction of 2 sticks on the same level from a local light source</figcaption></figure></div><p>But practice what&#8217;s challenging and difficult... in this case perspective and cast shadows. I never really learned how to do it properly. Although scary at first and the risk of failure is inevitable. It might just be the push you need to get over to move onto the more fun and interesting drawings you do from imagination! </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around&#8230; Catcha on the Flip!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Universal Shader in Unreal]]></title><description><![CDATA[Recreating the all-in-one shader solution from The Ascent]]></description><link>https://practiceflip.substack.com/p/universal-shader-in-unreal</link><guid isPermaLink="false">https://practiceflip.substack.com/p/universal-shader-in-unreal</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Tue, 14 Oct 2025 19:37:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!asQV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fe2a29c-e7a1-4d24-9036-312c41655802_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This week I come with something more technical, but interesting if you&#8217;re into this kind of nerdy game development BTS stuff. This is not a technical how-to tutorial, but a more generalization on thoughts and experimentations with how I achieved this look using one shader in Unreal.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!asQV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fe2a29c-e7a1-4d24-9036-312c41655802_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!asQV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fe2a29c-e7a1-4d24-9036-312c41655802_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!asQV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fe2a29c-e7a1-4d24-9036-312c41655802_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!asQV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fe2a29c-e7a1-4d24-9036-312c41655802_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!asQV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fe2a29c-e7a1-4d24-9036-312c41655802_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!asQV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fe2a29c-e7a1-4d24-9036-312c41655802_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1fe2a29c-e7a1-4d24-9036-312c41655802_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Scout Ships: UE5 Shader Breakdown&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Scout Ships: UE5 Shader Breakdown" title="Scout Ships: UE5 Shader Breakdown" srcset="https://substackcdn.com/image/fetch/$s_!asQV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fe2a29c-e7a1-4d24-9036-312c41655802_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!asQV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fe2a29c-e7a1-4d24-9036-312c41655802_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!asQV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fe2a29c-e7a1-4d24-9036-312c41655802_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!asQV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fe2a29c-e7a1-4d24-9036-312c41655802_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Rendered in UE using Lumen</figcaption></figure></div><h3>This GDC talk blew my mind</h3><p>Inspired by Building the World of &#8216;<a href="https://store.steampowered.com/agecheck/app/979690/">The Ascent</a>&#8217; GDC talk, this was my attempt to re-create the the UE shader which the team at <a href="https://live.neongiant.se/en">Neon Giant</a> used to create all of the assets in the game. With only using one shader and texture set. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Practice Flip! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div id="youtube2-FodXp5BkENk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;FodXp5BkENk&quot;,&quot;startTime&quot;:&quot;782&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/FodXp5BkENk?start=782&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><br>My goal was to avoid normal map baking and using a more procedural approach for texturing. I designed these Scout Ships vehicles based off exploration underwater crafts crossed with a space shuttle. These ships were kit bashed using <a href="https://jrotools.com/">Jonas Ronnegard JROTools</a> mid poly models mainly for speed<em> (I didn&#8217;t model anything) </em>so that I could focus on the shader side. </p><h3>The Shader</h3><p>The amount of flexibility and variations from one shader surprisingly pretty diverse and easy to achieve once the bulk of the shader was set up. Using a different model, and reassigning the same shader, I&#8217;m able to get the good variations with little effort. Literally it was dragging and dropping </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-lv6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e9f3a7-fc59-490b-a243-ca96c5197d0d_1920x1080.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-lv6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e9f3a7-fc59-490b-a243-ca96c5197d0d_1920x1080.webp 424w, https://substackcdn.com/image/fetch/$s_!-lv6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e9f3a7-fc59-490b-a243-ca96c5197d0d_1920x1080.webp 848w, https://substackcdn.com/image/fetch/$s_!-lv6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e9f3a7-fc59-490b-a243-ca96c5197d0d_1920x1080.webp 1272w, https://substackcdn.com/image/fetch/$s_!-lv6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e9f3a7-fc59-490b-a243-ca96c5197d0d_1920x1080.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-lv6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e9f3a7-fc59-490b-a243-ca96c5197d0d_1920x1080.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6e9f3a7-fc59-490b-a243-ca96c5197d0d_1920x1080.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Scout Ships: UE5 Shader Breakdown&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Scout Ships: UE5 Shader Breakdown" title="Scout Ships: UE5 Shader Breakdown" srcset="https://substackcdn.com/image/fetch/$s_!-lv6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e9f3a7-fc59-490b-a243-ca96c5197d0d_1920x1080.webp 424w, https://substackcdn.com/image/fetch/$s_!-lv6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e9f3a7-fc59-490b-a243-ca96c5197d0d_1920x1080.webp 848w, https://substackcdn.com/image/fetch/$s_!-lv6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e9f3a7-fc59-490b-a243-ca96c5197d0d_1920x1080.webp 1272w, https://substackcdn.com/image/fetch/$s_!-lv6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6e9f3a7-fc59-490b-a243-ca96c5197d0d_1920x1080.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Different models can use the same material setup while only requiring new vertex color baking and UV offsets for color and metallic.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UVq4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7329039f-3b57-49f4-9e6e-44ef1da77a1d_1920x1080.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UVq4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7329039f-3b57-49f4-9e6e-44ef1da77a1d_1920x1080.webp 424w, https://substackcdn.com/image/fetch/$s_!UVq4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7329039f-3b57-49f4-9e6e-44ef1da77a1d_1920x1080.webp 848w, https://substackcdn.com/image/fetch/$s_!UVq4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7329039f-3b57-49f4-9e6e-44ef1da77a1d_1920x1080.webp 1272w, https://substackcdn.com/image/fetch/$s_!UVq4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7329039f-3b57-49f4-9e6e-44ef1da77a1d_1920x1080.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UVq4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7329039f-3b57-49f4-9e6e-44ef1da77a1d_1920x1080.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7329039f-3b57-49f4-9e6e-44ef1da77a1d_1920x1080.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Scout Ships: UE5 Shader Breakdown&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Scout Ships: UE5 Shader Breakdown" title="Scout Ships: UE5 Shader Breakdown" srcset="https://substackcdn.com/image/fetch/$s_!UVq4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7329039f-3b57-49f4-9e6e-44ef1da77a1d_1920x1080.webp 424w, https://substackcdn.com/image/fetch/$s_!UVq4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7329039f-3b57-49f4-9e6e-44ef1da77a1d_1920x1080.webp 848w, https://substackcdn.com/image/fetch/$s_!UVq4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7329039f-3b57-49f4-9e6e-44ef1da77a1d_1920x1080.webp 1272w, https://substackcdn.com/image/fetch/$s_!UVq4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7329039f-3b57-49f4-9e6e-44ef1da77a1d_1920x1080.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Adjustable parameters allow for color, roughness, and dirt variations showing the range capabilities of the shader in UE from a lot of weathering and dirt (above left) to clean and w/o wear (above right)</p><h3>Model Prep</h3><p>Using UDIM for masking in UE. Primary, secondary, tertiary color and metals materials are tagged in Blender then used to offset the UVs</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ATJO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8141e16-e125-44f5-8559-e0643319fb46_1920x1205.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ATJO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8141e16-e125-44f5-8559-e0643319fb46_1920x1205.webp 424w, https://substackcdn.com/image/fetch/$s_!ATJO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8141e16-e125-44f5-8559-e0643319fb46_1920x1205.webp 848w, https://substackcdn.com/image/fetch/$s_!ATJO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8141e16-e125-44f5-8559-e0643319fb46_1920x1205.webp 1272w, https://substackcdn.com/image/fetch/$s_!ATJO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8141e16-e125-44f5-8559-e0643319fb46_1920x1205.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ATJO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8141e16-e125-44f5-8559-e0643319fb46_1920x1205.webp" width="1456" height="914" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e8141e16-e125-44f5-8559-e0643319fb46_1920x1205.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:914,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Scout Ships: UE5 Shader Breakdown&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Scout Ships: UE5 Shader Breakdown" title="Scout Ships: UE5 Shader Breakdown" srcset="https://substackcdn.com/image/fetch/$s_!ATJO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8141e16-e125-44f5-8559-e0643319fb46_1920x1205.webp 424w, https://substackcdn.com/image/fetch/$s_!ATJO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8141e16-e125-44f5-8559-e0643319fb46_1920x1205.webp 848w, https://substackcdn.com/image/fetch/$s_!ATJO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8141e16-e125-44f5-8559-e0643319fb46_1920x1205.webp 1272w, https://substackcdn.com/image/fetch/$s_!ATJO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8141e16-e125-44f5-8559-e0643319fb46_1920x1205.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Ambient Occlusion (AO) and Curvature maps were then baked into vertex color to drive dirt and weathering. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fllk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1ec649-d689-41f5-90ca-fdc7af4775ee_1920x941.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fllk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1ec649-d689-41f5-90ca-fdc7af4775ee_1920x941.webp 424w, https://substackcdn.com/image/fetch/$s_!fllk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1ec649-d689-41f5-90ca-fdc7af4775ee_1920x941.webp 848w, https://substackcdn.com/image/fetch/$s_!fllk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1ec649-d689-41f5-90ca-fdc7af4775ee_1920x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!fllk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1ec649-d689-41f5-90ca-fdc7af4775ee_1920x941.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fllk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1ec649-d689-41f5-90ca-fdc7af4775ee_1920x941.webp" width="1456" height="714" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e1ec649-d689-41f5-90ca-fdc7af4775ee_1920x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:714,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Scout Ships: UE5 Shader Breakdown&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Scout Ships: UE5 Shader Breakdown" title="Scout Ships: UE5 Shader Breakdown" srcset="https://substackcdn.com/image/fetch/$s_!fllk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1ec649-d689-41f5-90ca-fdc7af4775ee_1920x941.webp 424w, https://substackcdn.com/image/fetch/$s_!fllk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1ec649-d689-41f5-90ca-fdc7af4775ee_1920x941.webp 848w, https://substackcdn.com/image/fetch/$s_!fllk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1ec649-d689-41f5-90ca-fdc7af4775ee_1920x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!fllk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e1ec649-d689-41f5-90ca-fdc7af4775ee_1920x941.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Primary, secondary, tertiary colors, metal/non metal, emissive are all controlled by UV offset via UDIM. Here&#8217;s the Material Instance Details panel in Unreal with exposed parameters. Controls for color, gradient, hue shift, dirt, and vertex color intensities</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!798U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6eb7074-f088-4e9e-965e-6fcd37048861_734x1155.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!798U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6eb7074-f088-4e9e-965e-6fcd37048861_734x1155.webp 424w, https://substackcdn.com/image/fetch/$s_!798U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6eb7074-f088-4e9e-965e-6fcd37048861_734x1155.webp 848w, https://substackcdn.com/image/fetch/$s_!798U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6eb7074-f088-4e9e-965e-6fcd37048861_734x1155.webp 1272w, https://substackcdn.com/image/fetch/$s_!798U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6eb7074-f088-4e9e-965e-6fcd37048861_734x1155.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!798U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6eb7074-f088-4e9e-965e-6fcd37048861_734x1155.webp" width="734" height="1155" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6eb7074-f088-4e9e-965e-6fcd37048861_734x1155.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1155,&quot;width&quot;:734,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Scout Ships: UE5 Shader Breakdown&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Scout Ships: UE5 Shader Breakdown" title="Scout Ships: UE5 Shader Breakdown" srcset="https://substackcdn.com/image/fetch/$s_!798U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6eb7074-f088-4e9e-965e-6fcd37048861_734x1155.webp 424w, https://substackcdn.com/image/fetch/$s_!798U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6eb7074-f088-4e9e-965e-6fcd37048861_734x1155.webp 848w, https://substackcdn.com/image/fetch/$s_!798U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6eb7074-f088-4e9e-965e-6fcd37048861_734x1155.webp 1272w, https://substackcdn.com/image/fetch/$s_!798U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6eb7074-f088-4e9e-965e-6fcd37048861_734x1155.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>How it ended</h3><p>Improvements definitely could be made, and some of the weathering is a bit generic but this was definitely a good start for importing a gray model, assigning the shader and getting this result with zero texturing work. </p><p>On a side note, Epic recently re-created something like this in their <a href="https://youtu.be/zr3Z60DgZG8?t=2546">Talisman project</a> to meet project size constraints which tells me this type of optimization and workflow can be validated for final, high quality real time projects or games.</p><p>Hats off to the team at Neon Giant and I can&#8217;t wait to see what they come up with next if they were focusing more on speed and performance on The Ascent, and said their next game will be focused on quality! </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around. Catcha on the Flip&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Jobs in a Crowded Market]]></title><description><![CDATA[Working on the portfolio and applying and reapplying like I'm putting on sunscreen.]]></description><link>https://practiceflip.substack.com/p/jobs-in-a-crowded-market</link><guid isPermaLink="false">https://practiceflip.substack.com/p/jobs-in-a-crowded-market</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Thu, 18 Sep 2025 19:36:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!SYbJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It seems pretty hard out there right now in 2025, like we&#8217;re all in the trenches, battling for the next job posting. I know lots of people looking for work now, including myself. With the vast amounts of recent layoffs from Game Studios around the world, many of us are putting ourselves back out there for the next opportunists. Studios either are not hiring, or are in a position to be able to choose from the cream of the crop. </p><p>When I started this Substack newsletter, <a href="https://practiceflip.substack.com/p/20-years-in-laid-off-and-finally?r=5e1y8a">I had just gotten laid off</a>. I had hoped my days w/o a job would last longer, but I&#8217;m back into the swing of getting that 9-5 paycheck jobby job again. It&#8217;s a daunting task that I&#8217;ve been dreading, but I&#8217;ve thought about it a lot to make sure I put myself in the best position to get noticed. </p><p>This week I have some things I&#8217;ve been recently thinking a lot when it comes to applying for a job in a crowded market.</p><h3>Portfolio</h3><p>As an artist, this should be your focus and is worthy of its own subheading. I recently had to rework my <a href="https://www.artstation.com/phi">ArtStation portfolio site</a> to something more presentable. I didn&#8217;t really take advantage of it as a place to showcase my work and subsequently get me job opportunities. I used it like any other social media site&#8230; to look at the awesome work that is out there, like, follow, and share some of my stuff for others to see.</p><p> There&#8217;s still work to be done but its a start into curating my works and gearing it towards the job that I want. For Artists looking to get into games, I would say most of the hiring process starts here. My next steps are to create a few more targeted pieces to showcase some of the work and skills I know I can do.</p><p>here are some key bullet points I&#8217;ve been focusing on&#8230;</p><ul><li><p><strong>presentation matters</strong> - One of the things I noticed most while in the position of hiring is that when reviewing portfolios presentation played a big role. In most cases, the candidate is capable&#8230; skill wise. However the portfolio was lacking because it was not presented nicely for show. This is a big tell that this artist is a junior and can easily be passed on because of presentation not necessarily their skill. For example, in this render to showcase modeling skills&#8230; which of these would choose from if they were from different candidates?</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gq4g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c950d4-4e93-4eaf-951c-736dcbfa96bb_960x540.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gq4g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c950d4-4e93-4eaf-951c-736dcbfa96bb_960x540.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gq4g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c950d4-4e93-4eaf-951c-736dcbfa96bb_960x540.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gq4g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c950d4-4e93-4eaf-951c-736dcbfa96bb_960x540.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gq4g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c950d4-4e93-4eaf-951c-736dcbfa96bb_960x540.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gq4g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c950d4-4e93-4eaf-951c-736dcbfa96bb_960x540.jpeg" width="960" height="540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/72c950d4-4e93-4eaf-951c-736dcbfa96bb_960x540.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:102857,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/173961829?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c950d4-4e93-4eaf-951c-736dcbfa96bb_960x540.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gq4g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c950d4-4e93-4eaf-951c-736dcbfa96bb_960x540.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gq4g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c950d4-4e93-4eaf-951c-736dcbfa96bb_960x540.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gq4g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c950d4-4e93-4eaf-951c-736dcbfa96bb_960x540.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gq4g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72c950d4-4e93-4eaf-951c-736dcbfa96bb_960x540.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e190!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e366a7a-64db-431a-8cbc-b82979c889b0_3062x1722.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e190!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e366a7a-64db-431a-8cbc-b82979c889b0_3062x1722.png 424w, https://substackcdn.com/image/fetch/$s_!e190!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e366a7a-64db-431a-8cbc-b82979c889b0_3062x1722.png 848w, https://substackcdn.com/image/fetch/$s_!e190!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e366a7a-64db-431a-8cbc-b82979c889b0_3062x1722.png 1272w, https://substackcdn.com/image/fetch/$s_!e190!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e366a7a-64db-431a-8cbc-b82979c889b0_3062x1722.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e190!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e366a7a-64db-431a-8cbc-b82979c889b0_3062x1722.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e366a7a-64db-431a-8cbc-b82979c889b0_3062x1722.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:9732891,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/173961829?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e366a7a-64db-431a-8cbc-b82979c889b0_3062x1722.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!e190!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e366a7a-64db-431a-8cbc-b82979c889b0_3062x1722.png 424w, https://substackcdn.com/image/fetch/$s_!e190!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e366a7a-64db-431a-8cbc-b82979c889b0_3062x1722.png 848w, https://substackcdn.com/image/fetch/$s_!e190!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e366a7a-64db-431a-8cbc-b82979c889b0_3062x1722.png 1272w, https://substackcdn.com/image/fetch/$s_!e190!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e366a7a-64db-431a-8cbc-b82979c889b0_3062x1722.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;m exaggerating a bit, but this is what I see a lot. The same model, the same artist, the same skill set. The only different is how we present our work for the public <em>(or in this case potential employers</em>) to look at.</p><ul><li><p><strong>ask for feedback - </strong>this feels pretty obvious, but sometimes I can get too confident in my work or presentation because of how long I&#8217;ve been in this game. But if job searching, or portfolio re-building isn&#8217;t something that you haven&#8217;t done in awhile, I&#8217;d recommend getting some more eyes on it. An outside perspective can sometimes help you see things that you don&#8217;t notice. Do this for your resume, coverletter, and especially your portfolio.</p></li><li><p><strong>look at other Artstations</strong> - for inspiration, and to see where your site is lacking. It can feel intimidating seeing all of the great stuff on Artstation, but it can also be a good indicator of what you have to do to make yourself stand out from the crowd. These people are in fact your competition, and in some cases, they&#8217;re looking for work too. So if your work doesn&#8217;t stand out like them, there&#8217;s some work to be done here.</p></li><li><p><strong>show some other work</strong> - When I was in the position to hire, I always valued when candidates showed other work that may have showed off more skills not directly relevant to the job. If you are a 3D artist, show some 2D work. if you are a 2D artist, show some 3D work. We&#8217;re all artists at heart and hopefully you have interest in other areas of art other than your specialized field. Flex some of that and show it off! </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p82x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe138da41-aa90-4f67-9f85-532ad8f544e7_1080x1079.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p82x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe138da41-aa90-4f67-9f85-532ad8f544e7_1080x1079.jpeg 424w, https://substackcdn.com/image/fetch/$s_!p82x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe138da41-aa90-4f67-9f85-532ad8f544e7_1080x1079.jpeg 848w, https://substackcdn.com/image/fetch/$s_!p82x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe138da41-aa90-4f67-9f85-532ad8f544e7_1080x1079.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!p82x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe138da41-aa90-4f67-9f85-532ad8f544e7_1080x1079.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p82x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe138da41-aa90-4f67-9f85-532ad8f544e7_1080x1079.jpeg" width="1080" height="1079" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e138da41-aa90-4f67-9f85-532ad8f544e7_1080x1079.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1079,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sketch Nights&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sketch Nights" title="Sketch Nights" srcset="https://substackcdn.com/image/fetch/$s_!p82x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe138da41-aa90-4f67-9f85-532ad8f544e7_1080x1079.jpeg 424w, https://substackcdn.com/image/fetch/$s_!p82x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe138da41-aa90-4f67-9f85-532ad8f544e7_1080x1079.jpeg 848w, https://substackcdn.com/image/fetch/$s_!p82x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe138da41-aa90-4f67-9f85-532ad8f544e7_1080x1079.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!p82x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe138da41-aa90-4f67-9f85-532ad8f544e7_1080x1079.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">for example, like this weird whale inspired camper truck</figcaption></figure></div></li></ul><h3>Some other things&#8230;</h3><p><em>in no particular order</em></p><ul><li><p><strong>don&#8217;t take it personal</strong> - getting ghosted, or not getting a response can do a good number on your confidence and you might begin to doubt your artistic skills and ability. Maybe you slip through the cracks, maybe its just timing, maybe the position has already been filled prior, or maybe it was an auto response from an AI Screener (<em>see the next one below</em>). Either way, try not to take it too personal and learn about how and what we can do better for next time. </p></li><li><p><strong>but do make it personal - </strong>tailor your cover letter, even though I&#8217;m not sure how important cover letters are for artists, but its a good pre-cursor to the meat of the hiring process. When I was hiring, I always liked to read a more personalized and humanized cover letter specific to the studio you&#8217;re applying to. </p></li><li><p><strong>feed your resume through AI</strong> - ask it to screen you for the job description you are applying for and see if it passes the test. I&#8217;ve noticed, especially at bigger studios, recruiters can&#8217;t take on the volume of applicants, so naturally tools like an AI screener are being used to weed out those who don&#8217;t meet the minimum </p></li><li><p><strong>LinkedIn</strong> - I am hesitant to mention social media, and being on linked in can feel dire sometimes with all of the news about more layoffs, other folks looking for work, and the downfall of humans to AI.  All that aside, I do think there&#8217;s one value in Linked In and that&#8217;s connecting and messaging with people who are in the same industry as you. Past collogues which you haven&#8217;t messaged in awhile, other connections who are at the places you want to apply for, and of course the vast amount of recruiters on the platform. I would say 90% of the jobs that I have gotten were from referrals from past co-workers, or friend of a friend referrals or connections. This gives you a little step up from just throwing your name in the pool of cold applications.</p></li><li><p><strong>keep applying&#8230; and reapplying</strong> - even if you&#8217;ve been rejected or got the pass. Continue to be persistent about applying to places you are passionate about as I believe if you&#8217;re excited for the job, it&#8217;ll show through in your application. Sometimes it helps to set application goals like, I&#8217;ll deliberately apply to one job a day, or one job a week. And I would also say apply to the job  you want even if you don&#8217;t have <em>all</em> of the requirements in the JD.</p></li><li><p><strong>YES, there&#8217;s jobs</strong> - All hope is not lost from AI taking our jobs. I see job postings everyday, and there&#8217;s a lot of studios hiring. It might be difficult to get into your dream studio, or apply for the larger studios. There&#8217;s just more competition now and we&#8217;re all competing against each other. From people with 20+ years in the industry to junior artists coming out of school. We&#8217;re all in the same pool for companies to choose from. BUT there are still jobs and many are still hiring. </p></li></ul><h3>Still looking</h3><p>I&#8217;m still on the market, and looking out for the next opportunity. Although it can feel scary to put yourself out there again I do feel optimistic and confident of the art and work I produce. I hope you do too and we both find the next gig we&#8217;re looking for. Who knows maybe we&#8217;ll run into each other and turn out to be co-workers! Cheers&#8230;here&#8217;s to meeting up sometime for some drinks like these two&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SYbJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SYbJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg 424w, https://substackcdn.com/image/fetch/$s_!SYbJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg 848w, https://substackcdn.com/image/fetch/$s_!SYbJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!SYbJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SYbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1018733,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/173961829?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SYbJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg 424w, https://substackcdn.com/image/fetch/$s_!SYbJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg 848w, https://substackcdn.com/image/fetch/$s_!SYbJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!SYbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1f6bea-a8e7-4856-b13c-948656843c8e_2094x2094.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">an illustration I did for the launch of Doom Launch back then from one Texas studio to another&#8230; CHEERS!</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around. Catcha on the Flip</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[The Crux of Game Dev]]></title><description><![CDATA[What to do at this difficult crossroad?]]></description><link>https://practiceflip.substack.com/p/the-crux-of-game-dev</link><guid isPermaLink="false">https://practiceflip.substack.com/p/the-crux-of-game-dev</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Tue, 09 Sep 2025 21:21:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-ca7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Having worked in Games for over a decade, I often times think how much of a miracle that games get shipped these days. All of the planets and stars have to align ever so delicately before it can be shipped out the door. Or alternatively, it is often times pushed through the pipeline by brute force. And that still doesn't guarantee success.  This is the gamble, and maybe why we're seeing more and more developers transitioning into indie or solo dev or just straight up out of work because of low investment or failure.</p><p>How to balance risk vs reward is the challenging part of game develop I want to touch on this week as I am stuck at a crossroad crisis myself.</p><h3>AAA Game Dev</h3><p>So much expectations and hype are attached to games these days, especially those with long production cycles, big budgets and multiple delays. Players and critics are more versed and knowledgeable about the nuances of what makes a game &#8220;successful.&#8221; We hear talk about performance, frame drops, fps, draw calls, bugs, z-fighting, texel resolutions, parallax occlusion, global illumination, story, systems, gameplay, rendering and more. </p><p>Take the case of <em><a href="https://store.steampowered.com/agecheck/app/1091500/">Cyber Punk 2077</a>, </em>highly criticized and buggy at launch with poor performance and unpolished art. Fast forward a few years after release, and a bunch of patches later, it&#8217;s made a successful comeback.</p><p>Now the question is&#8230; should CD Projekt Red (the developers) have just waited&#8230; until those stars aligned just a little more&#8230; and delayed the game&#8230; yet again? This I think is the real challenge with game dev. Developers have to balance time, money, resources, scope, players, criticism, reception, release dates and all the things. Sure its easy to say wait for release until its ready. Or no we must release because its already been delayed multiple times and people are waiting. There&#8217;s a lot on the line and a lot of hurdles to get over during development. There&#8217;s no right answer, just the best decision possible given the constraints they have to work with.</p><h3>Solo or Indie Dev</h3><p>This is where things become more interesting. </p><p>You&#8217;re able to take away a lot of what bigger studios have to contend with because there&#8217;s just less people, less money, less expectations&#8230; ultimately less stakes. Decisions get made quicker, iteration happens faster, and there's not a lot of layers you have to jump through to get things done.</p><p>However, the challenge and the expectations are very much still there. Maybe even more so than bigger studios because the responsibilities weight more heavily on the shoulders of a few number of people. Funding becomes difficult to find, and sometimes bootstrapping is the only option. There&#8217;s kickstarter and other crowd funding options and that can get you enough to continue development. The stakes are again raised and the possibility of failure becomes a pressure again.</p><p>I think game developers do what we do as a labor of love. I don&#8217;t believe anyone sets out to make a crappy game and that&#8217;s sometimes easily forgotten in our world of instant gratification and curated perfection.</p><h3>Keep on Keeping on</h3><p>We all dream of the indie life where you can just sit in your small development cave and chip away at this epic, dream game for 10+ years, making it this perfect masterpiece. Then release it to the world and make millions. You know&#8230; <a href="https://steam-revenue-calculator.com/app/413150/stardew-valley">Stardew Valley</a> style.</p><p>I'm still trying to figure that part out, however life's caught up with me. As much as I wanted to do this full time, it's just not possible... because you know&#8230; life comes into play. Eating is nice. I&#8217;ve shifted focus a bit from my indie game, and directed my attention&#8230; and subsequently this Substack newsletter&#8230; to my portfolio and the art I make for it. The content on here might shift a bit but the intent is still true to when I first started. To continue to write about the art I make as I keep on practicing to get better. </p><p>I'll still continue to game dev on the side when I have time. And I&#8217;m hoping I can flip this around again and make that comeback as so many Game Developers have in the past.</p><p>I hope ya&#8217;ll will still stick around for it and I hope to still catcha on the Flip. </p><p>Thanks for the support! Here&#8217;s a preview of what I&#8217;ve been working on&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-ca7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-ca7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png 424w, https://substackcdn.com/image/fetch/$s_!-ca7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png 848w, https://substackcdn.com/image/fetch/$s_!-ca7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png 1272w, https://substackcdn.com/image/fetch/$s_!-ca7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-ca7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5007667,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/173215741?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-ca7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png 424w, https://substackcdn.com/image/fetch/$s_!-ca7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png 848w, https://substackcdn.com/image/fetch/$s_!-ca7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png 1272w, https://substackcdn.com/image/fetch/$s_!-ca7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6317357-c67c-4b61-8b01-00ea62241d28_1722x1722.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://practiceflip.substack.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[The Art of Stylization]]></title><description><![CDATA[A Retrospective on the Environment Art of Arkane&#8217;s Redfall]]></description><link>https://practiceflip.substack.com/p/the-art-of-stylization</link><guid isPermaLink="false">https://practiceflip.substack.com/p/the-art-of-stylization</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Fri, 22 Aug 2025 18:00:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y8c1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This week I wanted to talk a bit about a question I get quite often from beginning artists who struggle with stylization&#8230; that is&#8230; how do we stylize something real? Lets explore more and break it down to some of its basic forms through the lens of a game I had the opportunity to work on&#8230; <em><a href="https://store.steampowered.com/agecheck/app/1294810/">Redfall</a></em>.</p><p>We wanted to create something that wasn&#8217;t completely realistic in terms of style, but something that wasn&#8217;t too far on the cartoony side either. It can be a challenge when you&#8217;re riding the line in between both of those extremes but Arkane has developed a craft for this. Especially seen through the art of the <a href="https://en.wikipedia.org/wiki/Dishonored_(series)">Dishonored series</a>. Stylization is not exactly obvious at first since we wanted to stay familiar and real so there was a balance in how much to push the stylization.</p><h3>Environment Art</h3><p>As Lead Environment Artist on <em>Redfall</em>, I was tasked to oversee all of the environment art assets and props created by our in-house art team, and outsource partners. At the start of the project, we faced many challenges in defining the game's final artistic vision.</p><p>To establish a clear direction, the Environment Team created an Art Corner to help answer some of those questions. This served as a dedicated space that captured the style, mood, textures, and overall feel of <em>Redfall&#8217;s</em> town. We were able to solve questions about set dressing density, style, character and overall environment storytelling by creating a section of Main Street in <em>Redfall</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6t3b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9f1a62-076d-4d54-b1d6-4d05e21ed153_1920x1050.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6t3b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9f1a62-076d-4d54-b1d6-4d05e21ed153_1920x1050.png 424w, https://substackcdn.com/image/fetch/$s_!6t3b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9f1a62-076d-4d54-b1d6-4d05e21ed153_1920x1050.png 848w, https://substackcdn.com/image/fetch/$s_!6t3b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9f1a62-076d-4d54-b1d6-4d05e21ed153_1920x1050.png 1272w, https://substackcdn.com/image/fetch/$s_!6t3b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9f1a62-076d-4d54-b1d6-4d05e21ed153_1920x1050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6t3b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9f1a62-076d-4d54-b1d6-4d05e21ed153_1920x1050.png" width="1456" height="796" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd9f1a62-076d-4d54-b1d6-4d05e21ed153_1920x1050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:796,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2883863,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171674334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9f1a62-076d-4d54-b1d6-4d05e21ed153_1920x1050.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6t3b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9f1a62-076d-4d54-b1d6-4d05e21ed153_1920x1050.png 424w, https://substackcdn.com/image/fetch/$s_!6t3b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9f1a62-076d-4d54-b1d6-4d05e21ed153_1920x1050.png 848w, https://substackcdn.com/image/fetch/$s_!6t3b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9f1a62-076d-4d54-b1d6-4d05e21ed153_1920x1050.png 1272w, https://substackcdn.com/image/fetch/$s_!6t3b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9f1a62-076d-4d54-b1d6-4d05e21ed153_1920x1050.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">early in-game screenshot of Main Street</figcaption></figure></div><h3>Simplify then Amplify</h3><p>Stylization in its most basic forms means simplifying the details and then amplifying what is kept. That is&#8230; the style comes from reducing the amount of details and exaggerating what is left. Take away the micro details and noise, while still retaining the read of the object, function, material, or whatever it is you're trying to stylize.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HB5m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F582496ab-7860-47a2-952b-b67c3f2a2141_960x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HB5m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F582496ab-7860-47a2-952b-b67c3f2a2141_960x1080.png 424w, https://substackcdn.com/image/fetch/$s_!HB5m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F582496ab-7860-47a2-952b-b67c3f2a2141_960x1080.png 848w, https://substackcdn.com/image/fetch/$s_!HB5m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F582496ab-7860-47a2-952b-b67c3f2a2141_960x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!HB5m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F582496ab-7860-47a2-952b-b67c3f2a2141_960x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HB5m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F582496ab-7860-47a2-952b-b67c3f2a2141_960x1080.png" width="960" height="1080" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/582496ab-7860-47a2-952b-b67c3f2a2141_960x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1080,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1309924,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171674334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F582496ab-7860-47a2-952b-b67c3f2a2141_960x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HB5m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F582496ab-7860-47a2-952b-b67c3f2a2141_960x1080.png 424w, https://substackcdn.com/image/fetch/$s_!HB5m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F582496ab-7860-47a2-952b-b67c3f2a2141_960x1080.png 848w, https://substackcdn.com/image/fetch/$s_!HB5m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F582496ab-7860-47a2-952b-b67c3f2a2141_960x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!HB5m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F582496ab-7860-47a2-952b-b67c3f2a2141_960x1080.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Referencing scale model sets and miniatures can be a good starting point on the type of proportional changes we were looking for. It can also give a good gauge on what details to leave out. These examples are naturally stylized because of the nature of the material they are built from. You simply can&#8217;t cram enough micro detail in there because of the scale. So naturally the models look more simplified. By scaling up and reducing the number of repeating elements (eg. storefront wood siding, fence and railing) you can start pushing the look of all the pieces in relation. Here is an example of a miniature town that does exactly this.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MpJy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F737153d8-7e24-4970-9c1d-69818166b73d_1420x740.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MpJy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F737153d8-7e24-4970-9c1d-69818166b73d_1420x740.png 424w, https://substackcdn.com/image/fetch/$s_!MpJy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F737153d8-7e24-4970-9c1d-69818166b73d_1420x740.png 848w, https://substackcdn.com/image/fetch/$s_!MpJy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F737153d8-7e24-4970-9c1d-69818166b73d_1420x740.png 1272w, https://substackcdn.com/image/fetch/$s_!MpJy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F737153d8-7e24-4970-9c1d-69818166b73d_1420x740.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MpJy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F737153d8-7e24-4970-9c1d-69818166b73d_1420x740.png" width="1420" height="740" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/737153d8-7e24-4970-9c1d-69818166b73d_1420x740.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:740,&quot;width&quot;:1420,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1994704,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171674334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F737153d8-7e24-4970-9c1d-69818166b73d_1420x740.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MpJy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F737153d8-7e24-4970-9c1d-69818166b73d_1420x740.png 424w, https://substackcdn.com/image/fetch/$s_!MpJy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F737153d8-7e24-4970-9c1d-69818166b73d_1420x740.png 848w, https://substackcdn.com/image/fetch/$s_!MpJy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F737153d8-7e24-4970-9c1d-69818166b73d_1420x740.png 1272w, https://substackcdn.com/image/fetch/$s_!MpJy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F737153d8-7e24-4970-9c1d-69818166b73d_1420x740.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">George Selios&#8217; Franklin and South Manchester Model Railroad</figcaption></figure></div><div id="youtube2-SUJ1ZDRXhq0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;SUJ1ZDRXhq0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/SUJ1ZDRXhq0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>To apply this to modeling more stylized assets, there needs to be a balance of details. Simplifying the object too much will lose its function and make the object look too cartoony. Adding imperfections to the model wherever we could to help make the object look less 3D and more hand crafted. Below are some examples from the Art Guide I created to explain this concept of stylization.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!irot!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd20bbf-58c9-403b-bae3-4bd56e4acbaa_1006x993.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!irot!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd20bbf-58c9-403b-bae3-4bd56e4acbaa_1006x993.png 424w, https://substackcdn.com/image/fetch/$s_!irot!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd20bbf-58c9-403b-bae3-4bd56e4acbaa_1006x993.png 848w, https://substackcdn.com/image/fetch/$s_!irot!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd20bbf-58c9-403b-bae3-4bd56e4acbaa_1006x993.png 1272w, https://substackcdn.com/image/fetch/$s_!irot!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd20bbf-58c9-403b-bae3-4bd56e4acbaa_1006x993.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!irot!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd20bbf-58c9-403b-bae3-4bd56e4acbaa_1006x993.png" width="1006" height="993" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8fd20bbf-58c9-403b-bae3-4bd56e4acbaa_1006x993.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:993,&quot;width&quot;:1006,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:868333,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171674334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd20bbf-58c9-403b-bae3-4bd56e4acbaa_1006x993.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!irot!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd20bbf-58c9-403b-bae3-4bd56e4acbaa_1006x993.png 424w, https://substackcdn.com/image/fetch/$s_!irot!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd20bbf-58c9-403b-bae3-4bd56e4acbaa_1006x993.png 848w, https://substackcdn.com/image/fetch/$s_!irot!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd20bbf-58c9-403b-bae3-4bd56e4acbaa_1006x993.png 1272w, https://substackcdn.com/image/fetch/$s_!irot!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd20bbf-58c9-403b-bae3-4bd56e4acbaa_1006x993.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This idea of simplifying details and amplifying was continued through our texturing process.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZLuV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dde757e-c2fe-4dc4-a97a-3366c2590f43_1065x1035.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZLuV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dde757e-c2fe-4dc4-a97a-3366c2590f43_1065x1035.png 424w, https://substackcdn.com/image/fetch/$s_!ZLuV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dde757e-c2fe-4dc4-a97a-3366c2590f43_1065x1035.png 848w, https://substackcdn.com/image/fetch/$s_!ZLuV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dde757e-c2fe-4dc4-a97a-3366c2590f43_1065x1035.png 1272w, https://substackcdn.com/image/fetch/$s_!ZLuV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dde757e-c2fe-4dc4-a97a-3366c2590f43_1065x1035.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZLuV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dde757e-c2fe-4dc4-a97a-3366c2590f43_1065x1035.png" width="1065" height="1035" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3dde757e-c2fe-4dc4-a97a-3366c2590f43_1065x1035.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1035,&quot;width&quot;:1065,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1036446,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171674334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dde757e-c2fe-4dc4-a97a-3366c2590f43_1065x1035.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZLuV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dde757e-c2fe-4dc4-a97a-3366c2590f43_1065x1035.png 424w, https://substackcdn.com/image/fetch/$s_!ZLuV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dde757e-c2fe-4dc4-a97a-3366c2590f43_1065x1035.png 848w, https://substackcdn.com/image/fetch/$s_!ZLuV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dde757e-c2fe-4dc4-a97a-3366c2590f43_1065x1035.png 1272w, https://substackcdn.com/image/fetch/$s_!ZLuV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dde757e-c2fe-4dc4-a97a-3366c2590f43_1065x1035.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>References</h3><p>We used a lot of references to start our stylization journey on the game. A lot of it was taken from both 3D examples and 2D. <a href="https://en.wikipedia.org/wiki/Edward_Hopper">Edward Hopper</a> and <a href="https://www.theartworksinc.com/artist/matthew-cook/">Matt Cook</a> paintings were both great examples of translating into 2D from observing the real world. We were trying to do the same in 3D by simplifying the details and exaggerating the things we wanted to keep in the model.</p><p>In this example, you can see the wood paneled slats of the house or the frequency of the picket fence were not a direct 1:1 translation. The painting on the left has that visual noise reduced making it feel a lot more stylized.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YIFD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F580cfe6b-8fd1-45e3-9d4d-ff5bf0852cf9_1240x412.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YIFD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F580cfe6b-8fd1-45e3-9d4d-ff5bf0852cf9_1240x412.png 424w, https://substackcdn.com/image/fetch/$s_!YIFD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F580cfe6b-8fd1-45e3-9d4d-ff5bf0852cf9_1240x412.png 848w, https://substackcdn.com/image/fetch/$s_!YIFD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F580cfe6b-8fd1-45e3-9d4d-ff5bf0852cf9_1240x412.png 1272w, https://substackcdn.com/image/fetch/$s_!YIFD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F580cfe6b-8fd1-45e3-9d4d-ff5bf0852cf9_1240x412.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YIFD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F580cfe6b-8fd1-45e3-9d4d-ff5bf0852cf9_1240x412.png" width="1240" height="412" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/580cfe6b-8fd1-45e3-9d4d-ff5bf0852cf9_1240x412.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:412,&quot;width&quot;:1240,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1041601,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171674334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F580cfe6b-8fd1-45e3-9d4d-ff5bf0852cf9_1240x412.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YIFD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F580cfe6b-8fd1-45e3-9d4d-ff5bf0852cf9_1240x412.png 424w, https://substackcdn.com/image/fetch/$s_!YIFD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F580cfe6b-8fd1-45e3-9d4d-ff5bf0852cf9_1240x412.png 848w, https://substackcdn.com/image/fetch/$s_!YIFD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F580cfe6b-8fd1-45e3-9d4d-ff5bf0852cf9_1240x412.png 1272w, https://substackcdn.com/image/fetch/$s_!YIFD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F580cfe6b-8fd1-45e3-9d4d-ff5bf0852cf9_1240x412.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Edward Hopper panting (left); photo reference (right)</figcaption></figure></div><p>Or lets take a look at another example where the texture in the roof shingles or the pattern in the bricks are also simplified to bring in a sort of stylization to the building.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!90O1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa92a36-af5f-460c-a9f8-d8030d69ad16_1428x385.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!90O1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa92a36-af5f-460c-a9f8-d8030d69ad16_1428x385.png 424w, https://substackcdn.com/image/fetch/$s_!90O1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa92a36-af5f-460c-a9f8-d8030d69ad16_1428x385.png 848w, https://substackcdn.com/image/fetch/$s_!90O1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa92a36-af5f-460c-a9f8-d8030d69ad16_1428x385.png 1272w, https://substackcdn.com/image/fetch/$s_!90O1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa92a36-af5f-460c-a9f8-d8030d69ad16_1428x385.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!90O1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa92a36-af5f-460c-a9f8-d8030d69ad16_1428x385.png" width="1428" height="385" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/daa92a36-af5f-460c-a9f8-d8030d69ad16_1428x385.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:385,&quot;width&quot;:1428,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:957139,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171674334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa92a36-af5f-460c-a9f8-d8030d69ad16_1428x385.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!90O1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa92a36-af5f-460c-a9f8-d8030d69ad16_1428x385.png 424w, https://substackcdn.com/image/fetch/$s_!90O1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa92a36-af5f-460c-a9f8-d8030d69ad16_1428x385.png 848w, https://substackcdn.com/image/fetch/$s_!90O1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa92a36-af5f-460c-a9f8-d8030d69ad16_1428x385.png 1272w, https://substackcdn.com/image/fetch/$s_!90O1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa92a36-af5f-460c-a9f8-d8030d69ad16_1428x385.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Matt Cook paintings</figcaption></figure></div><p>When choosing reference, we leaned more towards older, more nostalgic pieces. Because the game was set in Massachusetts, we wanted to capture that older city architecture feel and infrastructures that helped define the region. Mixed with modern vehicles and storefronts gave <em>Redfall </em>a more local and familiar feel in the current time setting.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d7_E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe922259c-cf8b-45c4-b862-4975348d2af6_1734x642.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d7_E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe922259c-cf8b-45c4-b862-4975348d2af6_1734x642.png 424w, https://substackcdn.com/image/fetch/$s_!d7_E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe922259c-cf8b-45c4-b862-4975348d2af6_1734x642.png 848w, https://substackcdn.com/image/fetch/$s_!d7_E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe922259c-cf8b-45c4-b862-4975348d2af6_1734x642.png 1272w, https://substackcdn.com/image/fetch/$s_!d7_E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe922259c-cf8b-45c4-b862-4975348d2af6_1734x642.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d7_E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe922259c-cf8b-45c4-b862-4975348d2af6_1734x642.png" width="1456" height="539" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e922259c-cf8b-45c4-b862-4975348d2af6_1734x642.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:539,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1622306,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171674334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe922259c-cf8b-45c4-b862-4975348d2af6_1734x642.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!d7_E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe922259c-cf8b-45c4-b862-4975348d2af6_1734x642.png 424w, https://substackcdn.com/image/fetch/$s_!d7_E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe922259c-cf8b-45c4-b862-4975348d2af6_1734x642.png 848w, https://substackcdn.com/image/fetch/$s_!d7_E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe922259c-cf8b-45c4-b862-4975348d2af6_1734x642.png 1272w, https://substackcdn.com/image/fetch/$s_!d7_E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe922259c-cf8b-45c4-b862-4975348d2af6_1734x642.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Final Results</h3><p>In the end, we hoped we accomplished what we set out to do. The New England area has so many opportunities for stylization and injecting character into the game. I hope this gives you some insight on the though process of all of the questions we had when stylizing a game like <em>Redfall</em>. I&#8217;d like to thank all of the talented Environment Artists who contributed to this project. Although the game did not live up to the hype, I&#8217;m still very much proud of both the team and the Art we created for it at Arkane. Here are some early in-game screenshots of the Art Corner we made of Main Street to test the level of detail, quality, stylization we wanted to bring into the environments and assets.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NoNl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07838cf8-481d-4d12-b3b8-1de1132f2898_2194x400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NoNl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07838cf8-481d-4d12-b3b8-1de1132f2898_2194x400.png 424w, https://substackcdn.com/image/fetch/$s_!NoNl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07838cf8-481d-4d12-b3b8-1de1132f2898_2194x400.png 848w, https://substackcdn.com/image/fetch/$s_!NoNl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07838cf8-481d-4d12-b3b8-1de1132f2898_2194x400.png 1272w, https://substackcdn.com/image/fetch/$s_!NoNl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07838cf8-481d-4d12-b3b8-1de1132f2898_2194x400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NoNl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07838cf8-481d-4d12-b3b8-1de1132f2898_2194x400.png" width="1456" height="265" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07838cf8-481d-4d12-b3b8-1de1132f2898_2194x400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:265,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1821351,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171674334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07838cf8-481d-4d12-b3b8-1de1132f2898_2194x400.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NoNl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07838cf8-481d-4d12-b3b8-1de1132f2898_2194x400.png 424w, https://substackcdn.com/image/fetch/$s_!NoNl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07838cf8-481d-4d12-b3b8-1de1132f2898_2194x400.png 848w, https://substackcdn.com/image/fetch/$s_!NoNl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07838cf8-481d-4d12-b3b8-1de1132f2898_2194x400.png 1272w, https://substackcdn.com/image/fetch/$s_!NoNl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07838cf8-481d-4d12-b3b8-1de1132f2898_2194x400.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">lighting experiments showcasing the corner Breadfall building we first started with</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y8c1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y8c1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png 424w, https://substackcdn.com/image/fetch/$s_!y8c1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png 848w, https://substackcdn.com/image/fetch/$s_!y8c1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png 1272w, https://substackcdn.com/image/fetch/$s_!y8c1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y8c1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png" width="1456" height="717" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:717,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3004840,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171674334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y8c1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png 424w, https://substackcdn.com/image/fetch/$s_!y8c1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png 848w, https://substackcdn.com/image/fetch/$s_!y8c1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png 1272w, https://substackcdn.com/image/fetch/$s_!y8c1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57dfb805-5235-4943-ab8c-0df2a3aac807_1920x946.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">reverse angle of Main Street looking down the iconic Theater building.</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around! Catcha on the Flip&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[A Mod is a Nod]]></title><description><![CDATA[Creating a mod is the ultimate nod to the developers]]></description><link>https://practiceflip.substack.com/p/modding-games-is-fun</link><guid isPermaLink="false">https://practiceflip.substack.com/p/modding-games-is-fun</guid><dc:creator><![CDATA[Phi]]></dc:creator><pubDate>Fri, 15 Aug 2025 21:30:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pvCD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My progress continues as I journey into this new world of mods to improve on the art of <a href="https://store.steampowered.com/app/1594320/Captain_of_Industry/">Captain of Industry</a>. This week I&#8217;ll be getting deep into materials, textures, and integration of the final asset. I really enjoy this part of the process of 3D asset creation. It&#8217;s when you go from <a href="https://practiceflip.substack.com/p/studying-for-game-modding?r=5e1y8a">design and gray model</a> to fully colored and texture objects that start to come to life.</p><h3>Materials and textures</h3><p>There&#8217;s a lot of other technical steps before we get to materials and textures&#8230;like UVs, Texture planning, Trim Sheets, Texel Density, Baking, Texture Sets, etc&#8230; I can go on. For now I&#8217;ll skip that and save that for another post if there are those of you who are interesting in hearing more about that process. </p><p>I knew I wanted the brick to be the focus of this building. This was the first thing that drew me to the building in the first place while pulling references for the design.  the brick would become a big part of the visual appeal of this building for me, so I spent some time in Substance Designer to create the brick texture. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pvCD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pvCD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png 424w, https://substackcdn.com/image/fetch/$s_!pvCD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png 848w, https://substackcdn.com/image/fetch/$s_!pvCD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!pvCD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pvCD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7856290,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171075675?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pvCD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png 424w, https://substackcdn.com/image/fetch/$s_!pvCD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png 848w, https://substackcdn.com/image/fetch/$s_!pvCD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!pvCD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570bd68b-b749-4b81-b59a-5cc93b090cd2_2160x2160.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Marmoset render of the brick material with height</figcaption></figure></div><p>That height map always seem to make it all pretty looking doesn&#8217;t it? It just makes it pop out just that much more (literally!) Usually a height map like this is reserved for showcase renders like the above, however, when it goes in game, we&#8217;ll probably only be able to get away with a Normal map due to performance restrictions. Ahhh the joy of game dev. This is what I miss most about working in feature film and animation. Since everything is pre-rendered, all you really have to worry about is making it look good. There was no performance and optimization pass needed like we do in games. But on the flip, this is also one of the things that drew me to games in the first place. Designing and creating art under constraints sometimes allows you to think outside the box and come up with creative solutions to the same problem. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LR4-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19647f74-22c8-4627-a14c-2db7a07b1cce_1302x1887.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LR4-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19647f74-22c8-4627-a14c-2db7a07b1cce_1302x1887.png 424w, https://substackcdn.com/image/fetch/$s_!LR4-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19647f74-22c8-4627-a14c-2db7a07b1cce_1302x1887.png 848w, https://substackcdn.com/image/fetch/$s_!LR4-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19647f74-22c8-4627-a14c-2db7a07b1cce_1302x1887.png 1272w, https://substackcdn.com/image/fetch/$s_!LR4-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19647f74-22c8-4627-a14c-2db7a07b1cce_1302x1887.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LR4-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19647f74-22c8-4627-a14c-2db7a07b1cce_1302x1887.png" width="1302" height="1887" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19647f74-22c8-4627-a14c-2db7a07b1cce_1302x1887.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1887,&quot;width&quot;:1302,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3991704,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171075675?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19647f74-22c8-4627-a14c-2db7a07b1cce_1302x1887.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LR4-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19647f74-22c8-4627-a14c-2db7a07b1cce_1302x1887.png 424w, https://substackcdn.com/image/fetch/$s_!LR4-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19647f74-22c8-4627-a14c-2db7a07b1cce_1302x1887.png 848w, https://substackcdn.com/image/fetch/$s_!LR4-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19647f74-22c8-4627-a14c-2db7a07b1cce_1302x1887.png 1272w, https://substackcdn.com/image/fetch/$s_!LR4-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19647f74-22c8-4627-a14c-2db7a07b1cce_1302x1887.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can inject a lot of story and history through textures. Even though this is a static object and image, if we take a close look to observe, we&#8217;ll begin to notice there&#8217;s a lot more going on there. I tried to re-tell some of that story from the reference through my weathering and where I painted certain details. For example, the roof has a 2-tone color and saturation, which plays into the idea of how the roof has been sun bleached damaged and stained from the rain. Or the buildup of soot in the chimney stacks from all of the fire. Or the rusting of the pipes at the connectors because of the buildup of use over time. I mean just look at that reference image above there of an old Kiln and you can see how much character and history just the bricks give off.</p><h3>Integration in-game</h3><p>There was a lot more technical hurdles than I expected to get through when it came down to integrating it into the engine. Luckily the <a href="https://github.com/MaFi-Games/Captain-of-industry-modding">documentation on modding</a> and their <a href="https://discord.com/invite/JxmUbGsNRU">discord community</a> was very helpful in answering a lot of my questions. </p><p>Some Github repos, command line building, and a Unity material later&#8230; here&#8217;s the final asset in-game, painted up in all its glory! It&#8217;s come a long way since the grayscale model. I think it came out pretty descent. There&#8217;s still a lot of room for improvement here, but for now I&#8217;m calling it done! </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dB1A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc16e37f0-103e-4b36-9071-039310053fe6_2401x1198.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dB1A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc16e37f0-103e-4b36-9071-039310053fe6_2401x1198.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dB1A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc16e37f0-103e-4b36-9071-039310053fe6_2401x1198.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dB1A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc16e37f0-103e-4b36-9071-039310053fe6_2401x1198.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dB1A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc16e37f0-103e-4b36-9071-039310053fe6_2401x1198.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dB1A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc16e37f0-103e-4b36-9071-039310053fe6_2401x1198.jpeg" width="1456" height="726" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c16e37f0-103e-4b36-9071-039310053fe6_2401x1198.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:726,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3974168,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171075675?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc16e37f0-103e-4b36-9071-039310053fe6_2401x1198.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dB1A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc16e37f0-103e-4b36-9071-039310053fe6_2401x1198.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dB1A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc16e37f0-103e-4b36-9071-039310053fe6_2401x1198.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dB1A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc16e37f0-103e-4b36-9071-039310053fe6_2401x1198.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dB1A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc16e37f0-103e-4b36-9071-039310053fe6_2401x1198.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Comparison of the current in game asset vs my updated (and hopefully better looking) asset.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zVuN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b5ae3c-21b9-4ae6-9793-39b979361ef7_2133x1464.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zVuN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b5ae3c-21b9-4ae6-9793-39b979361ef7_2133x1464.png 424w, https://substackcdn.com/image/fetch/$s_!zVuN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b5ae3c-21b9-4ae6-9793-39b979361ef7_2133x1464.png 848w, https://substackcdn.com/image/fetch/$s_!zVuN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b5ae3c-21b9-4ae6-9793-39b979361ef7_2133x1464.png 1272w, https://substackcdn.com/image/fetch/$s_!zVuN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b5ae3c-21b9-4ae6-9793-39b979361ef7_2133x1464.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zVuN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b5ae3c-21b9-4ae6-9793-39b979361ef7_2133x1464.png" width="1456" height="999" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60b5ae3c-21b9-4ae6-9793-39b979361ef7_2133x1464.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:999,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7184096,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://practiceflip.substack.com/i/171075675?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b5ae3c-21b9-4ae6-9793-39b979361ef7_2133x1464.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zVuN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b5ae3c-21b9-4ae6-9793-39b979361ef7_2133x1464.png 424w, https://substackcdn.com/image/fetch/$s_!zVuN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b5ae3c-21b9-4ae6-9793-39b979361ef7_2133x1464.png 848w, https://substackcdn.com/image/fetch/$s_!zVuN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b5ae3c-21b9-4ae6-9793-39b979361ef7_2133x1464.png 1272w, https://substackcdn.com/image/fetch/$s_!zVuN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b5ae3c-21b9-4ae6-9793-39b979361ef7_2133x1464.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">current in-game asset (left); my revised asset (right)</figcaption></figure></div><h3>Learnings</h3><p>I learned a lot from going through this whole process of modding a game. I can see why people like to do it so much. There were a lot of challenges and hiccups along the way but overall its a worthwhile struggle to stick with a project that you feel strongly for and see it through to the end. Sometimes when you&#8217;re in the thick of it, its easy to lose site of where you want to go. In the end, I think seeing your progress will help you see just how much you&#8217;ve grown because of that journey. Overall it was a fun exercise to go from zero to finish. I encourage others to try and mod games. It was something new to me and I wasn&#8217;t sure if I would be able to do it. </p><p>Its such a nod and honestly its the sincerest form of flattery to the developers for members of their game community to take the time and energy to modify a game they already spend hours and hours playing.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://practiceflip.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for sticking around! Catcha on the Flip&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p></p>]]></content:encoded></item></channel></rss>