<?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[Tech Talk CTO: Introducing ...]]></title><description><![CDATA[Introducing a very wide range of topics, and ideas. From code to games, in a light hearted way]]></description><link>https://substack.tech-talk-cto.com/s/introducing</link><image><url>https://substack.tech-talk-cto.com/img/substack.png</url><title>Tech Talk CTO: Introducing ...</title><link>https://substack.tech-talk-cto.com/s/introducing</link></image><generator>Substack</generator><lastBuildDate>Thu, 30 Apr 2026 09:15:31 GMT</lastBuildDate><atom:link href="https://substack.tech-talk-cto.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Eugene Cheah]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[techtalkcto@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[techtalkcto@substack.com]]></itunes:email><itunes:name><![CDATA[Eugene Cheah]]></itunes:name></itunes:owner><itunes:author><![CDATA[Eugene Cheah]]></itunes:author><googleplay:owner><![CDATA[techtalkcto@substack.com]]></googleplay:owner><googleplay:email><![CDATA[techtalkcto@substack.com]]></googleplay:email><googleplay:author><![CDATA[Eugene Cheah]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Introducing RWKV - an alternative to transformers - and why alternatives matter]]></title><description><![CDATA[For a healthier future in AI]]></description><link>https://substack.tech-talk-cto.com/p/introducing-rwkv-an-alternative-to</link><guid isPermaLink="false">https://substack.tech-talk-cto.com/p/introducing-rwkv-an-alternative-to</guid><dc:creator><![CDATA[Eugene Cheah]]></dc:creator><pubDate>Mon, 04 Sep 2023 21:30:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/dvk6X5zeIfY" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p>The following is an abstract of some thoughts i had from the RWKV podcast found here: <a href="https://www.latent.space/p/rwkv#details">https://www.latent.space/p/rwkv#details</a></p><div id="youtube2-dvk6X5zeIfY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;dvk6X5zeIfY&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/dvk6X5zeIfY?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></blockquote><h1>Why Alternatives Matters ?</h1><p>Transformer architectures are currently at their peak with the AI revolution of 2023. However, in the rush to adopt them due to their recent success, it's easy to ignore alternatives that we can learn from.</p><p>As engineers, we should not take a one-size-fits-all approach, using the same hammer for every nail. We should find trade-offs in every solution. Failure to do so would trap us within the limitations of one particular platform, while remaining blissfully unaware of all other alternatives. This could potentially hold back development for years.</p><p>This problem is not unique to AI. It's a historical pattern that has repeated itself since ancient times up to the modern day.</p><h4>A page from the SQL war history...</h4><p>A notable recent example in software development was the trend towards NoSQL when SQL servers started hitting physical limitations. Startups everywhere made the move to NoSQL for "scale" reasons, despite being nowhere near those scales.</p><p>However, over time as eventual consistency and NoSQL management overhead emerged, and hardware capabilities made giant leaps in SSD speed and capacity, we've seen a recent trend back to SQL servers for their simplicity and now sufficient scalability for 90%+ of startups.</p><p>Does this mean SQL is better than NoSQL or vice versa? No, it simply means each technology has preferred use cases with pros/cons and learning points that can cross-pollinate among similar technologies.</p><blockquote><p>I hope you view this article as not an attack on transformers, but a healthy appreciation on alternatives. With that, lets get on to the main topic</p></blockquote><div><hr></div><h2>What is the biggest pain point for existing transformer architecture?</h2><p>Generally this covers compute, context length, datasets and alignment. For this discussion, we'll focus on compute and context length:</p><ul><li><p>Quadratic computational costs due to O(N^2) increase per token used/generated. This makes context sizes &gt;100k incredibly expensive. Which impacts inference and training.</p></li><li><p>Current GPU shortage exacerbates this issue.</p></li><li><p>Context size limits attention, heavily restricting "smart agent" use cases (like <a href="https://github.com/PicoCreator/smol-dev-js">smol-dev</a>), forcing workarounds. Larger contexts need fewer workarounds.</p></li></ul><p>So how do we solve this?</p><h2>Introducing RWKV - a linear transformer / modern large scale RNN</h2><blockquote><p>The following summarises the RWKV paper at a high level: <a href="https://arxiv.org/abs/2305.13048">here</a><br>For a deeper technical dive on RWKV architecture, see the: <a href="https://wiki.rwkv.com/advance/architecture.html#how-does-wkv-works-i-want-the-nitty-gritty-where-do-i-find-it">wiki here</a> </p></blockquote><p><a href="https://arxiv.org/abs/2305.13048">RWKV</a>, along with <a href="https://arxiv.org/abs/2307.08621">Microsoft RetNet</a>, are among the first of a new class called <a href="https://linear-transformers.com/">"Linear Transformers"</a>.</p><p>It tackles the above 3 limitations directly by supporting the following</p><ul><li><p>Linear computational cost regardless of context size.</p></li><li><p>Lower requirements allow reasonable token/sec output on CPU (especially ARM) in RNN mode.</p></li><li><p>No hard context size limit as an RNN. Any limits in docs are guidelines - you can finetune beyond them.</p></li></ul><p>As we continue to scale up AI models, to large context sizes. From 100k and beyond. The quadratic computational costs starts to exponentially increase. </p><p>Linear Transformers, however instead of abandoning the Recurrent Neural Network architecture and their bottlenecks which forced them to be replaced by transformers. </p><p>Took lessons learnt from making transformers scalable, and re-engineered RNN's to work similar to transformers, and remove all those bottleneck. </p><p>Bringing them back into the race with transformers, in terms of training speeds. Allowing them to both operate efficiently at O(N) cost, while scaling past a billion parameters in training. All while maintaining similar performance levels.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2c-e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c82c32-30db-47e2-9a51-e67252e1a2c6_616x463.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2c-e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c82c32-30db-47e2-9a51-e67252e1a2c6_616x463.png 424w, https://substackcdn.com/image/fetch/$s_!2c-e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c82c32-30db-47e2-9a51-e67252e1a2c6_616x463.png 848w, https://substackcdn.com/image/fetch/$s_!2c-e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c82c32-30db-47e2-9a51-e67252e1a2c6_616x463.png 1272w, https://substackcdn.com/image/fetch/$s_!2c-e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c82c32-30db-47e2-9a51-e67252e1a2c6_616x463.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2c-e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c82c32-30db-47e2-9a51-e67252e1a2c6_616x463.png" width="616" height="463" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6c82c32-30db-47e2-9a51-e67252e1a2c6_616x463.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:463,&quot;width&quot;:616,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74477,&quot;alt&quot;:&quot;Graph showing linear transformer computational cost scaling linearly per token vs. exponential increases for transformers&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Graph showing linear transformer computational cost scaling linearly per token vs. exponential increases for transformers" title="Graph showing linear transformer computational cost scaling linearly per token vs. exponential increases for transformers" srcset="https://substackcdn.com/image/fetch/$s_!2c-e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c82c32-30db-47e2-9a51-e67252e1a2c6_616x463.png 424w, https://substackcdn.com/image/fetch/$s_!2c-e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c82c32-30db-47e2-9a51-e67252e1a2c6_616x463.png 848w, https://substackcdn.com/image/fetch/$s_!2c-e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c82c32-30db-47e2-9a51-e67252e1a2c6_616x463.png 1272w, https://substackcdn.com/image/fetch/$s_!2c-e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c82c32-30db-47e2-9a51-e67252e1a2c6_616x463.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">As you scale quadratically vs linear, you will hit over 10x at 2k token count &amp; over a 100x at 100k token length.</figcaption></figure></div><p>At 14B parameters, RWKV is the largest open-source linear transformer, on par with GPT-NeoX and others on similar datasets (e.g. The Pile).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!joDr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84718161-3d73-4e43-97b9-ae36df5a5172_1237x690.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!joDr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84718161-3d73-4e43-97b9-ae36df5a5172_1237x690.png 424w, https://substackcdn.com/image/fetch/$s_!joDr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84718161-3d73-4e43-97b9-ae36df5a5172_1237x690.png 848w, https://substackcdn.com/image/fetch/$s_!joDr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84718161-3d73-4e43-97b9-ae36df5a5172_1237x690.png 1272w, https://substackcdn.com/image/fetch/$s_!joDr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84718161-3d73-4e43-97b9-ae36df5a5172_1237x690.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!joDr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84718161-3d73-4e43-97b9-ae36df5a5172_1237x690.png" width="1237" height="690" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84718161-3d73-4e43-97b9-ae36df5a5172_1237x690.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:690,&quot;width&quot;:1237,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:325305,&quot;alt&quot;:&quot;Various benchmarks showing RWKV model performing comparable to existing transformer models of similar size scale&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Various benchmarks showing RWKV model performing comparable to existing transformer models of similar size scale" title="Various benchmarks showing RWKV model performing comparable to existing transformer models of similar size scale" srcset="https://substackcdn.com/image/fetch/$s_!joDr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84718161-3d73-4e43-97b9-ae36df5a5172_1237x690.png 424w, https://substackcdn.com/image/fetch/$s_!joDr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84718161-3d73-4e43-97b9-ae36df5a5172_1237x690.png 848w, https://substackcdn.com/image/fetch/$s_!joDr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84718161-3d73-4e43-97b9-ae36df5a5172_1237x690.png 1272w, https://substackcdn.com/image/fetch/$s_!joDr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84718161-3d73-4e43-97b9-ae36df5a5172_1237x690.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>But what does this mean, in simpler terms?</p><p><strong>Pros</strong></p><ul><li><p>10x++ cheaper inference/training than transformers at large context sizes</p></li><li><p>Can run slowly on very limited hardware in RNN mode</p></li><li><p>Similar performance to transformers on same datasets</p></li><li><p>No technical context size limit as RNN (infinite context!)</p></li></ul><p><strong>Cons</strong></p><ul><li><p>Sliding window problem, with lossy memory past a certain point</p></li><li><p>Not proven to scale beyond 14B parameters yet</p></li><li><p>Less optimised and adopted than transformers</p></li></ul><p>So while RWKV isn't yet at 60B+ parameter scales like LLaMA2, with the right support/resources it has potential to get there at lower cost and larger contexts. Especially as expert models trend towards smaller and efficient.</p><p>Consider it if efficiency matters for your use case. But it's not the final solution - healthy alternatives are still key.</p><blockquote><p>Also one last thing i forget to mentioned:<br>Linear Transformers typically do not use classic Transformer attention, but an approximate equivalent, meaning ...</p><p><strong><a href="https://arxiv.org/abs/2103.03404">Attention is Not All You Need</a></strong></p></blockquote><div><hr></div><h2>Other alternatives and its benefits we should probably learn from</h2><ul><li><p><strong>Diffusion Models</strong>: Slow to train for text, but extremely resilient to multi-epoch training. Figuring out why could help mitigate<a href="https://arxiv.org/abs/2305.13230"> the token crisis</a></p></li><li><p><strong>Generative Adversarial Networks / Agents</strong>: techniques could be used to train desired skillsets, to a specific goal without datasets. Even for text based models</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://substack.tech-talk-cto.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 Tech Talk CTO! 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><blockquote><p><strong>Disclosure:</strong> I am a code contributor to the RWKV project, and an active member in the community. </p><p>However it does not mean I view RWKV as the final answer, even if in the future where "Linear Transformers" beat out traditional "Transformer" networks in the future, research into alternatives is still important for healthy ecosystem development. </p><p>I strongly believe there is no such thing as "one architecture to rule them all"</p><p>Additionally, i am aware there has since been developments like TransformerXL to more efficiently scale transformers, somewhere between quadratic cost, and linear cost. However with very limited known implementation of this method in public, it is hard for me to evaluate its pros and cons.</p></blockquote>]]></content:encoded></item><item><title><![CDATA[Introducing Factory Building Games - and how it levels you up as a programmer]]></title><description><![CDATA[All the fun of being a software engineer, minus all the pain]]></description><link>https://substack.tech-talk-cto.com/p/introducing-factory-building-games</link><guid isPermaLink="false">https://substack.tech-talk-cto.com/p/introducing-factory-building-games</guid><dc:creator><![CDATA[Eugene Cheah]]></dc:creator><pubDate>Tue, 29 Nov 2022 13:53:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!L79k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F853a860a-1337-4150-a331-a61bd79f0678_1920x1080.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_!L79k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F853a860a-1337-4150-a331-a61bd79f0678_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L79k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F853a860a-1337-4150-a331-a61bd79f0678_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L79k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F853a860a-1337-4150-a331-a61bd79f0678_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L79k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F853a860a-1337-4150-a331-a61bd79f0678_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L79k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F853a860a-1337-4150-a331-a61bd79f0678_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L79k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F853a860a-1337-4150-a331-a61bd79f0678_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/853a860a-1337-4150-a331-a61bd79f0678_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;:582418,&quot;alt&quot;:&quot;screenshot of a factory in dyson sphere program the game&quot;,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="screenshot of a factory in dyson sphere program the game" title="screenshot of a factory in dyson sphere program the game" srcset="https://substackcdn.com/image/fetch/$s_!L79k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F853a860a-1337-4150-a331-a61bd79f0678_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L79k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F853a860a-1337-4150-a331-a61bd79f0678_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L79k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F853a860a-1337-4150-a331-a61bd79f0678_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L79k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F853a860a-1337-4150-a331-a61bd79f0678_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></figure></div><p>If you ever wanted to know how it feels like to be a senior software engineer, and experience ...</p><ul><li><p>The joy of coming up with experiments, and testing them to solve problems</p></li><li><p>The craftsmanship of building either building small hyper-efficent systems, or</p></li><li><p>The pride in building large hyper scale systems.</p></li><li><p>All within either a fixed constraint or the lack of it</p></li></ul><p>Factory building games, allows you to experience all of them in a highly compressed timeframe of hours instead of days. </p><p>All without the common frustration and pains that comes with programming. (Weird obscure library bugs, lack of documentation, Company politics or bureaucracy in processes, budget ... )</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8lqs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4decb07-0d89-40c6-a0ad-915d4f612ad0_889x522.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8lqs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4decb07-0d89-40c6-a0ad-915d4f612ad0_889x522.png 424w, https://substackcdn.com/image/fetch/$s_!8lqs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4decb07-0d89-40c6-a0ad-915d4f612ad0_889x522.png 848w, https://substackcdn.com/image/fetch/$s_!8lqs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4decb07-0d89-40c6-a0ad-915d4f612ad0_889x522.png 1272w, https://substackcdn.com/image/fetch/$s_!8lqs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4decb07-0d89-40c6-a0ad-915d4f612ad0_889x522.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8lqs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4decb07-0d89-40c6-a0ad-915d4f612ad0_889x522.png" width="889" height="522" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/b4decb07-0d89-40c6-a0ad-915d4f612ad0_889x522.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:522,&quot;width&quot;:889,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:87912,&quot;alt&quot;:&quot;reddit users, describing their positive experiences with the game factorio&quot;,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="reddit users, describing their positive experiences with the game factorio" title="reddit users, describing their positive experiences with the game factorio" srcset="https://substackcdn.com/image/fetch/$s_!8lqs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4decb07-0d89-40c6-a0ad-915d4f612ad0_889x522.png 424w, https://substackcdn.com/image/fetch/$s_!8lqs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4decb07-0d89-40c6-a0ad-915d4f612ad0_889x522.png 848w, https://substackcdn.com/image/fetch/$s_!8lqs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4decb07-0d89-40c6-a0ad-915d4f612ad0_889x522.png 1272w, https://substackcdn.com/image/fetch/$s_!8lqs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4decb07-0d89-40c6-a0ad-915d4f612ad0_889x522.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">Dun take my word for it, let reddit comments of one of the games in the genre speak for itself</figcaption></figure></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://substack.tech-talk-cto.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 Tech Talk CTO! 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><h2><strong>What is a Factory Building Games?</strong></h2><p>Factory Building Games, or FBG for short, are at its core about<br>Constructing and expanding a large base of multiple building blocks &#8230;</p><ul><li><p>Connected together to build products using an ever-growing continuous supply of materials &#8230;</p></li><li><p>To continuously feed a very intensive "resource sink" (the games goal) &#8230;</p></li><li><p>Which runs automatically without the player interaction for long periods of time</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_!Leuu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5936b8c5-3a9b-4b86-9615-70554f9c5bf6_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Leuu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5936b8c5-3a9b-4b86-9615-70554f9c5bf6_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Leuu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5936b8c5-3a9b-4b86-9615-70554f9c5bf6_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Leuu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5936b8c5-3a9b-4b86-9615-70554f9c5bf6_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Leuu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5936b8c5-3a9b-4b86-9615-70554f9c5bf6_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Leuu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5936b8c5-3a9b-4b86-9615-70554f9c5bf6_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5936b8c5-3a9b-4b86-9615-70554f9c5bf6_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;:984648,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Leuu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5936b8c5-3a9b-4b86-9615-70554f9c5bf6_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Leuu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5936b8c5-3a9b-4b86-9615-70554f9c5bf6_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Leuu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5936b8c5-3a9b-4b86-9615-70554f9c5bf6_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Leuu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5936b8c5-3a9b-4b86-9615-70554f9c5bf6_1920x1080.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">Screenshot of a production line, in &#8220;Captains of Industry&#8221; game</figcaption></figure></div><p>One of the key differences between FBG, and typical resource management games. Is the endless continuous nature of the main production lines, due to the usually infinite scaling nature of the "resource sink". Allowing everything to run "infinitely" without player interaction.</p><p>Said "resource sink" may differ from game to game, but it's typically some combination of the following</p><ul><li><p>Researching new tech, some which are endlessly repeatable</p></li><li><p>Sustaining a colony of citizens, that grows in both size, and resource requirements</p></li><li><p>A definitive end game goal, with enormous requirements (launch a rocket, build a Dyson sphere, etc)</p></li></ul><p>While this may sound simple enough. Another common feature, is how as the game progresses. It would require more advance products and buildings, that requires other products built by the factory system itself. Which constantly scales up complex combination requirements.</p><p>At late game, it is not uncommon for products that are needed for the game goals, to require a process that involves over a dozen parts, and hundreds of steps.</p><p>Resulting into a complicated large scale processes, running continuously; Which mirrors some real life factories, hence the FBG title. </p><p>This gradual ramp up in complexity encourages constantly scaling up both consumption and production. All while constantly refactoring or updating the factory layout for optimisation, as new "methods of production" is unlocked.</p><div><hr></div><h2><strong>How it makes you a better programmer - by making you practise everything else but code!</strong></h2><p>To understands the similarities between software development as a programmer, and playing an FBG as a gamer. We start by looking at a typical workflow for a programmer, where each task spans weeks to months</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wdbA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce91f06-979e-4533-aeba-91bde6a54746_2268x1945.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wdbA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce91f06-979e-4533-aeba-91bde6a54746_2268x1945.png 424w, https://substackcdn.com/image/fetch/$s_!wdbA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce91f06-979e-4533-aeba-91bde6a54746_2268x1945.png 848w, https://substackcdn.com/image/fetch/$s_!wdbA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce91f06-979e-4533-aeba-91bde6a54746_2268x1945.png 1272w, https://substackcdn.com/image/fetch/$s_!wdbA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce91f06-979e-4533-aeba-91bde6a54746_2268x1945.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wdbA!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce91f06-979e-4533-aeba-91bde6a54746_2268x1945.png" width="1200" height="1029.3956043956043" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4ce91f06-979e-4533-aeba-91bde6a54746_2268x1945.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:1249,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:320592,&quot;alt&quot;:&quot;flow chart of a programmer workflow, from start of task, to prototyping, testing, and finally deploying it to production. All while trying to avoid possible failures along the way, which loops back to the start of the task.&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-large" alt="flow chart of a programmer workflow, from start of task, to prototyping, testing, and finally deploying it to production. All while trying to avoid possible failures along the way, which loops back to the start of the task." title="flow chart of a programmer workflow, from start of task, to prototyping, testing, and finally deploying it to production. All while trying to avoid possible failures along the way, which loops back to the start of the task." srcset="https://substackcdn.com/image/fetch/$s_!wdbA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce91f06-979e-4533-aeba-91bde6a54746_2268x1945.png 424w, https://substackcdn.com/image/fetch/$s_!wdbA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce91f06-979e-4533-aeba-91bde6a54746_2268x1945.png 848w, https://substackcdn.com/image/fetch/$s_!wdbA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce91f06-979e-4533-aeba-91bde6a54746_2268x1945.png 1272w, https://substackcdn.com/image/fetch/$s_!wdbA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce91f06-979e-4533-aeba-91bde6a54746_2268x1945.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">Individual experiences may very differ between companies, but roughly stays the same. Emoji&#8217;s express the typical emotion involved for each activity.</figcaption></figure></div><p>Now contrast to the typical gameplay experience of a FBG.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kQcg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d75a0c-53e9-4ad8-875a-0c0f89ae0119_1285x1420.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kQcg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d75a0c-53e9-4ad8-875a-0c0f89ae0119_1285x1420.png 424w, https://substackcdn.com/image/fetch/$s_!kQcg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d75a0c-53e9-4ad8-875a-0c0f89ae0119_1285x1420.png 848w, https://substackcdn.com/image/fetch/$s_!kQcg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d75a0c-53e9-4ad8-875a-0c0f89ae0119_1285x1420.png 1272w, https://substackcdn.com/image/fetch/$s_!kQcg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d75a0c-53e9-4ad8-875a-0c0f89ae0119_1285x1420.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kQcg!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d75a0c-53e9-4ad8-875a-0c0f89ae0119_1285x1420.png" width="1200" height="1326.070038910506" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a7d75a0c-53e9-4ad8-875a-0c0f89ae0119_1285x1420.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:1420,&quot;width&quot;:1285,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:182518,&quot;alt&quot;:&quot;flow chart of a FBG gamer experience, from start of task, to prototyping, testing, and finally deploying it to production. All while having fun with other mini games along the way, which loops back to the start of the task.&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-large" alt="flow chart of a FBG gamer experience, from start of task, to prototyping, testing, and finally deploying it to production. All while having fun with other mini games along the way, which loops back to the start of the task." title="flow chart of a FBG gamer experience, from start of task, to prototyping, testing, and finally deploying it to production. All while having fun with other mini games along the way, which loops back to the start of the task." srcset="https://substackcdn.com/image/fetch/$s_!kQcg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d75a0c-53e9-4ad8-875a-0c0f89ae0119_1285x1420.png 424w, https://substackcdn.com/image/fetch/$s_!kQcg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d75a0c-53e9-4ad8-875a-0c0f89ae0119_1285x1420.png 848w, https://substackcdn.com/image/fetch/$s_!kQcg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d75a0c-53e9-4ad8-875a-0c0f89ae0119_1285x1420.png 1272w, https://substackcdn.com/image/fetch/$s_!kQcg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d75a0c-53e9-4ad8-875a-0c0f89ae0119_1285x1420.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>Notice the huge similarities, and how it compresses all the programmers day to day activities down to hours. While nearly removing all the unpleasant and potentially frustrating bits!</p><p>Despite ironically removing coding (one of the most critical things a programmer does). It rapidly speeds up the loop of planning, testing and iterating. At a much faster pace than the real world.</p><p>This allow a player to practise systems thinking, which is critical to programmers. </p><p>It does so, by forcing the player, to split the problem in game into smaller tasks, while using their existing tools and knowledge to solve them. Before forcing them to do the inverse, in putting together large complex systems, using the same "blueprint" of what they built previously.</p><p>This process of making smaller changes, and integrating such changes to the larger system, is part of the day to day of software engineering. (including all its failures and iterations)</p><p>Additionally, due to its nature of being a "game" - and the lack of "real life consequences". Most of the negative emotions that come with failure are minimised. This encourages the player to learn quickly through experimentation and failure. </p><p>All while avoiding overwhelming the gamer, due to the limited nature of the toolbox in the game. Allowing the player to gain satisfaction, from the mastery of said tools</p><p>Hence, despite the exclusion of code. It teaches the gamer/programmer, very essential skills in software development. As it&#8217;s worth repeating that &#8230;</p><div class="pullquote"><p>Coding is often only only half the battle for a programmer.</p></div><p>There is a flip side though - which should come with a warning label. This game genre can be very addictive, due to how well refined the positive feedback loop is.</p><blockquote><p>"It's the one video game (Factorio) that everyone at Shopify can expense&#8221;<br>~ Tobi Lutke, CEO of Shopify</p></blockquote><div><hr></div><h2><strong>Sounds good, how can I get started?</strong></h2><p>You can find the full list of FBG games at : <br><a href="https://github.com/PicoCreator/awesome-list-factory-building-games">https://github.com/PicoCreator/awesome-list-factory-building-games</a></p><p>However, because the full list can be overwhelming, here are some quick highlights &#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_!_FnQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd48ce-9c74-4375-887d-7485e4d54fdc_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_FnQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd48ce-9c74-4375-887d-7485e4d54fdc_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_FnQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd48ce-9c74-4375-887d-7485e4d54fdc_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_FnQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd48ce-9c74-4375-887d-7485e4d54fdc_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_FnQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd48ce-9c74-4375-887d-7485e4d54fdc_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_FnQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd48ce-9c74-4375-887d-7485e4d54fdc_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/dacd48ce-9c74-4375-887d-7485e4d54fdc_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;:226775,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_FnQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd48ce-9c74-4375-887d-7485e4d54fdc_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_FnQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd48ce-9c74-4375-887d-7485e4d54fdc_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_FnQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd48ce-9c74-4375-887d-7485e4d54fdc_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_FnQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd48ce-9c74-4375-887d-7485e4d54fdc_1920x1080.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 incomplete dyson sphere, with a dyson swarm</figcaption></figure></div><p><a href="https://store.steampowered.com/app/1366540/Dyson_Sphere_Program/">Dyson Sphere Program</a> : which is a pure FBG in space, with really nice 3D visuals. Also building a Dyson sphere around the sun, is a cool mega project in itself</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L7P3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78290ae2-f9c8-4068-82c0-405e22f2e33e_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L7P3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78290ae2-f9c8-4068-82c0-405e22f2e33e_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L7P3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78290ae2-f9c8-4068-82c0-405e22f2e33e_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L7P3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78290ae2-f9c8-4068-82c0-405e22f2e33e_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L7P3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78290ae2-f9c8-4068-82c0-405e22f2e33e_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L7P3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78290ae2-f9c8-4068-82c0-405e22f2e33e_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/78290ae2-f9c8-4068-82c0-405e22f2e33e_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;:756597,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L7P3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78290ae2-f9c8-4068-82c0-405e22f2e33e_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L7P3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78290ae2-f9c8-4068-82c0-405e22f2e33e_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L7P3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78290ae2-f9c8-4068-82c0-405e22f2e33e_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L7P3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78290ae2-f9c8-4068-82c0-405e22f2e33e_1920x1080.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">Screenshot of a factory plant in &#8220;Satisfactory&#8221;</figcaption></figure></div><p><a href="https://store.steampowered.com/app/526870/Satisfactory/">Satisfactory</a> : which uses FPS/Fortnite like controls, not recommended if you are not used to such a control scheme - supports multiplayer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fb2j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9aef0-ebc1-4ecd-ac36-5b85d4f7be6b_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fb2j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9aef0-ebc1-4ecd-ac36-5b85d4f7be6b_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Fb2j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9aef0-ebc1-4ecd-ac36-5b85d4f7be6b_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Fb2j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9aef0-ebc1-4ecd-ac36-5b85d4f7be6b_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Fb2j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9aef0-ebc1-4ecd-ac36-5b85d4f7be6b_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fb2j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9aef0-ebc1-4ecd-ac36-5b85d4f7be6b_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/baa9aef0-ebc1-4ecd-ac36-5b85d4f7be6b_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;:1580849,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Fb2j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9aef0-ebc1-4ecd-ac36-5b85d4f7be6b_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Fb2j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9aef0-ebc1-4ecd-ac36-5b85d4f7be6b_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Fb2j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9aef0-ebc1-4ecd-ac36-5b85d4f7be6b_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Fb2j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9aef0-ebc1-4ecd-ac36-5b85d4f7be6b_1920x1080.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">Screenshot of a giant messy factory in factorio</figcaption></figure></div><p><a href="https://store.steampowered.com/app/427520/Factorio/">Factorio</a> :  which is the most popular in this genre - is only recommended for more experience gamers. In my opinion it's not beginner friendly. However it supports really large scale multiplayer gameplay (50+ players), making it popular with larger teams.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YkPz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc402453-0e52-4a40-8146-52db564cee3c_3840x2160.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YkPz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc402453-0e52-4a40-8146-52db564cee3c_3840x2160.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YkPz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc402453-0e52-4a40-8146-52db564cee3c_3840x2160.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YkPz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc402453-0e52-4a40-8146-52db564cee3c_3840x2160.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YkPz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc402453-0e52-4a40-8146-52db564cee3c_3840x2160.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YkPz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc402453-0e52-4a40-8146-52db564cee3c_3840x2160.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bc402453-0e52-4a40-8146-52db564cee3c_3840x2160.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;:1204431,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YkPz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc402453-0e52-4a40-8146-52db564cee3c_3840x2160.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YkPz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc402453-0e52-4a40-8146-52db564cee3c_3840x2160.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YkPz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc402453-0e52-4a40-8146-52db564cee3c_3840x2160.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YkPz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc402453-0e52-4a40-8146-52db564cee3c_3840x2160.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">Screenshot of an automated farm in Autonauts</figcaption></figure></div><p><a href="https://store.steampowered.com/app/979120/Autonauts/">Autonauts</a> : is one of the notable FBG that includes simple programming blocks, for its "automation bots". Adding the code element back into FBG. It does loose however the iconic conveyer belt (to force you to use the bots), while sadly simplifying many things (can be too easy)</p><blockquote><p>If you find yourself struggling with a particular game, try to takes things slow instead of rushing it. Part of the fun is to overcome these challenges.</p><p>Also, Some FBG may include other game mechanics like endless combat/war. this can drastically change the style of the game, as such when possible I would recommend "peaceful mode" for new players. To focus on the FBG gameplay.</p></blockquote><div><hr></div><h2><strong>I did not like the games you recommended, does that make me a bad programmer?</strong></h2><p><strong>No</strong></p><p>There are many good programmers who dun like games</p><p>There are many other reasons why one may find joy in programming that is not found in these games. </p><p>Most notably</p><ul><li><p>Personal satisfaction from providing positive impact to users</p></li><li><p>Personal satisfaction from solving coding tasks</p></li></ul><p>Similarly there are many other valid reasons why you may dislike a certain part of the game which makes it a dealbreaker. Or even just video games in general.</p><p>So while there is some truth that if you enjoy FBG, you probably will enjoy programming (and vice-visa). It is worth reminding that correlation is not causation.</p><p>So you be you. There are other hobbies in life, which is both fun, and sharpens your skills.</p><p>However, for programmers, who do enjoy playing such games. Good for you, as this is one of the few games which can help both practise your skills, and have fun outside your work-hours.</p><blockquote><p>Separately, For non-programmers who is aspiring to be a programmer, completing an FBG, will help you get a better idea of the ideal workflow of a programmer. <br><br>This in itself, is a huge benefit, if you are outside the tech industry, and want to explore if such work is suitable for you</p></blockquote><div><hr></div><h2><strong>Shameless plug: How can Uilicious.com automate cross browser testing, to make my website development more "Satisfactory"</strong></h2><p>Is manually testing your websites, prior to production deployment a huge time sink and pain? Find existing website testing tools too complicated for your team to use?</p><p>Give <a href="https://uilicious.com">uilicious.com</a> a try today, with our easy to use testing commands, which anyone, even manual testers can easily learn.</p><p>An example would be the following code snippet for a simple login test</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g0rr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19ce8ca-ac10-4312-a0bb-69679325d27f_1000x558.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g0rr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19ce8ca-ac10-4312-a0bb-69679325d27f_1000x558.png 424w, https://substackcdn.com/image/fetch/$s_!g0rr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19ce8ca-ac10-4312-a0bb-69679325d27f_1000x558.png 848w, https://substackcdn.com/image/fetch/$s_!g0rr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19ce8ca-ac10-4312-a0bb-69679325d27f_1000x558.png 1272w, https://substackcdn.com/image/fetch/$s_!g0rr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19ce8ca-ac10-4312-a0bb-69679325d27f_1000x558.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g0rr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19ce8ca-ac10-4312-a0bb-69679325d27f_1000x558.png" width="1000" height="558" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a19ce8ca-ac10-4312-a0bb-69679325d27f_1000x558.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:558,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96320,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!g0rr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19ce8ca-ac10-4312-a0bb-69679325d27f_1000x558.png 424w, https://substackcdn.com/image/fetch/$s_!g0rr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19ce8ca-ac10-4312-a0bb-69679325d27f_1000x558.png 848w, https://substackcdn.com/image/fetch/$s_!g0rr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19ce8ca-ac10-4312-a0bb-69679325d27f_1000x558.png 1272w, https://substackcdn.com/image/fetch/$s_!g0rr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa19ce8ca-ac10-4312-a0bb-69679325d27f_1000x558.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><a href="https://snippet.uilicious.com/test/public/5994LUfLZKidFGJGiTxUyG">Which would provide the following test results</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_!ggJZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F74d59c93-a074-4ce5-b59f-cd789d8a5a2b_660x440.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ggJZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F74d59c93-a074-4ce5-b59f-cd789d8a5a2b_660x440.gif 424w, https://substackcdn.com/image/fetch/$s_!ggJZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F74d59c93-a074-4ce5-b59f-cd789d8a5a2b_660x440.gif 848w, https://substackcdn.com/image/fetch/$s_!ggJZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F74d59c93-a074-4ce5-b59f-cd789d8a5a2b_660x440.gif 1272w, https://substackcdn.com/image/fetch/$s_!ggJZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F74d59c93-a074-4ce5-b59f-cd789d8a5a2b_660x440.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ggJZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F74d59c93-a074-4ce5-b59f-cd789d8a5a2b_660x440.gif" width="660" height="440" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/74d59c93-a074-4ce5-b59f-cd789d8a5a2b_660x440.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:440,&quot;width&quot;:660,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:139131,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&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="" srcset="https://substackcdn.com/image/fetch/$s_!ggJZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F74d59c93-a074-4ce5-b59f-cd789d8a5a2b_660x440.gif 424w, https://substackcdn.com/image/fetch/$s_!ggJZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F74d59c93-a074-4ce5-b59f-cd789d8a5a2b_660x440.gif 848w, https://substackcdn.com/image/fetch/$s_!ggJZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F74d59c93-a074-4ce5-b59f-cd789d8a5a2b_660x440.gif 1272w, https://substackcdn.com/image/fetch/$s_!ggJZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F74d59c93-a074-4ce5-b59f-cd789d8a5a2b_660x440.gif 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><a href="https://uilicious.com/">Making testing user journeys on the internet, a piece of cake &#128516;</a><br>~ Eugene Cheah CTO / founder of Uilicious.com</p>]]></content:encoded></item></channel></rss>