<?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"><channel><title><![CDATA[SPECTR Development Notes]]></title><description><![CDATA[SPECTR Development Notes]]></description><link>https://spectr-devlog.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6ae5e7e8547ddc5d64388f12/a9d4284a-7e43-4106-84e4-896bb71c3c42.png</url><title>SPECTR Development Notes</title><link>https://spectr-devlog.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 10:14:41 GMT</lastBuildDate><atom:link href="https://spectr-devlog.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Following a shard through an incremental game's economy]]></title><description><![CDATA[A Godot incremental economy case study: physical resource flow, collection, one credit operation and reset progress that survives purchases.]]></description><link>https://spectr-devlog.hashnode.dev/following-a-shard-through-an-incremental-game-s-economy</link><guid isPermaLink="true">https://spectr-devlog.hashnode.dev/following-a-shard-through-an-incremental-game-s-economy</guid><category><![CDATA[Game Development]]></category><category><![CDATA[Godot]]></category><dc:creator><![CDATA[WebDealer - WebStudio&Hosting comp.]]></dc:creator><pubDate>Sat, 31 Oct 2026 13:49:29 GMT</pubDate><content:encoded><![CDATA[<p><em>A design and implementation case study from SPECTR: Rekindle the World, by Yuri Gala.</em></p>
<p>A hit on the central crystal produces a small burst of physical shards. The player can move the Spark, a living cursor, to collect them. Machines gradually take over extraction and collection. That gives a resource a short, visible journey before it reaches the player's balance.</p>
<p>The interesting implementation boundary is the moment that journey becomes credited income. A production rate, an object moving through the scene, a spendable balance and progress towards the next reset each answer a different question. Keeping those states separate helps describe what a machine actually does and which part of the economy a purchase improves.</p>
<p>This article follows that separation in the current implementation of <strong>SPECTR</strong>, a 2D incremental game built with Godot.</p>
<img src="https://spectr-presskit.frosty-gleam-5228.chatgpt.site/assets/ashes-preview.jpg" alt="The Core and the opening production system in SPECTR" style="display:block;margin:0 auto" />

<p><em>The Core and the opening production system.</em></p>
<h2>Give each stage a clear job</h2>
<p>The opening loop contains three distinct operations:</p>
<pre><code class="language-text">create a shard in the world
        ↓
collect or deliver its value
        ↓
credit resources and record earned progress
</code></pre>
<p>A producer affects the first stage. A collector or drone helps with the second. The player spends the credited balance on purchases that change the system.</p>
<p>That distinction makes the choice between machines concrete. More production increases the available output; collection determines how the physical flow is gathered. Watching shards around the Core gives the player information alongside the purchase list.</p>
<p>It also creates a communication responsibility. A number describing production cannot explain every detail of received income by itself. Collection, temporary effects and later progression rules still matter. A transport capacity value should therefore not be presented as a universal cap on every source of income.</p>
<h2>Settle income in one place</h2>
<p>SPECTR uses a shared credit operation when value becomes income. After the applicable adjustments, the credited amount updates the spendable shard balance, the amount earned during the current run and the corresponding concentrate output from refinement.</p>
<p>The core accounting relationship can be illustrated like this:</p>
<pre><code class="language-text">on credited income:
    spendable balance += credited amount
    earned this run   += credited amount
    concentrate      += conversion of credited amount
</code></pre>
<p>This is a simplified model of the relationship, not a copy of the game's function or a complete formula for its modifiers.</p>
<p>Keeping the related changes together gives the economy one boundary to reason about. Collection by the Spark and delivery by an automated collector arrive at the same accounting stage. Refinement follows income that was credited; it does not need a second interpretation of how much the player received.</p>
<p>The practical question becomes: which event is allowed to settle this value? Creating a visual object, claiming it for delivery and paying it out are distinct events. Treating all three as income would count the same value more than once.</p>
<h2>Keep purchases separate from earned progress</h2>
<p>SPECTR's Resonance reset becomes available after enough income has been earned during a run. That accumulated amount is separate from the spendable balance.</p>
<p>Consider an illustrative account with 20 units earned and a purchase costing 15. The purchase leaves 5 to spend, while the run still records 20 earned. These numbers demonstrate the accounting distinction; they are not the game's opening prices or a balance recommendation.</p>
<p>That separation lets the player invest in production without moving an already reached reset threshold away. A purchase changes purchasing power and the system's future output. The earned-progress record tracks what the run has achieved. A Resonance then starts a new run and resets the run-specific economy while keeping the intended permanent progression.</p>
<p>The same distinction helps when explaining a progress bar. The underlying eligibility check can use accumulated earnings even when the interface presents progress on a scale chosen to make growth easier to read. A presentation change should not silently change the economic threshold.</p>
<img src="https://spectr-presskit.frosty-gleam-5228.chatgpt.site/assets/production.png" alt="Expanded production around the Core" style="display:block;margin:0 auto" />

<p><em>Expanded production after the second Resonance.</em></p>
<h2>Let automation change the route deliberately</h2>
<p>The physical opening loop does not mean every later reward must travel through a collector. The implementation includes direct-credit effects. One late upgrade routes part of production directly into income and reduces the corresponding physical production share.</p>
<p>That changes how automation feels while retaining the accounting boundary. The direct route still settles income through the shared credit operation. The economy needs to account for the split, so the same production is not also emitted at full value through the physical route.</p>
<p>Other rules affect shards already in the world. A collection upgrade can recover part of the value of an older grounded shard, and expiration has its own partial-credit rule. A shard being carried for delivery is excluded from that expiration payout. These are useful places to examine lifecycle ownership: a pending delivery and an expiry event must not both settle the same item.</p>
<p>These details also limit the advice that can be given to players. An uncollected shard invites attention to collection, but the relationship between visible objects and all income becomes more varied as upgrades open. A single bottleneck formula would flatten those differences.</p>
<h2>Use the world to explain the economy</h2>
<p>The purpose of this structure is visible in the opening scene. The player starts with an action, sees its output and completes a collection. A machine then takes over a recognisable part of that sequence. Automation has a job the player has already performed.</p>
<p>Later interactions add timing and coordination around the established loop: Heat, vines, beam connections and Alloy enter at different Resonance stages. Colour and life return to the valley as progression continues. The story reaches Dawn after five Resonances; optional collection goals and continued progression remain separate.</p>
<p>For a developer adapting this pattern, the useful questions are concrete: where is value created, which event settles it, what does a purchase spend, and which progress record should survive that purchase? Clear answers make the simulation, the interface and the explanation to the player easier to keep consistent.</p>
<p>SPECTR: Rekindle the World is a Windows game by Artificial Galka. <a href="https://spectr-presskit.frosty-gleam-5228.chatgpt.site/">Game information and existing media</a> and the <a href="https://store.steampowered.com/app/5392600/">Steam page</a> provide context for this case study.</p>
]]></content:encoded></item></channel></rss>