<?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[Applied Game Systems Design by Burak Ökten]]></title><description><![CDATA[Insights on implementing advanced game systems.]]></description><link>https://applied.gamesystem.design</link><image><url>https://substackcdn.com/image/fetch/$s_!zfeX!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d5f3f59-ca75-4198-a6af-76012b0fb9e6_580x580.png</url><title>Applied Game Systems Design by Burak Ökten</title><link>https://applied.gamesystem.design</link></image><generator>Substack</generator><lastBuildDate>Wed, 06 May 2026 11:58:38 GMT</lastBuildDate><atom:link href="https://applied.gamesystem.design/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Burak Ökten]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[okten@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[okten@substack.com]]></itunes:email><itunes:name><![CDATA[Burak Ökten]]></itunes:name></itunes:owner><itunes:author><![CDATA[Burak Ökten]]></itunes:author><googleplay:owner><![CDATA[okten@substack.com]]></googleplay:owner><googleplay:email><![CDATA[okten@substack.com]]></googleplay:email><googleplay:author><![CDATA[Burak Ökten]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Prototyping LiveOps Events with a Designer-First Framework]]></title><description><![CDATA[How can we design live events for hybrid-casual games in a structured way?]]></description><link>https://applied.gamesystem.design/p/prototyping-liveops-events-with-a-designer-first-framework</link><guid isPermaLink="false">https://applied.gamesystem.design/p/prototyping-liveops-events-with-a-designer-first-framework</guid><dc:creator><![CDATA[Burak Ökten]]></dc:creator><pubDate>Tue, 28 Apr 2026 09:13:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IG1x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.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_!IG1x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IG1x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!IG1x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!IG1x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!IG1x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IG1x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.jpeg" width="1280" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:426676,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.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_!IG1x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!IG1x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!IG1x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!IG1x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F786afe37-de29-41d4-8a97-0a32a69ac187_1280x800.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">The live event prototyping framework lets you design, simulate, and export LiveOps configurations.</figcaption></figure></div><p>Welcome to my new blog post!</p><p>Today, we will discuss how to prototype different types of live events using a framework I&#8217;ve prepared.</p><div><hr></div><p>The live event prototyping framework is a framework for hybrid-casual games that enables even seemingly different events to use the same configuration infrastructure, while helping standardize communication between product and development teams.</p><p>Before continuing with the article, you can <strong>try it here:</strong></p><p><a href="https://burak.tools/event-prototyping/">Live Event Prototyping Framework by Burak &#214;kten for Hybrid Casual Games</a></p><div><hr></div><p>As a game designer, I&#8217;ve often experienced that some of the biggest challenges in event design and implementation are explaining how an event should work to developers, while also trying to build economy models across excel files that keep growing and becoming harder to manage. For this reason, I specifically decided to develop it with a designer-first approach.</p><p>I derived this framework from another economy framework I worked on last year. You can read more about that topic in my article, <em><a href="https://applied.gamesystem.design/i/187375976/framework-design">Why LiveOps Feels Unpredictable for Game Designers</a></em>. While it is your responsibility to check the accuracy of the results produced by the framework, my goal here is to help product teams in particular with the following:</p><ol><li><p>Quickly prototype any hybrid-casual event that comes to mind,</p></li><li><p>Approximately simulate your existing game economy when needed,</p></li><li><p>Take a quick look at how schedule changes would affect your existing game economy,</p></li><li><p>Prevent developers from struggling with different event templates, and</p></li><li><p>Help you get a quick start if you want to create your own LiveOps solutions, whether remote or client-side.</p></li></ol><p>To be honest, the number of studios trying to use their own LiveOps methods is not insignificant. For this reason, I believe it will be quite useful for you, especially if you are using solutions such as Firebase Remote Config.</p><p>Although this framework does not claim to be a production-ready solution, I think it may inspire different tools you may want to develop in the future.</p><p>Now we can return to the main topic of the article. Although the framework&#8217;s website already provides access to its documentation and sample events, I thought it would be useful to walk through how to add an event step by step. Along the way, we&#8217;ll also cover some of the other features worth highlighting.</p><p>Here&#8217;s a quick look at the outline of the article:</p><ol><li><p><strong>Introduction,</strong> in this section, we briefly discuss the core features of the framework,</p></li><li><p><strong>Event Prototyping,</strong> in this section, we prepare a Season Pass event.</p></li></ol><p>Then, let&#8217;s begin!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><h2>Introduction</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cs6B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd55ce51-3abe-4de8-b0b9-ee7793514024_1910x1160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cs6B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd55ce51-3abe-4de8-b0b9-ee7793514024_1910x1160.png 424w, https://substackcdn.com/image/fetch/$s_!cs6B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd55ce51-3abe-4de8-b0b9-ee7793514024_1910x1160.png 848w, https://substackcdn.com/image/fetch/$s_!cs6B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd55ce51-3abe-4de8-b0b9-ee7793514024_1910x1160.png 1272w, https://substackcdn.com/image/fetch/$s_!cs6B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd55ce51-3abe-4de8-b0b9-ee7793514024_1910x1160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cs6B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd55ce51-3abe-4de8-b0b9-ee7793514024_1910x1160.png" width="1456" height="884" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd55ce51-3abe-4de8-b0b9-ee7793514024_1910x1160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:884,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:220200,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd55ce51-3abe-4de8-b0b9-ee7793514024_1910x1160.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_!cs6B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd55ce51-3abe-4de8-b0b9-ee7793514024_1910x1160.png 424w, https://substackcdn.com/image/fetch/$s_!cs6B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd55ce51-3abe-4de8-b0b9-ee7793514024_1910x1160.png 848w, https://substackcdn.com/image/fetch/$s_!cs6B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd55ce51-3abe-4de8-b0b9-ee7793514024_1910x1160.png 1272w, https://substackcdn.com/image/fetch/$s_!cs6B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd55ce51-3abe-4de8-b0b9-ee7793514024_1910x1160.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">Dashboard page UI.</figcaption></figure></div><p>The live event prototyping framework consists of 4 main sections:</p><ol><li><p><strong>Builder</strong> - in this section, we design events,</p></li><li><p><strong>Planner</strong> - in this section, we schedule the events,</p></li><li><p><strong>Economy</strong> - in this section, we run an economy simulation of the events we placed on the calendar, and</p></li><li><p><strong>Configurations</strong> - in this section, we can either export the configuration of the events we designed, or import previously exported events and continue working on them.</p></li></ol><h3>Builder</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pVKV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6e0d31-db96-4910-be3f-06a559f30f65_1910x1230.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pVKV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6e0d31-db96-4910-be3f-06a559f30f65_1910x1230.png 424w, https://substackcdn.com/image/fetch/$s_!pVKV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6e0d31-db96-4910-be3f-06a559f30f65_1910x1230.png 848w, https://substackcdn.com/image/fetch/$s_!pVKV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6e0d31-db96-4910-be3f-06a559f30f65_1910x1230.png 1272w, https://substackcdn.com/image/fetch/$s_!pVKV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6e0d31-db96-4910-be3f-06a559f30f65_1910x1230.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pVKV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6e0d31-db96-4910-be3f-06a559f30f65_1910x1230.png" width="1456" height="938" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca6e0d31-db96-4910-be3f-06a559f30f65_1910x1230.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:938,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86260,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6e0d31-db96-4910-be3f-06a559f30f65_1910x1230.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_!pVKV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6e0d31-db96-4910-be3f-06a559f30f65_1910x1230.png 424w, https://substackcdn.com/image/fetch/$s_!pVKV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6e0d31-db96-4910-be3f-06a559f30f65_1910x1230.png 848w, https://substackcdn.com/image/fetch/$s_!pVKV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6e0d31-db96-4910-be3f-06a559f30f65_1910x1230.png 1272w, https://substackcdn.com/image/fetch/$s_!pVKV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6e0d31-db96-4910-be3f-06a559f30f65_1910x1230.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">Builder page UI.</figcaption></figure></div><p>The Builder page includes the Units, Groups, Packs, Progressions, and Features modules that we will use in event design, as well as the Segment module that covers all of them.</p><p>To design an event, you first need to create the relevant <strong>Units</strong> such as coins, lives, rewarded ads, and so on. These Units are then grouped in the <strong>Group</strong> module so they can be used together, and those groups are assigned to <strong>Packs</strong> so they can be used as rewards or offers. Next, <strong>Progressions</strong> define how rewards are earned, and these progressions are assigned to <strong>Features</strong> to activate event-specific functionality. Each completed Feature item represents a designed event.</p><p>We&#8217;ll explore these processes in practice in the <strong>Event Prototyping</strong> section.</p><h3>Planner</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h8-b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a270c2c-4e46-4e78-aa0b-ce83fd1b98d0_1910x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h8-b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a270c2c-4e46-4e78-aa0b-ce83fd1b98d0_1910x720.png 424w, https://substackcdn.com/image/fetch/$s_!h8-b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a270c2c-4e46-4e78-aa0b-ce83fd1b98d0_1910x720.png 848w, https://substackcdn.com/image/fetch/$s_!h8-b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a270c2c-4e46-4e78-aa0b-ce83fd1b98d0_1910x720.png 1272w, https://substackcdn.com/image/fetch/$s_!h8-b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a270c2c-4e46-4e78-aa0b-ce83fd1b98d0_1910x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h8-b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a270c2c-4e46-4e78-aa0b-ce83fd1b98d0_1910x720.png" width="1456" height="549" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a270c2c-4e46-4e78-aa0b-ce83fd1b98d0_1910x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:549,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83552,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a270c2c-4e46-4e78-aa0b-ce83fd1b98d0_1910x720.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_!h8-b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a270c2c-4e46-4e78-aa0b-ce83fd1b98d0_1910x720.png 424w, https://substackcdn.com/image/fetch/$s_!h8-b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a270c2c-4e46-4e78-aa0b-ce83fd1b98d0_1910x720.png 848w, https://substackcdn.com/image/fetch/$s_!h8-b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a270c2c-4e46-4e78-aa0b-ce83fd1b98d0_1910x720.png 1272w, https://substackcdn.com/image/fetch/$s_!h8-b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a270c2c-4e46-4e78-aa0b-ce83fd1b98d0_1910x720.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">Planner page UI.</figcaption></figure></div><p>Features prepared in Builder page can be added to the calendar in Planner page on a segment basis. In the calendar, the event duration type and repeat rules can be adjusted according to your requirements.</p><h3>Economy</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xEXZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c45dabf-f60b-404e-9726-11692b8f0aca_1910x1057.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xEXZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c45dabf-f60b-404e-9726-11692b8f0aca_1910x1057.png 424w, https://substackcdn.com/image/fetch/$s_!xEXZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c45dabf-f60b-404e-9726-11692b8f0aca_1910x1057.png 848w, https://substackcdn.com/image/fetch/$s_!xEXZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c45dabf-f60b-404e-9726-11692b8f0aca_1910x1057.png 1272w, https://substackcdn.com/image/fetch/$s_!xEXZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c45dabf-f60b-404e-9726-11692b8f0aca_1910x1057.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xEXZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c45dabf-f60b-404e-9726-11692b8f0aca_1910x1057.png" width="1456" height="806" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c45dabf-f60b-404e-9726-11692b8f0aca_1910x1057.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:806,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:102414,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c45dabf-f60b-404e-9726-11692b8f0aca_1910x1057.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_!xEXZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c45dabf-f60b-404e-9726-11692b8f0aca_1910x1057.png 424w, https://substackcdn.com/image/fetch/$s_!xEXZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c45dabf-f60b-404e-9726-11692b8f0aca_1910x1057.png 848w, https://substackcdn.com/image/fetch/$s_!xEXZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c45dabf-f60b-404e-9726-11692b8f0aca_1910x1057.png 1272w, https://substackcdn.com/image/fetch/$s_!xEXZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c45dabf-f60b-404e-9726-11692b8f0aca_1910x1057.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">Economy page UI.</figcaption></figure></div><p>On the Economy page, the events scheduled in Planner can be simulated for the relevant segment. In this way, when needed, the results of similar features with different schedules in different segments can be compared.</p><h3>Configurations</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aEDd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31556054-83ba-432c-8660-89773023cd63_1910x1580.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aEDd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31556054-83ba-432c-8660-89773023cd63_1910x1580.png 424w, https://substackcdn.com/image/fetch/$s_!aEDd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31556054-83ba-432c-8660-89773023cd63_1910x1580.png 848w, https://substackcdn.com/image/fetch/$s_!aEDd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31556054-83ba-432c-8660-89773023cd63_1910x1580.png 1272w, https://substackcdn.com/image/fetch/$s_!aEDd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31556054-83ba-432c-8660-89773023cd63_1910x1580.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aEDd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31556054-83ba-432c-8660-89773023cd63_1910x1580.png" width="1456" height="1204" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/31556054-83ba-432c-8660-89773023cd63_1910x1580.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1204,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:165608,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31556054-83ba-432c-8660-89773023cd63_1910x1580.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_!aEDd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31556054-83ba-432c-8660-89773023cd63_1910x1580.png 424w, https://substackcdn.com/image/fetch/$s_!aEDd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31556054-83ba-432c-8660-89773023cd63_1910x1580.png 848w, https://substackcdn.com/image/fetch/$s_!aEDd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31556054-83ba-432c-8660-89773023cd63_1910x1580.png 1272w, https://substackcdn.com/image/fetch/$s_!aEDd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31556054-83ba-432c-8660-89773023cd63_1910x1580.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">Configurations page UI.</figcaption></figure></div><p>On the Configurations page, the changes on the Builder and Planner pages are previewed at the configuration level in JSON format. If desired, configurations can be exported or imported for later use. To make usage easier, you can use the left menu to filter within the JSON file.</p><h2>Event Prototyping</h2><p>In this section, we will discuss step by step how we can prototype an event:</p><ul><li><p>Season Pass Event with 2 tiers: 1 free and 1 premium.</p></li></ul><p>Each value we enter while preparing the configurations will be for sample demonstration purposes. We will not be concerned with making them resemble the configurations of any particular game.</p><p>That said, on the framework&#8217;s own page, you can find the Streak Rewards, Collect Items, and Race events inside the Sample Segment. I added these as examples as well.</p><p>I assume you already know how the core loops of these events work. Therefore, I will not go into those details.</p><h3>Season Pass Event</h3><p>In this example, I&#8217;ll show how to prototype a Season Pass event.</p><h4>Designing Units for the Season Pass Event</h4><p>First, we need to decide on all the units related to this event.</p><p>Let&#8217;s choose the following units as rewards:</p><ul><li><p>Coin</p></li><li><p>Life</p></li><li><p>Boosters (A, B and C)</p></li></ul><p>Then, let&#8217;s determine which unit we will progress with in the Season Pass:</p><ul><li><p>Level</p></li></ul><p>We should also define a unit for the cost of the event&#8217;s premium tier:</p><ul><li><p>RM (Real Money)</p></li></ul><p>The Unit library should have become something like 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_!b-H_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F620f06c0-1812-4422-9359-8e429ed07003_459x672.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b-H_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F620f06c0-1812-4422-9359-8e429ed07003_459x672.png 424w, https://substackcdn.com/image/fetch/$s_!b-H_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F620f06c0-1812-4422-9359-8e429ed07003_459x672.png 848w, https://substackcdn.com/image/fetch/$s_!b-H_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F620f06c0-1812-4422-9359-8e429ed07003_459x672.png 1272w, https://substackcdn.com/image/fetch/$s_!b-H_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F620f06c0-1812-4422-9359-8e429ed07003_459x672.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b-H_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F620f06c0-1812-4422-9359-8e429ed07003_459x672.png" width="251" height="367.47712418300654" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/620f06c0-1812-4422-9359-8e429ed07003_459x672.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:672,&quot;width&quot;:459,&quot;resizeWidth&quot;:251,&quot;bytes&quot;:25263,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F620f06c0-1812-4422-9359-8e429ed07003_459x672.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_!b-H_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F620f06c0-1812-4422-9359-8e429ed07003_459x672.png 424w, https://substackcdn.com/image/fetch/$s_!b-H_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F620f06c0-1812-4422-9359-8e429ed07003_459x672.png 848w, https://substackcdn.com/image/fetch/$s_!b-H_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F620f06c0-1812-4422-9359-8e429ed07003_459x672.png 1272w, https://substackcdn.com/image/fetch/$s_!b-H_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F620f06c0-1812-4422-9359-8e429ed07003_459x672.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">Unit library for Season Pass event.</figcaption></figure></div><h4>Designing Groups for the Season Pass Event</h4><p>At this stage, we will group the units to give as rewards in both the free and premium tiers.</p><p>Although we haven&#8217;t reached the Progression section yet, we need to decide whether the rewards will be distributed in a group-based way. Since the premium tier is purchased only once and its rewards are granted through progression, I&#8217;ll use group-based behavior instead of creating separate purchasable packages. We&#8217;ll revisit this when designing Progressions.</p><p>To keep the article concise, I&#8217;ll use five milestones for each tier.</p><p>Reward groups for the free tier:</p><ul><li><p>Coin x10</p></li><li><p>Life 15 Min</p></li><li><p>Booster A x1</p></li><li><p>Booster B x1</p></li><li><p>Booster C x1</p></li></ul><p>Reward groups for the premium tier:</p><ul><li><p>Coin x50 + Life 15 Min</p></li><li><p>Coin x100 + Booster A x1</p></li><li><p>Booster A x2 + Life 30 Min</p></li><li><p>Coin x150 + Booster B x2</p></li><li><p>Coin x200 + Booster C x2</p></li></ul><p>You can create the groups as shown in the image below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mxy1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72672726-b2b8-4823-a055-1da7a0b589f8_1395x1174.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mxy1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72672726-b2b8-4823-a055-1da7a0b589f8_1395x1174.png 424w, https://substackcdn.com/image/fetch/$s_!mxy1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72672726-b2b8-4823-a055-1da7a0b589f8_1395x1174.png 848w, https://substackcdn.com/image/fetch/$s_!mxy1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72672726-b2b8-4823-a055-1da7a0b589f8_1395x1174.png 1272w, https://substackcdn.com/image/fetch/$s_!mxy1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72672726-b2b8-4823-a055-1da7a0b589f8_1395x1174.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mxy1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72672726-b2b8-4823-a055-1da7a0b589f8_1395x1174.png" width="1395" height="1174" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/72672726-b2b8-4823-a055-1da7a0b589f8_1395x1174.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1174,&quot;width&quot;:1395,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86641,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72672726-b2b8-4823-a055-1da7a0b589f8_1395x1174.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_!mxy1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72672726-b2b8-4823-a055-1da7a0b589f8_1395x1174.png 424w, https://substackcdn.com/image/fetch/$s_!mxy1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72672726-b2b8-4823-a055-1da7a0b589f8_1395x1174.png 848w, https://substackcdn.com/image/fetch/$s_!mxy1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72672726-b2b8-4823-a055-1da7a0b589f8_1395x1174.png 1272w, https://substackcdn.com/image/fetch/$s_!mxy1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72672726-b2b8-4823-a055-1da7a0b589f8_1395x1174.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">&#8220;Count&#8221; is used for time-independent unit amounts, while &#8220;Second&#8221; is used for time-dependent unit amounts. Any unit can be time-dependent, since the framework does not impose any restrictions on this.</figcaption></figure></div><h4>Designing Packs for the Season Pass Event</h4><p>Here, we will only need 2 packs: one for the free tier and one for the premium tier:</p><ul><li><p>Free Tier Pack</p></li><li><p>Premium Tier Pack</p></li></ul><p>The packs you add for the free tier should look like this. Since this tier is free, we don&#8217;t add any pack cost. And because we&#8217;ll be using group-based reward distribution without probability-based rewards, we don&#8217;t enable Enable Probability. Even if we did enable it, it wouldn&#8217;t take effect because group-based rewards will be active.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yrTs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa190a31c-f0b4-43cd-8897-5e27206677f4_1298x926.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yrTs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa190a31c-f0b4-43cd-8897-5e27206677f4_1298x926.png 424w, https://substackcdn.com/image/fetch/$s_!yrTs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa190a31c-f0b4-43cd-8897-5e27206677f4_1298x926.png 848w, https://substackcdn.com/image/fetch/$s_!yrTs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa190a31c-f0b4-43cd-8897-5e27206677f4_1298x926.png 1272w, https://substackcdn.com/image/fetch/$s_!yrTs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa190a31c-f0b4-43cd-8897-5e27206677f4_1298x926.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yrTs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa190a31c-f0b4-43cd-8897-5e27206677f4_1298x926.png" width="1298" height="926" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a190a31c-f0b4-43cd-8897-5e27206677f4_1298x926.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:926,&quot;width&quot;:1298,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:68361,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa190a31c-f0b4-43cd-8897-5e27206677f4_1298x926.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_!yrTs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa190a31c-f0b4-43cd-8897-5e27206677f4_1298x926.png 424w, https://substackcdn.com/image/fetch/$s_!yrTs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa190a31c-f0b4-43cd-8897-5e27206677f4_1298x926.png 848w, https://substackcdn.com/image/fetch/$s_!yrTs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa190a31c-f0b4-43cd-8897-5e27206677f4_1298x926.png 1272w, https://substackcdn.com/image/fetch/$s_!yrTs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa190a31c-f0b4-43cd-8897-5e27206677f4_1298x926.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">Free Tier Pack contents.</figcaption></figure></div><p>For the premium tier, however, we need to define a cost. I&#8217;ll set this to RM x999. As a real-world example, we could assume this corresponds to EUR 9.99.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6fVk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350f996f-e4c0-4858-b5f8-f5090804cd65_1299x441.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6fVk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350f996f-e4c0-4858-b5f8-f5090804cd65_1299x441.png 424w, https://substackcdn.com/image/fetch/$s_!6fVk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350f996f-e4c0-4858-b5f8-f5090804cd65_1299x441.png 848w, https://substackcdn.com/image/fetch/$s_!6fVk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350f996f-e4c0-4858-b5f8-f5090804cd65_1299x441.png 1272w, https://substackcdn.com/image/fetch/$s_!6fVk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350f996f-e4c0-4858-b5f8-f5090804cd65_1299x441.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6fVk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350f996f-e4c0-4858-b5f8-f5090804cd65_1299x441.png" width="1299" height="441" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/350f996f-e4c0-4858-b5f8-f5090804cd65_1299x441.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:441,&quot;width&quot;:1299,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23503,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350f996f-e4c0-4858-b5f8-f5090804cd65_1299x441.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_!6fVk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350f996f-e4c0-4858-b5f8-f5090804cd65_1299x441.png 424w, https://substackcdn.com/image/fetch/$s_!6fVk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350f996f-e4c0-4858-b5f8-f5090804cd65_1299x441.png 848w, https://substackcdn.com/image/fetch/$s_!6fVk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350f996f-e4c0-4858-b5f8-f5090804cd65_1299x441.png 1272w, https://substackcdn.com/image/fetch/$s_!6fVk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F350f996f-e4c0-4858-b5f8-f5090804cd65_1299x441.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">Pack cost of the Premium Tier Pack.</figcaption></figure></div><p>In this scenario, the player cannot access the rewards unless they purchase this pack. One thing to keep in mind is that the economy simulation does not check whether the player has enough resources to purchase a pack.</p><div class="pullquote"><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AZT9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01ee3370-57d1-428a-ba1c-0c6349e0acef_224x224.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AZT9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01ee3370-57d1-428a-ba1c-0c6349e0acef_224x224.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AZT9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01ee3370-57d1-428a-ba1c-0c6349e0acef_224x224.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AZT9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01ee3370-57d1-428a-ba1c-0c6349e0acef_224x224.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AZT9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01ee3370-57d1-428a-ba1c-0c6349e0acef_224x224.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AZT9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01ee3370-57d1-428a-ba1c-0c6349e0acef_224x224.jpeg" width="128" height="128" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01ee3370-57d1-428a-ba1c-0c6349e0acef_224x224.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:224,&quot;width&quot;:224,&quot;resizeWidth&quot;:128,&quot;bytes&quot;:27622,&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_!AZT9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01ee3370-57d1-428a-ba1c-0c6349e0acef_224x224.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AZT9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01ee3370-57d1-428a-ba1c-0c6349e0acef_224x224.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AZT9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01ee3370-57d1-428a-ba1c-0c6349e0acef_224x224.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AZT9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01ee3370-57d1-428a-ba1c-0c6349e0acef_224x224.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h4 style="text-align: center;">Burak &#214;kten</h4><h5 style="text-align: center;">Lead Game Designer | Economy, Progression &amp; LiveOps Design | Level Difficulty Analysis</h5><p>If you&#8217;d like to design a more comprehensive economy system for your game, feel free to reach out to me. We can review your reward flow and monetization structure together and discuss opportunities for improvement.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/burakokten&quot;,&quot;text&quot;:&quot;Let's Connect&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/burakokten"><span>Let's Connect</span></a></p></div><p>In the lite version I published, the economy simulator completes purchases with 100% probability. In a more realistic scenario, we would need to use &#8220;rule-based&#8221; or probabilistic modeling. However, to keep the simulations simpler, I did not include these.</p><h4>Designing Progressions for the Season Pass Event</h4><p>We need 2 progressions: one for the free tier and one for the premium tier:</p><ul><li><p>Free Tier Progression</p></li><li><p>Premium Tier Progression</p></li></ul><p>As we discussed earlier, we will not give the rewards inside each pack all at once; instead, we will give them when each milestone is reached. For this reason, we enable group-based.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A7bg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c0e9e-d43c-4d38-8ac0-7372faf02d95_1297x1288.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A7bg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c0e9e-d43c-4d38-8ac0-7372faf02d95_1297x1288.png 424w, https://substackcdn.com/image/fetch/$s_!A7bg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c0e9e-d43c-4d38-8ac0-7372faf02d95_1297x1288.png 848w, https://substackcdn.com/image/fetch/$s_!A7bg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c0e9e-d43c-4d38-8ac0-7372faf02d95_1297x1288.png 1272w, https://substackcdn.com/image/fetch/$s_!A7bg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c0e9e-d43c-4d38-8ac0-7372faf02d95_1297x1288.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A7bg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c0e9e-d43c-4d38-8ac0-7372faf02d95_1297x1288.png" width="1297" height="1288" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f22c0e9e-d43c-4d38-8ac0-7372faf02d95_1297x1288.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1288,&quot;width&quot;:1297,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140678,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c0e9e-d43c-4d38-8ac0-7372faf02d95_1297x1288.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_!A7bg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c0e9e-d43c-4d38-8ac0-7372faf02d95_1297x1288.png 424w, https://substackcdn.com/image/fetch/$s_!A7bg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c0e9e-d43c-4d38-8ac0-7372faf02d95_1297x1288.png 848w, https://substackcdn.com/image/fetch/$s_!A7bg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c0e9e-d43c-4d38-8ac0-7372faf02d95_1297x1288.png 1272w, https://substackcdn.com/image/fetch/$s_!A7bg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff22c0e9e-d43c-4d38-8ac0-7372faf02d95_1297x1288.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">Free tier milestones.</figcaption></figure></div><p>On the other hand, as we will see in the Feature design section, since we want the premium tier to use the same level progression, we will not need to fill in the Unit section.</p><h4>Designing a Feature for the Season Pass Event</h4><p>In this section, we connect the progressions inside a feature and create an event:</p><ul><li><p>Season Pass Event</p></li></ul><p>The progressions we added in the previous step should not be independent from each other; they should progress at the same time. For example, if the player purchases the premium tier after making progress in the free tier, they should also be able to collect all premium tier rewards up to the milestone they have currently reached. For this reason, we do not enable independent or serial progressions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rRJy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa552ceac-2140-4bf6-b239-9ac3611f1bde_1297x1520.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rRJy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa552ceac-2140-4bf6-b239-9ac3611f1bde_1297x1520.png 424w, https://substackcdn.com/image/fetch/$s_!rRJy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa552ceac-2140-4bf6-b239-9ac3611f1bde_1297x1520.png 848w, https://substackcdn.com/image/fetch/$s_!rRJy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa552ceac-2140-4bf6-b239-9ac3611f1bde_1297x1520.png 1272w, https://substackcdn.com/image/fetch/$s_!rRJy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa552ceac-2140-4bf6-b239-9ac3611f1bde_1297x1520.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rRJy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa552ceac-2140-4bf6-b239-9ac3611f1bde_1297x1520.png" width="1297" height="1520" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a552ceac-2140-4bf6-b239-9ac3611f1bde_1297x1520.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1520,&quot;width&quot;:1297,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:131211,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa552ceac-2140-4bf6-b239-9ac3611f1bde_1297x1520.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_!rRJy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa552ceac-2140-4bf6-b239-9ac3611f1bde_1297x1520.png 424w, https://substackcdn.com/image/fetch/$s_!rRJy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa552ceac-2140-4bf6-b239-9ac3611f1bde_1297x1520.png 848w, https://substackcdn.com/image/fetch/$s_!rRJy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa552ceac-2140-4bf6-b239-9ac3611f1bde_1297x1520.png 1272w, https://substackcdn.com/image/fetch/$s_!rRJy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa552ceac-2140-4bf6-b239-9ac3611f1bde_1297x1520.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">Season Pass event.</figcaption></figure></div><p>Looking at the options in the image, we want this feature to have a home button, become visible when the player reaches level 25, become active when the player reaches level 30, and automatically join the player to the event. This way, the player can start progressing through the free tier as soon as the event is triggered.</p><h4>Scheduling the Season Pass Event</h4><p>Let&#8217;s assume we want to schedule this event monthly and have it repeat 3 times in total. In this case, we need to select period as the event duration and monthly as the event repeat rule. Even if we leave the repeat count as 0, the event is still considered active for 1 period.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8_Sn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95dc9f25-7587-4a10-903e-0802768d2f64_1861x477.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8_Sn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95dc9f25-7587-4a10-903e-0802768d2f64_1861x477.png 424w, https://substackcdn.com/image/fetch/$s_!8_Sn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95dc9f25-7587-4a10-903e-0802768d2f64_1861x477.png 848w, https://substackcdn.com/image/fetch/$s_!8_Sn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95dc9f25-7587-4a10-903e-0802768d2f64_1861x477.png 1272w, https://substackcdn.com/image/fetch/$s_!8_Sn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95dc9f25-7587-4a10-903e-0802768d2f64_1861x477.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8_Sn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95dc9f25-7587-4a10-903e-0802768d2f64_1861x477.png" width="1456" height="373" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95dc9f25-7587-4a10-903e-0802768d2f64_1861x477.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:373,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:62670,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95dc9f25-7587-4a10-903e-0802768d2f64_1861x477.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_!8_Sn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95dc9f25-7587-4a10-903e-0802768d2f64_1861x477.png 424w, https://substackcdn.com/image/fetch/$s_!8_Sn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95dc9f25-7587-4a10-903e-0802768d2f64_1861x477.png 848w, https://substackcdn.com/image/fetch/$s_!8_Sn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95dc9f25-7587-4a10-903e-0802768d2f64_1861x477.png 1272w, https://substackcdn.com/image/fetch/$s_!8_Sn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95dc9f25-7587-4a10-903e-0802768d2f64_1861x477.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">Season Pass event scheduling.</figcaption></figure></div><h4>Simulating Economy of the Season Pass Event</h4><p>For the Season Pass event, we entered only 5 milestones in total and kept the progression intervals short. For this reason, we have the chance to keep the simulation much shorter. Still, for demonstration purposes, I chose a 7-day period.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Mgfm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c09575-9c94-4a3c-9829-a220aba779c0_1879x324.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Mgfm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c09575-9c94-4a3c-9829-a220aba779c0_1879x324.png 424w, https://substackcdn.com/image/fetch/$s_!Mgfm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c09575-9c94-4a3c-9829-a220aba779c0_1879x324.png 848w, https://substackcdn.com/image/fetch/$s_!Mgfm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c09575-9c94-4a3c-9829-a220aba779c0_1879x324.png 1272w, https://substackcdn.com/image/fetch/$s_!Mgfm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c09575-9c94-4a3c-9829-a220aba779c0_1879x324.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Mgfm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c09575-9c94-4a3c-9829-a220aba779c0_1879x324.png" width="1456" height="251" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9c09575-9c94-4a3c-9829-a220aba779c0_1879x324.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:251,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:59025,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c09575-9c94-4a3c-9829-a220aba779c0_1879x324.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_!Mgfm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c09575-9c94-4a3c-9829-a220aba779c0_1879x324.png 424w, https://substackcdn.com/image/fetch/$s_!Mgfm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c09575-9c94-4a3c-9829-a220aba779c0_1879x324.png 848w, https://substackcdn.com/image/fetch/$s_!Mgfm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c09575-9c94-4a3c-9829-a220aba779c0_1879x324.png 1272w, https://substackcdn.com/image/fetch/$s_!Mgfm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c09575-9c94-4a3c-9829-a220aba779c0_1879x324.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Simulation settings.</figcaption></figure></div><p>You can take a look at the changes in unit amounts in the images below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qYvt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572e0135-1e4a-4746-82c7-39bbd50e5bfa_1879x1056.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qYvt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572e0135-1e4a-4746-82c7-39bbd50e5bfa_1879x1056.png 424w, https://substackcdn.com/image/fetch/$s_!qYvt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572e0135-1e4a-4746-82c7-39bbd50e5bfa_1879x1056.png 848w, https://substackcdn.com/image/fetch/$s_!qYvt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572e0135-1e4a-4746-82c7-39bbd50e5bfa_1879x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!qYvt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572e0135-1e4a-4746-82c7-39bbd50e5bfa_1879x1056.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qYvt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572e0135-1e4a-4746-82c7-39bbd50e5bfa_1879x1056.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/572e0135-1e4a-4746-82c7-39bbd50e5bfa_1879x1056.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;:71555,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572e0135-1e4a-4746-82c7-39bbd50e5bfa_1879x1056.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_!qYvt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572e0135-1e4a-4746-82c7-39bbd50e5bfa_1879x1056.png 424w, https://substackcdn.com/image/fetch/$s_!qYvt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572e0135-1e4a-4746-82c7-39bbd50e5bfa_1879x1056.png 848w, https://substackcdn.com/image/fetch/$s_!qYvt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572e0135-1e4a-4746-82c7-39bbd50e5bfa_1879x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!qYvt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F572e0135-1e4a-4746-82c7-39bbd50e5bfa_1879x1056.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">Coin inflow.</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_!kPnI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f1299a-df4f-4bde-8836-9c5a13ac9fdc_1879x1056.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kPnI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f1299a-df4f-4bde-8836-9c5a13ac9fdc_1879x1056.png 424w, https://substackcdn.com/image/fetch/$s_!kPnI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f1299a-df4f-4bde-8836-9c5a13ac9fdc_1879x1056.png 848w, https://substackcdn.com/image/fetch/$s_!kPnI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f1299a-df4f-4bde-8836-9c5a13ac9fdc_1879x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!kPnI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f1299a-df4f-4bde-8836-9c5a13ac9fdc_1879x1056.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kPnI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f1299a-df4f-4bde-8836-9c5a13ac9fdc_1879x1056.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52f1299a-df4f-4bde-8836-9c5a13ac9fdc_1879x1056.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;:83926,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f1299a-df4f-4bde-8836-9c5a13ac9fdc_1879x1056.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_!kPnI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f1299a-df4f-4bde-8836-9c5a13ac9fdc_1879x1056.png 424w, https://substackcdn.com/image/fetch/$s_!kPnI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f1299a-df4f-4bde-8836-9c5a13ac9fdc_1879x1056.png 848w, https://substackcdn.com/image/fetch/$s_!kPnI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f1299a-df4f-4bde-8836-9c5a13ac9fdc_1879x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!kPnI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f1299a-df4f-4bde-8836-9c5a13ac9fdc_1879x1056.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">Boosters inflow.</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_!S_rV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe713db14-de40-4850-9438-68f35fd4ccbe_1879x1056.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S_rV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe713db14-de40-4850-9438-68f35fd4ccbe_1879x1056.png 424w, https://substackcdn.com/image/fetch/$s_!S_rV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe713db14-de40-4850-9438-68f35fd4ccbe_1879x1056.png 848w, https://substackcdn.com/image/fetch/$s_!S_rV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe713db14-de40-4850-9438-68f35fd4ccbe_1879x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!S_rV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe713db14-de40-4850-9438-68f35fd4ccbe_1879x1056.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S_rV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe713db14-de40-4850-9438-68f35fd4ccbe_1879x1056.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e713db14-de40-4850-9438-68f35fd4ccbe_1879x1056.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;:74496,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe713db14-de40-4850-9438-68f35fd4ccbe_1879x1056.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_!S_rV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe713db14-de40-4850-9438-68f35fd4ccbe_1879x1056.png 424w, https://substackcdn.com/image/fetch/$s_!S_rV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe713db14-de40-4850-9438-68f35fd4ccbe_1879x1056.png 848w, https://substackcdn.com/image/fetch/$s_!S_rV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe713db14-de40-4850-9438-68f35fd4ccbe_1879x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!S_rV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe713db14-de40-4850-9438-68f35fd4ccbe_1879x1056.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">Time changes for life.</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_!N-Wd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff281c726-4b7d-4d40-9bc5-4c7c14a4bb5b_1879x1056.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N-Wd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff281c726-4b7d-4d40-9bc5-4c7c14a4bb5b_1879x1056.png 424w, https://substackcdn.com/image/fetch/$s_!N-Wd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff281c726-4b7d-4d40-9bc5-4c7c14a4bb5b_1879x1056.png 848w, https://substackcdn.com/image/fetch/$s_!N-Wd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff281c726-4b7d-4d40-9bc5-4c7c14a4bb5b_1879x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!N-Wd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff281c726-4b7d-4d40-9bc5-4c7c14a4bb5b_1879x1056.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N-Wd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff281c726-4b7d-4d40-9bc5-4c7c14a4bb5b_1879x1056.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f281c726-4b7d-4d40-9bc5-4c7c14a4bb5b_1879x1056.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;:70059,&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://applied.gamesystem.design/i/193892779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff281c726-4b7d-4d40-9bc5-4c7c14a4bb5b_1879x1056.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_!N-Wd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff281c726-4b7d-4d40-9bc5-4c7c14a4bb5b_1879x1056.png 424w, https://substackcdn.com/image/fetch/$s_!N-Wd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff281c726-4b7d-4d40-9bc5-4c7c14a4bb5b_1879x1056.png 848w, https://substackcdn.com/image/fetch/$s_!N-Wd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff281c726-4b7d-4d40-9bc5-4c7c14a4bb5b_1879x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!N-Wd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff281c726-4b7d-4d40-9bc5-4c7c14a4bb5b_1879x1056.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">RM outflow.</figcaption></figure></div><div><hr></div><p>Although we did not cover every specification of the framework in this article, I think the system will become clearer in your mind through this example, as well as the examples and documents inside the Sample Segment.</p><p>If you have any questions about the framework, feel free to leave them under this post. I&#8217;ll be happy to answer whenever I can.</p><p>See you in the next article!</p>]]></content:encoded></item><item><title><![CDATA[A Brief Exploration of Pixel Flow Level Intensity]]></title><description><![CDATA[How can we model level intensity in Hybrid-Casual puzzle games?]]></description><link>https://applied.gamesystem.design/p/a-brief-exploration-of-pixel-flow-level-intensity</link><guid isPermaLink="false">https://applied.gamesystem.design/p/a-brief-exploration-of-pixel-flow-level-intensity</guid><dc:creator><![CDATA[Burak Ökten]]></dc:creator><pubDate>Wed, 11 Mar 2026 15:36:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!__ee!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.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_!__ee!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!__ee!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!__ee!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!__ee!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!__ee!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!__ee!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.jpeg" width="1250" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:371274,&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://applied.gamesystem.design/i/190616104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.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_!__ee!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!__ee!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!__ee!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!__ee!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0d9c365-8e71-48e2-bf0f-585c62e803cc_1250x1000.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"><a href="https://apps.apple.com/us/app/pixel-flow/id6751056652">Pixel Flow!</a> by Loom Games.</figcaption></figure></div><p>The huge success of Pixel Flow! by Loom Games seems to have influenced the entire market. It looks like we&#8217;ll keep seeing games built around a similar format for a while. Ignoring such a popular title would feel unfair, so it&#8217;s worth taking a brief look at it.</p><p>In this post, I&#8217;ll focus on a slightly more mechanical aspect of the game and briefly discuss how we might estimate the intensity of levels while designing them. The main goal is to show how we can help level designers while preparing levels by giving such feedback.</p><p>Before getting started, I&#8217;d like to share the chart that I will present at the end of the post right away. Below you can see how level intensity values, <strong>scored</strong> on a scale from <strong>1 to 10,</strong> are distributed across the <strong>first 50 levels.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cIUZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd4596b-3a72-4c9f-862a-2d6ccfd2e5c5_1086x617.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cIUZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd4596b-3a72-4c9f-862a-2d6ccfd2e5c5_1086x617.png 424w, https://substackcdn.com/image/fetch/$s_!cIUZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd4596b-3a72-4c9f-862a-2d6ccfd2e5c5_1086x617.png 848w, https://substackcdn.com/image/fetch/$s_!cIUZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd4596b-3a72-4c9f-862a-2d6ccfd2e5c5_1086x617.png 1272w, https://substackcdn.com/image/fetch/$s_!cIUZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd4596b-3a72-4c9f-862a-2d6ccfd2e5c5_1086x617.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cIUZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd4596b-3a72-4c9f-862a-2d6ccfd2e5c5_1086x617.png" width="1086" height="617" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fd4596b-3a72-4c9f-862a-2d6ccfd2e5c5_1086x617.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:617,&quot;width&quot;:1086,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23338,&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://applied.gamesystem.design/i/190616104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd4596b-3a72-4c9f-862a-2d6ccfd2e5c5_1086x617.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_!cIUZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd4596b-3a72-4c9f-862a-2d6ccfd2e5c5_1086x617.png 424w, https://substackcdn.com/image/fetch/$s_!cIUZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd4596b-3a72-4c9f-862a-2d6ccfd2e5c5_1086x617.png 848w, https://substackcdn.com/image/fetch/$s_!cIUZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd4596b-3a72-4c9f-862a-2d6ccfd2e5c5_1086x617.png 1272w, https://substackcdn.com/image/fetch/$s_!cIUZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fd4596b-3a72-4c9f-862a-2d6ccfd2e5c5_1086x617.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">Level intensity supports level difficulty, but it does not represent difficulty on its own.</figcaption></figure></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><p><strong>Level intensity</strong> is treated as a measure of the stress required to complete a level. This stress may be caused by difficulty, or the board design may force players to make more moves.</p><p>Before moving on to the calculations, let&#8217;s briefly talk about the <strong>assumptions:</strong></p><ol><li><p>I tried to estimate the level intensity by dividing <strong>the</strong> <strong>player&#8217;s total number of moves</strong> by <strong>the number of shooters.</strong> I assume that if the number of clicks on a shooter block increases, level intensity increases because the player may try to avoid failing (although counterexamples are also possible, which is why intensity itself cannot explain level difficulty alone).</p></li><li><p>I assumed the dataset I use represents <strong>a player segment</strong> (but in reality, we would need real player data).</p></li><li><p>I assumed <strong>no booster use,</strong> so the data was selected based on this.</p></li><li><p>In reality, we would need more levels for a good analysis. However, recording the data takes too much time, so looking at 50 levels is enough to discuss the methodology.</p></li></ol><div><hr></div><p>You can find the <strong>dataset sources</strong> I used here:</p><ul><li><p>I recorded the number of moves, the average counter number per shooter and the number of shooters from <a href="https://www.youtube.com/playlist?list=PLEOnLO5L7cCcaGgtl3iUt0-ngrHAqD3fq">this YouTube playlist.</a></p></li><li><p>I retrieved the number of waiting lines and the number of colors from the Pixel Flow deconstruction prepared by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Yagiz Gur&quot;,&quot;id&quot;:428039108,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ebfe730b-e169-49f8-a6ec-c4d89ae25c00_3024x3024.png&quot;,&quot;uuid&quot;:&quot;c6ba6fc2-772b-4afd-ba7f-87451c31151d&quot;}" data-component-name="MentionToDOM"></span>.</p></li></ul><div><hr></div><p>Now that I&#8217;ve briefly outlined the assumptions, we can return to the main goal of this post: can we model how intense our levels are for our own games as well?</p><p>We discussed a more ML-focused version of this idea in the paper <a href="https://applied.gamesystem.design/p/balancing-level-difficulty-in-hybrid-casual-puzzles">Balancing Level Difficulty in Hybrid-Casual Puzzles using ML and System Modeling.</a> I highly recommend taking a look at it.</p><p>First, let&#8217;s take a look at how the game mechanics relate to level intensity. As usual, we will try to apply white-box modeling:</p><ol><li><p>Increasing <strong>the number of colors</strong> may increase the number of moves. Because the slots may fill up faster if the player cannot select the shooters in the correct order.</p></li><li><p>Increasing <strong>the average counter number per shooter</strong> may increase the number of moves. Because higher counter numbers mean additional loops around the board.</p></li><li><p>Increasing <strong>the number of shooters</strong> may increase the number of moves. Because they may accumulate in the slots while playing a longer level.</p></li><li><p>Increasing <strong>the number of waiting lines</strong> may decrease the number of moves. Because the player will have more choices to select from.</p></li><li><p>Normally, we should also consider obstacles, which I discussed earlier in the article I mentioned before. However, I won&#8217;t include them here because we don&#8217;t need that complexity in this short post.</p></li></ol><p>So, basically, <strong>extra moves</strong> should be proportional to the following equation:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Cj4h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c19fc0-7fad-4b49-bfa3-dda7d3ba2ab2_1444x154.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Cj4h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c19fc0-7fad-4b49-bfa3-dda7d3ba2ab2_1444x154.png 424w, https://substackcdn.com/image/fetch/$s_!Cj4h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c19fc0-7fad-4b49-bfa3-dda7d3ba2ab2_1444x154.png 848w, https://substackcdn.com/image/fetch/$s_!Cj4h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c19fc0-7fad-4b49-bfa3-dda7d3ba2ab2_1444x154.png 1272w, https://substackcdn.com/image/fetch/$s_!Cj4h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c19fc0-7fad-4b49-bfa3-dda7d3ba2ab2_1444x154.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Cj4h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c19fc0-7fad-4b49-bfa3-dda7d3ba2ab2_1444x154.png" width="1444" height="154" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8c19fc0-7fad-4b49-bfa3-dda7d3ba2ab2_1444x154.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:154,&quot;width&quot;:1444,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:25802,&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://applied.gamesystem.design/i/190616104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c19fc0-7fad-4b49-bfa3-dda7d3ba2ab2_1444x154.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_!Cj4h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c19fc0-7fad-4b49-bfa3-dda7d3ba2ab2_1444x154.png 424w, https://substackcdn.com/image/fetch/$s_!Cj4h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c19fc0-7fad-4b49-bfa3-dda7d3ba2ab2_1444x154.png 848w, https://substackcdn.com/image/fetch/$s_!Cj4h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c19fc0-7fad-4b49-bfa3-dda7d3ba2ab2_1444x154.png 1272w, https://substackcdn.com/image/fetch/$s_!Cj4h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c19fc0-7fad-4b49-bfa3-dda7d3ba2ab2_1444x154.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The reason I use the values a, b, c, and d as exponents rather than as multipliers is that it allows us to adjust the weights of the features more easily.</p><p>When I used this model in a linear regression to predict extra moves, the R&#178; was 0.76 and the 5-fold CV R&#178; was 0.61, with moderate errors, which is expected considering how small the dataset is.</p><p>Below, the actual and predicted level intensity values are shown after the extra move predictions, before being scaled to the 1&#8211;10 range.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t77z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dd9600-2303-45cd-81ea-506dd73ea0d0_1086x617.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t77z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dd9600-2303-45cd-81ea-506dd73ea0d0_1086x617.png 424w, https://substackcdn.com/image/fetch/$s_!t77z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dd9600-2303-45cd-81ea-506dd73ea0d0_1086x617.png 848w, https://substackcdn.com/image/fetch/$s_!t77z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dd9600-2303-45cd-81ea-506dd73ea0d0_1086x617.png 1272w, https://substackcdn.com/image/fetch/$s_!t77z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dd9600-2303-45cd-81ea-506dd73ea0d0_1086x617.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t77z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dd9600-2303-45cd-81ea-506dd73ea0d0_1086x617.png" width="1086" height="617" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a1dd9600-2303-45cd-81ea-506dd73ea0d0_1086x617.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:617,&quot;width&quot;:1086,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:82191,&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://applied.gamesystem.design/i/190616104?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dd9600-2303-45cd-81ea-506dd73ea0d0_1086x617.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_!t77z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dd9600-2303-45cd-81ea-506dd73ea0d0_1086x617.png 424w, https://substackcdn.com/image/fetch/$s_!t77z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dd9600-2303-45cd-81ea-506dd73ea0d0_1086x617.png 848w, https://substackcdn.com/image/fetch/$s_!t77z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dd9600-2303-45cd-81ea-506dd73ea0d0_1086x617.png 1272w, https://substackcdn.com/image/fetch/$s_!t77z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1dd9600-2303-45cd-81ea-506dd73ea0d0_1086x617.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">Level intensity is represented as moves per shooter.</figcaption></figure></div><p>It&#8217;s actually quite useful in terms of giving level designers insight, especially when new levels start to be added to the existing level set. It also seems possible to roughly estimate the intensity of levels that haven&#8217;t been released yet.</p><p>To be honest, I really wonder how it would look with a bigger dataset!</p><div><hr></div><p>This post ended up being quite short, but it was still nice to do a bit of brainstorming.</p><p>I also recommend reading my other posts where I discuss why we should build level design systems that are more reasoning-driven and predictable, rather than relying on black-box level design.</p><p>See you next time!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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[Why LiveOps Feels Unpredictable for Game Designers]]></title><description><![CDATA[How can we run executable hypotheses to understand cause and effect of design decisions in F2P economies?]]></description><link>https://applied.gamesystem.design/p/why-liveops-feels-unpredictable-for-game-designers</link><guid isPermaLink="false">https://applied.gamesystem.design/p/why-liveops-feels-unpredictable-for-game-designers</guid><dc:creator><![CDATA[Burak Ökten]]></dc:creator><pubDate>Tue, 24 Feb 2026 07:49:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e3ef8329-fd2b-4989-893f-efc002268385_1024x709.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_!YU5Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1fb7ab-3842-470c-8b21-15764a6b4a7b_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YU5Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1fb7ab-3842-470c-8b21-15764a6b4a7b_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!YU5Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1fb7ab-3842-470c-8b21-15764a6b4a7b_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!YU5Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1fb7ab-3842-470c-8b21-15764a6b4a7b_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!YU5Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1fb7ab-3842-470c-8b21-15764a6b4a7b_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YU5Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1fb7ab-3842-470c-8b21-15764a6b4a7b_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe1fb7ab-3842-470c-8b21-15764a6b4a7b_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;:1511994,&quot;alt&quot;:&quot;executable hypothesis design&quot;,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1fb7ab-3842-470c-8b21-15764a6b4a7b_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="executable hypothesis design" title="executable hypothesis design" srcset="https://substackcdn.com/image/fetch/$s_!YU5Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1fb7ab-3842-470c-8b21-15764a6b4a7b_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!YU5Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1fb7ab-3842-470c-8b21-15764a6b4a7b_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!YU5Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1fb7ab-3842-470c-8b21-15764a6b4a7b_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!YU5Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe1fb7ab-3842-470c-8b21-15764a6b4a7b_1024x1024.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">Every LiveOps feature should feel tailor made for the player.</figcaption></figure></div><p>Welcome to my first blog post of 2026!</p><p>There&#8217;s been a lot of discussion around <strong>LiveOps challenges</strong> lately. As a systems designer, I&#8217;d like to explore the topic from a game designer&#8217;s perspective.</p><p>While LiveOps inherently involves <strong>multiple layers,</strong> I want to highlight certain difficulties faced in game design and product decisions, specifically within the scope of this article:</p><ol><li><p>We want to add the event X from a competitor game into ours, but we do not know how to adapt it to our audience and game economy.</p></li><li><p>Even though the level funnel is made of the same levels, engagement and monetization metrics change with every release. We cannot explain why.</p></li><li><p>We believe the new event will work, but we do not know what outcomes we should actually expect from it.</p></li><li><p>Since these are proven mechanics, we decide which features to add by looking at competitor games. However, the configurations do not fit our game economy well.</p></li><li><p>The package prices in the competitor game are well balanced. We applied the same setup, yet something still feels wrong because we cannot reach the KPIs we expect.</p></li><li><p>We built a very similar version of the competitor game and even copied its economy. Why does their game earn money while ours does not?</p></li><li><p>Should this event unlock at level 40 or level 50? Which level would produce better results?</p></li><li><p>If we give 75 coins instead of 50 at the end of a level, would it affect our IAP packages? We assume it would not.</p></li><li><p>Our A/B test results come out trivial even though we changed both price and content of the IAPs significantly. How is that possible?</p></li><li><p>We want to adjust level difficulty dynamically, but we do not know how to align the reward flow with it.</p></li><li><p>We currently measure level difficulty purely by intuition, yet we want to tune difficulty across each set of 100 levels. How can we achieve this?</p></li></ol><p>Most of the problems in the list come from weak system design and not being able to form clear hypotheses. Teams are afraid of missing trends, so they make <strong>random decisions</strong> based on conclusions they think are right. The A/B tests built on top of those conclusions then fail to give clear results. I already covered the last problem in my <a href="https://applied.gamesystem.design/archive">previous articles</a> if you want to go deeper.</p><p>If you have not run into these problems before, congratulations! It probably means you already have a solid pipeline and do not deal with these kinds of headaches. In that case, you can keep reading the rest of the article just for fun!</p><p>I divided this article into <strong>3 main</strong> sections:</p><ol><li><p><strong>Introduction.</strong> In this section, we discuss what executable hypothesis design is and what it is not.</p></li><li><p><strong>Existing Approaches.</strong> In this section, we focus on common issues in game design processes during event design and explore how they can be solved.</p></li><li><p><strong>Framework Design.</strong> In the final section, we discuss a framework that enables systems to communicate with each other and allows us to implement executable hypotheses.</p></li></ol><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><h2>Introduction</h2><p>Before talking about what <strong>executable hypothesis design</strong> is, let&#8217;s take a look at what it is not:</p><ol><li><p><strong>It is not player simulation.</strong></p></li></ol><p>It does not predict how the player will behave in a situation. It explains which behavior a specific situation could produce.</p><ol start="2"><li><p><strong>It is not a prediction model.</strong></p></li></ol><p>A prediction model estimates the outcome using past data, while executable hypothesis design reveals the behavior a hypothesis would produce.</p><ol start="3"><li><p><strong>It is not an alternative to analytics.</strong></p></li></ol><p>It is used not to explain past player data, but to test the future. It does not make predictions based on data, but better models can be prepared by being informed by data.</p><ol start="4"><li><p><strong>It is not an alternative to A/B testing.</strong></p></li></ol><p>It is not an alternative to A/B testing but a complement to it. It tests the hypothesis before the experiment and shows which parameters are worth trying.</p><ol start="5"><li><p><strong>It is not an AI agent or a bot.</strong></p></li></ol><p>It is not an intelligent bot that plays the game. Instead, it is a system that explains the decision-making mechanism.</p><ol start="6"><li><p><strong>It is not magic!</strong></p></li></ol><p>To apply executable hypothesis design, we first need to clearly define our in game systems, especially the economic relationships between them. We cannot build sound hypotheses on top of the random behavior produced by a poorly modeled system.</p><ol start="7"><li><p><strong>It is not just about resource balancing!</strong></p></li></ol><p>Changes in player engagement and frustration can also be modeled, for example, based on difficulty parameters and reward flow.</p><p><strong>Executable hypothesis design</strong> is a mathematical hypothesis modeling method used to reason in advance about which behaviors game design decisions will produce. Its strongest aspect is that by running different behavior models together, it makes causal relationships visible that cannot be seen through intuition alone.</p><p>Hypotheses can always turn out to be wrong, and it is rarely possible to know with complete certainty until you run an A/B test. Executable hypothesis design is not about proving whether a hypothesis is right or wrong. Instead, it provides a preview of whether the hypothesis can steer the system in the intended direction.</p><div><hr></div><h2>Existing Approaches</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rfxn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87a85e3-23b2-4c9a-8b8d-33278211b8e1_1404x702.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rfxn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87a85e3-23b2-4c9a-8b8d-33278211b8e1_1404x702.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rfxn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87a85e3-23b2-4c9a-8b8d-33278211b8e1_1404x702.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rfxn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87a85e3-23b2-4c9a-8b8d-33278211b8e1_1404x702.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rfxn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87a85e3-23b2-4c9a-8b8d-33278211b8e1_1404x702.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rfxn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87a85e3-23b2-4c9a-8b8d-33278211b8e1_1404x702.jpeg" width="1404" height="702" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c87a85e3-23b2-4c9a-8b8d-33278211b8e1_1404x702.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:702,&quot;width&quot;:1404,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:87898,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87a85e3-23b2-4c9a-8b8d-33278211b8e1_1404x702.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_!rfxn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87a85e3-23b2-4c9a-8b8d-33278211b8e1_1404x702.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rfxn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87a85e3-23b2-4c9a-8b8d-33278211b8e1_1404x702.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rfxn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87a85e3-23b2-4c9a-8b8d-33278211b8e1_1404x702.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rfxn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc87a85e3-23b2-4c9a-8b8d-33278211b8e1_1404x702.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">If you don&#8217;t understand the dynamics behind a feature, it will most likely fail.</figcaption></figure></div><p>Let&#8217;s start with one of the most common mistakes made when developing a new event or feature. A competitor game, usually one that is already established in the market and generating revenue, releases a new event or makes a change in the game. Product teams notice the update and begin preparing to add it to their own game as quickly as possible.</p><p>The motivation is often driven by FOMO and the belief that &#8220;they must know something if they added it&#8221;. In this case, A/B testing is rarely performed. The underlying assumption is that if every mechanic matches the competitor&#8217;s game exactly, this game will also succeed.</p><p>This is one of the main reasons why so many games fail, even when they try proven mechanics that have already worked in the market.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RT1y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a695be6-b114-4db2-a9e6-59f495ed0c16_1684x704.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RT1y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a695be6-b114-4db2-a9e6-59f495ed0c16_1684x704.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RT1y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a695be6-b114-4db2-a9e6-59f495ed0c16_1684x704.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RT1y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a695be6-b114-4db2-a9e6-59f495ed0c16_1684x704.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RT1y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a695be6-b114-4db2-a9e6-59f495ed0c16_1684x704.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RT1y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a695be6-b114-4db2-a9e6-59f495ed0c16_1684x704.jpeg" width="1456" height="609" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a695be6-b114-4db2-a9e6-59f495ed0c16_1684x704.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:609,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:94129,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a695be6-b114-4db2-a9e6-59f495ed0c16_1684x704.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_!RT1y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a695be6-b114-4db2-a9e6-59f495ed0c16_1684x704.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RT1y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a695be6-b114-4db2-a9e6-59f495ed0c16_1684x704.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RT1y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a695be6-b114-4db2-a9e6-59f495ed0c16_1684x704.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RT1y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a695be6-b114-4db2-a9e6-59f495ed0c16_1684x704.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">Deconstructing an event does not mean you fully understand the decisions behind it.</figcaption></figure></div><p>In some studios, this issue is addressed by deconstructing competitor features in detail. The problem is that deconstructions only provide assumptions about the game in which that feature exists, and they are not guaranteed to be accurate. If they were, we would expect all identical games to make money.</p><p>Just like a fingerprint, the implementation of a feature is unique to the game it belongs to. From the design phase to development, every step of that implementation is specific to the game in which it is built.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jSaw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729f20e6-377c-4471-bca3-843dd995b901_2324x1064.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jSaw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729f20e6-377c-4471-bca3-843dd995b901_2324x1064.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jSaw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729f20e6-377c-4471-bca3-843dd995b901_2324x1064.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jSaw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729f20e6-377c-4471-bca3-843dd995b901_2324x1064.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jSaw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729f20e6-377c-4471-bca3-843dd995b901_2324x1064.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jSaw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729f20e6-377c-4471-bca3-843dd995b901_2324x1064.jpeg" width="1456" height="667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/729f20e6-377c-4471-bca3-843dd995b901_2324x1064.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;:179109,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729f20e6-377c-4471-bca3-843dd995b901_2324x1064.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_!jSaw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729f20e6-377c-4471-bca3-843dd995b901_2324x1064.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jSaw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729f20e6-377c-4471-bca3-843dd995b901_2324x1064.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jSaw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729f20e6-377c-4471-bca3-843dd995b901_2324x1064.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jSaw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F729f20e6-377c-4471-bca3-843dd995b901_2324x1064.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">Relying only on intuition driven iteration solves problems locally, not at the system level.</figcaption></figure></div><p>Implementing new features through iteration and A/B testing delivers significant gains compared to the first two approaches. However, this approach assumes that in each iteration we can interpret the event related data correctly and use it to guide the next improvement.</p><p>With careful work, this approach can be effective up to a certain point. But when multiple events and other game dynamics are active at the same time, and iterations overlap with different LiveOps periods, the results often reflect what works for that particular moment rather than clearly explaining themselves.</p><p>The core issue is that the system itself still cannot be clearly defined on the product or game design side. As a result, the process remains at an intuitive level rather than becoming fully structured and explicit.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2IHw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe7b69f-c563-4f77-9267-8c27c266fb40_3042x2162.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2IHw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe7b69f-c563-4f77-9267-8c27c266fb40_3042x2162.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2IHw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe7b69f-c563-4f77-9267-8c27c266fb40_3042x2162.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2IHw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe7b69f-c563-4f77-9267-8c27c266fb40_3042x2162.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2IHw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe7b69f-c563-4f77-9267-8c27c266fb40_3042x2162.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2IHw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe7b69f-c563-4f77-9267-8c27c266fb40_3042x2162.jpeg" width="1456" height="1035" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fe7b69f-c563-4f77-9267-8c27c266fb40_3042x2162.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1035,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:372783,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe7b69f-c563-4f77-9267-8c27c266fb40_3042x2162.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_!2IHw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe7b69f-c563-4f77-9267-8c27c266fb40_3042x2162.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2IHw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe7b69f-c563-4f77-9267-8c27c266fb40_3042x2162.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2IHw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe7b69f-c563-4f77-9267-8c27c266fb40_3042x2162.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2IHw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe7b69f-c563-4f77-9267-8c27c266fb40_3042x2162.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">Executable hypothesis design allows us to understand how a game design decision interacts with other systems.</figcaption></figure></div><p>A better solution is actually right in front of us, and it starts with integrating formal models of the systems we already design into a simulation. Although the term <strong>formal model</strong> may sound academic, it simply means defining each feature we add to the game in terms of its inputs, outputs, and interactions with other features using mathematical rules. When these models run together in an economy simulator, they allow us to balance the game economy even before calibrating it with player data. This is especially useful before launch. However, during LiveOps, things become more complex and require more than this.</p><p>At this point, I want to emphasize why it is important to define all features as formal models. Their value goes beyond executable hypothesis design. They are also essential for building a solid bridge between game designers and developers:</p><ol><li><p>There is no gap between what the game designer prepares and what is implemented.</p></li><li><p>When designing a feature, game designers must think through how it interacts with other systems.</p></li><li><p>The impact of removing a feature from the system is known at an implementation level, not just intuitively.</p></li><li><p>Any system&#8217;s simulation matches how it behaves in reality. This allows the simulation to be calibrated using real data.</p></li><li><p>It helps game designers polish the feature before implementation begins.</p></li></ol><p>There is also a commonly misunderstood point that I do not want to skip. For example, you might design a non deterministic chest where the probability of dropping 1000 coins is 10%. However, the real impact of that percentage within the system can only be calculated if we know what proportion of players who have access to the chest actually interact with it. In this case, the chest itself is a sub model. It must be modeled together with the percentage of players in the overall population who open it, as part of a higher level system. These are the kinds of configurations we calibrate once real player data starts to come in.</p><h3>Sample Hypothesis Model</h3><p>In this section, without going into too much detail, we will discuss how a simple hypothesis can be expressed as a formal model and what kind of insights it can provide.</p><p>For simplicity, I use sample player data from a 100 level range, using average values for each level. In reality, a simulator would run these models for each individual player at every level. Here, however, I only want to illustrate the core logic. For that reason, I made simplifications both in the data and in the assumptions specifically for this example.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pJCP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dede617-1d31-436a-9e20-a50a30fc818c_1614x760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pJCP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dede617-1d31-436a-9e20-a50a30fc818c_1614x760.png 424w, https://substackcdn.com/image/fetch/$s_!pJCP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dede617-1d31-436a-9e20-a50a30fc818c_1614x760.png 848w, https://substackcdn.com/image/fetch/$s_!pJCP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dede617-1d31-436a-9e20-a50a30fc818c_1614x760.png 1272w, https://substackcdn.com/image/fetch/$s_!pJCP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dede617-1d31-436a-9e20-a50a30fc818c_1614x760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pJCP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dede617-1d31-436a-9e20-a50a30fc818c_1614x760.png" width="1456" height="686" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2dede617-1d31-436a-9e20-a50a30fc818c_1614x760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:686,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!pJCP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dede617-1d31-436a-9e20-a50a30fc818c_1614x760.png 424w, https://substackcdn.com/image/fetch/$s_!pJCP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dede617-1d31-436a-9e20-a50a30fc818c_1614x760.png 848w, https://substackcdn.com/image/fetch/$s_!pJCP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dede617-1d31-436a-9e20-a50a30fc818c_1614x760.png 1272w, https://substackcdn.com/image/fetch/$s_!pJCP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dede617-1d31-436a-9e20-a50a30fc818c_1614x760.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">Churn changes across levels.</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_!uJ7n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ceb84-f712-444e-a09c-eaca75552b44_1614x760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uJ7n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ceb84-f712-444e-a09c-eaca75552b44_1614x760.png 424w, https://substackcdn.com/image/fetch/$s_!uJ7n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ceb84-f712-444e-a09c-eaca75552b44_1614x760.png 848w, https://substackcdn.com/image/fetch/$s_!uJ7n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ceb84-f712-444e-a09c-eaca75552b44_1614x760.png 1272w, https://substackcdn.com/image/fetch/$s_!uJ7n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ceb84-f712-444e-a09c-eaca75552b44_1614x760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uJ7n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ceb84-f712-444e-a09c-eaca75552b44_1614x760.png" width="1456" height="686" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/878ceb84-f712-444e-a09c-eaca75552b44_1614x760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:686,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!uJ7n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ceb84-f712-444e-a09c-eaca75552b44_1614x760.png 424w, https://substackcdn.com/image/fetch/$s_!uJ7n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ceb84-f712-444e-a09c-eaca75552b44_1614x760.png 848w, https://substackcdn.com/image/fetch/$s_!uJ7n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ceb84-f712-444e-a09c-eaca75552b44_1614x760.png 1272w, https://substackcdn.com/image/fetch/$s_!uJ7n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878ceb84-f712-444e-a09c-eaca75552b44_1614x760.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">Booster ratio of each level for level start and consumption.</figcaption></figure></div><p>Based on the churn and booster level funnels shown above, assume that you want to reduce churn in levels where it is 5% or higher. Instead of adjusting the level parameters to make those levels easier, you consider reducing churn by introducing additional boosters. Based on this assumption, you form the following hypothesis:</p><p><em>If we add extra boosters to levels with more than 5% churn, churn on those levels will drop, and IAPs on other levels will stay stable. This happens because the change targets local difficulty spikes without affecting the overall economy or spending patterns.</em></p><p>Let&#8217;s turn the hypothesis into a formal model and see whether the system actually produces the behavior we expect. I prefer to design these models as white box systems, where the logic is explicit and interpretable. Their parameters can also be calibrated using data through regression or supervised learning.</p><p>What we should not forget is this: our goal is not prediction. The goal is to run a consistent and explanatory behavior mechanism in the simulation. We aim to build a mechanism that behaves reasonably.</p><p>For this example, we will ignore several factors for the sake of simplicity, such as coin earnings, their exchange into boosters, and the impact of difficulty trends on player engagement. We will also assume that the average booster usage represents the number of boosters required for a player to complete a level. In reality, this value may also be influenced by the boosters used by players who churn. In that case, looking only at the average may not be an accurate approach.</p><p>First, let&#8217;s think about which state could trigger churn. For this model, I make the following assumptions:</p><ol><li><p>As we move negatively away from the average number of boosters required to complete a level, the probability of churn should increase. As a player, if I do not have enough boosters, I either need to make a purchase or quit the game at that point.</p></li><li><p>I assume that the churn output produced by this behavior follows a sigmoid function. The fewer boosters players have relative to what is required, the more likely they are to churn. However, if they have enough boosters, or more than enough, that tendency decreases.</p></li></ol><p>Based on these assumptions, we can model churn behavior using the following sigmoid function:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nv5D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1a08a6-0df5-428c-8458-2a3a8fcf1d05_1417x295.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nv5D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1a08a6-0df5-428c-8458-2a3a8fcf1d05_1417x295.png 424w, https://substackcdn.com/image/fetch/$s_!nv5D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1a08a6-0df5-428c-8458-2a3a8fcf1d05_1417x295.png 848w, https://substackcdn.com/image/fetch/$s_!nv5D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1a08a6-0df5-428c-8458-2a3a8fcf1d05_1417x295.png 1272w, https://substackcdn.com/image/fetch/$s_!nv5D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1a08a6-0df5-428c-8458-2a3a8fcf1d05_1417x295.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nv5D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1a08a6-0df5-428c-8458-2a3a8fcf1d05_1417x295.png" width="1417" height="295" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce1a08a6-0df5-428c-8458-2a3a8fcf1d05_1417x295.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:295,&quot;width&quot;:1417,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:24381,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1a08a6-0df5-428c-8458-2a3a8fcf1d05_1417x295.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_!nv5D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1a08a6-0df5-428c-8458-2a3a8fcf1d05_1417x295.png 424w, https://substackcdn.com/image/fetch/$s_!nv5D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1a08a6-0df5-428c-8458-2a3a8fcf1d05_1417x295.png 848w, https://substackcdn.com/image/fetch/$s_!nv5D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1a08a6-0df5-428c-8458-2a3a8fcf1d05_1417x295.png 1272w, https://substackcdn.com/image/fetch/$s_!nv5D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce1a08a6-0df5-428c-8458-2a3a8fcf1d05_1417x295.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>where f(b1, b2) represents the calculated churn value for given b1 and b2, with b1 representing booster consumption and b2 representing boosters at level start. k1, k2, and c are constants to be calibrated.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ix3p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe1832c-73f8-4f2c-ba82-241c9571d760_1673x121.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ix3p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe1832c-73f8-4f2c-ba82-241c9571d760_1673x121.png 424w, https://substackcdn.com/image/fetch/$s_!Ix3p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe1832c-73f8-4f2c-ba82-241c9571d760_1673x121.png 848w, https://substackcdn.com/image/fetch/$s_!Ix3p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe1832c-73f8-4f2c-ba82-241c9571d760_1673x121.png 1272w, https://substackcdn.com/image/fetch/$s_!Ix3p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe1832c-73f8-4f2c-ba82-241c9571d760_1673x121.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ix3p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe1832c-73f8-4f2c-ba82-241c9571d760_1673x121.png" width="1456" height="105" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fe1832c-73f8-4f2c-ba82-241c9571d760_1673x121.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:105,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8417,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe1832c-73f8-4f2c-ba82-241c9571d760_1673x121.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_!Ix3p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe1832c-73f8-4f2c-ba82-241c9571d760_1673x121.png 424w, https://substackcdn.com/image/fetch/$s_!Ix3p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe1832c-73f8-4f2c-ba82-241c9571d760_1673x121.png 848w, https://substackcdn.com/image/fetch/$s_!Ix3p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe1832c-73f8-4f2c-ba82-241c9571d760_1673x121.png 1272w, https://substackcdn.com/image/fetch/$s_!Ix3p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe1832c-73f8-4f2c-ba82-241c9571d760_1673x121.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>For the given values, the model explains 81% of the real data. On average, the model&#8217;s predictions deviate from the actual values by 19%. For this example, this level of accuracy is sufficient.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2THy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b426e1c-efaa-4c81-a1d9-48f52cd5e783_1614x760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2THy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b426e1c-efaa-4c81-a1d9-48f52cd5e783_1614x760.png 424w, https://substackcdn.com/image/fetch/$s_!2THy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b426e1c-efaa-4c81-a1d9-48f52cd5e783_1614x760.png 848w, https://substackcdn.com/image/fetch/$s_!2THy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b426e1c-efaa-4c81-a1d9-48f52cd5e783_1614x760.png 1272w, https://substackcdn.com/image/fetch/$s_!2THy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b426e1c-efaa-4c81-a1d9-48f52cd5e783_1614x760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2THy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b426e1c-efaa-4c81-a1d9-48f52cd5e783_1614x760.png" width="1456" height="686" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b426e1c-efaa-4c81-a1d9-48f52cd5e783_1614x760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:686,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!2THy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b426e1c-efaa-4c81-a1d9-48f52cd5e783_1614x760.png 424w, https://substackcdn.com/image/fetch/$s_!2THy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b426e1c-efaa-4c81-a1d9-48f52cd5e783_1614x760.png 848w, https://substackcdn.com/image/fetch/$s_!2THy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b426e1c-efaa-4c81-a1d9-48f52cd5e783_1614x760.png 1272w, https://substackcdn.com/image/fetch/$s_!2THy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b426e1c-efaa-4c81-a1d9-48f52cd5e783_1614x760.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">Booster pressure changes across levels.</figcaption></figure></div><p>As shown in the chart above, introducing additional boosters only on levels with churn of 5% or higher reduces booster pressure not only on those targeted levels, but also on others where no extra boosters are introduced. The reason is that players who accumulate sufficient boosters may choose not to consume them immediately and instead carry them forward to subsequent levels, indirectly affecting the system as a whole. This is critical because our original hypothesis ignored this possibility. The simulation, however, reveals that it must be monitored carefully.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iItZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F510a7815-d2c8-49e1-8db5-8f104efcc331_1614x760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iItZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F510a7815-d2c8-49e1-8db5-8f104efcc331_1614x760.png 424w, https://substackcdn.com/image/fetch/$s_!iItZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F510a7815-d2c8-49e1-8db5-8f104efcc331_1614x760.png 848w, https://substackcdn.com/image/fetch/$s_!iItZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F510a7815-d2c8-49e1-8db5-8f104efcc331_1614x760.png 1272w, https://substackcdn.com/image/fetch/$s_!iItZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F510a7815-d2c8-49e1-8db5-8f104efcc331_1614x760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iItZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F510a7815-d2c8-49e1-8db5-8f104efcc331_1614x760.png" width="1456" height="686" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/510a7815-d2c8-49e1-8db5-8f104efcc331_1614x760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:686,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!iItZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F510a7815-d2c8-49e1-8db5-8f104efcc331_1614x760.png 424w, https://substackcdn.com/image/fetch/$s_!iItZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F510a7815-d2c8-49e1-8db5-8f104efcc331_1614x760.png 848w, https://substackcdn.com/image/fetch/$s_!iItZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F510a7815-d2c8-49e1-8db5-8f104efcc331_1614x760.png 1272w, https://substackcdn.com/image/fetch/$s_!iItZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F510a7815-d2c8-49e1-8db5-8f104efcc331_1614x760.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">IAP opportunity changes across levels relative to actual purchases.</figcaption></figure></div><p>Moreover, actual IAP points decrease in the simulation because the new booster inputs reduce the system&#8217;s tendency to generate IAP behavior compared to the original state. As shown in the chart above, IAP opportunity shows a drop on the levels where IAPs were originally made. Previously generated IAPs now have the potential to be lost under the new system behavior.</p><p>Even though I did not include the <strong>IAP</strong> and <strong>booster usage models</strong> in this article, we should not forget that the simulation runs on these formal models and produces behavior accordingly.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><h2>Framework Design</h2><p>To be able to use formal models, all systems need to speak the same language. There may be more casual ways to achieve this, but designing a <strong>framework</strong> is always more <strong>scalable.</strong> It allows new modules to be added or removed when needed.</p><p>In this section, I briefly introduce how you can build an economy framework and connect related systems, using a <strong>proof of work tool</strong> that I developed.</p><h3>Unit</h3><p>A <strong>unit</strong> is the core building block of the economy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1QU5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71e52581-cb54-44a0-8aea-1439afbef98a_1112x1422.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1QU5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71e52581-cb54-44a0-8aea-1439afbef98a_1112x1422.png 424w, https://substackcdn.com/image/fetch/$s_!1QU5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71e52581-cb54-44a0-8aea-1439afbef98a_1112x1422.png 848w, https://substackcdn.com/image/fetch/$s_!1QU5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71e52581-cb54-44a0-8aea-1439afbef98a_1112x1422.png 1272w, https://substackcdn.com/image/fetch/$s_!1QU5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71e52581-cb54-44a0-8aea-1439afbef98a_1112x1422.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1QU5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71e52581-cb54-44a0-8aea-1439afbef98a_1112x1422.png" width="401" height="512.7895683453237" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71e52581-cb54-44a0-8aea-1439afbef98a_1112x1422.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1422,&quot;width&quot;:1112,&quot;resizeWidth&quot;:401,&quot;bytes&quot;:176727,&quot;alt&quot;:&quot;Unit Module&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71e52581-cb54-44a0-8aea-1439afbef98a_1112x1422.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Unit Module" title="Unit Module" srcset="https://substackcdn.com/image/fetch/$s_!1QU5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71e52581-cb54-44a0-8aea-1439afbef98a_1112x1422.png 424w, https://substackcdn.com/image/fetch/$s_!1QU5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71e52581-cb54-44a0-8aea-1439afbef98a_1112x1422.png 848w, https://substackcdn.com/image/fetch/$s_!1QU5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71e52581-cb54-44a0-8aea-1439afbef98a_1112x1422.png 1272w, https://substackcdn.com/image/fetch/$s_!1QU5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71e52581-cb54-44a0-8aea-1439afbef98a_1112x1422.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">Unit is a measurable element.</figcaption></figure></div><p>Any measurable element is a unit:</p><pre><code>Level, coin, life, booster, real money, rewarded video, session, hour, day, event tickets, collectible items and more.</code></pre><p>A unit can have an equivalent in another unit:</p><pre><code>Booster = 1200 Coins
Session = 5 Levels
Day = 4 Sessions etc.</code></pre><p>A demonstration of the Units module is given below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DErP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe942b95a-a385-496d-8ebb-4325c747e547_4320x1970.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DErP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe942b95a-a385-496d-8ebb-4325c747e547_4320x1970.png 424w, https://substackcdn.com/image/fetch/$s_!DErP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe942b95a-a385-496d-8ebb-4325c747e547_4320x1970.png 848w, https://substackcdn.com/image/fetch/$s_!DErP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe942b95a-a385-496d-8ebb-4325c747e547_4320x1970.png 1272w, https://substackcdn.com/image/fetch/$s_!DErP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe942b95a-a385-496d-8ebb-4325c747e547_4320x1970.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DErP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe942b95a-a385-496d-8ebb-4325c747e547_4320x1970.png" width="1456" height="664" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e942b95a-a385-496d-8ebb-4325c747e547_4320x1970.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:664,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:831585,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe942b95a-a385-496d-8ebb-4325c747e547_4320x1970.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_!DErP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe942b95a-a385-496d-8ebb-4325c747e547_4320x1970.png 424w, https://substackcdn.com/image/fetch/$s_!DErP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe942b95a-a385-496d-8ebb-4325c747e547_4320x1970.png 848w, https://substackcdn.com/image/fetch/$s_!DErP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe942b95a-a385-496d-8ebb-4325c747e547_4320x1970.png 1272w, https://substackcdn.com/image/fetch/$s_!DErP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe942b95a-a385-496d-8ebb-4325c747e547_4320x1970.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">Units module UI.</figcaption></figure></div><h3>Group</h3><p>A <strong>group</strong> is a bucket of units with a gacha mechanic.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vYGS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ab817b-e0a0-4046-9e76-44cc77a04371_1284x1034.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vYGS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ab817b-e0a0-4046-9e76-44cc77a04371_1284x1034.png 424w, https://substackcdn.com/image/fetch/$s_!vYGS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ab817b-e0a0-4046-9e76-44cc77a04371_1284x1034.png 848w, https://substackcdn.com/image/fetch/$s_!vYGS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ab817b-e0a0-4046-9e76-44cc77a04371_1284x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!vYGS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ab817b-e0a0-4046-9e76-44cc77a04371_1284x1034.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vYGS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ab817b-e0a0-4046-9e76-44cc77a04371_1284x1034.png" width="401" height="322.92367601246104" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7ab817b-e0a0-4046-9e76-44cc77a04371_1284x1034.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1034,&quot;width&quot;:1284,&quot;resizeWidth&quot;:401,&quot;bytes&quot;:168902,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ab817b-e0a0-4046-9e76-44cc77a04371_1284x1034.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_!vYGS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ab817b-e0a0-4046-9e76-44cc77a04371_1284x1034.png 424w, https://substackcdn.com/image/fetch/$s_!vYGS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ab817b-e0a0-4046-9e76-44cc77a04371_1284x1034.png 848w, https://substackcdn.com/image/fetch/$s_!vYGS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ab817b-e0a0-4046-9e76-44cc77a04371_1284x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!vYGS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7ab817b-e0a0-4046-9e76-44cc77a04371_1284x1034.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">A group can include many unit sets with different configurations as a content.</figcaption></figure></div><p>Groups control how many units can flow through an action. Each group can have multiple units, with optional gacha as in the examples:</p><pre><code><strong>Group 1:</strong> 1000 Coins + 3 Boosters - all content always drop

<strong>Group 2:</strong> 1000 Coins (50%) - each time there is 50% chance to drop coins

<strong>Group 3:</strong> 1000 Coins (50%) + 3 Boosters (50%) - each time there is 50% chance to drop either coins or boosters</code></pre><p>Time value makes a unit infinite temporarily:</p><pre><code><strong>Group 1:</strong> 30 Minutes Booster

<strong>Group 2:</strong> 1000 Coins + 30 Minutes Life</code></pre><p>A demonstration of the Groups module is given below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AMa5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab3ec6-bcd0-4cf9-a77b-bfd52a4607bf_3112x1312.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AMa5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab3ec6-bcd0-4cf9-a77b-bfd52a4607bf_3112x1312.png 424w, https://substackcdn.com/image/fetch/$s_!AMa5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab3ec6-bcd0-4cf9-a77b-bfd52a4607bf_3112x1312.png 848w, https://substackcdn.com/image/fetch/$s_!AMa5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab3ec6-bcd0-4cf9-a77b-bfd52a4607bf_3112x1312.png 1272w, https://substackcdn.com/image/fetch/$s_!AMa5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab3ec6-bcd0-4cf9-a77b-bfd52a4607bf_3112x1312.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AMa5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab3ec6-bcd0-4cf9-a77b-bfd52a4607bf_3112x1312.png" width="1456" height="614" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edab3ec6-bcd0-4cf9-a77b-bfd52a4607bf_3112x1312.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:614,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:718973,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab3ec6-bcd0-4cf9-a77b-bfd52a4607bf_3112x1312.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_!AMa5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab3ec6-bcd0-4cf9-a77b-bfd52a4607bf_3112x1312.png 424w, https://substackcdn.com/image/fetch/$s_!AMa5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab3ec6-bcd0-4cf9-a77b-bfd52a4607bf_3112x1312.png 848w, https://substackcdn.com/image/fetch/$s_!AMa5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab3ec6-bcd0-4cf9-a77b-bfd52a4607bf_3112x1312.png 1272w, https://substackcdn.com/image/fetch/$s_!AMa5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedab3ec6-bcd0-4cf9-a77b-bfd52a4607bf_3112x1312.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">Groups module UI.</figcaption></figure></div><h3>Pack</h3><p>A <strong>pack</strong> is a ready-to-purchase combination of groups.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wNL8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F716ec80b-d8ed-4550-ae40-b93415425e80_1690x1054.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wNL8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F716ec80b-d8ed-4550-ae40-b93415425e80_1690x1054.png 424w, https://substackcdn.com/image/fetch/$s_!wNL8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F716ec80b-d8ed-4550-ae40-b93415425e80_1690x1054.png 848w, https://substackcdn.com/image/fetch/$s_!wNL8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F716ec80b-d8ed-4550-ae40-b93415425e80_1690x1054.png 1272w, https://substackcdn.com/image/fetch/$s_!wNL8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F716ec80b-d8ed-4550-ae40-b93415425e80_1690x1054.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wNL8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F716ec80b-d8ed-4550-ae40-b93415425e80_1690x1054.png" width="500" height="311.8131868131868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/716ec80b-d8ed-4550-ae40-b93415425e80_1690x1054.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:908,&quot;width&quot;:1456,&quot;resizeWidth&quot;:500,&quot;bytes&quot;:289659,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F716ec80b-d8ed-4550-ae40-b93415425e80_1690x1054.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_!wNL8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F716ec80b-d8ed-4550-ae40-b93415425e80_1690x1054.png 424w, https://substackcdn.com/image/fetch/$s_!wNL8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F716ec80b-d8ed-4550-ae40-b93415425e80_1690x1054.png 848w, https://substackcdn.com/image/fetch/$s_!wNL8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F716ec80b-d8ed-4550-ae40-b93415425e80_1690x1054.png 1272w, https://substackcdn.com/image/fetch/$s_!wNL8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F716ec80b-d8ed-4550-ae40-b93415425e80_1690x1054.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">Packs can be used individually or a part of a feature.</figcaption></figure></div><p>Packs can function both as shop items and as reward items. When a pack is used as a <strong>feature </strong>reward, its contents are managed by that feature.</p><pre><code>e.g. Progression-based event rewards.</code></pre><p>A demonstration of the Packs module is given below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CdOt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d7fcfa-da6c-4a64-b4b6-3d124eb24f4d_4284x1824.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CdOt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d7fcfa-da6c-4a64-b4b6-3d124eb24f4d_4284x1824.png 424w, https://substackcdn.com/image/fetch/$s_!CdOt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d7fcfa-da6c-4a64-b4b6-3d124eb24f4d_4284x1824.png 848w, https://substackcdn.com/image/fetch/$s_!CdOt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d7fcfa-da6c-4a64-b4b6-3d124eb24f4d_4284x1824.png 1272w, https://substackcdn.com/image/fetch/$s_!CdOt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d7fcfa-da6c-4a64-b4b6-3d124eb24f4d_4284x1824.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CdOt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d7fcfa-da6c-4a64-b4b6-3d124eb24f4d_4284x1824.png" width="1456" height="620" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3d7fcfa-da6c-4a64-b4b6-3d124eb24f4d_4284x1824.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:620,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1048207,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d7fcfa-da6c-4a64-b4b6-3d124eb24f4d_4284x1824.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_!CdOt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d7fcfa-da6c-4a64-b4b6-3d124eb24f4d_4284x1824.png 424w, https://substackcdn.com/image/fetch/$s_!CdOt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d7fcfa-da6c-4a64-b4b6-3d124eb24f4d_4284x1824.png 848w, https://substackcdn.com/image/fetch/$s_!CdOt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d7fcfa-da6c-4a64-b4b6-3d124eb24f4d_4284x1824.png 1272w, https://substackcdn.com/image/fetch/$s_!CdOt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d7fcfa-da6c-4a64-b4b6-3d124eb24f4d_4284x1824.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">Packs module UI.</figcaption></figure></div><h3>Feature</h3><p>A <strong>feature</strong> is a dynamic module for liveops event design. Although many different sub-systems can be attached, I considered 5 main systems:</p><ol><li><p>Period</p></li><li><p>Rewards</p></li><li><p>Rules</p></li><li><p>Progressions</p></li><li><p>Streaks</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FJ0H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e28bddc-80d3-4098-9259-d77210cd88a4_3348x1292.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FJ0H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e28bddc-80d3-4098-9259-d77210cd88a4_3348x1292.png 424w, https://substackcdn.com/image/fetch/$s_!FJ0H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e28bddc-80d3-4098-9259-d77210cd88a4_3348x1292.png 848w, https://substackcdn.com/image/fetch/$s_!FJ0H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e28bddc-80d3-4098-9259-d77210cd88a4_3348x1292.png 1272w, https://substackcdn.com/image/fetch/$s_!FJ0H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e28bddc-80d3-4098-9259-d77210cd88a4_3348x1292.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FJ0H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e28bddc-80d3-4098-9259-d77210cd88a4_3348x1292.png" width="1456" height="562" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e28bddc-80d3-4098-9259-d77210cd88a4_3348x1292.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:562,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:691049,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e28bddc-80d3-4098-9259-d77210cd88a4_3348x1292.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_!FJ0H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e28bddc-80d3-4098-9259-d77210cd88a4_3348x1292.png 424w, https://substackcdn.com/image/fetch/$s_!FJ0H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e28bddc-80d3-4098-9259-d77210cd88a4_3348x1292.png 848w, https://substackcdn.com/image/fetch/$s_!FJ0H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e28bddc-80d3-4098-9259-d77210cd88a4_3348x1292.png 1272w, https://substackcdn.com/image/fetch/$s_!FJ0H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e28bddc-80d3-4098-9259-d77210cd88a4_3348x1292.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">A feature is a combination of these 5 main systems: period, rewards, rules, progressions and streaks.</figcaption></figure></div><p>It can be designed in any form from <strong>Piggy Bank</strong> to <strong>Battle Pass Plan</strong>, from <strong>Streak Rewards</strong> to <strong>Collection Events.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Mcjh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92509f9c-0cd6-4cc2-b000-3606b6cdfe14_1478x1192.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Mcjh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92509f9c-0cd6-4cc2-b000-3606b6cdfe14_1478x1192.png 424w, https://substackcdn.com/image/fetch/$s_!Mcjh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92509f9c-0cd6-4cc2-b000-3606b6cdfe14_1478x1192.png 848w, https://substackcdn.com/image/fetch/$s_!Mcjh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92509f9c-0cd6-4cc2-b000-3606b6cdfe14_1478x1192.png 1272w, https://substackcdn.com/image/fetch/$s_!Mcjh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92509f9c-0cd6-4cc2-b000-3606b6cdfe14_1478x1192.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Mcjh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92509f9c-0cd6-4cc2-b000-3606b6cdfe14_1478x1192.png" width="301" height="242.70192307692307" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92509f9c-0cd6-4cc2-b000-3606b6cdfe14_1478x1192.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1174,&quot;width&quot;:1456,&quot;resizeWidth&quot;:301,&quot;bytes&quot;:1289853,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92509f9c-0cd6-4cc2-b000-3606b6cdfe14_1478x1192.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_!Mcjh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92509f9c-0cd6-4cc2-b000-3606b6cdfe14_1478x1192.png 424w, https://substackcdn.com/image/fetch/$s_!Mcjh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92509f9c-0cd6-4cc2-b000-3606b6cdfe14_1478x1192.png 848w, https://substackcdn.com/image/fetch/$s_!Mcjh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92509f9c-0cd6-4cc2-b000-3606b6cdfe14_1478x1192.png 1272w, https://substackcdn.com/image/fetch/$s_!Mcjh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92509f9c-0cd6-4cc2-b000-3606b6cdfe14_1478x1192.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 feature can be modeled to analyse how the game economy reacts to changes in the parameters of a potential event. One event can be a combination of multiple sub-events so that each part can be tested separately.</p><p>A demonstration of the Features module is given below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3FEm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a13e04-1c09-49fb-8b73-f9468bfdd9bc_3644x1828.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3FEm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a13e04-1c09-49fb-8b73-f9468bfdd9bc_3644x1828.png 424w, https://substackcdn.com/image/fetch/$s_!3FEm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a13e04-1c09-49fb-8b73-f9468bfdd9bc_3644x1828.png 848w, https://substackcdn.com/image/fetch/$s_!3FEm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a13e04-1c09-49fb-8b73-f9468bfdd9bc_3644x1828.png 1272w, https://substackcdn.com/image/fetch/$s_!3FEm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a13e04-1c09-49fb-8b73-f9468bfdd9bc_3644x1828.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3FEm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a13e04-1c09-49fb-8b73-f9468bfdd9bc_3644x1828.png" width="1456" height="730" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4a13e04-1c09-49fb-8b73-f9468bfdd9bc_3644x1828.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:730,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:613775,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a13e04-1c09-49fb-8b73-f9468bfdd9bc_3644x1828.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_!3FEm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a13e04-1c09-49fb-8b73-f9468bfdd9bc_3644x1828.png 424w, https://substackcdn.com/image/fetch/$s_!3FEm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a13e04-1c09-49fb-8b73-f9468bfdd9bc_3644x1828.png 848w, https://substackcdn.com/image/fetch/$s_!3FEm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a13e04-1c09-49fb-8b73-f9468bfdd9bc_3644x1828.png 1272w, https://substackcdn.com/image/fetch/$s_!3FEm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a13e04-1c09-49fb-8b73-f9468bfdd9bc_3644x1828.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">A part of the Features Module UI.</figcaption></figure></div><h3>Resource Flow &gt; Units</h3><p><strong>A resource flow system</strong> defines how modules are activated throughout the levels.</p><p>Units section in the resource flow is responsible for distributing <strong>feature-specific</strong> resources, as well as <strong>constant amounts of resources</strong> that are guaranteed to be gathered or spent per level.</p><p>It is also useful for answering questions such as, <strong>&#8220;How does the resource balance change if we add X amount of coins at level 120?&#8221;</strong> without touching any module.</p><p>The probability of any resource distribution can be defined directly here if the <strong>proxy design</strong> is not introduced into the system.</p><p>In the image given below, a collectible <strong>key </strong>is introduced into the system and triggered when the event is active.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5ePk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65bf0b26-0da9-417f-ba54-f7568e52cd4e_764x1444.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5ePk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65bf0b26-0da9-417f-ba54-f7568e52cd4e_764x1444.png 424w, https://substackcdn.com/image/fetch/$s_!5ePk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65bf0b26-0da9-417f-ba54-f7568e52cd4e_764x1444.png 848w, https://substackcdn.com/image/fetch/$s_!5ePk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65bf0b26-0da9-417f-ba54-f7568e52cd4e_764x1444.png 1272w, https://substackcdn.com/image/fetch/$s_!5ePk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65bf0b26-0da9-417f-ba54-f7568e52cd4e_764x1444.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5ePk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65bf0b26-0da9-417f-ba54-f7568e52cd4e_764x1444.png" width="301" height="568.9057591623036" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/65bf0b26-0da9-417f-ba54-f7568e52cd4e_764x1444.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1444,&quot;width&quot;:764,&quot;resizeWidth&quot;:301,&quot;bytes&quot;:171662,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65bf0b26-0da9-417f-ba54-f7568e52cd4e_764x1444.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_!5ePk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65bf0b26-0da9-417f-ba54-f7568e52cd4e_764x1444.png 424w, https://substackcdn.com/image/fetch/$s_!5ePk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65bf0b26-0da9-417f-ba54-f7568e52cd4e_764x1444.png 848w, https://substackcdn.com/image/fetch/$s_!5ePk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65bf0b26-0da9-417f-ba54-f7568e52cd4e_764x1444.png 1272w, https://substackcdn.com/image/fetch/$s_!5ePk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65bf0b26-0da9-417f-ba54-f7568e52cd4e_764x1444.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">A part of the Units UI in the Resource Flow Module.</figcaption></figure></div><h3>Resource Flow &gt; Packs</h3><p>Packs are introduced through the resource flow to define the levels at which they are available for <strong>purchase. </strong>They&#8217;re based on rewarded videos, such as level-end ad rewards, are also introduced here.</p><p>The probability of purchasing a non-free pack depends on the <strong>purchasing rules</strong> defined in the <strong>proxy design.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oXKu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F288f5dd7-0536-4e27-8af7-df95dcf62993_1584x1510.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oXKu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F288f5dd7-0536-4e27-8af7-df95dcf62993_1584x1510.png 424w, https://substackcdn.com/image/fetch/$s_!oXKu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F288f5dd7-0536-4e27-8af7-df95dcf62993_1584x1510.png 848w, https://substackcdn.com/image/fetch/$s_!oXKu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F288f5dd7-0536-4e27-8af7-df95dcf62993_1584x1510.png 1272w, https://substackcdn.com/image/fetch/$s_!oXKu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F288f5dd7-0536-4e27-8af7-df95dcf62993_1584x1510.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oXKu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F288f5dd7-0536-4e27-8af7-df95dcf62993_1584x1510.png" width="500" height="476.64835164835165" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/288f5dd7-0536-4e27-8af7-df95dcf62993_1584x1510.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1388,&quot;width&quot;:1456,&quot;resizeWidth&quot;:500,&quot;bytes&quot;:316753,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F288f5dd7-0536-4e27-8af7-df95dcf62993_1584x1510.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_!oXKu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F288f5dd7-0536-4e27-8af7-df95dcf62993_1584x1510.png 424w, https://substackcdn.com/image/fetch/$s_!oXKu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F288f5dd7-0536-4e27-8af7-df95dcf62993_1584x1510.png 848w, https://substackcdn.com/image/fetch/$s_!oXKu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F288f5dd7-0536-4e27-8af7-df95dcf62993_1584x1510.png 1272w, https://substackcdn.com/image/fetch/$s_!oXKu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F288f5dd7-0536-4e27-8af7-df95dcf62993_1584x1510.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">A part of the Packs UI in the Resource Flow Module.</figcaption></figure></div><h3>Resource Flow &gt; Features</h3><p>Features in the resource flow define at which level an event is <strong>triggered,</strong> but they do not determine how the event is executed, as that is a feature-specific configuration.</p><p>Event joining, replaying, and reward-obtaining probabilities can be defined as constants if no <strong>proxy rule</strong> is provided.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D7K4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa034d98-b99d-4660-b394-070737b3fd46_1082x1510.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D7K4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa034d98-b99d-4660-b394-070737b3fd46_1082x1510.png 424w, https://substackcdn.com/image/fetch/$s_!D7K4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa034d98-b99d-4660-b394-070737b3fd46_1082x1510.png 848w, https://substackcdn.com/image/fetch/$s_!D7K4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa034d98-b99d-4660-b394-070737b3fd46_1082x1510.png 1272w, https://substackcdn.com/image/fetch/$s_!D7K4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa034d98-b99d-4660-b394-070737b3fd46_1082x1510.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D7K4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa034d98-b99d-4660-b394-070737b3fd46_1082x1510.png" width="400" height="558.2255083179298" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa034d98-b99d-4660-b394-070737b3fd46_1082x1510.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1510,&quot;width&quot;:1082,&quot;resizeWidth&quot;:400,&quot;bytes&quot;:212799,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa034d98-b99d-4660-b394-070737b3fd46_1082x1510.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_!D7K4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa034d98-b99d-4660-b394-070737b3fd46_1082x1510.png 424w, https://substackcdn.com/image/fetch/$s_!D7K4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa034d98-b99d-4660-b394-070737b3fd46_1082x1510.png 848w, https://substackcdn.com/image/fetch/$s_!D7K4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa034d98-b99d-4660-b394-070737b3fd46_1082x1510.png 1272w, https://substackcdn.com/image/fetch/$s_!D7K4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa034d98-b99d-4660-b394-070737b3fd46_1082x1510.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">A part of the Feature UI in the Resource Flow Module.</figcaption></figure></div><h3>Resource Flow &gt; Equivalents</h3><p>As first shown in the Unit section, each unit can have <strong>an equivalent.</strong> However, this equivalence can change when new packs, events, resources, etc. are introduced into the system.</p><p>Equivalents section in the resource flow handles these changes when a new equivalency is defined.</p><pre><code>e.g. Introducing a new event increases level completion per session +3. This can either be an <strong>assumption </strong>or derived from <strong>real data:
Old -&gt; Session = 5 Levels
New -&gt; Session = 8 Levels starting from level 40.</strong></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RVOh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd02e5a2b-1e2d-4ccf-8a61-cb8950efba9d_732x1510.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RVOh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd02e5a2b-1e2d-4ccf-8a61-cb8950efba9d_732x1510.png 424w, https://substackcdn.com/image/fetch/$s_!RVOh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd02e5a2b-1e2d-4ccf-8a61-cb8950efba9d_732x1510.png 848w, https://substackcdn.com/image/fetch/$s_!RVOh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd02e5a2b-1e2d-4ccf-8a61-cb8950efba9d_732x1510.png 1272w, https://substackcdn.com/image/fetch/$s_!RVOh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd02e5a2b-1e2d-4ccf-8a61-cb8950efba9d_732x1510.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RVOh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd02e5a2b-1e2d-4ccf-8a61-cb8950efba9d_732x1510.png" width="300" height="618.8524590163935" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d02e5a2b-1e2d-4ccf-8a61-cb8950efba9d_732x1510.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1510,&quot;width&quot;:732,&quot;resizeWidth&quot;:300,&quot;bytes&quot;:138430,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd02e5a2b-1e2d-4ccf-8a61-cb8950efba9d_732x1510.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_!RVOh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd02e5a2b-1e2d-4ccf-8a61-cb8950efba9d_732x1510.png 424w, https://substackcdn.com/image/fetch/$s_!RVOh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd02e5a2b-1e2d-4ccf-8a61-cb8950efba9d_732x1510.png 848w, https://substackcdn.com/image/fetch/$s_!RVOh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd02e5a2b-1e2d-4ccf-8a61-cb8950efba9d_732x1510.png 1272w, https://substackcdn.com/image/fetch/$s_!RVOh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd02e5a2b-1e2d-4ccf-8a61-cb8950efba9d_732x1510.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">A part of the Equivalent UI in the Resource Flow Module.</figcaption></figure></div><h3>Proxy Design</h3><p>In this section, I group all formal models under <strong>proxy design.</strong> This makes it possible to manage the models from a single central structure.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P2Fp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1be85b-d30a-4cea-90c7-f4de49a9fd1b_3012x1822.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P2Fp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1be85b-d30a-4cea-90c7-f4de49a9fd1b_3012x1822.png 424w, https://substackcdn.com/image/fetch/$s_!P2Fp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1be85b-d30a-4cea-90c7-f4de49a9fd1b_3012x1822.png 848w, https://substackcdn.com/image/fetch/$s_!P2Fp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1be85b-d30a-4cea-90c7-f4de49a9fd1b_3012x1822.png 1272w, https://substackcdn.com/image/fetch/$s_!P2Fp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1be85b-d30a-4cea-90c7-f4de49a9fd1b_3012x1822.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P2Fp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1be85b-d30a-4cea-90c7-f4de49a9fd1b_3012x1822.png" width="1456" height="881" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa1be85b-d30a-4cea-90c7-f4de49a9fd1b_3012x1822.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:881,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:858539,&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://applied.gamesystem.design/i/187375976?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1be85b-d30a-4cea-90c7-f4de49a9fd1b_3012x1822.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_!P2Fp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1be85b-d30a-4cea-90c7-f4de49a9fd1b_3012x1822.png 424w, https://substackcdn.com/image/fetch/$s_!P2Fp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1be85b-d30a-4cea-90c7-f4de49a9fd1b_3012x1822.png 848w, https://substackcdn.com/image/fetch/$s_!P2Fp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1be85b-d30a-4cea-90c7-f4de49a9fd1b_3012x1822.png 1272w, https://substackcdn.com/image/fetch/$s_!P2Fp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa1be85b-d30a-4cea-90c7-f4de49a9fd1b_3012x1822.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">Proxy Design UI.</figcaption></figure></div><p><strong>Proxy Design module </strong>runs 5 major mathematical models designed to simulate player behavior based on either hypotheses or insights derived from analysis of real player data:</p><ol><li><p><strong>Churn Rule</strong> (how close a player is to abandoning the level)</p></li><li><p><strong>Fail Rule</strong> (how close a player is to failing a level)</p></li><li><p><strong>Pack Rules</strong> (when a player tends to make an IAP or watch a rewarded video)</p></li><li><p><strong>Consumption Rules</strong> (e.g. when a player tends to use a booster)</p></li><li><p><strong>Exchange Rules</strong> (e.g. when a player tends to exchange coins for a booster)</p></li></ol><p>These models are game-specific and therefore require separate modeling for each game. In either case, it grounds abstract ideas so the models can be easily improved or completely changed, while also creating coherence between them.</p><p>Apart from regular math expressions, supporting custom expressions also increases the depth of the proxy models. Here are some examples:</p><ol><li><p><strong>stsigmoid (stochastic sigmoid)</strong></p></li></ol><p>An s&#8209;shaped decision curve that blends a base chance with a ratio and adds mild randomness.</p><pre><code>e.g. More booster uses barely reduce failure at first, then sharply improve success after a threshold, before the effect stabilizes.</code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fFVS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f25d53-1bb6-440e-b758-6eecfdb7eaca_1495x827.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fFVS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f25d53-1bb6-440e-b758-6eecfdb7eaca_1495x827.png 424w, https://substackcdn.com/image/fetch/$s_!fFVS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f25d53-1bb6-440e-b758-6eecfdb7eaca_1495x827.png 848w, https://substackcdn.com/image/fetch/$s_!fFVS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f25d53-1bb6-440e-b758-6eecfdb7eaca_1495x827.png 1272w, https://substackcdn.com/image/fetch/$s_!fFVS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f25d53-1bb6-440e-b758-6eecfdb7eaca_1495x827.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fFVS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f25d53-1bb6-440e-b758-6eecfdb7eaca_1495x827.png" width="400" height="221.15384615384616" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58f25d53-1bb6-440e-b758-6eecfdb7eaca_1495x827.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:805,&quot;width&quot;:1456,&quot;resizeWidth&quot;:400,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!fFVS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f25d53-1bb6-440e-b758-6eecfdb7eaca_1495x827.png 424w, https://substackcdn.com/image/fetch/$s_!fFVS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f25d53-1bb6-440e-b758-6eecfdb7eaca_1495x827.png 848w, https://substackcdn.com/image/fetch/$s_!fFVS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f25d53-1bb6-440e-b758-6eecfdb7eaca_1495x827.png 1272w, https://substackcdn.com/image/fetch/$s_!fFVS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f25d53-1bb6-440e-b758-6eecfdb7eaca_1495x827.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ol start="2"><li><p><strong>stgauss_score (stochastic gauss score)</strong></p></li></ol><p>A bell&#8209;shaped score centered at a target value that falls off with distance from the target and adds mild randomness.</p><pre><code>e.g. At a given level, as difficulty rises, the IAP probability climbs up to a peak, then declines beyond that point.</code></pre><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V4wN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7ed74f-760c-441b-a23b-a9f952440de4_1490x827.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V4wN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7ed74f-760c-441b-a23b-a9f952440de4_1490x827.png 424w, https://substackcdn.com/image/fetch/$s_!V4wN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7ed74f-760c-441b-a23b-a9f952440de4_1490x827.png 848w, https://substackcdn.com/image/fetch/$s_!V4wN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7ed74f-760c-441b-a23b-a9f952440de4_1490x827.png 1272w, https://substackcdn.com/image/fetch/$s_!V4wN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7ed74f-760c-441b-a23b-a9f952440de4_1490x827.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V4wN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7ed74f-760c-441b-a23b-a9f952440de4_1490x827.png" width="399" height="221.42307692307693" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df7ed74f-760c-441b-a23b-a9f952440de4_1490x827.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:808,&quot;width&quot;:1456,&quot;resizeWidth&quot;:399,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!V4wN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7ed74f-760c-441b-a23b-a9f952440de4_1490x827.png 424w, https://substackcdn.com/image/fetch/$s_!V4wN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7ed74f-760c-441b-a23b-a9f952440de4_1490x827.png 848w, https://substackcdn.com/image/fetch/$s_!V4wN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7ed74f-760c-441b-a23b-a9f952440de4_1490x827.png 1272w, https://substackcdn.com/image/fetch/$s_!V4wN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf7ed74f-760c-441b-a23b-a9f952440de4_1490x827.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ol start="3"><li><p><strong>ema (exponential moving average)</strong></p></li></ol><p>A moving average that weights recent values more heavily while still smoothing the overall trend.</p><pre><code>e.g. Churn from difficulty may not be just about one level as players react to recent difficulty trends, so using an <strong>ema </strong>helps capture that behavior.</code></pre><ol start="4"><li><p><strong>mmin, mmax (moving minimum and maximum)</strong></p></li></ol><p>The lowest and highest values seen over the last n points in a series.</p><ol start="5"><li><p><strong>ref (reference value)</strong></p></li></ol><p>The value of a variable from player data for comparison inside a formula.</p><ol start="6"><li><p><strong>exchange</strong></p></li></ol><p>It converts a value into a target unit using the configured unit equivalences.</p><div><hr></div><p>And that&#8217;s it!</p><p>Although this is a much broader topic than what can be fully covered in a single blog post, I tried to explain the key concepts as clearly as I could.</p><p>Thinking in systems can be demanding, but it is crucial for understanding how decision mechanisms evolve through cause and effect, not only in game systems but in everything we touch in life.</p><p>It was a pleasure to write this post, and I hope you enjoyed reading it as well.</p><p>See you in the next one!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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[Balancing Level Difficulty in Hybrid-Casual Puzzles using ML and System Modeling]]></title><description><![CDATA[How can we predict the win rate of a level using machine learning on a dataset prepared with simulated player behavior?]]></description><link>https://applied.gamesystem.design/p/balancing-level-difficulty-in-hybrid-casual-puzzles</link><guid isPermaLink="false">https://applied.gamesystem.design/p/balancing-level-difficulty-in-hybrid-casual-puzzles</guid><dc:creator><![CDATA[Burak Ökten]]></dc:creator><pubDate>Wed, 16 Jul 2025 07:08:10 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/89922541-262a-4dea-846e-99906a540edb_1200x864.png" 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_!cipE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cc878d-675d-472c-82c9-7a7cd27aa6d0_1200x864.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cipE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cc878d-675d-472c-82c9-7a7cd27aa6d0_1200x864.png 424w, https://substackcdn.com/image/fetch/$s_!cipE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cc878d-675d-472c-82c9-7a7cd27aa6d0_1200x864.png 848w, https://substackcdn.com/image/fetch/$s_!cipE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cc878d-675d-472c-82c9-7a7cd27aa6d0_1200x864.png 1272w, https://substackcdn.com/image/fetch/$s_!cipE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cc878d-675d-472c-82c9-7a7cd27aa6d0_1200x864.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cipE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cc878d-675d-472c-82c9-7a7cd27aa6d0_1200x864.png" width="1200" height="864" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e8cc878d-675d-472c-82c9-7a7cd27aa6d0_1200x864.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:864,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:191779,&quot;alt&quot;:&quot;// todo: alt text&quot;,&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://applied.gamesystem.design/i/167117062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cc878d-675d-472c-82c9-7a7cd27aa6d0_1200x864.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="// todo: alt text" title="// todo: alt text" srcset="https://substackcdn.com/image/fetch/$s_!cipE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cc878d-675d-472c-82c9-7a7cd27aa6d0_1200x864.png 424w, https://substackcdn.com/image/fetch/$s_!cipE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cc878d-675d-472c-82c9-7a7cd27aa6d0_1200x864.png 848w, https://substackcdn.com/image/fetch/$s_!cipE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cc878d-675d-472c-82c9-7a7cd27aa6d0_1200x864.png 1272w, https://substackcdn.com/image/fetch/$s_!cipE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8cc878d-675d-472c-82c9-7a7cd27aa6d0_1200x864.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">Stick Jam is a puzzle prototype developed for this article.</figcaption></figure></div><p>It&#8217;s been a few months since I last published a new article. But here we are! This topic has been on my mind for a long time, and I finally had time to share some important concepts with you. I believe you&#8217;ll find it useful!</p><p>Hybrid-casual puzzles are rising stars, and the trend seems to continue increasing steadily. In this blog post, we&#8217;ll explore a slot-limited puzzle game to model a system that controls level difficulty, and finally, we&#8217;ll create a machine learning model to predict the win rate of levels based on a given configuration.</p><p>Before we move on, here is <strong>Stick Jam, </strong>a prototype I prepared for this article:</p><div id="youtube2-nKTN0TBFklI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;nKTN0TBFklI&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/nKTN0TBFklI?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>I inspired by Voodoo&#8217;s <a href="https://apps.apple.com/us/app/slinky-jam/id6478165948">Slinky Jam</a> to prototype Stick Jam. You can watch the video below to get an idea of its gameplay:</p><div id="youtube2-s5tj7aL8v7w" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;s5tj7aL8v7w&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/s5tj7aL8v7w?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>We will discuss 5 major topics throughout the article:</p><ol><li><p>Game elements and rules, discussed in <em><strong>Introduction</strong></em> section.</p></li><li><p>Theoretical background of system design in Stick Jam, discussed in <em><strong>Understanding Variable Relationships</strong></em> section.</p></li><li><p>Controlling level difficulty, discussed in <em><strong>Difficulty Adjustment Algorithm</strong></em> section.</p></li><li><p>Modeling player behavior and simulation setup, discussed in <em><strong>Simulation Design</strong></em> section.</p></li><li><p>Win rate prediction for levels, discussed in <em><strong>Predicting Outputs</strong> <strong>with Machine Learning</strong></em> section.</p></li></ol><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><h2>Introduction</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zulQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ae6daf-9280-4464-9a19-c1eb823a7195_1352x2402.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zulQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ae6daf-9280-4464-9a19-c1eb823a7195_1352x2402.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zulQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ae6daf-9280-4464-9a19-c1eb823a7195_1352x2402.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zulQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ae6daf-9280-4464-9a19-c1eb823a7195_1352x2402.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zulQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ae6daf-9280-4464-9a19-c1eb823a7195_1352x2402.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zulQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ae6daf-9280-4464-9a19-c1eb823a7195_1352x2402.jpeg" width="360" height="639.5857988165681" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95ae6daf-9280-4464-9a19-c1eb823a7195_1352x2402.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2402,&quot;width&quot;:1352,&quot;resizeWidth&quot;:360,&quot;bytes&quot;:282798,&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://applied.gamesystem.design/i/167117062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ae6daf-9280-4464-9a19-c1eb823a7195_1352x2402.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_!zulQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ae6daf-9280-4464-9a19-c1eb823a7195_1352x2402.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zulQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ae6daf-9280-4464-9a19-c1eb823a7195_1352x2402.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zulQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ae6daf-9280-4464-9a19-c1eb823a7195_1352x2402.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zulQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ae6daf-9280-4464-9a19-c1eb823a7195_1352x2402.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">Stick Jam game elements.</figcaption></figure></div><p>Stick Jam consists of 2 main parts that players interact with:</p><ol><li><p>There is an NxM board with sticks on it. The minimum board size is 3x3 and the maximum is 8x8, although there is no theoretical upper limit.</p></li><li><p>There are 2x7 slots. The bottom row is for placing stick colors collected from the board, and the top row is for extra slots. When the &#8220;Extra Slot&#8221; booster is used, the rightmost color in the bottom row moves to the top row. I also decided to limit the number of extra slots, even though it&#8217;s not strictly necessary.</p></li></ol><p>Players try to collect all sticks by checking for color matches on the slots. When 3 of the same color are placed in the bottom slots, they form a match and are removed. If the bottom slots become completely full without any match, the level fails. If players collect all sticks without letting the bottom row fill up, the level is completed.</p><p>Levels are generated dynamically based on a difficulty configuration, which we will discuss in the next sections. Therefore, no players encounter the same color sequence.</p><h3>Special Sticks</h3><ol><li><p>Double-colored stick: It represents 2 sticks at once, so when collected, it occupies 2 slots.</p></li><li><p>Multi-stick: It has a counter that shows how many sticks must be collected before it is completely removed from the board.</p></li></ol><p>Double-colored sticks tend to make the level finish faster, but also increase the failure probability. They require careful placement, otherwise, it&#8217;s easy to end up in a state where only one slot is available but all collectible sticks are double-colored.</p><p>Multi-sticks, on the other hand, introduce a bit of chance by hiding the next color, which can make players feel either lucky or frustrated.</p><div><hr></div><h2>Understanding Variable Relationships</h2><p>Designing a system starts with understanding the internal role of each variable added to it. Then it continues with identifying relationships between variables, observing how they affect system behavior, what hidden features they reveal, and how they respond when a new variable is introduced. These relationships may stem from mathematical dependencies as well as algorithmic constraints. In our case, we&#8217;ll see that both aspects must be considered, and each contributes to data-driven level design.</p><p>Level difficulty directly depends on how we control the frequency of color-matching in the slots. If the system arranges colors in a way that requires more than the available slots, we call it a &#8220;hard level&#8221;, otherwise, it's an &#8220;easy level&#8221;. The transition between difficulty levels is gradual and controllable. This transition is also the key to dynamic difficulty adjustment.</p><p>Before diving into the algorithm, let&#8217;s start by exploring each variable and their theoretical relationships to define the system&#8217;s limitations:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;N_s \\geq 2N_c + 1&quot;,&quot;id&quot;:&quot;MJMVFOQXCO&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>N_s</em> is the number of slots and <em>N_c</em> is the number of unique colors. This inequality guarantees a solution for the worst-case scenario, which is when there is only one stick to choose from each time after players remove a stick from the board.</p><p>If the number of slots is 7, then a solution is guaranteed for up to 3 unique colors in the worst case.</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\frac{N_s}{N_{st}} \\geq 1&quot;,&quot;id&quot;:&quot;BFQBMRXGBS&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>N_st</em> is the target number of slots used in the color path generation algorithm. This inequality basically states that a solution is always guaranteed when the condition is met. We will discuss how it works when we model the algorithm in the next section.</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\begin{align*}\n&amp;\\frac{N_{\\text{stick}}}{3} >=N_{c}\\\\\n&amp;N_{\\text{stick}} \\bmod 3 = 0\n\\end{align*}&quot;,&quot;id&quot;:&quot;CYFBJSWTDL&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>N_stick</em> is the number of sticks in a level. It must be a multiple of 3, and the number of unique colors cannot exceed the dividing the number of sticks by 3.</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;N_{stick,a,avg} = \\frac{\\sum_{i=0}^{M} N_{stick,a,i}}{M}&quot;,&quot;id&quot;:&quot;KZHGNUCFAU&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>N_stick,a,avg</em> is the average number of available (ready to collect) sticks from the beginning to the end of the level after each stick is collected. <em>M</em> is the number of moves needed to solve the level. It is equal to <em>N_stick</em>.</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;N_{stick,a,avg}\\geq 2N_c + 1&quot;,&quot;id&quot;:&quot;RGLATJETFC&quot;}" data-component-name="LatexBlockToDOM"></div><p>Increasing the average number of available sticks gives players more options to choose from and makes the level easier.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><h2>Difficulty Adjustment Algorithm</h2><h3>1. Introduction</h3><p>We discussed game elements and variable relationships up to this point. I strongly recommend reading the previous section before diving into this one. Now, it&#8217;s time to bring everything together to create a difficulty algorithm controllable by a few parameters.</p><p>First, we should define which variables we can directly change, what output we should expect, and how we can measure it. Measurement is very important, otherwise system design cannot reach its full potential. Even worse, it may turn into a useless model that wastes your precious time.</p><p>When we look from the player&#8217;s perspective, if any visible layer of sticks shares the same colors, it means it&#8217;s easier to select sticks for color-matching. If these sticks don&#8217;t share many colors, it forces players to think strategically before removing a stick from the board. Thus, the controlled output should be the stick colors based on the layer they are standing on.</p><p>An important point I want to highlight is that we should expect different outputs for different inputs within the same level. This means that stick placement or distribution in a level doesn&#8217;t directly affect the output. In the next sections, we&#8217;ll see that it affects how we perceive difficulty across levels.</p><p>Now, the question is which variables can control the output? If it were possible to change the number of slots dynamically for each level, it could be useful. However, this also has high potential to be very annoying for players. Instead, we can control its counterpart. By adjusting the target number of slots instead of the actual number, we can take advantage of slot-dependent control without modifying the real slot count. When the target slot count is less than the actual slots, the level tends to be easier. If it's greater, the level becomes harder and sometimes it becomes even impossible to solve. I&#8217;ll show how this works in this section, so keep reading!</p><p>The other variable we can directly control is the number of unique colors. Levels with too few colors would be very boring and lack visual variety. However, randomly distributing colors could naturally lead to quick failure. We will use unique colors and target slots in a way that allows more colors for easier levels and fewer colors for harder ones. This is the level of flexibility we aim to achieve.</p><p>You will observe how variables can change the difficulty of the same level in the following videos:</p><div id="youtube2-1dgf7DIFh0I" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;1dgf7DIFh0I&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/1dgf7DIFh0I?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>This level is generated with 8 unique colors and only 4 target slots. It can be considered an easy level.</p><div id="youtube2-jMP3CMU5wN4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;jMP3CMU5wN4&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/jMP3CMU5wN4?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>Again, 8 unique colors. But this time, the target slots are 8. Can you tell the difference?</p><div id="youtube2-4S_Aid9XyNk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;4S_Aid9XyNk&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/4S_Aid9XyNk?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>Finally, 8 unique colors and the target slots are increased to 12. It&#8217;s basically a paywall level!</p><p>The beauty of this algorithm is that it still preserves randomness, so refreshing a level produces completely different color sequences while keeping the average difficulty the same.</p><p>It can also be applied to the special sticks defined earlier. Here is an example of a multi-stick level:</p><div id="youtube2-t4E9lxr4SHQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;t4E9lxr4SHQ&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/t4E9lxr4SHQ?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>This level has 7 unique colors with 7 target slots. Look how the upcoming colors help ease the slots!</p><h3>2. How It Works</h3><p>There are 3 major algorithms working together:</p><ol><li><p>Sorting sticks based on their parent counts.</p></li><li><p>Creating a color path based on the number of unique colors and the number of target slots.</p></li><li><p>Assigning colors to sticks.</p></li></ol><p>Sorting sticks is the easiest part. When a level is designed, the only requirement is to check which sticks are parents of which. A stick may have more than one parent, or it may have none. If it doesn&#8217;t have a parent, it means the stick is ready to be collected.</p><p>Color path generation is a bit tricky. Take a look at the following flowchart:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I0SO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad035dd5-0d3b-4687-9e96-b4a3ed10a1ff_2564x1644.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I0SO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad035dd5-0d3b-4687-9e96-b4a3ed10a1ff_2564x1644.jpeg 424w, https://substackcdn.com/image/fetch/$s_!I0SO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad035dd5-0d3b-4687-9e96-b4a3ed10a1ff_2564x1644.jpeg 848w, https://substackcdn.com/image/fetch/$s_!I0SO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad035dd5-0d3b-4687-9e96-b4a3ed10a1ff_2564x1644.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!I0SO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad035dd5-0d3b-4687-9e96-b4a3ed10a1ff_2564x1644.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I0SO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad035dd5-0d3b-4687-9e96-b4a3ed10a1ff_2564x1644.jpeg" width="1456" height="934" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad035dd5-0d3b-4687-9e96-b4a3ed10a1ff_2564x1644.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:934,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:332421,&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://applied.gamesystem.design/i/167117062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad035dd5-0d3b-4687-9e96-b4a3ed10a1ff_2564x1644.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_!I0SO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad035dd5-0d3b-4687-9e96-b4a3ed10a1ff_2564x1644.jpeg 424w, https://substackcdn.com/image/fetch/$s_!I0SO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad035dd5-0d3b-4687-9e96-b4a3ed10a1ff_2564x1644.jpeg 848w, https://substackcdn.com/image/fetch/$s_!I0SO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad035dd5-0d3b-4687-9e96-b4a3ed10a1ff_2564x1644.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!I0SO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad035dd5-0d3b-4687-9e96-b4a3ed10a1ff_2564x1644.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">Color path generation algorithm.</figcaption></figure></div><p>The goal of this algorithm is to create color matches before the theoretical slots are completely filled. It guarantees at least one way to remove sticks from the board, as expected. We&#8217;ll look at how it&#8217;s affected by the average number of collectible sticks in the next sections. You can also check the <em>Understanding Variable Relationships</em> section for a discussion of the theoretical background.</p><p>Here are some examples of generated color paths with different configurations. Each number represents a unique color id:</p><ul><li><p>Generated color path for 7 target slots and 10 unique colors:</p><ul><li><p>7, 0, 5, 2, 9, 5, 5, 3, 9, 9, 6, 6, 6, 1, 7, 7, 8, 8, 8, 4, 0, 0, 1, 3, 1, 2, 4, 4, 3, 2, 8, 2, 6, 4, 0, 4, 4, 3, 2, 2, 9, 0, 0, 5, 8, 8, 7, 6, 6, 1, 1, 1, 7, 9, 9, 3, 5, 7, 3, 5</p></li></ul></li><li><p>Generated color path for 12 target slots and 10 unique colors:</p><ul><li><p>6, 5, 2, 9, 4, 0, 3, 1, 7, 8, 9, 9, 1, 2, 2, 8, 5, 1, 3, 4, 5, 7, 6, 3, 0, 4, 0, 8, 6, 7, 3, 2, 6, 4, 7, 5, 1, 8, 9, 0, 5, 5, 1, 6, 6, 9, 3, 1, 2, 7, 9, 0, 8, 3, 4, 7, 0, 2, 8, 4</p></li></ul></li></ul><p>As seen in the generated paths, the algorithm tries to keep the number of slots at the target count and creates color matches just before it becomes completely full.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Awzl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F881de20c-b16a-4dbc-8df7-46f6efbb2ea3_1284x482.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Awzl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F881de20c-b16a-4dbc-8df7-46f6efbb2ea3_1284x482.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Awzl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F881de20c-b16a-4dbc-8df7-46f6efbb2ea3_1284x482.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Awzl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F881de20c-b16a-4dbc-8df7-46f6efbb2ea3_1284x482.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Awzl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F881de20c-b16a-4dbc-8df7-46f6efbb2ea3_1284x482.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Awzl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F881de20c-b16a-4dbc-8df7-46f6efbb2ea3_1284x482.jpeg" width="1284" height="482" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/881de20c-b16a-4dbc-8df7-46f6efbb2ea3_1284x482.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:482,&quot;width&quot;:1284,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:68703,&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://applied.gamesystem.design/i/167117062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F881de20c-b16a-4dbc-8df7-46f6efbb2ea3_1284x482.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_!Awzl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F881de20c-b16a-4dbc-8df7-46f6efbb2ea3_1284x482.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Awzl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F881de20c-b16a-4dbc-8df7-46f6efbb2ea3_1284x482.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Awzl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F881de20c-b16a-4dbc-8df7-46f6efbb2ea3_1284x482.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Awzl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F881de20c-b16a-4dbc-8df7-46f6efbb2ea3_1284x482.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">Stick coloring algorithm.</figcaption></figure></div><p>Finally, we should assign the generated colors to sticks by considering the number of parents in ascending order. After this step, the level is ready to play!</p><p>These algorithms can also be applied to dynamically control level difficulty. Assume that players continue to fail a level. It&#8217;s now possible to decrease the difficulty automatically after N attempts, based on your data and what you consider the sweet spot.</p><p>Although I didn&#8217;t introduce a flexibility variable, it&#8217;s also possible to control randomness with such an addition. However, that would be too much for this article, and it&#8217;s always better to model your system step by step. After each step, observe the real-world behavior and then calibrate the parameters.</p><div><hr></div><h2>Simulation Design</h2><p>Without testing the algorithm in real-world, it&#8217;s not really possible to predict the results accurately. Unlike what we expect theoretically, systems may behave differently when deployed in a real environment. On the other hand, testing with real players is often costly, especially in terms of time. An alternative approach is to simulate the real environment with a proper setup. Although it&#8217;s not a 100% replacement for real-world testing, it provides valuable insights into how solid your system is and can serve as a reference point for adjusting configurations before real tests.</p><p>I decided to use simulations to generate a batch of data, as shown in the table below. Here is the configuration used:</p><ul><li><p>Number of levels: 17 (with various number of sticks)</p></li><li><p>Target slots: 4 to 12</p></li><li><p>Unique colors: 3 to 12</p></li><li><p>Simulated players per level: 1000</p></li></ul><p>Collected data:</p><ul><li><p>Average number of collectible sticks</p></li><li><p>Win rate</p></li><li><p>Total 1449 rows</p></li></ul><p>Note that when the number of sticks cannot support enough unique colors for the given configurations, as discussed in the <em>Understanding Variable Relationships</em> section, those setups are skipped.</p><p>None of the simulated players are allowed to try a level more than once. Thus, I didn&#8217;t focus on the number of attempts, but rather on the win rate. However, it&#8217;s possible to calculate the average attempts per virtual player by dividing one by the win rate.</p><p>The table below shows 10 rows of randomly selected data from the dataset:</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/IHk13/4/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3df1048-8b6b-4068-a223-4a0d22d7fc9c_1260x660.png&quot;,&quot;thumbnail_url_full&quot;:&quot;&quot;,&quot;height&quot;:490,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/IHk13/4/" width="730" height="490" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h3>Modelling Player Behavior</h3><p>Designing a solution checker algorithm is a good approach if you want to ensure that a level has a solution. However, it lacks two important things. First, it doesn&#8217;t tell us how players perceive the level's difficulty. Second, it&#8217;s not applicable when we intentionally introduce unsolvable levels (e.g. when we expect players to use boosters earned through gameplay). So, what should we do? The best approach is to model player behavior by thinking like a player. Put yourself in the player&#8217;s position and try to understand: How would you play? How would you try to solve the level without using boosters? And finally, what limitations would you have as a player? A solver algorithm can try multiple paths to find a solution or the best one, but a player doesn&#8217;t have that luxury.</p><p>In our case, let&#8217;s look at how a player might play and what limitations they face:</p><ul><li><p>They must follow the gameplay rules. There are no exceptions.</p></li><li><p>They can decide which sticks to remove from the board based on visible sticks. They cannot predict the color of hidden or upcoming multi-sticks.</p></li><li><p>They can also decide which sticks to remove based on the state of the slots. They may consider whether there is a color match, whether a slot is almost full, or whether it is empty.</p></li><li><p>They can combine these observations to choose the best stick to remove.</p></li><li><p>Even if they construct a strategy, they cannot keep all game states in mind, unlike a solver that traces every possible path. Instead, they have limited ability to track possible moves, and this is the core of the player model.</p></li></ul><p>Consider the following flowchart of the player 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_!Pz-b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8b58b9b-6a6a-40c3-83a3-1018656a241d_1444x1482.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Pz-b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8b58b9b-6a6a-40c3-83a3-1018656a241d_1444x1482.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Pz-b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8b58b9b-6a6a-40c3-83a3-1018656a241d_1444x1482.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Pz-b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8b58b9b-6a6a-40c3-83a3-1018656a241d_1444x1482.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Pz-b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8b58b9b-6a6a-40c3-83a3-1018656a241d_1444x1482.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Pz-b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8b58b9b-6a6a-40c3-83a3-1018656a241d_1444x1482.jpeg" width="1444" height="1482" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8b58b9b-6a6a-40c3-83a3-1018656a241d_1444x1482.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1482,&quot;width&quot;:1444,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:578464,&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://applied.gamesystem.design/i/167117062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8b58b9b-6a6a-40c3-83a3-1018656a241d_1444x1482.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_!Pz-b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8b58b9b-6a6a-40c3-83a3-1018656a241d_1444x1482.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Pz-b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8b58b9b-6a6a-40c3-83a3-1018656a241d_1444x1482.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Pz-b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8b58b9b-6a6a-40c3-83a3-1018656a241d_1444x1482.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Pz-b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8b58b9b-6a6a-40c3-83a3-1018656a241d_1444x1482.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">Player model.</figcaption></figure></div><p>As a reference, I designed and played many levels, observed how I reacted while collecting sticks, and took notes. Since it&#8217;s not the main focus of the article, I won&#8217;t go into every detail of how it works. However, as shown in the flowchart, it uses a type of weight-based algorithm to decide which stick to collect. This allows the algorithm to behave more like a real player rather than a solver.</p><div><hr></div><h2>Predicting Outputs with Machine Learning</h2><p>As we discussed earlier, the whole point of the simulation was to create a dataset for the machine learning model. Our goal in this section is to find a model that fits the dataset and makes sufficiently accurate predictions for win rate. This will then help us predict the win rate before we even begin designing a level.</p><p>It is indisputable that if we had real player data, it wouldn&#8217;t result in a dataset this clean. What we would normally expect is noisy data with various disturbances, such as failures caused by bugs, incorrect or missing analytic events, targeting the wrong audience, and so on. However, since we are using simulation results, we assume the dataset contains no noise other than the natural variation in simulation outcomes. I tried to minimize this by increasing the number of simulated players to 1000, but it cannot be completely eliminated.</p><p>As the ML model, I chose Gradient Boosting for win rate prediction. The selected features were <em>N_st, N_c, N_stick,a,avg,</em> and <em>N_stick.</em> During cross-validation on the training data, the average R&#178; score was 0.938 with a standard deviation of 0.011, and the RMSE was 0.098. On the test set, these values were 0.952 for R&#178; and 0.086 for RMSE. I also tested different hyperparameter configurations to avoid overfitting as much as possible. The model appears to explain 93.8% of the variance in win rate with the given feature set, and its performance was even better on the test data. The higher R&#178; score on the test set is noteworthy, as this may be due to the simplicity of the data structure or the effect of chance. When tested with real-world data, this outcome may very well reverse. Feature contributions were 46.8%, 21.1%, 19.5%, and 12.6% for <em>N_c, N_st, N_stick,a,avg,</em> and <em>N_stick,</em> respectively. Keep in mind that while the results are promising for this article, larger datasets and further tuning are needed in real-world scenarios for better predictions.</p><p>Let&#8217;s continue with the predictions. Since it&#8217;s not possible to include every combination here, I decided to choose a few configurations that make sense to examine.</p><p><strong>Configuration 1:</strong></p><ul><li><p><em>N_s</em> = 7</p></li><li><p><em>N_stick,a,avg</em> = 4</p></li><li><p><em>N_stick</em> = 42</p></li></ul><p>Result:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1gDG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c1d9ab-40cb-4ca6-b42e-5270a75e4420_2059x1256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1gDG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c1d9ab-40cb-4ca6-b42e-5270a75e4420_2059x1256.png 424w, https://substackcdn.com/image/fetch/$s_!1gDG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c1d9ab-40cb-4ca6-b42e-5270a75e4420_2059x1256.png 848w, https://substackcdn.com/image/fetch/$s_!1gDG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c1d9ab-40cb-4ca6-b42e-5270a75e4420_2059x1256.png 1272w, https://substackcdn.com/image/fetch/$s_!1gDG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c1d9ab-40cb-4ca6-b42e-5270a75e4420_2059x1256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1gDG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c1d9ab-40cb-4ca6-b42e-5270a75e4420_2059x1256.png" width="1456" height="888" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48c1d9ab-40cb-4ca6-b42e-5270a75e4420_2059x1256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:888,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:350633,&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://applied.gamesystem.design/i/167117062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c1d9ab-40cb-4ca6-b42e-5270a75e4420_2059x1256.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_!1gDG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c1d9ab-40cb-4ca6-b42e-5270a75e4420_2059x1256.png 424w, https://substackcdn.com/image/fetch/$s_!1gDG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c1d9ab-40cb-4ca6-b42e-5270a75e4420_2059x1256.png 848w, https://substackcdn.com/image/fetch/$s_!1gDG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c1d9ab-40cb-4ca6-b42e-5270a75e4420_2059x1256.png 1272w, https://substackcdn.com/image/fetch/$s_!1gDG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c1d9ab-40cb-4ca6-b42e-5270a75e4420_2059x1256.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">ML predictions - how win rate changes with the number of unique colors.</figcaption></figure></div><p>In the chart above, <em>N_stick,a,avg, N_stick,</em> and <em>N_s</em> are held constant, while <em>N_c</em> and <em>N_st</em> vary. As expected, when the number of unique colors is 3, the outcome becomes completely independent of the target slots. This theoretically ensures a 100% win rate, as discussed in the <em>Understanding Variable Relationships</em> section.</p><p>As the number of unique colors increases, the win rate decreases. However, maintaining a higher number of target slots slows down this decline. For example, when the number of unique colors is 10, the win rate with 5 target slots is nearly four times of the lowest value.</p><p>It&#8217;s also interesting to observe that continuously increasing the number of target slots eventually stops making a difference. This is expected, because when the target slot count is lower than the actual number of slots, the solution becomes more obvious (and the level easier). But as we keep increasing the target slot count, the added difficulty loses meaning, as players tend to fail faster.</p><p>Another notable point is that the win rate is predicted to be very high for all target slot values until the number of unique colors reaches 6. I assume the average number of collectible sticks helps balance the negative impact of increment in the target slots. However, this would need further testing with new levels to confirm.</p><p><strong>Configuration 2:</strong></p><ul><li><p><em>N_st</em> = 7</p></li><li><p><em>N_s</em> = 7</p></li><li><p><em>N_stick</em> = 42</p></li></ul><p>Result:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bIcv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1deecf07-7730-4ac9-9524-53d789dc1758_2059x1256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bIcv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1deecf07-7730-4ac9-9524-53d789dc1758_2059x1256.png 424w, https://substackcdn.com/image/fetch/$s_!bIcv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1deecf07-7730-4ac9-9524-53d789dc1758_2059x1256.png 848w, https://substackcdn.com/image/fetch/$s_!bIcv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1deecf07-7730-4ac9-9524-53d789dc1758_2059x1256.png 1272w, https://substackcdn.com/image/fetch/$s_!bIcv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1deecf07-7730-4ac9-9524-53d789dc1758_2059x1256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bIcv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1deecf07-7730-4ac9-9524-53d789dc1758_2059x1256.png" width="1456" height="888" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1deecf07-7730-4ac9-9524-53d789dc1758_2059x1256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:888,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:326403,&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://applied.gamesystem.design/i/167117062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1deecf07-7730-4ac9-9524-53d789dc1758_2059x1256.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_!bIcv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1deecf07-7730-4ac9-9524-53d789dc1758_2059x1256.png 424w, https://substackcdn.com/image/fetch/$s_!bIcv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1deecf07-7730-4ac9-9524-53d789dc1758_2059x1256.png 848w, https://substackcdn.com/image/fetch/$s_!bIcv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1deecf07-7730-4ac9-9524-53d789dc1758_2059x1256.png 1272w, https://substackcdn.com/image/fetch/$s_!bIcv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1deecf07-7730-4ac9-9524-53d789dc1758_2059x1256.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">ML predictions - how win rate changes with the average number of available sticks.</figcaption></figure></div><p>In this second chart, we observe how the average number of collectible sticks affects the win rate for different numbers of unique colors. <em>N_st, N_s,</em> and <em>N_stick</em> are held constant. The first observation is that increasing the number of collectible sticks initially causes a sharp drop in the win rate.</p><p>The reason is that when the average number of collectible sticks is 1, there is only one possible move at a time. This removes the influence of player decision-making. However, when there are two or more options, the number of unique colors starts to heavily impact the outcome.</p><p>As we continue to increase the average number of collectible sticks, we also see a rise in win rate. This aligns with the theoretical expectation that getting closer to 2*<em>N_c</em>+1 improves win probability. This effect is especially noticeable when the number of unique colors is low.</p><p>On the other hand, the model seems unable to accurately capture win rate when the average is 1, as the theoretical expectation is 100% in that case.</p><div><hr></div><p>As we observed, level design cannot be considered independent from system design. Relying solely on randomness turns the game into a black box. That&#8217;s why measurement is like a two-sided coin: one side is modeling level configurations and building a controllable difficulty system, and the other is collecting analytical data. Combining both allows you to make better predictions and more importantly, understand which variables affect player engagement. I would also recommend reading my other blog post <em><a href="https://applied.gamesystem.design/p/designing-tripeaks-solitaire-levels">Designing Tripeaks Solitaire Levels with Predictable Outcomes</a></em> which covers a similar topic.</p><p>This was my third article, and I really enjoyed preparing it. I hope you liked it too.</p><p>See you next time!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div>]]></content:encoded></item><item><title><![CDATA[Designing Tripeaks Solitaire Levels with Predictable Outcomes]]></title><description><![CDATA[Can theoretical approaches provide enough insights into how difficult a level is?]]></description><link>https://applied.gamesystem.design/p/designing-tripeaks-solitaire-levels</link><guid isPermaLink="false">https://applied.gamesystem.design/p/designing-tripeaks-solitaire-levels</guid><dc:creator><![CDATA[Burak Ökten]]></dc:creator><pubDate>Thu, 13 Mar 2025 13:01:09 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ddaf8f8b-b5ad-438f-833a-21e976be01c9_1069x779.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_!0ckI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca83726-a979-4d0f-8f6b-ef695565e4b8_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0ckI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca83726-a979-4d0f-8f6b-ef695565e4b8_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!0ckI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca83726-a979-4d0f-8f6b-ef695565e4b8_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!0ckI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca83726-a979-4d0f-8f6b-ef695565e4b8_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!0ckI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca83726-a979-4d0f-8f6b-ef695565e4b8_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0ckI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca83726-a979-4d0f-8f6b-ef695565e4b8_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ca83726-a979-4d0f-8f6b-ef695565e4b8_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;:154317,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca83726-a979-4d0f-8f6b-ef695565e4b8_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_!0ckI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca83726-a979-4d0f-8f6b-ef695565e4b8_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!0ckI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca83726-a979-4d0f-8f6b-ef695565e4b8_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!0ckI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca83726-a979-4d0f-8f6b-ef695565e4b8_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!0ckI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ca83726-a979-4d0f-8f6b-ef695565e4b8_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><figcaption class="image-caption">A level sample generated based on the concepts described in the article.</figcaption></figure></div><p>In this article, you will discover why we need and how we can design a properly constructed level generation algorithm, supported by theoretical calculations and compared with Monte Carlo simulations.</p><p>What you won&#8217;t find is a complete procedural level generation system, as I don&#8217;t show how to generate level layouts. That can be the subject of another post.</p><p>Keep in mind that without the involvement of a level designer, levels would be completely soulless. Therefore, the system I describe in the post is not a replacement for a designer, but a supportive tool for them.</p><p>I selected tripeaks solitaire for this post, as it is a trending genre for a while. Although this is a highly technical article, I did my best to smooth out the sections and add gameplay videos as much as possible.</p><p>There are 4 main topics throughout the article:</p><ol><li><p>Basics of casual Tripeaks Solitaire, discussed in the <em>Introduction </em>section.</p></li><li><p>Theoretical aspects, discussed in the <em>Key Considerations</em> section.</p></li><li><p>How to generate ranks, discussed in the <em>Auto-Rank Generation Algorithm</em> section.</p></li><li><p>Player model, simulations and their results, discussed in the <em>Monte Carlo Simulations</em> section.</p></li></ol><p>Additionally, I specifically added a simple obstacle mechanic to show how it can affect the gameplay, as well as the effect of the average number of open cards, which is also an important concept in level design.</p><p>In the upcoming articles, I will also discuss live event modeling and how to create a balanced game economy around it. So I would recommend subscribing if you haven&#8217;t already.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><h2>Introduction</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!61ez!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c6fc77-afc7-48d5-8dd1-d7bb45fefcaa_1598x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!61ez!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c6fc77-afc7-48d5-8dd1-d7bb45fefcaa_1598x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!61ez!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c6fc77-afc7-48d5-8dd1-d7bb45fefcaa_1598x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!61ez!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c6fc77-afc7-48d5-8dd1-d7bb45fefcaa_1598x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!61ez!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c6fc77-afc7-48d5-8dd1-d7bb45fefcaa_1598x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!61ez!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c6fc77-afc7-48d5-8dd1-d7bb45fefcaa_1598x900.jpeg" width="1456" height="820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66c6fc77-afc7-48d5-8dd1-d7bb45fefcaa_1598x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:486311,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c6fc77-afc7-48d5-8dd1-d7bb45fefcaa_1598x900.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_!61ez!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c6fc77-afc7-48d5-8dd1-d7bb45fefcaa_1598x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!61ez!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c6fc77-afc7-48d5-8dd1-d7bb45fefcaa_1598x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!61ez!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c6fc77-afc7-48d5-8dd1-d7bb45fefcaa_1598x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!61ez!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c6fc77-afc7-48d5-8dd1-d7bb45fefcaa_1598x900.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">A casual tripeaks solitaire level with a hold slot mechanic introduced by King.</figcaption></figure></div><p>Before exploring the auto-level generation concepts, it is good practice to review the game elements. Although I covered a broader version in the <em><a href="https://okten.substack.com/p/candy-crush-solitaire-deconstruction">Candy Crush Solitaire Deconstruction and Experimenting with Auto-Level Generation</a></em> article, we will specifically focus on the parts relevant to this article.</p><p>In a casual tripeaks solitaire game, the goal is generally to clear the entire board (tableau) of cards, unless the objective is to collect specific items, create desired streaks or achieve a predefined score etc. Players try to match the top waste pile card with board cards that are either one rank lower or one rank higher. Card ranks are cyclic, meaning the first and last values are also considered neighbors. Although a standard deck consists of 52 cards and 4 suits (hearts, diamonds, clubs, and spades), it is not mandatory to stick to these numbers. Card generation can be handled dynamically based on the situation.</p><p>The board consists of open (playable) and hidden cards, as well as obstacles that prevent cards from being revealed. The stockpile (deck) is used when the top card of the waste pile does not match any of the board cards. The hold slot is a unique mechanic introduced in <em>Candy Crush Solitaire</em>, however, I included it because it is a cool feature. Players can set aside the first card from the waste pile into the hold slot to create more consecutive matches. It is completely optional to use.</p><h2>Key Considerations</h2><p>In this section, I will cover some important concepts. If you have read the auto-level generation section of the <em><a href="https://okten.substack.com/p/candy-crush-solitaire-deconstruction">Candy Crush Solitaire Deconstruction and Experimenting with Auto-Level Generation</a></em> article before, you may skip some parts. However, I recommend reading all of them, as they provide deeper explanations of the auto-level generation approach and how I evolved the system.</p><h3>1. Group-Based Randomization</h3><p>Unlike a pure probabilistic approach, constrained randomization guarantees that an event will occur within a given closed space while keeping the occurrences random within the given space boundaries.</p><p>Assume you have 10 cards, each with a 10% chance of being a matching card. In a non-deterministic approach, there is no guarantee that you will find a match even if you draw all the cards, nor is there a guarantee that you will have only one match. On the other hand, constrained randomization ensures that exactly one card will be a match while keeping its position random.</p><p>In the <em><a href="https://okten.substack.com/p/candy-crush-solitaire-deconstruction">previous article</a>,</em> I showed that we can manage the number of matches between board cards by using constrained randomization to create consecutive chains. For example, we can set up a configuration consisting of 5 cards, where only 2 matches will occur. In this scenario, the following possibilities become available (M: matching card, U: unmatching card and 2 matching cards create 1 match):</p><ul><li><p>[M-M U M-M] e.g. [2, 3, 5, 6, 7] and total matches = 2</p></li><li><p>[M-M-M-M U] or [U M-M-M-M] e.g. [2, 3, 4, 5, 7] and total matches = 2</p></li></ul><p>The problem is that even though the total number of matches seems equivalent, the longest consecutive matches in the second group are three times those in the first one. Moreover, we cannot guarantee the longest or shortest chains we desire. So, how can we solve this?</p><p>The solution comes directly from the group itself. Instead of preparing a configuration with 5 cards in a group and 2 matches, we can represent it with 3 different blocks, in total, with 2 matches, and this can be in any form:</p><ul><li><p>[M-M] [U] [M-M]</p></li><li><p>[U] [M-M] [M-M]</p></li><li><p>[M-M] [M-M] [U]</p></li></ul><p>The biggest difference is that any two blocks must now have ranks that do not match anymore:</p><ul><li><p>&#9989; [2, 3], [10], [5, 6] &#8594; none of the groups are matching with each other.</p></li><li><p>&#10060; [2, 3], [10], [4, 5] &#8594; first and last groups form a consecutive match.</p></li></ul><p>Then, we shuffle the groups. This way, the result remains randomized, but with more control over the outcome. We will dive into the details of the algorithm in the later sections. However, if you want to see how it works visually, watch the video below.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;22c4cfd5-3eed-419a-9617-e5feb344b428&quot;,&quot;duration&quot;:null}"></div><p>3 repeating groups are defined with sizes 3, 2 and 1 respectively. I didn't apply the shuffling so you can track the cards based on their groups:</p><ul><li><p>START &#8594; [A, 2, 3], [8, 9]</p></li><li><p>[A, 2, 3], [8, 9] &#8594; [A, 2, 3], [6]</p></li><li><p>[A, 2, 3], [6] &#8594; [6], [J, Q, J], [4, 3], [8]</p></li><li><p>[6], [J, Q, J], [4, 3], [8] &#8594; [6], [J, Q, J], [4, 3]</p></li><li><p>[6], [J, Q, J], [4, 3] &#8594; [J, Q, J], [4, 3], [8 _ _]</p></li><li><p>[J, Q, J], [4, 3], [8 _ _] &#8594; [J, Q, J], [8 _ _]</p></li><li><p>[J, Q, J], [8 _ _] &#8594; [8 9 8]</p></li><li><p>[8 9 8] &#8594; [2, 3]</p></li><li><p>[2, 3] &#8594; END</p></li></ul><h3>2. Variety of Card Ranks</h3><p>How many unique card ranks can be visible at the same time in a level? How can we manage the difficulty of the level without compromising the fun factor? One of the key considerations we should have an eye on is the use of card rank variety in the algorithm, without alienating player engagement.</p><p>When the number of unique cards increases:</p><ol><li><p>It creates a dynamic level from the player's perspective, as it provides more possible and random ways to complete the level.</p></li><li><p>It becomes harder to manage the level difficulty, because undesired matching conditions become unavoidable with increasing number of open cards.</p></li></ol><p>Look at the following examples. They represent the open cards for 2 different levels. Although the number of required stockpile cards is the same for both in the best case scenario, which one do you think seems more attractive in the overall picture?</p><ul><li><p>[7, 8, 9, 10, J, Q]</p></li><li><p>[7, 8, 7, 8, 7, 8]</p></li></ul><p>My approach is to minimize the duplication of ranks for any state of the level without sacrificing the level configurations that we will discuss later. Keep in mind that we cannot make all the cards unique, as it would completely eliminate the chance factor. In fact, as we will discuss later, the algorithm will never try to keep all the cards unique.</p><p>Any level designer should be informed in real-time by the level tool while designing the level, so they can achieve the desired outcome without spending too much time on trial and error. We all know that it is unavoidable to test the levels before launching them, because we have to ensure how the level feels. However, it is always beneficial to speed up the level design process with automated tools, as we are currently starting to discuss.</p><p>Let&#8217;s start with calculating average unique cards we can have </p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;N_{\\text{avg unique cards}} = \\frac{12}{N_{\\text{ visible groups}}} - 1&quot;,&quot;id&quot;:&quot;UELMFTEQNJ&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>N_avg_unique_cards</em> is the average number of unique cards a group can have and <em>N_groups</em> is the number of groups decided at the beginning. The number 12 comes from subtracting 1 from the total number of unique cards, which is 13 (from A to K).</p><p>Let's assume there are, on average, 6 cards open on the board in any state and 3 groups with sizes 2, 1, and 3, respectively. Based on the equation, <em>N_avg_unique_cards</em> becomes 3. This means that, on average, we are allowed to use 3 unique cards per group without breaking the group sizes.</p><p>In order to keep it simple, let&#8217;s start from A and increase the rank to fill the groups:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;[A, 2],[4],[6,7,8]&quot;,&quot;id&quot;:&quot;EVTGQZERSC&quot;}" data-component-name="LatexBlockToDOM"></div><p>If a new card is revealed after each card is collected from the board, and we also continue to collect all group cards in an ideal scenario:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\begin{align*}\n\\text{A is collected} &amp;\\quad | \\quad [2], [4], [6,7,8]  \\\\ \n\\text{New group with size 2, 10 is revealed} &amp;\\quad | \\quad\n[2], [4], [6,7,8], [10] \\\\ \n\\text{2 is collected} &amp;\\quad | \\quad [4], [6,7,8], [10] \\\\ \n\\text{J is revealed} &amp;\\quad | \\quad [4],[6,7,8],[10,J]\\\\ \n\\text{4 is collected} &amp;\\quad | \\quad [6,7,8], [10,J] \\\\ \n\\text{New group with size 1, K is revealed...}\n\\end{align*}\n&quot;,&quot;id&quot;:&quot;EJYQJIPAFW&quot;}" data-component-name="LatexBlockToDOM"></div><p>Although I keep it simple in this example, the total number of group sizes is not necessarily equal to the number of average open cards.</p><p>Let's look at another example. This time, there are 4 groups with sizes 3, 2, 3, and 4. Again, assume that the number of open cards in any state is equal to the total group sizes. Based on this new configuration, we calculate <em>N_avg_unique_cards </em>as 2.</p><p>Initially, we can have a card set like this:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;[A,2,A],[4,5],[7,8,7],[10,J,10,J]&quot;,&quot;id&quot;:&quot;PXLRCAZYMG&quot;}" data-component-name="LatexBlockToDOM"></div><p>If you didn't notice, the system tries to form the given number of groups without creating any consecutive matches between them, even if there are 12 cards open on average.</p><p>For any group, the minimum number of unique cards can be described as:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;N_{\\text{min unique cards}} = \n\\begin{cases} \n1 &amp; \\text{if } N_{\\text{group size}} = 1 \\\\\n2 &amp; \\text{if } N_{\\text{group size}} > 1 \n\\end{cases}\n&quot;,&quot;id&quot;:&quot;EKYQUPLBJS&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>N_group_size</em> is the number of cards per group. Because we know the number of board (tableau) cards and groups through level design, we can calculate the average group size:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;N_{\\text{avg group size}} = \\frac{N_{\\text{board}}}{N_{\\text{groups}}}&quot;,&quot;id&quot;:&quot;IVMYXZBABO&quot;}" data-component-name="LatexBlockToDOM"></div><p>At this point, it is also possible to calculate the average number of groups that become visible based on the average number of open cards. For example, even if 10 groups are defined at the beginning, only 3 groups may be visible at any given state:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;N_{\\text{avg groups}} = \\frac{N_{\\text{avg open cards}}}{N_{\\text{avg group size}}}\n&quot;,&quot;id&quot;:&quot;ZJXODJYYNI&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>N_avg_groups </em>is the average number of visible groups, <em>N_avg_open_cards </em>is the average number of open cards at any state, and <em>N_avg_group_size </em>is the average number of cards per group.</p><p>We will use these equations in the next sections to calculate required amount of stockpile for any configuration.</p><h3>3. Effect of the Hold Slot Use</h3><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;09b63d17-aec6-417b-824f-14d25129b6bd&quot;,&quot;duration&quot;:null}"></div><p>Decreasing the number of unique cards per group increases the use of hold slots due to the increasing number of duplicate cards:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;N_{\\text{unique cards}} \\downarrow \\quad N_{\\text{hold slot use}} \\uparrow\n&quot;,&quot;id&quot;:&quot;IDFCOCGLCD&quot;}" data-component-name="LatexBlockToDOM"></div><p>There are 2 ways to use the hold slot:</p><ol><li><p>Any 2 groups can be connected by a missing number that creates a consecutive sequence.</p></li><li><p>Duplicate cards in a group can be collected for groups with a size greater than 2.</p></li></ol><p>Then, equation becomes:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;N_{\\text{max hold slot use}} = \\left( \\frac{N_{\\text{groups}} - 1 + \\sum_{i} \\left( 1 \\text{ if } N_{\\text{group size},i} > 2 \\text{ else } 0 \\right)}{2} \\right) \\times p_{\\text{hold slot use}}\n\n\n&quot;,&quot;id&quot;:&quot;ZVASCSLBKY&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>N_avg_hold_slot_use </em>is the maximum number of possible hold slot uses and <em>p_hold_slot_use </em>is the probability of hold slot use for a player. The reason we divided it into 2 is that we cannot use the hold slot for both conditions at the same time.</p><h3>4. Stockpile Requirement</h3><p>Another important variable that level designers should be aware of is the number of stockpile uses required. An increased requirement for stockpile use is generally related to level difficulty and provides insights to the level designer.</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;N_{\\text{min stockpile use}} = \\frac{N_{\\text{groups}}}{p_{\\text{stockpile}}} - N_{\\text{max hold slot use}}\n&quot;,&quot;id&quot;:&quot;MSYKPEOLSW&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>p_stockpile </em>is the probability of matching cards coming from the stockpile.</p><p>It is also possible to calculate the max expected stockpile use:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;N_{\\text{max stockpile use}} = \\frac{\\sum_{i} \\left\\lceil \\frac{N_{\\text{group size},i}}{2} \\right\\rceil}{p_{\\text{stockpile}}}\n&quot;,&quot;id&quot;:&quot;DGNIVVAJDX&quot;}" data-component-name="LatexBlockToDOM"></div><h3>5. Consecutiveness</h3><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;e8f6caaf-553a-453d-a046-96ee65d64f72&quot;,&quot;duration&quot;:null}"></div><p>Consecutiveness is a measure of consecutive matches on the board in a row. If you watch the video, you will see that there are 17 matches on the board (excluding the first collected card), and its consecutiveness is 1 since we can collect all at once.</p><p>We can calculate the consecutiveness as a configuration variable:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;c_{\\text{config}} = \\frac{\\sum_{i} \\left( \\ N_{\\text{group size},i} -1 \\right)}{N_{\\text{board}}-1}&quot;,&quot;id&quot;:&quot;TWAYSJBHJP&quot;}" data-component-name="LatexBlockToDOM"></div><p>and we can also use the following formula to compare simulation results:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;c_{\\text{sim}} = \\frac{N_{\\text{board}} - (N_{\\text{groups}} + N_{\\text{hold slot use}})}{N_{\\text{board}} - 1}&quot;,&quot;id&quot;:&quot;KWOGGKXBYL&quot;}" data-component-name="LatexBlockToDOM"></div><p>It is also possible to measure the effect of the hold slot use after the simulation is completed:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;c_{\\text{sim, hold slot}} = \\frac{\\sum_{i} \\left( N_{\\text{group size (result)},i} -1 \\right)}{N_{\\text{board}}-1}\n\n&quot;,&quot;id&quot;:&quot;HPNRYLQZTL&quot;}" data-component-name="LatexBlockToDOM"></div><p>Keep in mind that when I use consecutiveness as a configuration variable, the availability of hold slot use isn't considered, as its effect can only be measured after its use. We will compare <em>c_sim, c_sim_hold_slot </em>and <em>c_config </em>in the <em>Monte Carlo Simulations</em> section.</p><p>Another related measurement is the average number of <em>consecutive matches.</em> Different from consecutiveness, we can define consecutive matches based on the number of cards matched in a row, except the first card. Its calculation, on the other hand, cannot be easily made by a simple approximation due to its recursive nature. Consider the following example:</p><ul><li><p>Open Cards: [1, 2, 3]</p></li><li><p>The waste pile card should match with either 1, 2, or 3.</p></li><li><p> There are 2 ways to have 3 consecutive matches in a group:</p><ul><li><p>1 &#8594; 2 &#8594; 3, no card left</p></li><li><p>3 &#8594; 2 &#8594; 1, no card left</p></li></ul></li><li><p>There are 2 ways to have a 2 consecutive matches in a group:</p><ul><li><p>2 &#8594; 3, 1 left</p></li><li><p>2 &#8594; 1, 3 left</p></li></ul></li><li><p>There are 2 ways to have a 1 card in a group, if the previous chain has 2 cards.</p></li><li><p>Probabilities: 67% 3 consecutive matches, 33% 2 consecutive matches and 33% 1 match only. Keep in mind that P(1 match | 2 matches) is 33%, so if you want to calculate the overall probability, you should sum the probabilities of 3 and 2 consecutive matches, which equals 100% as expected.</p></li></ul><p>What if we have more than 3 open cards? This will lead to multiple branching possibilities each time the player chooses a path. I handled it with a recursive algorithm, and I discussed the results in the Monte Carlo Simulations section.</p><h3>6. Effect of Obstacles</h3><p>Obstacles are not only meant to keep players engaged with new content, but they are also crucial in level design when you want to create specific paths for booster use, as well as to balance the level difficulty. They are vital for monetization and can be very powerful when used effectively. However, it can also easily become a nightmare for level designers if the possible outcomes cannot be foreseen during the level design, such as whether a solution is available or the potential ways the level could be failed related to obstacle placement.</p><h4>Brick Wall Obstacle</h4><p>Specific to this article, I created a <em>brick wall obstacle</em> that requires players to completely break it in order to open the card behind it. When the player collects a card, all brick wall obstacles in the front line take damage. A total of 3 damage is needed to break it completely.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wczF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc912cc19-6cdc-4e9f-ad10-bb6698e5156d_1383x423.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wczF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc912cc19-6cdc-4e9f-ad10-bb6698e5156d_1383x423.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wczF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc912cc19-6cdc-4e9f-ad10-bb6698e5156d_1383x423.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wczF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc912cc19-6cdc-4e9f-ad10-bb6698e5156d_1383x423.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wczF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc912cc19-6cdc-4e9f-ad10-bb6698e5156d_1383x423.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wczF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc912cc19-6cdc-4e9f-ad10-bb6698e5156d_1383x423.jpeg" width="1383" height="423" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c912cc19-6cdc-4e9f-ad10-bb6698e5156d_1383x423.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:423,&quot;width&quot;:1383,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83603,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc912cc19-6cdc-4e9f-ad10-bb6698e5156d_1383x423.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_!wczF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc912cc19-6cdc-4e9f-ad10-bb6698e5156d_1383x423.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wczF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc912cc19-6cdc-4e9f-ad10-bb6698e5156d_1383x423.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wczF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc912cc19-6cdc-4e9f-ad10-bb6698e5156d_1383x423.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wczF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc912cc19-6cdc-4e9f-ad10-bb6698e5156d_1383x423.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">Brick wall obstacle.</figcaption></figure></div><p>Normally, it is expected to flip the card behind immediately when it is no longer blocked by a wall piece. However, I avoided adding such additional details to focus on the main goal of this article. Therefore, if you notice in the videos that a card is not flipped even though the wall piece is removed in front of it, this is the reason.</p><p>You can watch the video below to see how it works. We will also discuss its effects in the simulations later.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;eba3fd3b-34cf-491c-b7a0-d7b63f3c7bb9&quot;,&quot;duration&quot;:null}"></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><h2>Auto-Rank Generation Algorithm</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dtlb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc4566a2-7fb9-45cc-b55c-89223e4d7427_1322x1162.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dtlb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc4566a2-7fb9-45cc-b55c-89223e4d7427_1322x1162.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dtlb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc4566a2-7fb9-45cc-b55c-89223e4d7427_1322x1162.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dtlb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc4566a2-7fb9-45cc-b55c-89223e4d7427_1322x1162.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dtlb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc4566a2-7fb9-45cc-b55c-89223e4d7427_1322x1162.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dtlb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc4566a2-7fb9-45cc-b55c-89223e4d7427_1322x1162.jpeg" width="1322" height="1162" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc4566a2-7fb9-45cc-b55c-89223e4d7427_1322x1162.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1162,&quot;width&quot;:1322,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134259,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc4566a2-7fb9-45cc-b55c-89223e4d7427_1322x1162.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_!dtlb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc4566a2-7fb9-45cc-b55c-89223e4d7427_1322x1162.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dtlb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc4566a2-7fb9-45cc-b55c-89223e4d7427_1322x1162.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dtlb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc4566a2-7fb9-45cc-b55c-89223e4d7427_1322x1162.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dtlb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc4566a2-7fb9-45cc-b55c-89223e4d7427_1322x1162.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">A simplified flowchart of the real-time rank generation algorithm.</figcaption></figure></div><p>Although the rank generation algorithm itself is easy to follow, as shown in the flowchart, the tricky part arises when a new group is created. The challenge is to find a random non-matching rank while ensuring that its neighbors also have the potential to avoid matching with other existing groups. There are several possible approaches, including ignoring future groups' rank intersections. However, my approach is to find the farthest non-matching numbers in a cyclic group (since A and K are also neighbors), so that it can maximize the separation between existing and upcoming groups. For example:</p><ul><li><p>[A, K, Q, J, 10, 9] is current group on the board.</p></li><li><p>Available non-matching ranks are 3, 4, 5, 6, and 7. Normally, we could randomly select any of these values for the new group.</p></li><li><p>5, on the other hand, is the farthest rank, so the algorithm chooses it.</p></li></ul><p>At some point, however, assigning a random rank may become unavoidable and it directly affects the consistency between theoretical and real results. This is why the number of cards, obstacle placements, average number of open cards, number of groups, and group sizes become very significant.</p><h2>Monte-Carlo Simulations</h2><p>Monte Carlo simulation is a very useful technique when you need to observe a system's behavior with given initial parameters. You can either run it with a mathematical model or a computational model.</p><p>Simulations help create solid hypotheses that provide a basis for a better-structured A/B test, rather than trial and error, which causes the loss of money and most importantly, time.</p><p>A tripeaks solitaire game, in our case, requires a computational model to imitate the game so that we can create scenarios close enough to real-life situations. As you read, we have already discussed the theoretical facets of the system, and in this section, we will test them against the simulation results.</p><p>There are 4 main parts in the simulation system:</p><ol><li><p>Core system, which includes all group-based randomization and related algorithms.</p></li><li><p>Game system, which includes everything about the game logic that imitates tripeaks solitaire.</p></li><li><p>Player model, which emulates player behavior based on a given decision-making logic.</p></li><li><p>Simulation environment, which connects all modules to run the simulation.</p></li></ol><p>I used Python for the simulation and Unity for level design. The core system is also implemented in Unity to record the gameplay videos shown throughout this article.</p><p>These initial parameters are given to run the simulation:</p><ul><li><p>Level configuration: they are generated from Unity.</p></li><li><p>Number of players.</p></li><li><p>Max iteration per player: we don&#8217;t want players try to complete the game forever if they somehow stuck.</p></li><li><p>Groups, as we discussed in <em>Group-Based Randomization</em> section.</p></li><li><p>Shuffle groups.</p></li><li><p>Stockpile matching probability parameters, based on constrained randomization.</p></li><li><p>Hold slot use probability.</p></li><li><p>Consecutiveness (calculated only for the probabilistic card generator model): This parameter represents the probability of generating a matching card between board cards. For example, if it is 1.0, it means that each next card will have a match with an open card on the board. Its value is calculated as shown in the <em>Consecutiveness </em>section.</p></li></ul><p>Level configurations, groups, hold slot use probability, and consecutiveness change with different experiments. The number of players, max iterations per player, shuffle groups and stockpile matching probability are the same for all simulations. Their values are 1000, 1000, True and 1, respectively. Stockpile matching probability is always set to 1 to remove its effect on the number of stockpile cards drawn per player. Groups are always shuffled for each player to ensure that different players encounter different variations of the same level as much as possible. </p><h3>1. Player Algorithm</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Plc9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd05b06b8-9ab7-4bfc-8fe5-50f5f19a3797_1600x1006.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Plc9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd05b06b8-9ab7-4bfc-8fe5-50f5f19a3797_1600x1006.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Plc9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd05b06b8-9ab7-4bfc-8fe5-50f5f19a3797_1600x1006.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Plc9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd05b06b8-9ab7-4bfc-8fe5-50f5f19a3797_1600x1006.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Plc9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd05b06b8-9ab7-4bfc-8fe5-50f5f19a3797_1600x1006.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Plc9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd05b06b8-9ab7-4bfc-8fe5-50f5f19a3797_1600x1006.jpeg" width="1456" height="915" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d05b06b8-9ab7-4bfc-8fe5-50f5f19a3797_1600x1006.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:915,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:488438,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd05b06b8-9ab7-4bfc-8fe5-50f5f19a3797_1600x1006.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_!Plc9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd05b06b8-9ab7-4bfc-8fe5-50f5f19a3797_1600x1006.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Plc9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd05b06b8-9ab7-4bfc-8fe5-50f5f19a3797_1600x1006.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Plc9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd05b06b8-9ab7-4bfc-8fe5-50f5f19a3797_1600x1006.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Plc9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd05b06b8-9ab7-4bfc-8fe5-50f5f19a3797_1600x1006.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">Player model.</figcaption></figure></div><p>As shown in the flowchart, players are not trying to find the best path, instead, they are playing randomly, in a way that makes sense from a logical perspective. Hold slot use depends on the probability, <em>p_hold_slot,</em> given in the configuration<em>.</em></p><h3>2. Simulation Results</h3><p>In this section, you will find the initial configurations, simulation results, comparisons with theoretical calculations, and gameplay records of the levels simulated.</p><h4>Simulation 1: Comparison with the Probabilistic Card Generator Model</h4><p>So, you may think that what&#8217;s the point of creating a structured system while we can just use a purely probabilistic method while generating the ranks. Why do we need to invest time, when it is nearly as easy as writing, &#8220;I want the matching probability of the next opened board card to be 50% with another board card&#8221;?</p><p>Look at the videos below. The first one is completely based on a probabilistic model:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;9f2daf27-a73a-4f07-88cf-76fb5ce90998&quot;,&quot;duration&quot;:null}"></div><p>And the one below is the structured one that we discussed:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;b78952b2-dbae-47ee-be8a-28afba1f39f8&quot;,&quot;duration&quot;:null}"></div><p>Did you notice any difference? It's hard to tell, except that I clearly drew 2 more cards in the group-based model. This is the main reason why so many of us don&#8217;t care too much about how the model will affect the result: because, obviously, we can&#8217;t just tell by playing it ourselves, and this can end with a very unpleasant result.</p><p>Let's first look at the configurations:</p><ol><li><p>Level configuration: layout is as shown in the video. 24 cards in total.</p></li><li><p>Groups: 4 repeating groups with sizes: 6, 3, 2 and 1, which include both long and short group sizes. 6 is selected for the longest group to avoid exceeding the total number of unique cards (13 in total, from A to K) because these groups are repeating, and 2 groups of size 6 make a total of 12 cards. The total sizes of the other groups are also selected as 3, 2, and 1 for the same reason, and their total again equals 6. The total size of the first and second groups becomes 9, which is the max number of open cards that can be visible by design.</p></li><li><p>Hold slot use probability: 0.</p></li><li><p>Consecutiveness: 0.7 (calculated, only for probabilistic model).</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tk79!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5222812-312d-4633-924a-a53320efc47c_1966x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tk79!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5222812-312d-4633-924a-a53320efc47c_1966x1038.png 424w, https://substackcdn.com/image/fetch/$s_!tk79!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5222812-312d-4633-924a-a53320efc47c_1966x1038.png 848w, https://substackcdn.com/image/fetch/$s_!tk79!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5222812-312d-4633-924a-a53320efc47c_1966x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!tk79!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5222812-312d-4633-924a-a53320efc47c_1966x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tk79!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5222812-312d-4633-924a-a53320efc47c_1966x1038.png" width="1456" height="769" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5222812-312d-4633-924a-a53320efc47c_1966x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:769,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:128991,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5222812-312d-4633-924a-a53320efc47c_1966x1038.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_!tk79!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5222812-312d-4633-924a-a53320efc47c_1966x1038.png 424w, https://substackcdn.com/image/fetch/$s_!tk79!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5222812-312d-4633-924a-a53320efc47c_1966x1038.png 848w, https://substackcdn.com/image/fetch/$s_!tk79!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5222812-312d-4633-924a-a53320efc47c_1966x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!tk79!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5222812-312d-4633-924a-a53320efc47c_1966x1038.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">Sim 1 result: Longest chain comparison of probabilistic and group-based models.</figcaption></figure></div><p>The longest chain is the maximum consecutive matches made by a player until the level is completed. As shown in the chart above, 77% of the players gather around 6 in the group-based model, if we allow a &#177;1 tolerance in length and this value is 54% for the probabilistic model. While only 7% of the players in the group-based model exceed 7, this is 38% for the probabilistic model. So, if you design a level expecting most players to collect a max of 6 cards in a row, think twice if you are using the probabilistic model!</p><p>The theoretical average consecutive matches value is calculated as 1.1, while it results in 1.5 for the group-based model and 2.0 for the probabilistic 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_!JE_2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc40343-7109-4aa3-8dcf-a7374bbf3646_1966x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JE_2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc40343-7109-4aa3-8dcf-a7374bbf3646_1966x1038.png 424w, https://substackcdn.com/image/fetch/$s_!JE_2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc40343-7109-4aa3-8dcf-a7374bbf3646_1966x1038.png 848w, https://substackcdn.com/image/fetch/$s_!JE_2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc40343-7109-4aa3-8dcf-a7374bbf3646_1966x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!JE_2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc40343-7109-4aa3-8dcf-a7374bbf3646_1966x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JE_2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc40343-7109-4aa3-8dcf-a7374bbf3646_1966x1038.png" width="1456" height="769" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dbc40343-7109-4aa3-8dcf-a7374bbf3646_1966x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:769,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:147271,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc40343-7109-4aa3-8dcf-a7374bbf3646_1966x1038.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_!JE_2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc40343-7109-4aa3-8dcf-a7374bbf3646_1966x1038.png 424w, https://substackcdn.com/image/fetch/$s_!JE_2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc40343-7109-4aa3-8dcf-a7374bbf3646_1966x1038.png 848w, https://substackcdn.com/image/fetch/$s_!JE_2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc40343-7109-4aa3-8dcf-a7374bbf3646_1966x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!JE_2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbc40343-7109-4aa3-8dcf-a7374bbf3646_1966x1038.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">Sim 1 result: Stockpile use comparison of probabilistic and group-based models.</figcaption></figure></div><p>The number of cards drawn from the stockpile is the core of level monetization, and it is normally one of the easiest configurations you can adjust. If you know your level needs 10 cards to solve, you may start the level with 9 cards, giving you a chance to encourage players to spend currency for extra cards. If you want a real example, read the sections starting with <em>Data Collection Methodology</em> of the <em><a href="https://okten.substack.com/p/candy-crush-solitaire-deconstruction">Candy Crush Solitaire Deconstruction and Experimenting with Auto-Level Generation</a></em> article.</p><p>Look at the stockpile use comparison chart. Theoretical min and max values are calculated as 8 and 14, respectively. Therefore, if you are designing a level, you should expect most players to spend within this range. 96% of players in the group-based model fall within this range, while 69% of players in the probabilistic model do. However, this isn&#8217;t the worst part: 30% of players in the probabilistic model don't even need to spend the theoretical min amount of stockpile cards, while it is only 3% for the group-based model. Do you really want to give up 30% of the players? They won&#8217;t even need to use any boosters!</p><p>I assume that we&#8217;ve agreed on why a structured model is better than a purely probabilistic model. Now, we can start exploring the behavior of the group-based model with different configurations.</p><h4>Simulation 2: Long Groups</h4><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;55d78a30-f7ce-4d9f-891e-9ee9ac4831b2&quot;,&quot;duration&quot;:null}"></div><p>Long groups are generally the safest when generating ranks when they used with other long groups, because it is possible to duplicate numbers to avoid intersecting with other groups. We will examine this scenario in this simulation.</p><ol><li><p>Level configuration: layout is as shown in the video. 24 cards in total.</p></li><li><p>Groups: 3 repeating groups with sizes of 8.</p></li><li><p>Hold slot use probability: 0.5 for hold slot use on.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BBxG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba07a96e-9c35-43e1-a6e9-909cca0c78d9_1966x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BBxG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba07a96e-9c35-43e1-a6e9-909cca0c78d9_1966x1038.png 424w, https://substackcdn.com/image/fetch/$s_!BBxG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba07a96e-9c35-43e1-a6e9-909cca0c78d9_1966x1038.png 848w, https://substackcdn.com/image/fetch/$s_!BBxG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba07a96e-9c35-43e1-a6e9-909cca0c78d9_1966x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!BBxG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba07a96e-9c35-43e1-a6e9-909cca0c78d9_1966x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BBxG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba07a96e-9c35-43e1-a6e9-909cca0c78d9_1966x1038.png" width="1456" height="769" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba07a96e-9c35-43e1-a6e9-909cca0c78d9_1966x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:769,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:133158,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba07a96e-9c35-43e1-a6e9-909cca0c78d9_1966x1038.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_!BBxG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba07a96e-9c35-43e1-a6e9-909cca0c78d9_1966x1038.png 424w, https://substackcdn.com/image/fetch/$s_!BBxG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba07a96e-9c35-43e1-a6e9-909cca0c78d9_1966x1038.png 848w, https://substackcdn.com/image/fetch/$s_!BBxG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba07a96e-9c35-43e1-a6e9-909cca0c78d9_1966x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!BBxG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba07a96e-9c35-43e1-a6e9-909cca0c78d9_1966x1038.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">Sim 2 result: Longest chain comparison of the long groups configuration.</figcaption></figure></div><p>I included hold slot use because I was very curious about how it would affect the result. When hold slot use is enabled, it is used an average of 2.7 times in this simulation.</p><p>If we again consider the longest group, which is 8, and also include 7 and 9 with a tolerance, 75% of the &#8220;hold slot use off&#8221; players gather around it, while this percentage is 82% for &#8220;hold slot use on&#8221; players. Nearly 25% of the &#8220;hold slot use off&#8221; players fall below 7, while this is only 5% for &#8220;hold slot use on&#8221; players.</p><p>The main reason is that when we increase the size of the group, the probability of having a matching waste card with a rank in the middle of the group increases, causing it to behave like 2 separate, neighboring groups. Hold slot use, on the other hand, unites these groups again.</p><p>We can look at the average consecutive matches to see the overall picture. It is calculated as 2.5 theoretically and results in 3 and 4.5 for the &#8220;hold slot use on&#8221; and &#8220;hold slot use off&#8221; scenarios, respectively.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9eCU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7166252-fe83-4b0a-b6c9-f61771c5914c_1966x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9eCU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7166252-fe83-4b0a-b6c9-f61771c5914c_1966x1038.png 424w, https://substackcdn.com/image/fetch/$s_!9eCU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7166252-fe83-4b0a-b6c9-f61771c5914c_1966x1038.png 848w, https://substackcdn.com/image/fetch/$s_!9eCU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7166252-fe83-4b0a-b6c9-f61771c5914c_1966x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!9eCU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7166252-fe83-4b0a-b6c9-f61771c5914c_1966x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9eCU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7166252-fe83-4b0a-b6c9-f61771c5914c_1966x1038.png" width="1456" height="769" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7166252-fe83-4b0a-b6c9-f61771c5914c_1966x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:769,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:131524,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7166252-fe83-4b0a-b6c9-f61771c5914c_1966x1038.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_!9eCU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7166252-fe83-4b0a-b6c9-f61771c5914c_1966x1038.png 424w, https://substackcdn.com/image/fetch/$s_!9eCU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7166252-fe83-4b0a-b6c9-f61771c5914c_1966x1038.png 848w, https://substackcdn.com/image/fetch/$s_!9eCU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7166252-fe83-4b0a-b6c9-f61771c5914c_1966x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!9eCU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7166252-fe83-4b0a-b6c9-f61771c5914c_1966x1038.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">Sim 2 result: Stockpile use comparison of the long groups configuration.</figcaption></figure></div><p>Theoretical stockpile use is calculated as min 3 and max 12 for &#8220;hold slot use off&#8220; and min 1.8 and max 12 for &#8220;hold slot use on&#8221;. Due to the increasing matching probability of middle cards, theoretical max tries to handle the worst case scenario, which is nearly not happening as in the chart.</p><p>Average stockpile use is 6.4 for &#8220;hold slot use off&#8220; while it is 4.7 for &#8220;hold slot use on&#8220;.</p><h4>Simulation 3: Short Groups</h4><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;dd80c1fe-fadd-4f2b-895c-27573d0e7960&quot;,&quot;duration&quot;:null}"></div><p>When we decrease the group size while also increasing the number of groups, it is possible to bump into the scenarios where avoiding intersections or neighbor ranks is impossible. In this simulation, we will test this.</p><ol><li><p>Level configuration: layout is as shown in the video. 24 cards in total.</p></li><li><p>Groups: 3 repeating groups with sizes of 4.</p></li><li><p>Hold slot use probability: 0.5 for hold slot use on.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fxr2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa067c5fd-3880-4684-874b-4282f09dfe12_1967x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fxr2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa067c5fd-3880-4684-874b-4282f09dfe12_1967x1038.png 424w, https://substackcdn.com/image/fetch/$s_!Fxr2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa067c5fd-3880-4684-874b-4282f09dfe12_1967x1038.png 848w, https://substackcdn.com/image/fetch/$s_!Fxr2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa067c5fd-3880-4684-874b-4282f09dfe12_1967x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!Fxr2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa067c5fd-3880-4684-874b-4282f09dfe12_1967x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fxr2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa067c5fd-3880-4684-874b-4282f09dfe12_1967x1038.png" width="1456" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a067c5fd-3880-4684-874b-4282f09dfe12_1967x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:187732,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa067c5fd-3880-4684-874b-4282f09dfe12_1967x1038.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_!Fxr2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa067c5fd-3880-4684-874b-4282f09dfe12_1967x1038.png 424w, https://substackcdn.com/image/fetch/$s_!Fxr2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa067c5fd-3880-4684-874b-4282f09dfe12_1967x1038.png 848w, https://substackcdn.com/image/fetch/$s_!Fxr2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa067c5fd-3880-4684-874b-4282f09dfe12_1967x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!Fxr2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa067c5fd-3880-4684-874b-4282f09dfe12_1967x1038.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">Sim 3 result: Longest chain comparison of the short groups configuration.</figcaption></figure></div><p>As seen in the chart, 86% of &#8220;hold slot use off&#8221; players reach a longest chain of 4, increasing to 96% when including a tolerance of &#177;1. For the &#8220;hold slot use on&#8221; players, these values are 44% and 53% respectively. We see a peak at 8, with nearly 25% of &#8220;hold slot use on&#8221; players, because it connects 2 groups.</p><p>The hold slot use average is again 2.7 as in the long group configuration.</p><p>Theoretical consecutive matches value is calculated 1.8, while simulation results are 1.9 and 2.6 for &#8220;hold slot use on&#8221; and &#8220;hold slot use off&#8221; cases, respectively.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sM0E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e9d0c09-2381-4a8f-ac32-8429f223351a_1967x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sM0E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e9d0c09-2381-4a8f-ac32-8429f223351a_1967x1038.png 424w, https://substackcdn.com/image/fetch/$s_!sM0E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e9d0c09-2381-4a8f-ac32-8429f223351a_1967x1038.png 848w, https://substackcdn.com/image/fetch/$s_!sM0E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e9d0c09-2381-4a8f-ac32-8429f223351a_1967x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!sM0E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e9d0c09-2381-4a8f-ac32-8429f223351a_1967x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sM0E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e9d0c09-2381-4a8f-ac32-8429f223351a_1967x1038.png" width="1456" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e9d0c09-2381-4a8f-ac32-8429f223351a_1967x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:161186,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e9d0c09-2381-4a8f-ac32-8429f223351a_1967x1038.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_!sM0E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e9d0c09-2381-4a8f-ac32-8429f223351a_1967x1038.png 424w, https://substackcdn.com/image/fetch/$s_!sM0E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e9d0c09-2381-4a8f-ac32-8429f223351a_1967x1038.png 848w, https://substackcdn.com/image/fetch/$s_!sM0E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e9d0c09-2381-4a8f-ac32-8429f223351a_1967x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!sM0E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e9d0c09-2381-4a8f-ac32-8429f223351a_1967x1038.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">Sim 3 result: Stockpile use comparison of the short groups configuration.</figcaption></figure></div><p>Theoretical min and max stockpile use values are 6 and 12, respectively, for the &#8220;hold slot use off&#8221; case, while it is 3.2 and 12 for &#8220;hold slot use on&#8221;. Average number of cards drawn drops from 8.5 to 6.9 when hold slot use is enabled.</p><p>When we consider all theoretical calculations, they seem to construct a solid base overall, providing enough insights to begin.</p><h4>Simulation 4: Effect of Obstacles</h4><p>As we discussed in the previous sections, obstacles can easily cause a level to fail, even if you think there is a solution. The best way to experiment with these cases is to use a simulation for testing.</p><p>Watch the following videos. A solution, most of the time, is possible:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;7b795c83-b0d7-4280-aea3-88d8c5a7c202&quot;,&quot;duration&quot;:null}"></div><p>However, the obstacle mechanic and its placement can lead to paths that are not possible to solve:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;5963cdaf-2778-41d8-b811-1b65676e38ad&quot;,&quot;duration&quot;:null}"></div><p>Regardless of whether you are designing the level with the intention of having several paths to fail states, which is expected (otherwise, we couldn&#8217;t challenge the players), we should know what percentage of players will face this situation. In this experiment, we will examine it.</p><ol><li><p>Level configuration: layout is as shown in the video. There are 24 cards with 5 brick wall obstacles.</p></li><li><p>Groups: 12 groups with sizes 4, 3, 2 and 1. There are 7 groups with size 2 and 3 groups with size 1.</p></li><li><p>Hold slot use probability: 0.</p></li></ol><p>Simulation results showed that 89% of the players completed the level successfully, while 11% failed. A hammer booster would be very useful for these failed players.</p><p>Theoretical consecutive matches value is calculated as 0.8, while the simulation result is 0.9. Theoretical min and max for stockpile use are calculated as 12 and 14, covering 77% of the successful players. There are 15% of players who draw less than 12 cards, which is a bit more than expected. The main reason is that theoretical calculations don&#8217;t account for obstacle use, and it would be good to consider the equations based on the introduced obstacle mechanics.</p><h4>Simulation 5: Effect of the Number of Open Cards</h4><p>In this section, we will discover how the average number of open cards affects consecutive matches and stockpile use.</p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fdba955d-415b-43fd-9cbf-210888c41874_1920x1080.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/274685cf-7dc5-400e-a4f5-46688d545f12_1920x1080.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/573bdaa1-91f1-4496-86f1-f1daf577c93a_1920x1080.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/309f025f-8b8f-4cee-86de-c239a1c6a5f5_1920x1080.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9066208f-0a41-4413-b06e-29c7fdc77604_1920x1080.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a25862a9-088b-4dd1-bdb5-d7a07b115fa9_1920x1080.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66197142-280d-414b-a449-a12c3fe6217f_1920x1080.png&quot;}],&quot;caption&quot;:&quot;Sim 5: Level layouts.&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a7f6dd3-dbd7-4b79-a900-38d2c6676790_1456x1946.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p>In total 7 card layouts tested with 3 different group configurations:</p><ul><li><p>Level configuration: 7 layouts as in the images below. It is assumed that &#8220;1, 2, 3, 4, 6, 8 and 12&#8221; cards are open on average for each layout.</p></li><li><p>Groups: Balanced (from simulation 1), Long (from simulation 2) and Short (from simulation 3).</p></li><li><p>Hold slot use probability: 0.</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_!UIHb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab7e8ff-d750-4f9a-9eb6-961a4e81ca39_1966x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UIHb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab7e8ff-d750-4f9a-9eb6-961a4e81ca39_1966x1038.png 424w, https://substackcdn.com/image/fetch/$s_!UIHb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab7e8ff-d750-4f9a-9eb6-961a4e81ca39_1966x1038.png 848w, https://substackcdn.com/image/fetch/$s_!UIHb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab7e8ff-d750-4f9a-9eb6-961a4e81ca39_1966x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!UIHb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab7e8ff-d750-4f9a-9eb6-961a4e81ca39_1966x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UIHb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab7e8ff-d750-4f9a-9eb6-961a4e81ca39_1966x1038.png" width="1456" height="769" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ab7e8ff-d750-4f9a-9eb6-961a4e81ca39_1966x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:769,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:117289,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab7e8ff-d750-4f9a-9eb6-961a4e81ca39_1966x1038.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_!UIHb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab7e8ff-d750-4f9a-9eb6-961a4e81ca39_1966x1038.png 424w, https://substackcdn.com/image/fetch/$s_!UIHb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab7e8ff-d750-4f9a-9eb6-961a4e81ca39_1966x1038.png 848w, https://substackcdn.com/image/fetch/$s_!UIHb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab7e8ff-d750-4f9a-9eb6-961a4e81ca39_1966x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!UIHb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab7e8ff-d750-4f9a-9eb6-961a4e81ca39_1966x1038.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">Sim 3 result: Consecutive matches comparison.</figcaption></figure></div><ol><li><p>Consecutive matches peak when there is only 1 card open, as expected, because the player has no choice other than collecting the only open card.</p></li><li><p>There is a decline when we start to increase the average number of open cards until 4, because the stockpile deck now has more choices to match with a card from the board, causing fragmentation of the groups.</p></li><li><p>After 6, we start to see an increment. The main reason is that random ranks start to rise, as it becomes unavoidable to find a rank that is not neighboring two different groups.</p></li><li><p>Long groups cannot maintain their group sizes when the number of open cards increase because of the fragmentation we discussed in the <em>Simulation 2: Long Groups</em> section.</p></li><li><p>Balanced groups performs well with minimal change. Consecutive match loss percentage based on the max value for each configuration in the worst case scenario:</p><ol><li><p>30% for balanced groups config.</p></li><li><p>59% for long groups config.</p></li><li><p>47% for short groups config.</p></li></ol></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l9vV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb66084e-f4cf-4f0b-a817-c1df07b9fddb_1966x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l9vV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb66084e-f4cf-4f0b-a817-c1df07b9fddb_1966x1038.png 424w, https://substackcdn.com/image/fetch/$s_!l9vV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb66084e-f4cf-4f0b-a817-c1df07b9fddb_1966x1038.png 848w, https://substackcdn.com/image/fetch/$s_!l9vV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb66084e-f4cf-4f0b-a817-c1df07b9fddb_1966x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!l9vV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb66084e-f4cf-4f0b-a817-c1df07b9fddb_1966x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l9vV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb66084e-f4cf-4f0b-a817-c1df07b9fddb_1966x1038.png" width="1456" height="769" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb66084e-f4cf-4f0b-a817-c1df07b9fddb_1966x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:769,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:115709,&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://okten.substack.com/i/157970691?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb66084e-f4cf-4f0b-a817-c1df07b9fddb_1966x1038.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_!l9vV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb66084e-f4cf-4f0b-a817-c1df07b9fddb_1966x1038.png 424w, https://substackcdn.com/image/fetch/$s_!l9vV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb66084e-f4cf-4f0b-a817-c1df07b9fddb_1966x1038.png 848w, https://substackcdn.com/image/fetch/$s_!l9vV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb66084e-f4cf-4f0b-a817-c1df07b9fddb_1966x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!l9vV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb66084e-f4cf-4f0b-a817-c1df07b9fddb_1966x1038.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">Sim 5 result: Stockpile use comparison.</figcaption></figure></div><ol><li><p>When there is only 1 card open on the board, we see the minimum number of stockpile uses, as expected, because only 1 stockpile card is enough to collect each group cards.</p></li><li><p>Balanced groups config requires more cards, as its average group size is 3, shorter than the average of the short groups config, even though it includes a longer group size.</p></li></ol><p>If we consider that most levels vary between 3 to 6 open cards on average, both charts show that groups have a minimal impact on consecutive matches and the average number of cards drawn. Unless it is a custom rank design, we should expect no major change in these values just by changing the number of open cards.</p><p>It would definitely be better to experiment with more configurations. However, I believe it is enough for the context of this article.</p><div><hr></div><p>As we experienced with simulations, most of the time theoretical calculations give results close to those of the computational model. This means that we can keep the chance factor in the levels while predicting and controlling the outcome.</p><p>I believe you enjoyed reading the article. Although it is a highly technical post, I tried to minimize the use of technical terms as much as possible for a better readability. You are welcome to ask questions if you have something in mind you are curious about.</p><p>Thanks and see you next time!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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[Candy Crush Solitaire Deconstruction & Experimenting with Auto-Level Generation]]></title><description><![CDATA[How can we auto-generate engaging levels by learning from data-driven deconstruction?]]></description><link>https://applied.gamesystem.design/p/candy-crush-solitaire-deconstruction</link><guid isPermaLink="false">https://applied.gamesystem.design/p/candy-crush-solitaire-deconstruction</guid><dc:creator><![CDATA[Burak Ökten]]></dc:creator><pubDate>Wed, 19 Feb 2025 13:20:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MvUN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea294a51-a613-4a29-b9ff-b05f9f47bfdf_1600x955.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_!MvUN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea294a51-a613-4a29-b9ff-b05f9f47bfdf_1600x955.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MvUN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea294a51-a613-4a29-b9ff-b05f9f47bfdf_1600x955.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MvUN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea294a51-a613-4a29-b9ff-b05f9f47bfdf_1600x955.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MvUN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea294a51-a613-4a29-b9ff-b05f9f47bfdf_1600x955.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MvUN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea294a51-a613-4a29-b9ff-b05f9f47bfdf_1600x955.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MvUN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea294a51-a613-4a29-b9ff-b05f9f47bfdf_1600x955.jpeg" width="728" height="434.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ea294a51-a613-4a29-b9ff-b05f9f47bfdf_1600x955.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:869,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:303433,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MvUN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea294a51-a613-4a29-b9ff-b05f9f47bfdf_1600x955.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MvUN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea294a51-a613-4a29-b9ff-b05f9f47bfdf_1600x955.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MvUN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea294a51-a613-4a29-b9ff-b05f9f47bfdf_1600x955.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MvUN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea294a51-a613-4a29-b9ff-b05f9f47bfdf_1600x955.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">Candy Crush Solitaire (left) and the level generation tool used in this article (right).</figcaption></figure></div><p>Welcome to my very first post on Substack!</p><p>After years of hands-on experience in game systems design, I've decided to share valuable insights with you in this blog!</p><p>Let&#8217;s start!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><p><em>King</em> finally launched its brand new tripeaks solitaire game, <em>Candy Crush Solitaire</em> globally. You'll be captivated from the first level, thanks to its smooth animations and cute graphics. Although I had the opportunity to test the game before the global launch, I waited for the official release to write this article and access the most recent version of it.</p><p>In this article, you will find <strong>3 main topics:</strong></p><ol><li><p><strong>Deconstruction</strong> - I tried to keep it as brief as possible and supported my findings with the data I recorded. You will discover the game mechanics and how they work.</p></li><li><p><strong>Data Analysis</strong> - In this section, I explain how and why I collected the data, as well as how I processed it to extract information. You'll also find key concepts to help you better understand the charts.</p></li><li><p><strong>Auto-Level Generation</strong> - How can we auto-generate levels using just a few configurations? This section is dedicated to level generation experiments based on constrained randomization.</p></li></ol><h2>FTUE &amp; Tutorials</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BrvI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233110ab-9218-4e76-8943-fc56b9479e2b_1920x1440.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BrvI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233110ab-9218-4e76-8943-fc56b9479e2b_1920x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BrvI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233110ab-9218-4e76-8943-fc56b9479e2b_1920x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BrvI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233110ab-9218-4e76-8943-fc56b9479e2b_1920x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BrvI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233110ab-9218-4e76-8943-fc56b9479e2b_1920x1440.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BrvI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233110ab-9218-4e76-8943-fc56b9479e2b_1920x1440.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/233110ab-9218-4e76-8943-fc56b9479e2b_1920x1440.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:258436,&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_!BrvI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233110ab-9218-4e76-8943-fc56b9479e2b_1920x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BrvI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233110ab-9218-4e76-8943-fc56b9479e2b_1920x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BrvI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233110ab-9218-4e76-8943-fc56b9479e2b_1920x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BrvI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233110ab-9218-4e76-8943-fc56b9479e2b_1920x1440.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">Tutorials are based on bubble explanations and highlighted targets.</figcaption></figure></div><p><em>Candy Crush Solitaire </em>has a smooth <strong>FTUE,</strong> supported by a classic approach with bubble tutorials that teach players how to match cards, assuming they've never played <strong>tripeaks solitaire</strong> before. <strong>Obstacles</strong> are not introduced until <strong>level 22,</strong> unlike match3 games like <em>Royal Match,</em> which introduce them from the first level.</p><p>The game directly starts at level 1 after the Terms of Service and notification permission popups, and it <strong>never interrupts</strong> gameplay in the early levels if the player follows the desired path. If the player waits or makes a wrong move, a bubble or feedback animation plays instantly to guide the player back onto the correct path.</p><p>Before diving into the details of the systems, it's best to introduce the interactive elements in the game. I&#8217;ve included a short introduction section defining the related UI elements to make the rest of the article easier for the reader to follow.</p><p>Keep in mind that <strong>any game mechanic mentioned</strong> in this article is always defined in detail in later sections. Thus, keep reading!</p><div><hr></div><h2>Definitions of Game Elements</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L1Xi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85d7c48-17b8-49b4-894d-5b483b6a7a83_1611x960.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L1Xi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85d7c48-17b8-49b4-894d-5b483b6a7a83_1611x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L1Xi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85d7c48-17b8-49b4-894d-5b483b6a7a83_1611x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L1Xi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85d7c48-17b8-49b4-894d-5b483b6a7a83_1611x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L1Xi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85d7c48-17b8-49b4-894d-5b483b6a7a83_1611x960.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L1Xi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85d7c48-17b8-49b4-894d-5b483b6a7a83_1611x960.jpeg" width="1456" height="868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a85d7c48-17b8-49b4-894d-5b483b6a7a83_1611x960.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:868,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:167746,&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_!L1Xi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85d7c48-17b8-49b4-894d-5b483b6a7a83_1611x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L1Xi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85d7c48-17b8-49b4-894d-5b483b6a7a83_1611x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L1Xi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85d7c48-17b8-49b4-894d-5b483b6a7a83_1611x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L1Xi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa85d7c48-17b8-49b4-894d-5b483b6a7a83_1611x960.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">Pre-level boosters.</figcaption></figure></div><p>As a well-known mechanic in the puzzle genre, players can <strong>select boosters</strong> at the beginning of the level. There are currently <strong>2 pre-level boosters.</strong> The last one is marked as &#8220;coming soon&#8221;. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SKrB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1114f08-fd6c-40ee-b4c6-fcd96ce4041e_1611x960.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SKrB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1114f08-fd6c-40ee-b4c6-fcd96ce4041e_1611x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!SKrB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1114f08-fd6c-40ee-b4c6-fcd96ce4041e_1611x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!SKrB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1114f08-fd6c-40ee-b4c6-fcd96ce4041e_1611x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!SKrB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1114f08-fd6c-40ee-b4c6-fcd96ce4041e_1611x960.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SKrB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1114f08-fd6c-40ee-b4c6-fcd96ce4041e_1611x960.jpeg" width="1456" height="868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1114f08-fd6c-40ee-b4c6-fcd96ce4041e_1611x960.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:868,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:249110,&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_!SKrB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1114f08-fd6c-40ee-b4c6-fcd96ce4041e_1611x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!SKrB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1114f08-fd6c-40ee-b4c6-fcd96ce4041e_1611x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!SKrB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1114f08-fd6c-40ee-b4c6-fcd96ce4041e_1611x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!SKrB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1114f08-fd6c-40ee-b4c6-fcd96ce4041e_1611x960.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 class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gSDy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F825d507b-5ae4-4bd8-882b-f4aeb4dc628e_1608x963.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gSDy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F825d507b-5ae4-4bd8-882b-f4aeb4dc628e_1608x963.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gSDy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F825d507b-5ae4-4bd8-882b-f4aeb4dc628e_1608x963.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gSDy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F825d507b-5ae4-4bd8-882b-f4aeb4dc628e_1608x963.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gSDy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F825d507b-5ae4-4bd8-882b-f4aeb4dc628e_1608x963.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gSDy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F825d507b-5ae4-4bd8-882b-f4aeb4dc628e_1608x963.jpeg" width="1456" height="872" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/825d507b-5ae4-4bd8-882b-f4aeb4dc628e_1608x963.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:872,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:261935,&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_!gSDy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F825d507b-5ae4-4bd8-882b-f4aeb4dc628e_1608x963.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gSDy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F825d507b-5ae4-4bd8-882b-f4aeb4dc628e_1608x963.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gSDy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F825d507b-5ae4-4bd8-882b-f4aeb4dc628e_1608x963.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gSDy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F825d507b-5ae4-4bd8-882b-f4aeb4dc628e_1608x963.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">Players interact directly or indirectly with various game elements.</figcaption></figure></div><p>The game includes all the classic elements of a tripeaks solitaire, in addition to obstacles, power-ups, streak meter, in-level boosters, level rewards and hold slot.</p><div><hr></div><h2>Core Loop</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rk8j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01c64d6a-0a9a-40d8-bb2b-bdf9f1d5c80e_1866x1326.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rk8j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01c64d6a-0a9a-40d8-bb2b-bdf9f1d5c80e_1866x1326.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rk8j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01c64d6a-0a9a-40d8-bb2b-bdf9f1d5c80e_1866x1326.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rk8j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01c64d6a-0a9a-40d8-bb2b-bdf9f1d5c80e_1866x1326.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rk8j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01c64d6a-0a9a-40d8-bb2b-bdf9f1d5c80e_1866x1326.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rk8j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01c64d6a-0a9a-40d8-bb2b-bdf9f1d5c80e_1866x1326.jpeg" width="1456" height="1035" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01c64d6a-0a9a-40d8-bb2b-bdf9f1d5c80e_1866x1326.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1035,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:185990,&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_!rk8j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01c64d6a-0a9a-40d8-bb2b-bdf9f1d5c80e_1866x1326.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rk8j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01c64d6a-0a9a-40d8-bb2b-bdf9f1d5c80e_1866x1326.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rk8j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01c64d6a-0a9a-40d8-bb2b-bdf9f1d5c80e_1866x1326.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rk8j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01c64d6a-0a9a-40d8-bb2b-bdf9f1d5c80e_1866x1326.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">Core Loop: Level Progression</figcaption></figure></div><p>I always like to define the core loops as a nonremovable / unchangeable loop of the game, so that we can identify the fundamental structure that engages players. In this scenario, <strong>level progression</strong> is defined as the <strong>core loop</strong> that also feeds meta layers of the game, as in the core loop diagram.</p><p>Players must spend <strong>coins</strong> or <strong>one ticket per level</strong> to enter. Using <strong>pre-level boosters</strong> is <strong>optional</strong> unless the <strong>win streak mechanic</strong> is active. The main goal is to clear the board completely by collecting all cards on the tableau. Successfully completing a level rewards the player with coins and other currencies used in meta layers. In case of failure, the player must retry the level to progress. Finally, there is no way to replay the same level after a successful completion.</p><h2>Meta Loops</h2><h3>1. Postcard Progression</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I-0A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aabda6f-5ef1-4549-83b3-0eabd97ab036_1503x573.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I-0A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aabda6f-5ef1-4549-83b3-0eabd97ab036_1503x573.jpeg 424w, https://substackcdn.com/image/fetch/$s_!I-0A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aabda6f-5ef1-4549-83b3-0eabd97ab036_1503x573.jpeg 848w, https://substackcdn.com/image/fetch/$s_!I-0A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aabda6f-5ef1-4549-83b3-0eabd97ab036_1503x573.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!I-0A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aabda6f-5ef1-4549-83b3-0eabd97ab036_1503x573.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I-0A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aabda6f-5ef1-4549-83b3-0eabd97ab036_1503x573.jpeg" width="1456" height="555" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8aabda6f-5ef1-4549-83b3-0eabd97ab036_1503x573.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:555,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:84490,&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_!I-0A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aabda6f-5ef1-4549-83b3-0eabd97ab036_1503x573.jpeg 424w, https://substackcdn.com/image/fetch/$s_!I-0A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aabda6f-5ef1-4549-83b3-0eabd97ab036_1503x573.jpeg 848w, https://substackcdn.com/image/fetch/$s_!I-0A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aabda6f-5ef1-4549-83b3-0eabd97ab036_1503x573.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!I-0A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aabda6f-5ef1-4549-83b3-0eabd97ab036_1503x573.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">Meta Loop: Postcard Progression.</figcaption></figure></div><p>Postcard progression is the first meta loop introduced to players. Although the fast progression on the first postcards creates short-term engagement, it mainly aims for long-term engagement. Completing levels awards players with <strong>energy,</strong> which is used to decorate the postcard with <strong>new scene objects.</strong> When a postcard is completed, next one becomes available.</p><p>In the first 100 levels, there are <strong>6 postcards:</strong></p><ol><li><p>Waikiki Beach (Hawaii, USA)</p></li><li><p>Eiffel Tower (Paris, France)</p></li><li><p>Central Park (New York, USA)</p></li><li><p>Higashiyama District (Kyoto, Japan)</p></li><li><p>Swiss Alps (Altdorf, Switzerland)</p></li><li><p>Pyramids of Giza (Giza, Egypt)</p></li></ol><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;c463a4b7-14db-40ce-8fb5-3640b7311033&quot;,&quot;duration&quot;:null}"></div><p>Although the postcards look pretty good and the animations are decent, the progression doesn't initially feel satisfying because the changes on the postcard are subtle, and it is already filled with colorful objects. However, after the postcard is completed, the final animation showcasing the entire progression is very satisfying<strong> </strong>as shown in the video above.</p><h3>2. Weekly Challenge</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1oPA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55e4902-70f3-4454-bafb-f57c3ebd8d3f_1503x603.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1oPA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55e4902-70f3-4454-bafb-f57c3ebd8d3f_1503x603.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1oPA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55e4902-70f3-4454-bafb-f57c3ebd8d3f_1503x603.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1oPA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55e4902-70f3-4454-bafb-f57c3ebd8d3f_1503x603.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1oPA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55e4902-70f3-4454-bafb-f57c3ebd8d3f_1503x603.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1oPA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55e4902-70f3-4454-bafb-f57c3ebd8d3f_1503x603.jpeg" width="1456" height="584" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d55e4902-70f3-4454-bafb-f57c3ebd8d3f_1503x603.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:584,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:82633,&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_!1oPA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55e4902-70f3-4454-bafb-f57c3ebd8d3f_1503x603.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1oPA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55e4902-70f3-4454-bafb-f57c3ebd8d3f_1503x603.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1oPA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55e4902-70f3-4454-bafb-f57c3ebd8d3f_1503x603.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1oPA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55e4902-70f3-4454-bafb-f57c3ebd8d3f_1503x603.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">Meta Loop: Weekly Challenge.</figcaption></figure></div><p>Weekly Challenge becomes available <strong>after level 5.</strong> It is a competition based social feature where players compete on a leaderboard to reach the top 3 before the week ends. It creates a mid-term engagement from the very early stage of the game.  Players collect <strong>stars</strong> by completing levels, and those who successfully fill the streak meter are rewarded with additional stars, that provides a competitive advantage. Top 3 players are rewarded with various prizes, including coins, boosters, deck parts, and card packs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!04tQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F324b9594-c5cc-472e-8911-c9ab70342218_1206x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!04tQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F324b9594-c5cc-472e-8911-c9ab70342218_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!04tQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F324b9594-c5cc-472e-8911-c9ab70342218_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!04tQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F324b9594-c5cc-472e-8911-c9ab70342218_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!04tQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F324b9594-c5cc-472e-8911-c9ab70342218_1206x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!04tQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F324b9594-c5cc-472e-8911-c9ab70342218_1206x720.jpeg" width="1206" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/324b9594-c5cc-472e-8911-c9ab70342218_1206x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:610866,&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_!04tQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F324b9594-c5cc-472e-8911-c9ab70342218_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!04tQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F324b9594-c5cc-472e-8911-c9ab70342218_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!04tQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F324b9594-c5cc-472e-8911-c9ab70342218_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!04tQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F324b9594-c5cc-472e-8911-c9ab70342218_1206x720.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">Weekly Challenge Leaderboard.</figcaption></figure></div><h3>3. Card Deck (Skin) Progression</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9LHx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc16053a-55d6-4dae-80fc-c08b79e67582_1266x573.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9LHx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc16053a-55d6-4dae-80fc-c08b79e67582_1266x573.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9LHx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc16053a-55d6-4dae-80fc-c08b79e67582_1266x573.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9LHx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc16053a-55d6-4dae-80fc-c08b79e67582_1266x573.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9LHx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc16053a-55d6-4dae-80fc-c08b79e67582_1266x573.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9LHx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc16053a-55d6-4dae-80fc-c08b79e67582_1266x573.jpeg" width="1266" height="573" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc16053a-55d6-4dae-80fc-c08b79e67582_1266x573.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:573,&quot;width&quot;:1266,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83098,&quot;alt&quot;:&quot;&quot;,&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!9LHx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc16053a-55d6-4dae-80fc-c08b79e67582_1266x573.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9LHx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc16053a-55d6-4dae-80fc-c08b79e67582_1266x573.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9LHx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc16053a-55d6-4dae-80fc-c08b79e67582_1266x573.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9LHx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc16053a-55d6-4dae-80fc-c08b79e67582_1266x573.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">Meta Loop: Card Deck Progression.</figcaption></figure></div><p><strong>Deck parts</strong> can be obtained through progression in other meta layers to unlock new deck skins. It targets players who have already enjoyed the game and want to customize their gameplay experience. This feature becomes available <strong>after level 9.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9IAD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61169587-362e-45eb-94d9-5258bf1107bc_1920x1440.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9IAD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61169587-362e-45eb-94d9-5258bf1107bc_1920x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9IAD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61169587-362e-45eb-94d9-5258bf1107bc_1920x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9IAD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61169587-362e-45eb-94d9-5258bf1107bc_1920x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9IAD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61169587-362e-45eb-94d9-5258bf1107bc_1920x1440.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9IAD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61169587-362e-45eb-94d9-5258bf1107bc_1920x1440.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/61169587-362e-45eb-94d9-5258bf1107bc_1920x1440.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:457959,&quot;alt&quot;:&quot;&quot;,&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!9IAD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61169587-362e-45eb-94d9-5258bf1107bc_1920x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9IAD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61169587-362e-45eb-94d9-5258bf1107bc_1920x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9IAD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61169587-362e-45eb-94d9-5258bf1107bc_1920x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9IAD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61169587-362e-45eb-94d9-5258bf1107bc_1920x1440.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">Card Decks.</figcaption></figure></div><h3>4. Cotton Candy Clouds Event</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NtXD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6223c30b-f8b4-4d66-b351-588ecea71aff_1563x633.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NtXD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6223c30b-f8b4-4d66-b351-588ecea71aff_1563x633.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NtXD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6223c30b-f8b4-4d66-b351-588ecea71aff_1563x633.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NtXD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6223c30b-f8b4-4d66-b351-588ecea71aff_1563x633.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NtXD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6223c30b-f8b4-4d66-b351-588ecea71aff_1563x633.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NtXD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6223c30b-f8b4-4d66-b351-588ecea71aff_1563x633.jpeg" width="1456" height="590" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6223c30b-f8b4-4d66-b351-588ecea71aff_1563x633.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:590,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:99498,&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_!NtXD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6223c30b-f8b4-4d66-b351-588ecea71aff_1563x633.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NtXD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6223c30b-f8b4-4d66-b351-588ecea71aff_1563x633.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NtXD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6223c30b-f8b4-4d66-b351-588ecea71aff_1563x633.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NtXD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6223c30b-f8b4-4d66-b351-588ecea71aff_1563x633.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">Meta Loop: Cotton Candy Clouds Event</figcaption></figure></div><p>Cotton Candy Clouds is a time-limited, milestone-based event that resets progression and refreshes rewards after a certain period. I also encountered a name change from &#8220;Cotton Candy Clouds&#8221; to &#8220;Bubble Gum Parade&#8221;. Players are supposed to collect a <strong>card of a specific color</strong> (event currency) to reach each threshold. Each milestone completion rewards players with different prizes. It becomes available <strong>after level 12.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_BbS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15e85f4-c5f8-4640-a01a-cb78388e5dd6_720x430.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_BbS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15e85f4-c5f8-4640-a01a-cb78388e5dd6_720x430.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_BbS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15e85f4-c5f8-4640-a01a-cb78388e5dd6_720x430.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_BbS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15e85f4-c5f8-4640-a01a-cb78388e5dd6_720x430.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_BbS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15e85f4-c5f8-4640-a01a-cb78388e5dd6_720x430.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_BbS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15e85f4-c5f8-4640-a01a-cb78388e5dd6_720x430.jpeg" width="720" height="430" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e15e85f4-c5f8-4640-a01a-cb78388e5dd6_720x430.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:430,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:220847,&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_!_BbS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15e85f4-c5f8-4640-a01a-cb78388e5dd6_720x430.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_BbS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15e85f4-c5f8-4640-a01a-cb78388e5dd6_720x430.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_BbS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15e85f4-c5f8-4640-a01a-cb78388e5dd6_720x430.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_BbS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe15e85f4-c5f8-4640-a01a-cb78388e5dd6_720x430.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">Cotton Candy Clouds Event.</figcaption></figure></div><h3>5. Album Progression</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ynna!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ad544e-84b2-4357-b513-237b20f96814_1626x573.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ynna!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ad544e-84b2-4357-b513-237b20f96814_1626x573.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ynna!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ad544e-84b2-4357-b513-237b20f96814_1626x573.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ynna!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ad544e-84b2-4357-b513-237b20f96814_1626x573.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ynna!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ad544e-84b2-4357-b513-237b20f96814_1626x573.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ynna!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ad544e-84b2-4357-b513-237b20f96814_1626x573.jpeg" width="1456" height="513" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58ad544e-84b2-4357-b513-237b20f96814_1626x573.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:513,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83752,&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_!Ynna!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ad544e-84b2-4357-b513-237b20f96814_1626x573.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ynna!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ad544e-84b2-4357-b513-237b20f96814_1626x573.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ynna!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ad544e-84b2-4357-b513-237b20f96814_1626x573.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ynna!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ad544e-84b2-4357-b513-237b20f96814_1626x573.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">Meta Loop: Album Progression</figcaption></figure></div><p>A collectible album mechanic drives long-term engagement thanks to the satisfaction of finding new items and achieving milestones. <strong>Collection card packs</strong> can be found in levels marked as including a pack. Additionally, other meta layers also provide some card packs as rewards. Each new album is unlocked at a certain level. Completing an album gives a grand reward, while reaching a milestone by collecting a specific number of cards provides a small coin reward. It becomes available <strong>from level 28.</strong></p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/243ffff0-7035-4b47-911a-582430e1c241_1206x720.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e55a4417-3ea0-4afe-8c1b-41dc7463cb63_1206x720.jpeg&quot;}],&quot;caption&quot;:&quot;Albums.&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0446bb9d-d70b-4139-b369-96863f51c52e_1456x720.png&quot;}},&quot;isEditorNode&quot;:true}"></div><h3>6. Chocolate Hunt Event</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vxxr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4dda683-a7d2-4220-88d0-795435e22144_2043x666.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vxxr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4dda683-a7d2-4220-88d0-795435e22144_2043x666.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vxxr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4dda683-a7d2-4220-88d0-795435e22144_2043x666.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vxxr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4dda683-a7d2-4220-88d0-795435e22144_2043x666.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vxxr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4dda683-a7d2-4220-88d0-795435e22144_2043x666.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vxxr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4dda683-a7d2-4220-88d0-795435e22144_2043x666.jpeg" width="1456" height="475" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4dda683-a7d2-4220-88d0-795435e22144_2043x666.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:475,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:105088,&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_!vxxr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4dda683-a7d2-4220-88d0-795435e22144_2043x666.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vxxr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4dda683-a7d2-4220-88d0-795435e22144_2043x666.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vxxr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4dda683-a7d2-4220-88d0-795435e22144_2043x666.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vxxr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4dda683-a7d2-4220-88d0-795435e22144_2043x666.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">Meta Loop: Chocolate Hunt Event</figcaption></figure></div><p>Chocolate Hunt is a time-limited event that becomes available <strong>after level 46.</strong> Each successful level completion rewards the player with <strong>spoons,</strong> which are used to break the chocolate and reveal candies. When the candy box is ready, a reward is given, and the next box becomes available with a larger chocolate bar. Each stage requires more spoons to complete.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!60FC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F977ec8b5-152b-45d7-a4bf-e43d6665a291_1206x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!60FC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F977ec8b5-152b-45d7-a4bf-e43d6665a291_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!60FC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F977ec8b5-152b-45d7-a4bf-e43d6665a291_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!60FC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F977ec8b5-152b-45d7-a4bf-e43d6665a291_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!60FC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F977ec8b5-152b-45d7-a4bf-e43d6665a291_1206x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!60FC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F977ec8b5-152b-45d7-a4bf-e43d6665a291_1206x720.jpeg" width="1206" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/977ec8b5-152b-45d7-a4bf-e43d6665a291_1206x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:92065,&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_!60FC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F977ec8b5-152b-45d7-a4bf-e43d6665a291_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!60FC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F977ec8b5-152b-45d7-a4bf-e43d6665a291_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!60FC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F977ec8b5-152b-45d7-a4bf-e43d6665a291_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!60FC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F977ec8b5-152b-45d7-a4bf-e43d6665a291_1206x720.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">Chocolate Hunt Event.</figcaption></figure></div><h3>7. Salmon Race Event</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tRDY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37ca3cb5-4d0b-48f5-9f4d-ed2a862524c7_2103x996.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tRDY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37ca3cb5-4d0b-48f5-9f4d-ed2a862524c7_2103x996.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tRDY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37ca3cb5-4d0b-48f5-9f4d-ed2a862524c7_2103x996.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tRDY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37ca3cb5-4d0b-48f5-9f4d-ed2a862524c7_2103x996.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tRDY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37ca3cb5-4d0b-48f5-9f4d-ed2a862524c7_2103x996.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tRDY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37ca3cb5-4d0b-48f5-9f4d-ed2a862524c7_2103x996.jpeg" width="1456" height="690" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37ca3cb5-4d0b-48f5-9f4d-ed2a862524c7_2103x996.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:690,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:177556,&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_!tRDY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37ca3cb5-4d0b-48f5-9f4d-ed2a862524c7_2103x996.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tRDY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37ca3cb5-4d0b-48f5-9f4d-ed2a862524c7_2103x996.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tRDY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37ca3cb5-4d0b-48f5-9f4d-ed2a862524c7_2103x996.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tRDY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37ca3cb5-4d0b-48f5-9f4d-ed2a862524c7_2103x996.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">Meta Loop: Salmon Race Event.</figcaption></figure></div><p>Salmon Race is an optional, time-limited, competitive event introduced <strong>after level 50.</strong> Although it was available before the global launch of <em>Candy Crush Solitaire,</em> I haven&#8217;t bumped into it again since then, probably because of an ongoing A/B test. Max 4 players with same skill level are grouped to compete in each race. Players must complete 4 consecutive levels without losing before others to obtain stage rewards and unlock the next race with better prizes.</p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0777933f-6850-4b83-a761-fdd8fa553609_1206x720.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/396aa5c5-fbe3-4240-a802-49e475d12d3a_1206x720.jpeg&quot;}],&quot;caption&quot;:&quot;Salmon Race Event.&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5052375-f19d-4318-b4e3-a0abbbccdf45_1456x720.png&quot;}},&quot;isEditorNode&quot;:true}"></div><h3>8. Tug of Cards Event</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I6zW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b28602-57e8-45c8-8891-6b29585f59b1_1563x603.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I6zW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b28602-57e8-45c8-8891-6b29585f59b1_1563x603.jpeg 424w, https://substackcdn.com/image/fetch/$s_!I6zW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b28602-57e8-45c8-8891-6b29585f59b1_1563x603.jpeg 848w, https://substackcdn.com/image/fetch/$s_!I6zW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b28602-57e8-45c8-8891-6b29585f59b1_1563x603.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!I6zW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b28602-57e8-45c8-8891-6b29585f59b1_1563x603.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I6zW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b28602-57e8-45c8-8891-6b29585f59b1_1563x603.jpeg" width="1456" height="562" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71b28602-57e8-45c8-8891-6b29585f59b1_1563x603.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:562,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:217969,&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_!I6zW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b28602-57e8-45c8-8891-6b29585f59b1_1563x603.jpeg 424w, https://substackcdn.com/image/fetch/$s_!I6zW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b28602-57e8-45c8-8891-6b29585f59b1_1563x603.jpeg 848w, https://substackcdn.com/image/fetch/$s_!I6zW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b28602-57e8-45c8-8891-6b29585f59b1_1563x603.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!I6zW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b28602-57e8-45c8-8891-6b29585f59b1_1563x603.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">Meta Loop: Tug of Cards.</figcaption></figure></div><p>Tug of Cards is an optional, time-limited, competitive event introduced <strong>after level 75. </strong>There are 2 teams, each consisting of 20 players, competing against each other to collect the <strong>card type</strong> (event currency) decided by the team leads in order to defeat the opponent. The team with the higher score at the end of the event wins and receives the grand prize. Additionally, players within the same team also compete against one another to rank up and earn more rewards, even if their team loses.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QEWJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c91710e-89df-4463-9481-f7e210e79f98_1206x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QEWJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c91710e-89df-4463-9481-f7e210e79f98_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QEWJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c91710e-89df-4463-9481-f7e210e79f98_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QEWJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c91710e-89df-4463-9481-f7e210e79f98_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QEWJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c91710e-89df-4463-9481-f7e210e79f98_1206x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QEWJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c91710e-89df-4463-9481-f7e210e79f98_1206x720.jpeg" width="1206" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c91710e-89df-4463-9481-f7e210e79f98_1206x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96981,&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_!QEWJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c91710e-89df-4463-9481-f7e210e79f98_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QEWJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c91710e-89df-4463-9481-f7e210e79f98_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QEWJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c91710e-89df-4463-9481-f7e210e79f98_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QEWJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c91710e-89df-4463-9481-f7e210e79f98_1206x720.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">Tug of Cards Event.</figcaption></figure></div><h2>Other Meta Mechanics</h2><h3>1. Offline (Idle) Earning</h3><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;eecffba0-baea-4128-946f-48ae6ced3bef&quot;,&quot;duration&quot;:null}"></div><p>At the end of the <strong>level 4,</strong> an offline rewarding mechanic, typically seen in idle games, is introduced. This mechanic rewards players with coins <strong>every 4 hours. </strong>Unlike in most idle games, time continues to count even when players are online. If we assume players are inactive for 8 hours of sleep, they would need to return to the game 5 times to claim the reward, resulting in an increased number of sessions. The same mechanic is also used in S<em>olitaire Grand Harvest by Playtika,</em> as shown in the video below.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;2d7ccc84-1184-48ab-a7e5-f95e240055cf&quot;,&quot;duration&quot;:null}"></div><h3>2. Daily Gifts</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qAoD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbfddf76-ce00-4238-8699-ad0a82a398d2_1340x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qAoD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbfddf76-ce00-4238-8699-ad0a82a398d2_1340x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qAoD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbfddf76-ce00-4238-8699-ad0a82a398d2_1340x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qAoD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbfddf76-ce00-4238-8699-ad0a82a398d2_1340x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qAoD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbfddf76-ce00-4238-8699-ad0a82a398d2_1340x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qAoD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbfddf76-ce00-4238-8699-ad0a82a398d2_1340x800.jpeg" width="1340" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bbfddf76-ce00-4238-8699-ad0a82a398d2_1340x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1340,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:390536,&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_!qAoD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbfddf76-ce00-4238-8699-ad0a82a398d2_1340x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qAoD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbfddf76-ce00-4238-8699-ad0a82a398d2_1340x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qAoD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbfddf76-ce00-4238-8699-ad0a82a398d2_1340x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qAoD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbfddf76-ce00-4238-8699-ad0a82a398d2_1340x800.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">Daily Gifts.</figcaption></figure></div><p>Daily Gifts mechanic becomes available <strong>after level 6.</strong> Player must log in the game everyday in order to collect the daily reward. If the player misses a day, the reward for that day cannot be obtained later. When the player reaches day 7, a top reward is granted.</p><h3>3. Piggy Bank</h3><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9217541d-ebbd-4ca7-8a3b-81351026f4e7_1206x720.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42d92abd-eba3-4317-a7a1-da5765610589_1206x720.jpeg&quot;}],&quot;caption&quot;:&quot;Piggy Bank.&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a47bba66-7a55-4546-bed1-9a9e46e23f01_1456x720.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p>Piggy Bank becomes available <strong>after level 25.</strong> When it is completely filled, it gives players a chance to buy it before it disappears in 15 levels. If the player doesn&#8217;t purchase it on time, it disappears but leaves a free ticket.</p><h3>4. Season Pass</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hUaN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87212bd4-986c-43e2-8444-ed868cf8248d_1206x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hUaN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87212bd4-986c-43e2-8444-ed868cf8248d_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hUaN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87212bd4-986c-43e2-8444-ed868cf8248d_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hUaN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87212bd4-986c-43e2-8444-ed868cf8248d_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hUaN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87212bd4-986c-43e2-8444-ed868cf8248d_1206x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hUaN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87212bd4-986c-43e2-8444-ed868cf8248d_1206x720.jpeg" width="1206" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/87212bd4-986c-43e2-8444-ed868cf8248d_1206x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:158640,&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_!hUaN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87212bd4-986c-43e2-8444-ed868cf8248d_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hUaN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87212bd4-986c-43e2-8444-ed868cf8248d_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hUaN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87212bd4-986c-43e2-8444-ed868cf8248d_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hUaN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87212bd4-986c-43e2-8444-ed868cf8248d_1206x720.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">Season Pass.</figcaption></figure></div><p>Season Pass becomes available <strong>after level 54.</strong> Level completions reward the player with candies, which are used to progress through it. There are both premium and free tiers, as shown in the image.</p><h3>5. Bonus Gift</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zXs3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd63424-bb70-49ad-a1d9-1e69767e46e1_1594x1197.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zXs3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd63424-bb70-49ad-a1d9-1e69767e46e1_1594x1197.png 424w, https://substackcdn.com/image/fetch/$s_!zXs3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd63424-bb70-49ad-a1d9-1e69767e46e1_1594x1197.png 848w, https://substackcdn.com/image/fetch/$s_!zXs3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd63424-bb70-49ad-a1d9-1e69767e46e1_1594x1197.png 1272w, https://substackcdn.com/image/fetch/$s_!zXs3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd63424-bb70-49ad-a1d9-1e69767e46e1_1594x1197.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zXs3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd63424-bb70-49ad-a1d9-1e69767e46e1_1594x1197.png" width="1456" height="1093" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fdd63424-bb70-49ad-a1d9-1e69767e46e1_1594x1197.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1093,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1180725,&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_!zXs3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd63424-bb70-49ad-a1d9-1e69767e46e1_1594x1197.png 424w, https://substackcdn.com/image/fetch/$s_!zXs3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd63424-bb70-49ad-a1d9-1e69767e46e1_1594x1197.png 848w, https://substackcdn.com/image/fetch/$s_!zXs3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd63424-bb70-49ad-a1d9-1e69767e46e1_1594x1197.png 1272w, https://substackcdn.com/image/fetch/$s_!zXs3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd63424-bb70-49ad-a1d9-1e69767e46e1_1594x1197.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">Bonus Gift.</figcaption></figure></div><p>A wheel of fortune mechanic allows players to win bonus rewards daily.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><h2>Boosters</h2><p>As we&#8217;ve come to expect from <em>Candy Crush Saga,</em> <em>Candy Crush Solitaire</em> is no exception when it comes to the super smooth, juicy booster animations that are a signature of <em>King.</em></p><p>Despite being a different genre, <em>Candy Crush Solitaire</em> also features boosters from its elder sibling, such as the Fish (Wild), Lollipop Hammer, Colour Bomb and Flying Saucer, while maintaining similar mechanics.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/Nytjx/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/895b87d3-e450-4da0-853a-4aee710b7e10_1260x660.png&quot;,&quot;thumbnail_url_full&quot;:&quot;&quot;,&quot;height&quot;:421,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/Nytjx/1/" width="730" height="421" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h3>1. 5-Extra Cards</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2reE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77ba31c0-629a-4403-a7c1-50eb0e5d1028_1920x1440.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2reE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77ba31c0-629a-4403-a7c1-50eb0e5d1028_1920x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2reE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77ba31c0-629a-4403-a7c1-50eb0e5d1028_1920x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2reE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77ba31c0-629a-4403-a7c1-50eb0e5d1028_1920x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2reE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77ba31c0-629a-4403-a7c1-50eb0e5d1028_1920x1440.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2reE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77ba31c0-629a-4403-a7c1-50eb0e5d1028_1920x1440.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77ba31c0-629a-4403-a7c1-50eb0e5d1028_1920x1440.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:227969,&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_!2reE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77ba31c0-629a-4403-a7c1-50eb0e5d1028_1920x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2reE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77ba31c0-629a-4403-a7c1-50eb0e5d1028_1920x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2reE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77ba31c0-629a-4403-a7c1-50eb0e5d1028_1920x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2reE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77ba31c0-629a-4403-a7c1-50eb0e5d1028_1920x1440.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">5-Extra Cards booster.</figcaption></figure></div><p>When you run out of stockpile cards, there is a running <strong>A/B test</strong> you can encounter: </p><ol><li><p><strong>Test group:</strong> 5-Extra Cards booster is <strong>automatically triggered.</strong> While this makes the gameplay smoother by reducing distractions, it also creates an unnecessary sink for coins. In most cases, other boosters like Wild and Hammer are more useful than 5-Extra Cards, but players may not have enough coins after the auto-triggering. This has the potential to encourage players to visit the shop more often, leading to more IAPs. However, it is also clear that it can be annoying until players realize that the extra cards are not free.</p></li><li><p><strong>Control group:</strong> 5-Extra Cards booster is <strong>optional</strong> to activate.</p></li></ol><p>Even if the control group wins (we&#8217;ll see), there can be a player-controlled setting that allows players to enable or disable the auto-triggering of this booster, letting them decide how they want to play the game.</p><h3>2. Undo</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Lzua!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fd920b-c954-43ef-a1a1-60578c016b1f_1920x1440.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Lzua!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fd920b-c954-43ef-a1a1-60578c016b1f_1920x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Lzua!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fd920b-c954-43ef-a1a1-60578c016b1f_1920x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Lzua!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fd920b-c954-43ef-a1a1-60578c016b1f_1920x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Lzua!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fd920b-c954-43ef-a1a1-60578c016b1f_1920x1440.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Lzua!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fd920b-c954-43ef-a1a1-60578c016b1f_1920x1440.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5fd920b-c954-43ef-a1a1-60578c016b1f_1920x1440.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:420819,&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_!Lzua!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fd920b-c954-43ef-a1a1-60578c016b1f_1920x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Lzua!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fd920b-c954-43ef-a1a1-60578c016b1f_1920x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Lzua!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fd920b-c954-43ef-a1a1-60578c016b1f_1920x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Lzua!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5fd920b-c954-43ef-a1a1-60578c016b1f_1920x1440.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">Undo booster.</figcaption></figure></div><p>Undo booster relies on inattention when matching cards, which can be caused by color similarities, card rotation, and more, depending on the level design. When the hold slot is introduced, a new strategy emerges that requires players' attention, leading to more optimal moves to consider. Missing the best move often encourages players to use Undo booster more.</p><h3>3. Fish (Wild)</h3><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;090860cc-0c01-44cb-9e30-dd2ccddc95ee&quot;,&quot;duration&quot;:null}"></div><p>You can use the Fish (Wild) booster to collect any card from the board, ideally to create a consecutive match chain.</p><h3>4. Colour Bomb</h3><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;c608aa1d-f510-43cb-add6-1bab52b27c52&quot;,&quot;duration&quot;:null}"></div><p>Specifically, the Colour Bomb booster&#8217;s effectiveness and how satisfying it feels depend heavily on the level's visual structure and luck (since it is placed randomly in the deck), which can quickly lead to disappointment. On the other hand, for a level with a high number of open cards, it&#8217;s very effective, as shown in the video.</p><h3>5. Lollipop Hammer</h3><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;41f5f57b-9db0-4086-a236-efd6cc1b61e4&quot;,&quot;duration&quot;:null}"></div><p>The Lollipop Hammer booster removes any card you choose from the board or hold slot, making it especially useful when you don&#8217;t have enough stockpile cards to reveal certain blocker removers, such as keys.</p><h3>6. Flying Saucer (UFO)</h3><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;401d9c14-3fd4-4507-baaf-d29e37517ab7&quot;,&quot;duration&quot;:null}"></div><p>Flying Saucer booster is always activated at the beginning of the level and removes 3 random cards from the initial board. Based on the data collected, all levels, except bonus levels (where boosters cannot be used), have at least <strong>3 consecutive matches</strong> from the board, with an average of <strong>9.5 cards</strong> collected consecutively. This means that unless the initial open cards on the board are specifically chosen not to match with the waste pile card, the Flying Saucer may not be as effective as desired (but let&#8217;s accept that it has a cool animation, so why not use it?).</p><div><hr></div><h2>Power-ups &amp; Obstacles</h2><p>Here is the list of power-ups and obstacles used in the first 95 levels:</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/N5no0/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2953f454-0c90-4539-982d-222aedb41ce8_1260x660.png&quot;,&quot;thumbnail_url_full&quot;:&quot;&quot;,&quot;height&quot;:434,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/N5no0/1/" width="730" height="434" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h3>1. Extra Card</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Doq8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F574e5b41-5e00-4778-ac66-9af4d8067bc4_720x430.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Doq8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F574e5b41-5e00-4778-ac66-9af4d8067bc4_720x430.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Doq8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F574e5b41-5e00-4778-ac66-9af4d8067bc4_720x430.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Doq8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F574e5b41-5e00-4778-ac66-9af4d8067bc4_720x430.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Doq8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F574e5b41-5e00-4778-ac66-9af4d8067bc4_720x430.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Doq8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F574e5b41-5e00-4778-ac66-9af4d8067bc4_720x430.jpeg" width="720" height="430" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/574e5b41-5e00-4778-ac66-9af4d8067bc4_720x430.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:430,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:160472,&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_!Doq8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F574e5b41-5e00-4778-ac66-9af4d8067bc4_720x430.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Doq8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F574e5b41-5e00-4778-ac66-9af4d8067bc4_720x430.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Doq8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F574e5b41-5e00-4778-ac66-9af4d8067bc4_720x430.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Doq8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F574e5b41-5e00-4778-ac66-9af4d8067bc4_720x430.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">Powerup: Extra Card.</figcaption></figure></div><p>An Extra Card adds additional cards to the deck (stockpile) based on the number written on it.</p><h3>2. Key &amp; Locked Cards</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M5WG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a758f3-7dd2-4b3c-87ce-e450cec42b32_1206x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M5WG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a758f3-7dd2-4b3c-87ce-e450cec42b32_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!M5WG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a758f3-7dd2-4b3c-87ce-e450cec42b32_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!M5WG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a758f3-7dd2-4b3c-87ce-e450cec42b32_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!M5WG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a758f3-7dd2-4b3c-87ce-e450cec42b32_1206x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M5WG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a758f3-7dd2-4b3c-87ce-e450cec42b32_1206x720.jpeg" width="1206" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09a758f3-7dd2-4b3c-87ce-e450cec42b32_1206x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:95423,&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_!M5WG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a758f3-7dd2-4b3c-87ce-e450cec42b32_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!M5WG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a758f3-7dd2-4b3c-87ce-e450cec42b32_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!M5WG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a758f3-7dd2-4b3c-87ce-e450cec42b32_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!M5WG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09a758f3-7dd2-4b3c-87ce-e450cec42b32_1206x720.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">Obstacle: Key &amp; Locked Cards.</figcaption></figure></div><p>A locked card locks a group of cards and requires a key card to unlock.</p><h3>3. Conveyor Card</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NADC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a02d0cb-09a8-44ab-baa5-b0d314bb069c_1206x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NADC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a02d0cb-09a8-44ab-baa5-b0d314bb069c_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NADC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a02d0cb-09a8-44ab-baa5-b0d314bb069c_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NADC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a02d0cb-09a8-44ab-baa5-b0d314bb069c_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NADC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a02d0cb-09a8-44ab-baa5-b0d314bb069c_1206x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NADC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a02d0cb-09a8-44ab-baa5-b0d314bb069c_1206x720.jpeg" width="1206" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a02d0cb-09a8-44ab-baa5-b0d314bb069c_1206x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97887,&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_!NADC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a02d0cb-09a8-44ab-baa5-b0d314bb069c_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NADC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a02d0cb-09a8-44ab-baa5-b0d314bb069c_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NADC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a02d0cb-09a8-44ab-baa5-b0d314bb069c_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NADC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a02d0cb-09a8-44ab-baa5-b0d314bb069c_1206x720.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">Obstacle: Conveyor Card.</figcaption></figure></div><p>There are 2 types of conveyor cards: up and down. They increase or decrease their count after each move. Using the hold slot doesn&#8217;t count as a move.</p><h3>4. Candy Necklace Card Couple</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k8oA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ed6a7d-e125-44c3-a703-2af424f2dac3_1206x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k8oA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ed6a7d-e125-44c3-a703-2af424f2dac3_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!k8oA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ed6a7d-e125-44c3-a703-2af424f2dac3_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!k8oA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ed6a7d-e125-44c3-a703-2af424f2dac3_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!k8oA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ed6a7d-e125-44c3-a703-2af424f2dac3_1206x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k8oA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ed6a7d-e125-44c3-a703-2af424f2dac3_1206x720.jpeg" width="1206" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17ed6a7d-e125-44c3-a703-2af424f2dac3_1206x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:114545,&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_!k8oA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ed6a7d-e125-44c3-a703-2af424f2dac3_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!k8oA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ed6a7d-e125-44c3-a703-2af424f2dac3_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!k8oA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ed6a7d-e125-44c3-a703-2af424f2dac3_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!k8oA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ed6a7d-e125-44c3-a703-2af424f2dac3_1206x720.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">Obstacle: Candy Necklace.</figcaption></figure></div><p>Linked cards with a Candy Necklace can only be collected together.</p><h3>5. Chocolate Card</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GoAZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff03c973b-11ec-4029-823c-35d6b128e5ff_1206x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GoAZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff03c973b-11ec-4029-823c-35d6b128e5ff_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GoAZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff03c973b-11ec-4029-823c-35d6b128e5ff_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GoAZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff03c973b-11ec-4029-823c-35d6b128e5ff_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GoAZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff03c973b-11ec-4029-823c-35d6b128e5ff_1206x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GoAZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff03c973b-11ec-4029-823c-35d6b128e5ff_1206x720.jpeg" width="1206" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f03c973b-11ec-4029-823c-35d6b128e5ff_1206x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:93569,&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_!GoAZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff03c973b-11ec-4029-823c-35d6b128e5ff_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GoAZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff03c973b-11ec-4029-823c-35d6b128e5ff_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GoAZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff03c973b-11ec-4029-823c-35d6b128e5ff_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GoAZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff03c973b-11ec-4029-823c-35d6b128e5ff_1206x720.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">Obstacle: Chocolate Card.</figcaption></figure></div><p>Chocolate Card requires a card of the same suit to be cleared in order to be revealed.</p><div><hr></div><h2>Hold Slot</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;ac579624-09a9-4430-a1c8-6399512f78a9&quot;,&quot;duration&quot;:null}"></div><p><strong>In level 11,</strong> the hold slot game mechanic is introduced, allowing players to set aside the top card of the waste pile when needed. In the <strong>best-case scenario,</strong> this mechanic <strong>doubles the chance</strong> of matching a waste pile card with a board card compared to the classic approach.</p><p>The hold slot requires more attention and also encourages the use of the undo booster. It adds more strategic depth and increases enjoyment by allowing for more consecutive card clearance from the board.</p><p>After getting used to the hold slot, other tripeaks solitaire games feel a bit sluggish in gameplay compared to <em>Candy Crush Solitaire.</em> I expect more upcoming games to incorporate a hold slot, and it&#8217;s highly likely we&#8217;ll see it introduced in existing games, at least as part of a special event with custom levels.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><h2>Special Level Types</h2><h3>1. Bonus Levels</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fF9N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdedec5cc-e846-495d-9204-cda7cbd08d0a_960x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fF9N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdedec5cc-e846-495d-9204-cda7cbd08d0a_960x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fF9N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdedec5cc-e846-495d-9204-cda7cbd08d0a_960x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fF9N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdedec5cc-e846-495d-9204-cda7cbd08d0a_960x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fF9N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdedec5cc-e846-495d-9204-cda7cbd08d0a_960x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fF9N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdedec5cc-e846-495d-9204-cda7cbd08d0a_960x720.jpeg" width="960" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dedec5cc-e846-495d-9204-cda7cbd08d0a_960x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:143213,&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_!fF9N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdedec5cc-e846-495d-9204-cda7cbd08d0a_960x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fF9N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdedec5cc-e846-495d-9204-cda7cbd08d0a_960x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fF9N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdedec5cc-e846-495d-9204-cda7cbd08d0a_960x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fF9N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdedec5cc-e846-495d-9204-cda7cbd08d0a_960x720.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">The first bonus level is introduced at level 9.</figcaption></figure></div><p>Bonus levels feature a red, casino-like table with coins scattered around, creating a luxurious, premium atmosphere. These levels are essentially the same as other levels, except there's no way to fail. They are also part of the main progression, so they cannot be skipped. As expected, no currency is required to play them. Other mechanics, such as the streak meter, pre-level, and in-level boosters, are also unavailable. Additionally, there are no blockers or power-ups. There are <strong>4 bonus levels</strong> until level 101.</p><p>Although they don&#8217;t seem very lucrative compared to regular levels at first glance while playing, after including the level cost, only about <strong>7.4% of regular levels</strong> are more profitable than an average bonus level based on the data collected.</p><h3>2. Hard Levels</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_MwH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37927e27-2774-4c45-a7a3-197db48cc827_1206x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_MwH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37927e27-2774-4c45-a7a3-197db48cc827_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_MwH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37927e27-2774-4c45-a7a3-197db48cc827_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_MwH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37927e27-2774-4c45-a7a3-197db48cc827_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_MwH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37927e27-2774-4c45-a7a3-197db48cc827_1206x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_MwH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37927e27-2774-4c45-a7a3-197db48cc827_1206x720.jpeg" width="1206" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/37927e27-2774-4c45-a7a3-197db48cc827_1206x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:160735,&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_!_MwH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37927e27-2774-4c45-a7a3-197db48cc827_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_MwH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37927e27-2774-4c45-a7a3-197db48cc827_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_MwH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37927e27-2774-4c45-a7a3-197db48cc827_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_MwH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37927e27-2774-4c45-a7a3-197db48cc827_1206x720.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>Hard levels are treated as part of the regular levels in this article, because there are no additional or missing mechanics, as seen in bonus levels. In the first 95 levels, there are <strong>12 hard levels</strong> in total, and <strong>6 of them</strong> are marked as <strong>super hard level.</strong></p><p>Purple color choice and skeleton pattern of the board create a cute villain atmosphere, which reminds me of the <em>Witch</em> character from <em>Clash Mini</em> by <em>Supercell.</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_!Z9dG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4111c620-39cc-4458-8c71-001a80a8507a_600x264.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z9dG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4111c620-39cc-4458-8c71-001a80a8507a_600x264.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Z9dG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4111c620-39cc-4458-8c71-001a80a8507a_600x264.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Z9dG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4111c620-39cc-4458-8c71-001a80a8507a_600x264.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Z9dG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4111c620-39cc-4458-8c71-001a80a8507a_600x264.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z9dG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4111c620-39cc-4458-8c71-001a80a8507a_600x264.jpeg" width="600" height="264" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4111c620-39cc-4458-8c71-001a80a8507a_600x264.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:264,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:57486,&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_!Z9dG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4111c620-39cc-4458-8c71-001a80a8507a_600x264.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Z9dG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4111c620-39cc-4458-8c71-001a80a8507a_600x264.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Z9dG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4111c620-39cc-4458-8c71-001a80a8507a_600x264.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Z9dG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4111c620-39cc-4458-8c71-001a80a8507a_600x264.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">Witch, Clash Mini by Supercell. Image reference: <a href="https://clashmini.fandom.com/wiki/Witch">Clash Mini Fandom.</a></figcaption></figure></div><p>Interestingly, there were other non-hard levels that were actually harder than these levels. However, when we look at the overall picture, hard levels (including super hard levels) are more difficult than the other regular levels on average. Here are some statistics that make it easier for you to understand:</p><ul><li><p><strong>Comparison of the average consecutiveness </strong>(max: 1, min 0) - A higher ratio means that more board cards can be collected consecutively before a new card is needed from the stockpile. 1 means that all board cards can be collected in a chain, while 0 means that each board card requires a new stockpile card.</p><ul><li><p><strong>Hard Levels:</strong>  0.54</p></li><li><p><strong>Non-hard regular levels:</strong> 0.63</p></li></ul></li><li><p><strong>Comparison of the average match probability of the stockpile cards</strong> (max: 1, min 0) - 1 means that any stockpile card opened will always match with a card on the board, while 0 means it will never match with a board card:</p><ul><li><p><strong>Hard Levels:</strong>  0.47</p></li><li><p><strong>Non-hard regular levels:</strong> 0.56</p></li></ul></li><li><p><strong>Comparison of the average number of booster uses </strong>(including all types of boosters):</p><ul><li><p><strong>Hard Levels:</strong>  2.6</p></li><li><p><strong>Non-hard regular levels:</strong> 1.6</p></li></ul></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_!xcLx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd60535e8-7b42-40f7-b96c-95844c447999_1206x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xcLx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd60535e8-7b42-40f7-b96c-95844c447999_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xcLx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd60535e8-7b42-40f7-b96c-95844c447999_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xcLx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd60535e8-7b42-40f7-b96c-95844c447999_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xcLx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd60535e8-7b42-40f7-b96c-95844c447999_1206x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xcLx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd60535e8-7b42-40f7-b96c-95844c447999_1206x720.jpeg" width="1206" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d60535e8-7b42-40f7-b96c-95844c447999_1206x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:124185,&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_!xcLx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd60535e8-7b42-40f7-b96c-95844c447999_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xcLx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd60535e8-7b42-40f7-b96c-95844c447999_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xcLx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd60535e8-7b42-40f7-b96c-95844c447999_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xcLx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd60535e8-7b42-40f7-b96c-95844c447999_1206x720.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">Hard Level Kit Offer.</figcaption></figure></div><p><em>Candy Crush Solitaire </em>also offers a Hard Level Kit offer just before super hard levels, as shown in the image above. It is a level specific pack, and it seems quite stingy in terms of content, as players are expected to use all in this level.</p><div><hr></div><h2>Other Mechanics</h2><h3>1. Streak Meter</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GNpb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed17dde-e31b-4cff-ac07-527eb5ba0730_1920x1440.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GNpb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed17dde-e31b-4cff-ac07-527eb5ba0730_1920x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GNpb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed17dde-e31b-4cff-ac07-527eb5ba0730_1920x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GNpb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed17dde-e31b-4cff-ac07-527eb5ba0730_1920x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GNpb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed17dde-e31b-4cff-ac07-527eb5ba0730_1920x1440.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GNpb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed17dde-e31b-4cff-ac07-527eb5ba0730_1920x1440.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eed17dde-e31b-4cff-ac07-527eb5ba0730_1920x1440.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:235863,&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_!GNpb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed17dde-e31b-4cff-ac07-527eb5ba0730_1920x1440.jpeg 424w, https://substackcdn.com/image/fetch/$s_!GNpb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed17dde-e31b-4cff-ac07-527eb5ba0730_1920x1440.jpeg 848w, https://substackcdn.com/image/fetch/$s_!GNpb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed17dde-e31b-4cff-ac07-527eb5ba0730_1920x1440.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!GNpb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feed17dde-e31b-4cff-ac07-527eb5ba0730_1920x1440.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">Streak Meter.</figcaption></figure></div><p>As is common in the tripeaks solitaire genre, streaks are also part of the levels, encouraging players to collect more cards consecutively by rewarding them. Although there are additional rules, such as collecting same color cards or collecting one red and one black card in a specific order, which double the rewards (coins, extra cards, and wild cards), simply collecting any numeric card without using the stockpile is also enough. After each successful streak, the next one begins with a higher requirement, which is expected to encourage players to use more boosters.</p><h3>2. Win Streak</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IOeg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233cee6-073a-4c5d-83fb-363e42ec1056_1206x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IOeg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233cee6-073a-4c5d-83fb-363e42ec1056_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!IOeg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233cee6-073a-4c5d-83fb-363e42ec1056_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!IOeg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233cee6-073a-4c5d-83fb-363e42ec1056_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!IOeg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233cee6-073a-4c5d-83fb-363e42ec1056_1206x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IOeg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233cee6-073a-4c5d-83fb-363e42ec1056_1206x720.jpeg" width="1206" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8233cee6-073a-4c5d-83fb-363e42ec1056_1206x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86849,&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_!IOeg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233cee6-073a-4c5d-83fb-363e42ec1056_1206x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!IOeg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233cee6-073a-4c5d-83fb-363e42ec1056_1206x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!IOeg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233cee6-073a-4c5d-83fb-363e42ec1056_1206x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!IOeg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233cee6-073a-4c5d-83fb-363e42ec1056_1206x720.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">Win Streak.</figcaption></figure></div><p>When the Win Streak is active, additional boosters are automatically added to level. It means that booster use is not optional, and so it makes levels easier to complete. Win Streak aims to increase playtime while also boosting number of sessions because of the time-limited nature of the mechanic.</p><h3>3. Loss Aversion Popup</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Dyfo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70826280-00ce-4b4b-9080-78e8cad3e70e_1340x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dyfo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70826280-00ce-4b4b-9080-78e8cad3e70e_1340x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Dyfo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70826280-00ce-4b4b-9080-78e8cad3e70e_1340x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Dyfo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70826280-00ce-4b4b-9080-78e8cad3e70e_1340x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Dyfo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70826280-00ce-4b4b-9080-78e8cad3e70e_1340x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dyfo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70826280-00ce-4b4b-9080-78e8cad3e70e_1340x800.jpeg" width="1340" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70826280-00ce-4b4b-9080-78e8cad3e70e_1340x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1340,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:424759,&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_!Dyfo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70826280-00ce-4b4b-9080-78e8cad3e70e_1340x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Dyfo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70826280-00ce-4b4b-9080-78e8cad3e70e_1340x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Dyfo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70826280-00ce-4b4b-9080-78e8cad3e70e_1340x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Dyfo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70826280-00ce-4b4b-9080-78e8cad3e70e_1340x800.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>When a player wants to quit the game without completing a level, a loss aversion popup appears, showing the rewards the player will lose, something commonly seen in many other games, regardless of the genre.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><h2>Data Collection Methodology</h2><p>All statistics provided in this article were generated from data collected between Feb 6 and 8. The app version was 1.0.21, the platform was Android. The game was downloaded from Play Store TR. It should also be noted that there were ongoing A/B tests, as mentioned in the sections above, and it is highly possible that level configurations were also segmented. Thus, the collected data may not represent all groups.</p><p>The goal was to investigate how level difficulty is affected by level configurations that have a direct impact on the consecutive matching of cards, as well as how the hold slot affects the overall gameplay experience. This data was also used in the section about auto-level generation, which I believe is essential for level designers.</p><p>The data was collected from the first 95 levels. Although the target was 100 levels initially, level 95 was the first time I didn&#8217;t have enough coins and in-level boosters to complete the level, so I finalized the data collection there in order to stay within the time limits I decided at the beginning.</p><p>The following table displays the first 10 rows of the collected data. The first 8 columns are level configurations, while the other columns are derived from playing levels and so completely subjective.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/c7ynZ/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5964c8f1-2b4c-4b98-b0f8-d785432f9e44_1260x660.png&quot;,&quot;thumbnail_url_full&quot;:&quot;&quot;,&quot;height&quot;:600,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/c7ynZ/1/" width="730" height="600" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p>I followed the rules below while playing the levels:</p><ol><li><p>Do not use any pre-level boosters unless it is part of the tutorial, or due to the Win Streaks mechanic.</p></li><li><p>If there is no way to pass the level without using boosters:</p><ol><li><p>If there is enough coins, choose 5-Extra Cards over Wild and Hammer boosters.</p></li><li><p>If there aren't enough coins but Wild or Hammer boosters are available, use Wild first, then Hammer if needed.</p></li><li><p>If there are neither enough coins nor enough in-level boosters to pass the level, quit level and try again later (which is happened at level 95).</p></li></ol></li><li><p>Try to collect cards consecutively as much as possible by creating the longest chains:</p><ol><li><p>Use the hold slot as much as needed.</p></li><li><p>If more than one card matches the waste pile card, choose the one that forms the longest consecutive matches on the board.</p></li><li><p>Use Undo if a better move is missed by mistake.</p></li></ol></li></ol><h2>Important Concepts</h2><p>I believe that some clear definitions are necessary to understand the information I extracted from the data before we discuss the charts. While it is not possible to cover everything in just one article, here is the concepts which I believe you should have an idea.</p><h3>1. Consecutiveness of the Board Cards</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9gtI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a6c1dd-c89d-470f-83ad-d0af7a6f378d_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9gtI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a6c1dd-c89d-470f-83ad-d0af7a6f378d_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9gtI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a6c1dd-c89d-470f-83ad-d0af7a6f378d_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9gtI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a6c1dd-c89d-470f-83ad-d0af7a6f378d_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9gtI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a6c1dd-c89d-470f-83ad-d0af7a6f378d_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9gtI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a6c1dd-c89d-470f-83ad-d0af7a6f378d_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93a6c1dd-c89d-470f-83ad-d0af7a6f378d_1600x900.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;:128859,&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_!9gtI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a6c1dd-c89d-470f-83ad-d0af7a6f378d_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9gtI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a6c1dd-c89d-470f-83ad-d0af7a6f378d_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9gtI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a6c1dd-c89d-470f-83ad-d0af7a6f378d_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9gtI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a6c1dd-c89d-470f-83ad-d0af7a6f378d_1600x900.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">Consecutive matches.</figcaption></figure></div><p>How can we measure the fun of a tripeaks solitaire level? What&#8217;s the most engaging action a player can repeat that stimulates their positive emotions? It is obviously collecting cards consecutively, which is also the reason why the Wild card exists: to continue collecting cards without breaking the chain!</p><p>Consecutiveness of the board cards basically gives insight about how many cards can be collected from the board consecutively in the best-case scenario in any state.</p><p>As seen in the image above, collecting &#8220;K, Q, J, 10, 9, 8&#8221; respectively is the best solution we can achieve. We can say that number of consecutive matches is 5 for this example, because we are able to collect 5 more cards after collecting the &#8220;K&#8221;.</p><p>If we generalize the calculation and clamp it between 0 and 1, so that we can compare different levels:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;c_i = \\frac{N_{\\text{collected}, i} - 1}{N_{\\text{board}} - 1}&quot;,&quot;id&quot;:&quot;JBQISKLHYM&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>c</em> is the consecutiveness variable, <em>N_collected</em> is the number of collected consecutive cards and <em>i</em> represents the state of the level. We can easily calculate the average consecutiveness by using this formula. However, it is not practical enough, because it requires recording all states. Here is another approach I used in this article to calculate the average consecutiveness:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;c_{\\text{avg}} = \\frac{N_{\\text{board}} - (N_{\\text{groups}} + N_{\\text{hold}})}{N_{\\text{board}} - 1}&quot;,&quot;id&quot;:&quot;GYXZMUVKHP&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>c_avg</em> is the average consecutiveness variable of given level, <em>N_board</em> is the number of board cards, <em>N_groups</em> is the number of consecutively collected groups and <em>N_hold</em> is the number of times the hold slot is used.</p><p>Although this will be the topic of another post, this formula essentially measures the the ratio of matched connections based on the total number of connections (when we assume all cards can be collected consecutively) between board cards. Keep in mind that <em>N_board</em> doesn&#8217;t include blockers, such as Locked Cards, which cannot be collected.</p><h3>2. Match Probability of the Stockpile (Deck) Cards</h3><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;daf9563c-1b93-4ddd-aa98-af80349d484b&quot;,&quot;duration&quot;:null}"></div><p>As we discussed, consecutiveness is the number one factor driving engagement for a player. However, without matching with a waste pile card, there is no way to play the game.</p><p>Match probability of the stockpile cards is a good way to measure how likely a match is to occur with a board card. If you watch the video above, 10 stockpile cards are drawn, and only 2 of them match a board card. Thus, we can say that the match probability is 0.2 for this stockpile. If we generalize the calculation:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;p_{\\text{stockpile}} = \\frac{N_{\\text{match}}}{N_{\\text{drawn}}}\n&quot;,&quot;id&quot;:&quot;SGYQVITMTA&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em>p_stockpile</em> is the match probability of the stockpile, <em>N_match</em> is the number of matches and <em>N_drawn</em> is the number of stockpile cards drawn.</p><p>It is independent from hold slot use.</p><h3>3. Effect of the Hold Slot Use</h3><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;f1a993d8-ca1b-489a-9868-58733795e6f6&quot;,&quot;duration&quot;:null}"></div><p>As discussed in the &#8220;Hold Slot&#8221; section, hold slot use doubles the matching probability of waste pile card in the best scenario. In the video, the match probability of stockpile is given as 0.2. However, using the hold slot doubles the chance for the waste pile card, allowing the player to collect 4 cards instead of 2 from the board.</p><div><hr></div><h2>Charts</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w39x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1dd99f-7f5f-4f5a-9938-19f6fff29298_2737x1431.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w39x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1dd99f-7f5f-4f5a-9938-19f6fff29298_2737x1431.jpeg 424w, https://substackcdn.com/image/fetch/$s_!w39x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1dd99f-7f5f-4f5a-9938-19f6fff29298_2737x1431.jpeg 848w, https://substackcdn.com/image/fetch/$s_!w39x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1dd99f-7f5f-4f5a-9938-19f6fff29298_2737x1431.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!w39x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1dd99f-7f5f-4f5a-9938-19f6fff29298_2737x1431.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w39x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1dd99f-7f5f-4f5a-9938-19f6fff29298_2737x1431.jpeg" width="1456" height="761" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb1dd99f-7f5f-4f5a-9938-19f6fff29298_2737x1431.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:761,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:522917,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!w39x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1dd99f-7f5f-4f5a-9938-19f6fff29298_2737x1431.jpeg 424w, https://substackcdn.com/image/fetch/$s_!w39x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1dd99f-7f5f-4f5a-9938-19f6fff29298_2737x1431.jpeg 848w, https://substackcdn.com/image/fetch/$s_!w39x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1dd99f-7f5f-4f5a-9938-19f6fff29298_2737x1431.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!w39x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb1dd99f-7f5f-4f5a-9938-19f6fff29298_2737x1431.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">Cumulative booster consumption across levels.</figcaption></figure></div><p>I tried to avoid using boosters as much as possible except for the 5-Extra Cards booster, as shown in the chart. I used 50 5-Extra Cards, 12 Undo, 4 pre-level and 18 Wild and Hammer boosters in total.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HMuq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800afa0f-fc6c-413c-8557-a33cdd35b493_2736x1432.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HMuq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800afa0f-fc6c-413c-8557-a33cdd35b493_2736x1432.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HMuq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800afa0f-fc6c-413c-8557-a33cdd35b493_2736x1432.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HMuq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800afa0f-fc6c-413c-8557-a33cdd35b493_2736x1432.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HMuq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800afa0f-fc6c-413c-8557-a33cdd35b493_2736x1432.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HMuq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800afa0f-fc6c-413c-8557-a33cdd35b493_2736x1432.jpeg" width="1456" height="762" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/800afa0f-fc6c-413c-8557-a33cdd35b493_2736x1432.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:762,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:645464,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!HMuq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800afa0f-fc6c-413c-8557-a33cdd35b493_2736x1432.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HMuq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800afa0f-fc6c-413c-8557-a33cdd35b493_2736x1432.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HMuq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800afa0f-fc6c-413c-8557-a33cdd35b493_2736x1432.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HMuq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F800afa0f-fc6c-413c-8557-a33cdd35b493_2736x1432.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">Cumulative Coins Earned &amp; Spent</figcaption></figure></div><p>As seen in the above chart, the total coins earned across levels are always higher than the total coins spent. It is obvious that coins obtained from level completions are not sufficient to progress without coin rewards coming from meta layers. However, I can say that there are no paywalls in the first 95 levels, and IAPs are not mandatory to progress. Keep in mind that although I failed the first time at level 95 it was not because I didn&#8217;t have any boosters. The reason was that I was avoiding using pre-level boosters (which I had 25 of them) to measure the level difficulties, and I didn't have enough coins to use any in-level boosters.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Psnv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b29017-5b8a-4dcb-8d3a-f4c279bdfab1_2736x1157.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Psnv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b29017-5b8a-4dcb-8d3a-f4c279bdfab1_2736x1157.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Psnv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b29017-5b8a-4dcb-8d3a-f4c279bdfab1_2736x1157.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Psnv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b29017-5b8a-4dcb-8d3a-f4c279bdfab1_2736x1157.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Psnv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b29017-5b8a-4dcb-8d3a-f4c279bdfab1_2736x1157.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Psnv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b29017-5b8a-4dcb-8d3a-f4c279bdfab1_2736x1157.jpeg" width="1456" height="616" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/44b29017-5b8a-4dcb-8d3a-f4c279bdfab1_2736x1157.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:616,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:632072,&quot;alt&quot;:&quot;&quot;,&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Psnv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b29017-5b8a-4dcb-8d3a-f4c279bdfab1_2736x1157.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Psnv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b29017-5b8a-4dcb-8d3a-f4c279bdfab1_2736x1157.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Psnv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b29017-5b8a-4dcb-8d3a-f4c279bdfab1_2736x1157.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Psnv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44b29017-5b8a-4dcb-8d3a-f4c279bdfab1_2736x1157.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">Comparison of average number of stockpile cards based on level groups. All types of levels are included.</figcaption></figure></div><p>In this chart, calculated values represents the required amount of stockpile cards to complete the level without using any boosters. <em>Calculated (Max)</em> shows how many of them is needed if players doesn&#8217;t use the hold slot, and <em>Calculated (Min)</em> represents the minimum number required in best-case scenario when the hold slot is used. <em>Drawn</em> indicates how many cards are drawn from the stockpile to complete the levels. <em>Initially Given</em> is the number of stockpile cards given at the beginning of the level.</p><p>It seems that in the first 20 levels, the initially given stockpile cards are more than enough. For the remaining groups, it fluctuates between &#8220;nearly enough&#8221; and &#8220;not enough&#8221;, which makes booster use mandatory.</p><p>If you didn&#8217;t notice, although the Drawn cards are supported by the hold slot, they are much closer to the Calculated (Max) rather than the Calculated (Min). The main reason is that the number of hold slot uses is directly affected by the consecutiveness of the board.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZpCL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d3a25e-a03e-450e-82c1-dfc854456806_2737x1157.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZpCL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d3a25e-a03e-450e-82c1-dfc854456806_2737x1157.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZpCL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d3a25e-a03e-450e-82c1-dfc854456806_2737x1157.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZpCL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d3a25e-a03e-450e-82c1-dfc854456806_2737x1157.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZpCL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d3a25e-a03e-450e-82c1-dfc854456806_2737x1157.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZpCL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d3a25e-a03e-450e-82c1-dfc854456806_2737x1157.jpeg" width="1456" height="615" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/87d3a25e-a03e-450e-82c1-dfc854456806_2737x1157.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:615,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:343377,&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_!ZpCL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d3a25e-a03e-450e-82c1-dfc854456806_2737x1157.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZpCL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d3a25e-a03e-450e-82c1-dfc854456806_2737x1157.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZpCL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d3a25e-a03e-450e-82c1-dfc854456806_2737x1157.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZpCL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d3a25e-a03e-450e-82c1-dfc854456806_2737x1157.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">Comparison of average number of hold use based on level groups. All types of levels are included.</figcaption></figure></div><p>The best-case scenario for the hold slot would require an additional matching card on the board each time a waste pile card is matched and held, but this is not always possible.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hgev!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ff1c65e-ecb4-480d-8929-d76335982bcb_2737x1157.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hgev!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ff1c65e-ecb4-480d-8929-d76335982bcb_2737x1157.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hgev!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ff1c65e-ecb4-480d-8929-d76335982bcb_2737x1157.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hgev!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ff1c65e-ecb4-480d-8929-d76335982bcb_2737x1157.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hgev!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ff1c65e-ecb4-480d-8929-d76335982bcb_2737x1157.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hgev!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ff1c65e-ecb4-480d-8929-d76335982bcb_2737x1157.jpeg" width="1456" height="615" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ff1c65e-ecb4-480d-8929-d76335982bcb_2737x1157.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:615,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:449349,&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_!hgev!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ff1c65e-ecb4-480d-8929-d76335982bcb_2737x1157.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hgev!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ff1c65e-ecb4-480d-8929-d76335982bcb_2737x1157.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hgev!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ff1c65e-ecb4-480d-8929-d76335982bcb_2737x1157.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hgev!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ff1c65e-ecb4-480d-8929-d76335982bcb_2737x1157.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">Average consecutiveness and average match probability of the stockpile cards. Higher values lead to easier levels.</figcaption></figure></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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><hr></div><h2>Auto-Level Generation</h2><p>Until now, we have discussed different concepts that affect the difficulty of the levels, which is directly related to how much players will enjoy a level. In addition to what we've discussed, there are other elements that typically affect engagement, such as</p><ul><li><p>the average number of initial cards opened during gameplay</p></li><li><p>the placement of power-ups and blockers</p></li><li><p>the custom arrangement of cards to create a deterministic path when necessary</p></li><li><p>visual aesthetics of card placement</p></li></ul><p>etc.</p><p>These elements are already in my pocket to discuss in upcoming articles. However, in this section, we will focus <strong>solely on consecutiveness and match probability based on constrained randomization</strong> to experiment with auto-level generation.</p><h3>1. Constrained Randomization</h3><p>When we talk about randomness, we&#8217;re assuming a non-deterministic result, even though it will eventually converge to the expected result. As commonly given as an example, think about tossing a coin in a completely isolated environment. We can assume that heads will eventually come up 50% of the time in total, although we cannot predict how many times we should toss the coin to get this result.</p><p>Constrained randomization provides a solution to ensure that the probability of an outcome occurs within a given number of experiments. For example, if we decide to toss the coin twice, it guarantees 1 heads and 1 tails, while still keeping the randomness of the order.</p><p>If we come back to auto-level generation, I use constrained randomness for consecutiveness algorithm. The easiest way to apply constrained randomness is to define a group (block) size and occurrence value. For example, if there are 20 board cards, and the group size is set to 5 with 1 match per group:</p><ul><li><p>4 groups are observed.</p></li><li><p>There are 4 ways to place matching cards within a group (M: matching U: unmatching and 2 matching cards create 1 match):</p><ul><li><p>[M M U U U]</p></li><li><p>[U M M U U]</p></li><li><p>[U U M M U]</p></li><li><p>[U U U M M]</p></li></ul></li></ul><p>Note that I'm not interested with card types here, only the placement. Although it is possible to calculate the number of ways using combinations for this simple example, increasing the number of matching cards introduces extra steps to consider.</p><p>While additional rules can be defined to limit the max number of consecutive matching cards in a group, the underlying logic remains the same. In addition to this, we could also consider the number of matching cards instead of the number of matches, which are fundamentally different. However, I decided to use the number of matches in this article.</p><h3>2. Auto-Generated Level Examples</h3><p>In this section, the algorithm automatically decides the next revealing cards. This ensures that consecutiveness and match probability remain unaffected regardless of the player's strategy. Thus, the level designer can directly manipulate the cards and even create better solution paths without needing to worry about whether the level will be too easy or too hard.</p><h4>Example: 1</h4><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;1bec1863-e400-4339-9f7e-4c435cd9e4a7&quot;,&quot;duration&quot;:null}"></div><p><strong>Total number of cards:</strong> 24</p><ul><li><p><strong>Hold slot use:</strong> Not Allowed</p></li><li><p><strong>Consecutiveness (board cards):</strong></p><ul><li><p><strong>Group size:</strong> 2</p></li><li><p><strong>Number of matches per group:</strong> 0</p></li></ul></li><li><p><strong>Match probability (stockpile cards):</strong></p><ul><li><p><strong>Group size:</strong> 1</p></li><li><p><strong>Number of matching cards per group:</strong> 1</p></li></ul></li></ul><p>As shown in the video, a total of 24 stockpile cards are drawn as expected. Since the consecutiveness is zero, each board card requires 1 new stockpile card.</p><h4>Example: 2</h4><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;f7899905-2fa9-415e-960d-c5c608266aed&quot;,&quot;duration&quot;:null}"></div><p><strong>Total number of cards:</strong> 24</p><ul><li><p><strong>Hold slot use:</strong> Allowed</p></li><li><p><strong>Consecutiveness (board cards):</strong></p><ul><li><p><strong>Group size:</strong> 2</p></li><li><p><strong>Number of matches per group:</strong> 0</p></li></ul></li><li><p><strong>Match probability (stockpile cards):</strong></p><ul><li><p><strong>Group size:</strong> 1</p></li><li><p><strong>Number of matching cards per group:</strong> 1</p></li></ul></li></ul><p>Hold use is allowed this time, and the rest of the configurations are the same as in Example 1. If we calculate the max and min number of stockpile cards required, we can see it should be between 24 and 12. If you watch the video, you'll notice that it's actually 15 and hold slot use is 9.</p><h4>Example: 3</h4><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;78f0507d-62be-44d3-baec-b9342a90646c&quot;,&quot;duration&quot;:null}"></div><p><strong>Total number of cards:</strong> 24</p><ul><li><p><strong>Hold slot use:</strong> Not Allowed</p></li><li><p><strong>Consecutiveness (board cards):</strong></p><ul><li><p><strong>Group size:</strong> 6</p></li><li><p><strong>Number of matches per group:</strong> 2</p></li></ul></li><li><p><strong>Match probability (stockpile cards):</strong></p><ul><li><p><strong>Group size:</strong> 1</p></li><li><p><strong>Number of matching cards per group:</strong> 1</p></li></ul></li></ul><p>The total number of stockpile cards drawn is 18, while the calculated value is 16, but they are close enough.</p><h4>Example: 4</h4><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;41c87a85-c5ce-42f2-8acc-a9c584088a00&quot;,&quot;duration&quot;:null}"></div><p><strong>Total number of cards:</strong> 24</p><ul><li><p><strong>Hold slot use:</strong> Allowed</p></li><li><p><strong>Consecutiveness (board cards):</strong></p><ul><li><p><strong>Group size:</strong> 6</p></li><li><p><strong>Number of matches per group:</strong> 2</p></li></ul></li><li><p><strong>Match probability (stockpile cards):</strong></p><ul><li><p><strong>Group size:</strong> 1</p></li><li><p><strong>Number of matching cards per group:</strong> 1</p></li></ul></li></ul><p>In this example, I kept the same configurations as in Example 3, but allowed the use of the hold slot. In total, the hold slot was used 6 times, and the total number of stockpile cards drawn is 9, which is very close to the minimum calculated value of 8.</p><div><hr></div><p>So, that&#8217;s all folks! I think that&#8217;s enough for this post. We covered a lot of game mechanics, statistics, and finally explored how we could auto-generate levels. I hope you enjoyed!</p><p>See you next time!</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://applied.gamesystem.design/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">Subscribe for upcoming system design articles and free game design resources!</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></channel></rss>