<?xml version="1.0" encoding="utf-8"?><rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0"><channel><title>Little Tiny Frogs with Brad Wardell</title><link>http://www.littletinyfrogs.com/</link><copyright>© 2006 - 2026 Stardock Corporation. All rights reserved.</copyright><description>Thoughts, opinions and news from Brad Wardell</description><language>en-us</language><pubDate>Mon, 21 Sep 2026 9:41:39 AM -0400</pubDate><lastBuildDate>Mon, 21 Sep 2026 9:41:39 AM -0400</lastBuildDate><docs>http://cyber.law.harvard.edu/rss/rss.html</docs><generator>Stardock Rss Generator v1.0</generator><managingEditor>info@stardock.com</managingEditor><webMaster>kwilas@stardock.com</webMaster><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/542472</comments><description><![CDATA[<h1>Attention is the new Currency Final</h1>
<p class="byline">Brad Wardell</p>
<p>This Labor Day I was finally able to stop and take a breath about how AI is going to affect the game industry.</p>
<p>Like many of you, I feel like AI news, content, and hype have permeated every aspect of my work and personal life. It's been relentless. And it's moving faster and faster. Is it overhyped? Maybe. But I think it's going to accelerate the death spiral of many game studios.</p>
<p>Below is a chart from the <a href="https://forums.littletinyfrogs.com/r?u=https%3A%2F%2Fgithub.blog%2Fnews-insights%2Fcompany-news%2Fan-update-on-github-availability%2F" rel="nofollow ugc noopener noreferrer">GitHub blog</a></p>
<p>Around December of 2025, a threshold was crossed: AI reached the point where it's better than most software developers, and the results have been predictable: Everyone can create "software" or something that looks a lot like it.</p>
<p><img><img loading="lazy"></p>
<p>Github is the canary in the coal mine. There is no barrier to entry to put an app on Github. The next obvious explosion of new content is going to be on Steam.</p>
<p>Here is what we are looking at.</p>
<p><img><img loading="lazy"></p>
<p>Now, this assumes no changes to policies on Steam. I could (and hope) for a scenario where endless low effort AI slop gets gated but that's a pretty significant burden to put on Valve. What determines "low effort AI slop"? Regardless, we're going to see an explosion of new titles on Steam that accelerates the trend we have already seen.</p>
<h2>Three Numbers</h2>
<p><strong>Three Numbers</strong> to pay attention to.</p>
<ol>
<li>The number of titles released</li>
<li>The number of titles that the market can realistically be paid attention to.</li>
<li>What percentile of the attention your game has to get to be successful</li>
</ol>
<p>As you will see in a moment, it'll be obvious why the AAA studios are already struggling.</p>
<p>Now, all three of these numbers are known.</p>
<ul>
<li>The first is public knowledge. You can look up how many game get released on Steam.</li>
<li>The second number is calculated by a well understood principle that goes by many names but we will use the square root attention curve. This is roughly how many of a given thing can get a reasonable amount of attention.</li>
<li>The third is just dividing the second by the first.</li>
</ul>
<p>There is also the Pareto distribution, broadly known as the 80/20 rule. A small group of things will get the vast majority of stuff.</p>
<p>Let's test it out with small numbers. You have 10 games. The square root of them is about 3. 3/10 = 30% of the games will get enough attention to make 80% of the profit and the other 7 games will fight over the last 20%. This isn't new and is well understood across every industry.</p>
<p>This formula works no matter the size of the set of things. It even works on things like words, letters, wealth distribution, pretty much anything. It's pretty weird actually.</p>
<h2>Putting the numbers in perspective</h2>
<p>So let's go back in time. The year is 2014. 1,700 games are released on Steam. That's the year Galactic Civilizations III went up on Steam. That year, 1,700 games were released on Steam. We only needed to be in the top 2.5% of games released that year to get most of the attention. And we did. It was great.</p>
<p>A year later, w. We released <a href="https://store.steampowered.com/app/507490/Ashes_of_the_Singularity_Escalation/" rel="nofollow ugc noopener noreferrer">Ashes of the Singularity</a> and <a href="https://store.steampowered.com/app/271240/Offworld_Trading_Company/" rel="nofollow ugc noopener noreferrer">Offworld Trading Company</a> and the situation had already gotten a lot tougher. The games both finished in the top 2.5% also but the situation had changed.</p>
<p>Because that year 4,600 games were released. Now you had to be in the top 1.5%. Top 2.5% didn't make the cut now. As a result, neither did anywhere near as well as Galactic Civilizations III.</p>
<p>Now, the big studios, they are designed to be in the top 1%. ou might even say their entire business model was predicated on being in that top 1%.</p>
<p>Make a good game, use existing distribution and marketing clout and it was a pretty safe bet.</p>
<h2>Covid</h2>
<p>Covid is what ultimately killed the game industry as we know it. While 10,000 games were released in 2020, being just outside the top 1.0% of games was still viable because of the temporarily inflated size of the overall pie. But the costs of games skyrocketed due to decision makers only looking at the overall size of the pie and not understanding that the pie was going to be eaten almost exclusively by that top 1.0%.</p>
<h2>Now let's go to last year. 2025</h2>
<p>21,000 games were released on Steam. The pie size had returned to what you'd expect and you have to be in the top 0.70% of games.</p>
<p>A solid game and a GameCom visit and a Video Game Awards announcement isn't enough. Combine that with the cost increases and you have a serious problem. Try it for yourself right now.</p>
<p>Can you name 5 games that were featured at GamesCom? It was only a month ago. We only have finite attention to give. And so many things are competing for that attention. And to drive the point home, I can name 5 games from 1997 that you probably know of too.</p>
<ol>
<li>Golden Eye</li>
<li>Fallout</li>
<li>Grand Theft Auto (the original)</li>
<li>Age of Empires</li>
<li>Ultima Online</li>
</ol>
<p>And as a bonus, the greatest game made in human history by the God King Chris Taylor, Total Annihilation.</p>
<p>But in 1997 there were only ~400 games released that year. That means 1 out of 20 games released that year was a hit (sorry Stardock, <a href="https://archive.stardock.com/products/ent/ent.html?irclickid=VcpRL%3ATWCxyZR9XUqTXNC2fFUkrzy60hw2OU1E0&amp;irgwc=1&amp;afsrc=1&amp;irclickid=VcpRL%3ATWCxyZR9XUqTXNC2fFUkrzy60hw2OU1E0&amp;irgwc=1&amp;afsrc=1" rel="noopener noreferrer">Entrepreneur</a> and <a href="https://archive.stardock.com/products/links/?irclickid=VcpRL%3ATWCxyZR9XUqTXNC2fFUkrzy6xZw2OU1E0&amp;irgwc=1&amp;afsrc=1&amp;irclickid=VcpRL%3ATWCxyZR9XUqTXNC2fFUkrzy6xZw2OU1E0&amp;irgwc=1&amp;afsrc=1" rel="noopener noreferrer">Links Golf</a> for OS/2 didn't make the cut and our StarCraft expansion wouldn't be released until 1998.) But the crazy thing was that those games still did pretty well for us because while the pie has grown massively since 1997 I'm not sure it's grown by a factor of 50.</p>
<h2>The Coming AI Deluge</h2>
<p>So what happens when there's 40,000 games released a year? As I mentioned, attention is well understood in terms of how many things people can pay attention to.</p>
<p><img loading="lazy"></p>
<p><img src="https://cdn.stardock.us/forums/0/0/1/97264f03-1fe1-4ed7-95f8-6480a06903ef.png" loading="lazy"><img loading="lazy"></p>
<p>The square root of 40,000 is only 200.</p>
<p>So 200 make most of revenue and the other 39,800 fight over the last 20%? Right? That's a scary situation. But it's actually a lot worse than that because I've been leaving out another factor that's changed since 2014.</p>
<p>Games are no longer competing against just new releases. They are competing against every game that has ever been made. So it's not 40,000. It's It's 40,000 + all the other games on Steam. There's about 100,000 titles on Steam. Only the top 0.3% of them will get paid attention to.</p>
<p>And this discounts the attention give to other platforms that have exploded since 2014 like Roblox, emulation, MiSTer, mobile, back catalogs released on consoles, etc.</p>
<h2>What's your backlog?</h2>
<p>This is a safe place, you can share it in the comments. Attention now matters so much more than any other consideration. Any game that has ever gotten attention has a massive advantage over the new IP that now has extremely low odds of winning some.</p>
<h2>The Game Industry is dead, long live the game industry</h2>
<p>What I've written here is already known by executives at the major studios and publishers. You can see it in their actions. The vast majority of large game studios are going to be going away in the next couple of years. There is nothing that can be done. They were built on a model that no longer exists.</p>
<p>On July 6, Xbox CEO Asha Sharma reported that for every $100 they invested they only saw $36 back. Think about that.</p>
<p>The business model that was built on the assumption that if you did A, B, and C that you could make a 30% margin because your new game would be in the top 1% of title sales that year is now gone.</p>
<h2>So what is going to happen?</h2>
<p>Let me walk you through what is going to happen over the next 36 months: The big IP holders are going to start licensing their titles to the next-generation of game studios. These will be tiny independent studios around the world and they will mostly use AI. Not so much for the art (one of the big ironies is that writers and artist are much safer than us poor engineers and producers) but for the overall production.</p>
<p>Using <a href="http://www.clairvoyanceai.com/" rel="noopener noreferrer">Clairvoyance</a>, I could make Galactic Civilizations III, but much better, by myself, in about a year. I'd contract the art and can do the writing myself (my favorite part). Now, get a little more than a half dozen people armed with it and you can output some amazing stuff.</p>
<p>So what's going to happen is that any IP that has reasonable attention, especially classic games, is going to be very valuable. They will get licensed. This isn't a new concept but the risk/reward ratio has drastically changed.</p>
<p>The flagship franchises won't be handled this way but think of all your favorite games from the past that would benefit from a AAA quality make over. Because they already have some attention to start with it's purely a matter of cost.</p>
<p>As someone who has developed a lot of new IP over the years, this trend doesn't exactly make me excited...</p>
<p>...on the other hand, I do look forward to the remake of Mail Order Monsters.</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/542472/attention-is-the-new-currency-for-pc-gaming</guid><link>https://littletinyfrogs.com/article/542472/attention-is-the-new-currency-for-pc-gaming</link><pubDate>Fri, 18 Sep 2026 3:40:06 AM -0400</pubDate><pubDateParsed>2026-09-18T03:40:06-04:00</pubDateParsed><title>Attention is the new currency for PC Gaming</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/542434</comments><description><![CDATA[<p></p>
<p>I've taken the deep dive into local AI so you don't have to.</p>
<p>My feed is filled with local AI stuff. There's a lot of "boy who cried wolf" feeling around it because I hear claims and then only later you find out they were running on $100k of hardware. For that I could subscribe to Claude Max, Codex Pro and Grok Super Heavy Build for decades.</p>
<p>What I really wanted to know is what hardware can do what. What were the real limitations and what they could really do. And so I dug in. And now, you can benefit from that journey. And yes, I use em-dashes — a lot. They're mine. AI can't claim them.</p>
<h2>Part 1: The AI Models</h2>
<h3>AI Parameters: 2B, 3B, 9B, 27B for fun and profit</h3>
<p>When you see a model called "Llama 8B" or "Gemma 27B," the number is its <strong>parameter count</strong>, the number of learned weights inside the neural network, in billions. Parameters are, roughly, the model's capacity to know things and reason about them.</p>
<p>Rough breakdown by size:</p>
<ul>
<li><strong>~1B and under</strong>: Autocomplete with hallucinations of grandeur. Fine for classification, summarizing a paragraph, simple formatting tasks.</li>
<li><strong>2B–4B</strong>: Genuinely conversational. Can follow instructions, answer general questions, and with careful prompting, do simple tool use. This is the sweet spot for phones and NPUs.</li>
<li><strong>7B–9B</strong>: The workhorse class. Decent general knowledge, can follow multi-step instructions, handles light agentic work (call a tool, read the result, respond).</li>
<li><strong>13B–30B</strong>: Where local models start feeling like "real" AI. Better judgment, fewer hallucinations, can recover from their own mistakes mid-task.</li>
<li><strong>70B+</strong>: Approaching frontier-model territory, but you need serious hardware. Think a Mac Studio with 128GB of unified memory or a multi-GPU rig, not a laptop.</li>
</ul>
<p>Parameter count also affects <em>speed</em>, not just smarts. Every single token the model generates requires reading essentially <strong>all</strong> of the parameters from memory. A 27B model isn't just smarter than a 3B model, it's also about 9x more work per word. Keep that in mind; it becomes a big deal when we start thinking about what you can do in real-time vs. what you should schedule out.</p>
<h3>Quantization</h3>
<p>Models are trained in 16-bit precision. An 8B model at 16 bits per parameter is 16GB just for the weights.</p>
<p>Think of it like graphics formats. 16-bit precision is like a bitmap. No one, anymore, sends a .BMP in email.</p>
<p><strong>Quantization</strong> is lossy compression for neural networks: store each weight in 8, 5, or 4 bits instead of 16. So it's like taking that BMP and turning it into a JPEG. At 8-bit quantization it's essentially the same as the original uncompressed version. At 4-bit it's lost some but probably not enough to matter other than in benchmarks. Below that and it starts to get pretty bad. 4-bit is generally the sweet spot.</p>
<h3>The alphabet soup: Q4_0, Q4_K_M, Q8_0, IQ4_NL</h3>
<p>Quantization also has many ways of doing it. Just like there's a ton of graphic formats there's a ton of ways of quantizing these models, each with their own trade-offs.</p>
<p>In my experience, I tend to focus on MLX (for Mac hardware), the ones that NVIDIA likes, and the ones that NPUs from Qualcomm and others will like.</p>
<p>A sampling:</p>
<ul>
<li><strong>Q8_0</strong>: 8-bit. Nearly lossless, twice the size of 4-bit. Worth it only for small models where the size doesn't hurt (a 0.6B model at Q8 is under 1GB, so why not).</li>
<li><strong>Q4_K_M</strong>: the modern 4-bit "K-quant." Smarter allocation of bits (important layers get more precision). Usually the best quality per gigabyte, and the default recommendation <em>on CPUs and GPUs</em>.</li>
<li><strong>Q4_0</strong>: the original, simplest 4-bit format. Slightly worse quality than Q4_K_M, but its plain block layout is what specialized hardware paths are built for. On ARM CPUs and NPUs, Q4_0 is often dramatically <strong>faster</strong> than Q4_K_M because the fast kernels only speak Q4_0.</li>
<li><strong>IQ4_NL</strong>: a newer 4-bit format using a non-linear codebook. Great quality, but hardware support is spottier.</li>
</ul>
<p><strong>The format has to match the hardware.</strong> In our own testing, the same 4B model ran at 37 tokens/second as Q4_K_M on CPU but collapsed to 14 when routed to the NPU, because the NPU path couldn't handle K-quants and fell back to a slow path. Same model, same computer, same "4-bit," 2.5x difference. This is the single most common way people accidentally sandbag their local AI setup. This is why it's still a headache and programs like <a href="http://www.clairvoyanceai.com" rel="noopener noreferrer">Clairvoyance</a> are exploding in popularity — they just take care of this nonsense.</p>
<h2>Part 2: Hardware constraints</h2>
<h3>TOPS, NPUs, GPUs: the speed of thinking</h3>
<p>Chip vendors advertise <strong>TOPS</strong>, trillions of operations per second. A Copilot+ certified laptop's NPU claims 40–80 TOPS; an RTX 4090 delivers over 600. You'd think a 45-TOPS NPU runs AI at some meaningful fraction of a 4090's speed.</p>
<p>It does not.</p>
<p>There are two very different phases when a model responds to you:</p>
<ol>
<li><strong>Prefill</strong>: reading your prompt. This can be done in parallel so GPUs and NPUs do great here.</li>
<li><strong>Decode</strong>: writing the answer. Tokens come out one at a time, and each one requires streaming the entire model through memory again. TOPS are nearly irrelevant; <strong>memory bandwidth is everything</strong>.</li>
</ol>
<p>So a laptop NPU can read and understand a full article of text in half-a-second. But actually commenting on it is limited by the memory bandwidth which might take a minute.</p>
<h3>RAM: system RAM, GPU VRAM, and unified memory</h3>
<p>The model has to live somewhere, whole, in fast memory:</p>
<ul>
<li><strong>Discrete GPU (VRAM)</strong>: Fastest option by far, but VRAM is scarce. A 12GB card fits a 9B comfortably or a 27B not at all. Spilling layers to system RAM works but every spilled layer runs at system-RAM speed.</li>
<li><strong>System RAM (CPU)</strong>: Plentiful and cheap (32GB fits anything you'd sanely run) but slow, see below.</li>
<li><strong>Unified memory (Apple Silicon, Snapdragon X, AMD Strix Halo)</strong>: CPU, GPU, and NPU share one pool. The great trick of a 128GB Mac is that all 128GB of it is available to the model at decent bandwidth, even though that bandwidth isn't remarkable on its own.</li>
</ul>
<p>Sizing rule of thumb: model file size + 20–30% for the working context. A 5GB Q4 model wants roughly 7GB free.</p>
<h3>Memory bandwidth: the often-ignored bottleneck</h3>
<p>Memory bandwidth predicts local AI decode speed better than any other spec:</p>
<table>
<thead>
<tr>
<th>Hardware</th>
<th>Memory bandwidth</th>
</tr>
</thead>
<tbody>
<tr>
<td>Typical laptop DDR5</td>
<td>~60–90 GB/s</td>
</tr>
<tr>
<td>Copilot+ certified laptop (LPDDR5X, shared)</td>
<td>~120–152 GB/s</td>
</tr>
<tr>
<td>Apple M5</td>
<td>~153 GB/s</td>
</tr>
<tr>
<td>Snapdragon X2 Elite Extreme (LPDDR5X, shared)</td>
<td>~228 GB/s</td>
</tr>
<tr>
<td>Nvidia DGX Spark (LPDDR5X, unified)</td>
<td>~273 GB/s</td>
</tr>
<tr>
<td>Apple M5 Max</td>
<td>~614 GB/s</td>
</tr>
<tr>
<td>Radeon RX 9070 XT (GDDR6)</td>
<td>~645 GB/s</td>
</tr>
<tr>
<td>RTX 4090 (GDDR6X)</td>
<td>~1,008 GB/s</td>
</tr>
<tr>
<td>RTX 5090 (GDDR7)</td>
<td>~1,792 GB/s</td>
</tr>
<tr>
<td>RTX PRO 6000 Blackwell (GDDR7)</td>
<td>~1,792 GB/s</td>
</tr>
<tr>
<td>These speeds make the difference between whether you should be doing a task in real time or be scheduling it.</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<p>One of the first things I realized is that my laptop of choice can run a 27B model just fine. It's just slow at doing it. But most of the work I need to do with AI is not real-time. The very first feature that I used in Clairvoyance was the scheduling. I have so many dashboards, crash reports, sentiment reports, sales data coming in that I just have it run overnight for me to look at in the morning. I used to have that on Claude and that stuff was costing me $100 a month in tokens. But a 27B model can do it exactly as well and at no cost as long as I schedule it.</p>
<h3>Diversion: Geek out on Hardware</h3>
<ul>
<li><strong>The RTX 5090 is the current consumer king.</strong> Nearly 1.8 TB/s means a 5GB model decodes at hundreds of tokens/second, and its 32GB of VRAM fits a 4-bit 27B with room to spare. If your goal is "fast local AI, money is no object," this is the answer. As of this writing, an RTX 5090 currently retails for a little over $4.6 trillion dollars.</li>
<li><strong>The RTX PRO 6000 Blackwell is the 5090's workstation sibling</strong>: same ~1.8 TB/s bus, but <strong>96GB of VRAM</strong>, enough to hold a 4-bit 70B (or an 8-bit 70B, barely) on a single card at full speed. It solves the problem two 4090s can't (see below), big model <em>and</em> big bandwidth in one memory pool, for roughly the price of a decent used car. The use case for us would be you'd park one of these on the rack and have several users on it running a 27B model in real time.</li>
<li><strong>The Nvidia DGX Spark is slower than you'd expect.</strong> It's marketed as an AI supercomputer for your desk, and for <em>capacity</em> it delivers. 128GB of unified memory fits models no consumer GPU can touch. But its 273 GB/s bandwidth is less than half an M5 Max, a quarter of a 4090. It runs <em>big</em> models acceptably; it does not run <em>any</em> model fast. You're buying capacity, not speed. There's a reason these are in stock at Microcenter. I'd just buy a Snapdragon X2 Elite Extreme or Mac M5 Max instead.</li>
<li><strong>AMD's Radeon RX 9070 XT at ~645 GB/s out-decodes every laptop and more than doubles the Spark</strong> at a fraction of the price. It's one of the best value plays in local AI, provided the model fits in its 16GB. A 4-bit 9B flies, a 4-bit 27B just squeaks in. The main issue here is the amount of RAM they put on it. Envision me shaking my fist at my friends at AMD. 16GB max? Why? Why did you do this?</li>
<li><strong>Two 4090s do not make a 2,000 GB/s machine.</strong> The usual way to split a model across two cards is by layers, half the network on each, and a token still passes through the layers <em>in sequence</em>, so each card sits idle half the time. What you actually buy with the second card is <strong>capacity</strong>: 48GB of VRAM, enough for a 4-bit 70B, at roughly single-4090 speed. (Tensor-parallel setups can claw back some speed, but that's server-software territory, not a checkbox.) Two mid-tier cards to "add up" bandwidth is a common and expensive misunderstanding. But 1000 GB/sec is no joke. 48GB of RAM handles that 27B model just fine.</li>
</ul>
<h3>Extra Detail Stuff</h3>
<p>The back-of-envelope math: decode speed ≈ bandwidth ÷ model size. A 5GB model on a 152 GB/s bus tops out around 30 tokens/second <em>no matter how many TOPS you have</em>, because generating each token means reading all 5GB. Our measurements land right on this line: 9B models at 4-bit decode at 21–23 tokens/second on a Copilot+ certified laptop whether we use the CPU, the NPU, or both.</p>
<p>This is also why we learned, the hard way, with a stopwatch, that <strong>routing big models to an NPU is pointless or worse</strong>. The NPU shares the same memory bus as the CPU, so it can't decode any faster, and its dedicated fast memory is tiny, so anything beyond roughly 3B parameters doesn't fit where the NPU is actually fast. Our working rule is now simply: <em>models over ~3B run on the CPU; the NPU is for small models and for prefill.</em> Small model on NPU: brilliant (a 3B doing a full task in 5.8 seconds). 9B on NPU: same speed as CPU at best, sometimes slower.</p>
<p><strong>Smaller models are proportionally faster</strong>, not just a little faster. Half the parameters, twice the tokens per second, on the same machine. Which brings us to what you should actually run.</p>
<h2>Part 3: Real world usage</h2>
<h3>The right model for the right task</h3>
<p>"Which model should I use?" is the wrong question until you've answered "for what?" Capabilities don't scale evenly with size. They arrive in tiers:</p>
<ul>
<li><strong>Chat and Q&amp;A</strong>: Works surprisingly far down. Look for a 3B model. That's your sweet spot for this. As soon as you go to 4B you max out the Copilot+ spec for memory bandwidth. TURN OFF thinking if the model supports it. You lose all the benefit of speed and a 3B model will never think itself into being smart.</li>
<li><strong>Tool use</strong> (the model calls functions: search, open a file, run a query): 9B. This is the "Edit this email" level.</li>
<li><strong>Agentic work</strong> (multi-step: search, read the result, decide, act again): Right now I would say 27B is the sweet spot. But a 13B model can do a lot of this and run real-time on an M5 Max level machine.</li>
<li><strong>Judgment</strong> (which of these is better? is this claim supported? did I make a mistake?): The last thing to emerge. In our sweeps, the 27B was the only model that went 3-for-3 on every configuration with clean <em>or self-correcting</em> tool use. It noticed its own errors and fixed them. That is a capability, and it doesn't compress. But this is only on newer 27B models.</li>
</ul>
<h3>Side Note: Thinking is not always a good idea</h3>
<p>Reasoning models, the ones that deliberate in a visible scratchpad before answering, look like the obvious way to buy quality without buying parameters. At the small end it backfires, and our own benchmark testing showed it was pretty terrible.</p>
<p>We ran our favorite 3B model (VibeThinker-3B) through the same find-and-display task as everything else here. With thinking nominally disabled, its reasoning training still leaked into the output: <strong>2,000–3,000 generated tokens per run, against roughly 70 for a conventional model on the identical task.</strong> At 43 tokens/second, that's about a minute of deliberation before the useful answer starts. End to end it took <strong>85–104 seconds</strong>, and it was unreliable. One run never called the tool at all. A conventional 9B, three times the parameters, finished the same task in a sixth of the time.</p>
<p>Then we gave it a prompt template that actually suppresses the deliberation. Same model, same hardware, same task: <strong>~56 generated tokens, 5.8 seconds end-to-end including a cold model load, and three successes out of three</strong> across CPU, hybrid, and NPU. It went from the worst configuration we had measured to the best one in the sweep. Thinking != Smarter.</p>
<p><strong>Below roughly 4B, turn thinking off.</strong> If a task genuinely needs deliberation, those tokens are better spent on a bigger model answering plainly. The 27B above did its self-correcting with thinking switched off. One distinction worth keeping straight: a model <em>distilled</em> from a reasoning model is not the same animal. The 4B distill in the same sweep emitted 155 tokens per task rather than 3,000, and was one of the fastest reliable configurations we measured.</p>
<h3>Time to first token</h3>
<p>The first speed you <em>feel</em> is the pause before anything appears. It's the sum of model load (if not already resident, loading 5GB off an SSD takes seconds) plus prefill of your prompt. This is where NPUs and GPUs matter. Now you know why that first "Hello" takes so long. It's basically booting the model.</p>
<h3>Prefill speed</h3>
<p>Measured in tokens/second of <em>input</em> processing, and the spread is huge: we've measured the same 3B model prefilling at 576 tok/s on CPU and 1,908 tok/s on the NPU. For chat, with short prompts, you barely notice. For anything agentic, where every turn re-feeds the growing conversation plus tool results, prefill speed compounds and quickly dominates. This is the legitimate use of that big TOPS number.</p>
<h3>Tokens per second (decode)</h3>
<p>The number everyone quotes, and the one that governs how it <em>feels</em> once text is flowing. Real measurements from a Copilot+ certified laptop, all 4-bit unless noted:</p>
<table>
<thead>
<tr>
<th>Model</th>
<th>Decode speed</th>
<th>Feels like</th>
</tr>
</thead>
<tbody>
<tr>
<td>0.6B (Q8)</td>
<td>~110 tok/s</td>
<td>Instant</td>
</tr>
<tr>
<td>3B</td>
<td>43–57 tok/s</td>
<td>Faster than you read</td>
</tr>
<tr>
<td>4B</td>
<td>~37 tok/s</td>
<td>Fast</td>
</tr>
<tr>
<td>9B</td>
<td>21–23 tok/s</td>
<td>Comfortable reading pace</td>
</tr>
<tr>
<td>27B</td>
<td>~8 tok/s</td>
<td>Watching someone type</td>
</tr>
</tbody>
</table>
<p>Note how cleanly it tracks model size. That's just the memory bandwidth ceiling from Part 2 showing up in practice.</p>
<h3>Real-world examples: 3B for chat, 9B for light tool use, 27B for real work</h3>
<p>Putting it all together, from our own benchmark sweeps (same task, find a document and display it, run across 35 hardware/model combinations):</p>
<ul>
<li><strong>3B on NPU</strong>: completed the entire task in <strong>5.8 seconds</strong> end-to-end, <em>including</em> starting the server and loading the model cold. Warm, the same turn takes 2.4 seconds. Reliable across every run. This is the "it just feels instant" tier, and it's what a modern AI laptop should be doing for quick tasks.</li>
<li><strong>9B on CPU</strong>: ~18–24 seconds for the same task. Noticeably more thoughtful answers, comfortable with tools, still fast enough that you don't context-switch away.</li>
<li><strong>27B on CPU</strong>: ~41 seconds. Slow enough that you go do something else, but it was the <em>only</em> model that never failed, and the only one that caught and corrected its own mistakes. For work where being wrong costs more than waiting, this is the one.</li>
</ul>
<p>So use the fast tier for things you're sitting there waiting on, and the slow one for things you hand off. Chat with the 3B, give the 27B a job and come back later.</p>
<p>And "real work" is not a euphemism anymore. The 27B in that benchmark is Qwen3.8-27B, released in mid-August 2026 under Apache 2.0, and its published numbers are the kind that would have been science fiction for a local model a year ago: 61.7% on SWE-Bench Pro and 70.7% on CoWorkBench, the latter <em>edging out</em> the 68.2% Alibaba reports for Claude Opus 4.6 Max, a frontier model. The pattern across independent write-ups is consistent: the 27B leads on agentic software-engineering benchmarks, while the frontier model keeps its lead on pure-knowledge tests (GPQA Diamond, Humanity's Last Exam) and raw terminal coding. Two caveats before you cancel anything: those are vendor-reported scores at full precision, and the 4-bit quant you'll actually run gives some of it back. But directionally, the gap between "toy" and "frontier" has collapsed to a benchmark-by-benchmark argument, for a model that fits on a gaming GPU.</p>
<h4>But how many tokens per second do we actually need?</h4>
<p>Useful anchors:</p>
<ul>
<li>People read at roughly 5 tokens/second (~250 words/minute). Anything above ~10 tok/s outruns your reading for chat.</li>
<li>For agentic work the bar is higher, because most generated tokens are tool calls and reasoning you never read. You're waiting on the <em>outcome</em>. There, 20+ tok/s is where waiting stops being painful, and below ~10 it's genuinely tedious.</li>
</ul>
<h5>What does Claude Code do, as a reference?</h5>
<p>For calibration against the frontier: Claude Code, Anthropic's agentic coding tool, running on datacenter hardware, typically streams output in the ballpark of <strong>50–100 tokens/second</strong>, varying with model and load. Now look back at the table: a 3B model on a laptop NPU decodes at 43–57 tok/s. A local model on a battery-powered machine matches the <em>typing speed</em> of a frontier system.</p>
<p>It does not fully match the <em>judgment</em>, though as the Qwen3.8-27B numbers above show, even that gap is now contested territory rather than a chasm. The frontier model still wins on breadth of knowledge and the hardest reasoning; the local model's advantage is that the tokens are free, private, and available on an airplane. The trick to being happy with local AI is the same as staffing anything: match the size of the mind to the size of the task. And what you can run on your own hardware keeps getting bigger faster than I expected it to.</p>
<h2>Conclusion</h2>
<p>Hopefully this has helped you get a handle on what local AI can and can't do. If you can run it locally, I recommend doing so. Easiest way, by far, is to download <a href="https://www.clairvoyanceai.com" rel="noopener noreferrer">Clairvoyance</a>. Once you get comfortable with that, you can branch out. I recommend Ollama and LM Studio.</p>
<p>Now, let's take a step back from the benchmarks for a moment and look at the trajectory. A year ago, running a useful model locally meant enthusiast hardware and a tolerance for pain. Today, a certified laptop you can buy at Best Buy answers in under six seconds, a gaming GPU runs a model that would have been considered frontier a few months ago.<br>It doesn't take a genius to figure out where things are going. Because make no mistake: There are diminishing returns on the benefit of AI for most people. Just as you don't need an airplane to drive to the store, you don't need a ChatGPT Fable 7 to put together the nightly inventory reports or software crash telemetry. Most use cases of Power BI can be handled now by these Local AI models if you pair them with something like Clairvoyance.</p>
<p>The challenge is going to be integrating these capabilities into an individual or enterprise's workflow stack.</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/542434/the-local-ai-primer</guid><link>https://littletinyfrogs.com/article/542434/the-local-ai-primer</link><pubDate>Tue, 15 Sep 2026 9:38:08 AM -0400</pubDate><pubDateParsed>2026-09-15T09:38:08-04:00</pubDateParsed><title>The local AI Primer</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/542235</comments><description><![CDATA[<p><span style="color: rgba(41, 42, 46, 1); font-family: Atlassian Sans, ui-sans-serif, -apple-system, BlinkMacSystemFont, Segoe UI, Ubuntu, Helvetica Neue, sans-serif"><h3>Elemental: Dev Journal - Late Game Optimization</h3><p local-id="15d32dbf33ff">We are in the exciting world of late game optimization. Got a saved game that was on turn 800. Anyone getting to that point in any 4X strategy game has found themselves in the &quot;there be dragons&quot; area of gameplay. In Elemental's case, of course, there are actual dragons.</p><span class="confluence-embedded-file-wrapper image-center-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-external-resource image-center" alt="image-1787159413505.png" width="600" src="https://www.clairvoyanceai.com/api/share/SE-JvW0VgmWI/images/5c27d0fb2a5dba435e6281f283edc056.png" data-image-src="https://www.clairvoyanceai.com/api/share/SE-JvW0VgmWI/images/5c27d0fb2a5dba435e6281f283edc056.png" loading="lazy"></span><p local-id="f59c26cb98f2">The first thing we wanted to look at was optimizing the loading of saved games. An 881 turn game has a lot to load so finding ways to cut down the time makes getting back into the game a lot more pleasant and makes having to undo a mistake a lot less painful.</p><p local-id="b2da9c519dac">I know a lot of players don't like the idea of being able to just go back to an autosave, but I will admit, if I've got 800 turns into a game and I accidentally lose my entire army, I'm probably going to want to load from a saved game.</p><h2 local-id="2743a6585fb5" id="Elemental:DevJournal-LateGameOptimization-Designingunits">Designing units</h2><p local-id="b5fe79cdadf3">One of the game's defining features is the fact that you can design your own units.</p><span class="confluence-embedded-file-wrapper image-center-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-external-resource image-center" alt="image-1787160003782.png" width="600" src="https://www.clairvoyanceai.com/api/share/SE-JvW0VgmWI/images/d3272a333cd3a9a593e15b7973f6a39d.png" data-image-src="https://www.clairvoyanceai.com/api/share/SE-JvW0VgmWI/images/d3272a333cd3a9a593e15b7973f6a39d.png" loading="lazy"></span><p local-id="ed3afc6f92be">At first, your units are fairly mundane but as the game progresses, you get access to more and more magical elements to really make these characters yours.</p><p local-id="e95da925fdba">This is an area I think we will probably want to highlight (most new players don't even realize that they can create their own units) as well as expand on with more customization options.</p><h2 local-id="6e4ab3711e16" id="Elemental:DevJournal-LateGameOptimization-NextUp">Next Up</h2><p local-id="58b5fcb50363">We've been quietly releasing small updates to address bugs and other issues that have come up. If you're a regular player, hopefully you've noticed things getting a lot more consistent in gameplay.</p><p local-id="81b37802f02f">If there's something you guys would like to see in the very near future let us know in the comments.</p></span></p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/542235/elemental-dev-journal-32---late-game-optimization</guid><link>https://littletinyfrogs.com/article/542235/elemental-dev-journal-32---late-game-optimization</link><pubDate>Thu, 20 Aug 2026 3:00:00 PM -0400</pubDate><pubDateParsed>2026-08-20T15:00:00-04:00</pubDateParsed><title>Elemental: Dev Journal #32 - Late Game Optimization</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/542139</comments><description><![CDATA[<div class="longform-unstyled" style="caret-color: rgb(0, 0, 0); color: rgba(0, 0, 0, 1); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0; text-transform: none; white-space: normal; widows: 2; word-spacing: 0; text-decoration-line: none; text-decoration-style: solid; font-size: 17px; line-height: 28px; margin-bottom: 28px; margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span><span>Chatting with AI to get feedback that you then paste somewhere else was a stopgap right up there with "prompt engineering". </span></span></div>
</div>
<div class="longform-unstyled" style="caret-color: rgb(0, 0, 0); color: rgba(0, 0, 0, 1); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0; text-transform: none; white-space: normal; widows: 2; word-spacing: 0; text-decoration-line: none; text-decoration-style: solid; font-size: 17px; line-height: 28px; margin-bottom: 28px; margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span><span>The end-game, which is almost here, is that users will direct their AI to produce something and it will do it. The complexity of that something will grow in time but we are long past pasting blocks of code.</span></span></div>
</div>
<div class="longform-unstyled" style="caret-color: rgb(0, 0, 0); color: rgba(0, 0, 0, 1); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0; text-transform: none; white-space: normal; widows: 2; word-spacing: 0; text-decoration-line: none; text-decoration-style: solid; font-size: 17px; line-height: 28px; margin-bottom: 28px; margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span><span>This increasingly obvious observation has no value unless it can translate into something real people can actually use. And it turns out, if you want AI to "produce something" it needs the tools to do it. A lot of tools. A massive, crazy amount of tools that it can use do to all the things.</span></span></div>
</div>
<div class="longform-unstyled" style="caret-color: rgb(0, 0, 0); color: rgba(0, 0, 0, 1); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0; text-transform: none; white-space: normal; widows: 2; word-spacing: 0; text-decoration-line: none; text-decoration-style: solid; font-size: 17px; line-height: 28px; margin-bottom: 28px; margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span><span>The good news, Clairvoyance is a thing. It has "all the things" in it already. Before OpenClaw or Hermes were a thing, Clairvoyance was already doing everything they could do and more at Stardock allowing us to do a crazy amount of production. </span></span></div>
</div>
<div class="longform-unstyled" style="caret-color: rgb(0, 0, 0); color: rgba(0, 0, 0, 1); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0; text-transform: none; white-space: normal; widows: 2; word-spacing: 0; text-decoration-line: none; text-decoration-style: solid; font-size: 17px; line-height: 28px; margin-bottom: 28px; margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span><span>Today we released version 0.83 of it. Let me outline *some* of what it already does. And, by the way, it's free.</span></span></div>
</div>
<div class="css-146c3p1 r-bcqeeo r-1ttztb7 r-qvutc0 r-37j5jr r-a023e6 r-rjixqe r-16dba41" style="font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: inherit; text-indent: 0; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0; text-decoration: none; background-color: rgba(0, 0, 0, 0); border: 0 solid rgba(0, 0, 0, 1); box-sizing: border-box; color: rgba(231, 233, 234, 1); display: inline; font-size: 15px; line-height: 20px; font-family: TwitterChirp, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Helvetica, Arial, sans-serif; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; list-style: none; margin: 0; padding: 0; position: relative; overflow-wrap: break-word; min-width: 0" dir="ltr">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span><span>Clairvoyance Today</span></span></div>
</div>
<ul class="public-DraftStyleDefault-ul" style="caret-color: rgb(0, 0, 0); color: rgba(0, 0, 0, 1); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0; text-transform: none; white-space: normal; widows: 2; word-spacing: 0; text-decoration-line: none; text-decoration-style: solid; counter-reset: item 0; margin-bottom: 28px; margin-top: 0; padding-left: 0">
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-reset public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>A staff of persistent AI agents</span></span><span><span> that retain memories of the workspaces they work in. I.e. They already build "second brains" and have since day one.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Multi-model agent orchestration. </span></span><span><span> An AI agent producer can, on its own, "hire" a Claude Code Opus 5 UI designer and a GPT 5.6 Terra engineer. You can tell it to do this too but it will do it on its own at its own discretion.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Universal resuming </span></span><span><span>of AI agent sessions across Claude, Codex, Cursor, Copilot, Grok and more. Run out of tokens on one? Resume with another. Oh and the session descriptions are summarized.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Built-in local AI model handling through a friendly GUI. </span></span><span><span>This includes a powerful local AI optimized harness and full tool-chain to let local AI actually do work and not be a chat bot demo.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Rich visual Direct Terminal. </span></span><span><span> You </span></span><span style="font-style: italic"><span>can</span></span><span><span> run in a classic terminal if you want. You an have a dozen terminals running together. And if you paste an image in it will automatically store it somewhere for you. And the terminal does allow you to orchestrate agents. But the gorgeous Direct Terminal can create interactive HTML blocks in chat. Imagine the best, more feature rich web based chat bot you've ever used and then you can imagine something that isn't even nearly as good as Direct Terminal. There is nothing remotely close. It can even tell you your Claude Code cache hit %.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Context compression and optimization </span></span><span><span>to reduce token use and increase agent intelligence. In order to do Direct Terminal we have to have total control of the context. This allows us jettison tool call noise output before it gets to the cloud. </span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>File Protection.</span></span><span><span> We can block agents from wiping out directories. Not through "hooks" but at the app level. </span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Multi-agent communication (@ other agents).</span></span><span><span> You can have a Fable 5 or other expensive agent just hanging around and do most of your work with say a GPT Luna agent and when something tough comes up, just say "Ask </span></span>
<div class="css-g5y9jx r-1loqt21 r-1471scf r-o7ynqc r-6416eg r-1ny4l3l" style="align-content: flex-start; align-items: stretch; background-color: rgba(0, 0, 0, 0); border: 0 solid rgba(0, 0, 0, 1); box-sizing: border-box; display: inline; flex-basis: auto; flex-direction: column; flex-shrink: 0; list-style: none; margin: 0; min-height: 0; min-width: 0; padding: 0; position: relative; text-decoration: none; z-index: 0; cursor: pointer; outline-style: none; transition-property: background-color, box-shadow; transition-duration: 0.2s"><a class="css-146c3p1 r-bcqeeo r-1ttztb7 r-qvutc0 r-37j5jr r-1inkyih r-rjixqe r-16dba41 r-1ddef8g r-tjvw6i r-1loqt21" dir="ltr" style="background-color: rgba(0, 0, 0, 0); border: 0 solid rgba(0, 0, 0, 1); box-sizing: border-box; color: rgba(231, 233, 234, 1); display: inline; font-style: normal; font-variant-caps: normal; font-weight: 400; font-size: inherit; line-height: inherit; font-family: inherit; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; list-style: none; padding: 0; position: relative; text-align: inherit; white-space: pre-wrap; overflow-wrap: break-word; cursor: pointer; min-width: 0; margin: inherit 0" href="https://x.com/@Fable" target="_blank" rel="nofollow ugc noopener noreferrer"><span><span>@Fable</span></span></a></div>
<span><span> to look at this." and they will put together a hand off.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>AI Task Scheduler. </span></span><span><span>This was one of our first features. Set schedules for agents to be spawned to do something. We use this to create Steam and Discord sentiment reports for us (i.e. who's mad today?) as well as for gathering crash reports and sending them to humans (or other agents) to look at.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>HomeDesk</span></span><span><span> with dozens of AI-enabled micro-apps (artifacts). Probably one of the most obvious features and yet still exclusive to Clairvoyance. A vast library of AI enabled widgets that live in their own space. You an also ask agents to create ones for you (so not just weather and stock tickers but things specific to your needs).</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Local-first storage of files</span></span><span><span>, exhibits, reports and other output, with the option to sync to the cloud. We don't want our stuff hosted by AI companies. When you link your stuff to an AI provider, you are just handing the the keys to your workflow and data to, at best, train on. If you think companies sharing your email address was bad, get ready for companies sharing your proprietary workflows. So nip that in the bud and keep your stuff local or on your own rack.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Full-featured Todo and Sprint system</span></span><span><span> that lets AI (and humans) plan out large projects and build them. Not just some Kanban board, a fully featured Todo/Task/Sprint system that the AI agents know how to use, comment on, and organize. No more having a big plan wasted because something went wrong half-way through. The sprint progress provides all the documentation and progress information.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Highly polished, feature-rich Markdown editor with Obsidian compatibility</span></span><span><span>, including .md, .base and .canvas file support. We love Obsidian. And its local-first philosophy will pay dividends to its users. We natively support all the file formats and users can point their workspaces as their Obsidian vaults.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Complete Canvas system with over a dozen templates,</span></span><span><span> including mind maps, flow charts, system architecture, org charts and more. Imagine your favorite flow charting or mind mapping app. Now imagine if your AI agents could just seamlessly work with it. As in, do everything in it that you can do. </span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Built-in presentation generation and storage.</span></span><span><span> If you've ever lost half-a-day making a Powerpoint presentation, you will love Exhibits. Tell your staff what you want, what data to know about and it'll make an Exhibit that will be polished and amazing and ready to be shared.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Seamless sharing of any file, anywhere. </span></span><span><span>No special directory. No hoops. Right click on a file, choose share, how you want to share it and you get a link. That C++ file in some project file you need someone to look at? No problem, right-click share it.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Remote control of desktop agents</span></span><span><span> from anywhere via a powerful but easy to use web interface. The morning doom scroll can be replaced with checking on what your agents have prepared for you and giving them instructions from your phone or iPad.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Powerful code editor with an integrated language server,</span></span><span><span> AI completions and a code observatory, built to support AI agent collaboration from the ground up. Not a fork of VS Code. Why have a code editor at all? The AI agents use them and anything they can do, we want you to be able to see what they're up to. Even our "subagents" live in their own windows so you can see what they're doing. The code editor is powerful, fully featured, lightning fast and there to make sure you can keep an eye on what the AI is doing.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Company-wide domains with built-in mailboxes </span></span><span><span>so agents can communicate with other agents at the company. Your agents can message other people in your company with news and information and they can be responded to by that person's agents with only the non-trivial things surfacing.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Integrated credentials vault that lets users direct agents to use MCPs and REST APIs with minimal effort. </span></span><span><span> No one enjoys having to type in some command line to get some MCP to work. But people do know how to add their credentials. No .env variables with your data in plain text.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Direct Control feature that lets AI agents build, run and playtest local applications</span></span><span><span> and iterate on them. You haven't lived until you look over and discover your AI agents playing Star Control. "They're testing".</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Rich database system with dozens of data viewer</span></span><span><span>s including Kanban, tables, budget manager, contact management and much more. AI is great at creating data. But without ways to filter and view it in useful ways, it's just noise. We fix that.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Deep token budget analysis </span></span><span><span>that shows users where every token was spent in a given session. Are you wasting tokens? Where is it going? How much are these MCPs using? </span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Seamless onboarding for the installation of Claude Code, Copilot, Codex and more from a friendly GUI. </span></span><span><span>Sure, you might know Winget or NPM but most people getting set up just want to press a button and have it. We do that.</span></span></div>
</li>
<li class="longform-unordered-list-item public-DraftStyleDefault-unorderedListItem public-DraftStyleDefault-depth0 public-DraftStyleDefault-listLTR" style="display: block; font-size: 17px; line-height: 28px; margin-bottom: 12px; margin-left: calc(30px); margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span style="font-weight: bold"><span>Integrated Clairvoyance AI harness that lets users work with multiple AI providers (Opus, GPT, etc.) with no setup.</span></span><span><span> Don't have Claude Code or Codex or don't use them enough to justify a subscription? No problem, Clairvoyance provides GPT 5.6, Opus, etc. with its own harness so you can get started doing real stuff right away.</span></span></div>
</li>
</ul>
<div class="longform-unstyled" style="caret-color: rgb(0, 0, 0); color: rgba(0, 0, 0, 1); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0; text-transform: none; white-space: normal; widows: 2; word-spacing: 0; text-decoration-line: none; text-decoration-style: solid; font-size: 17px; line-height: 28px; margin-bottom: 28px; margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span><span>And it's still in BETA! We have some really amazing things coming up. As Clairvoyance gets better we are able to improve it faster. </span></span></div>
</div>
<div class="longform-unstyled" style="caret-color: rgb(0, 0, 0); color: rgba(0, 0, 0, 1); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0; text-transform: none; white-space: normal; widows: 2; word-spacing: 0; text-decoration-line: none; text-decoration-style: solid; font-size: 17px; line-height: 28px; margin-bottom: 28px; margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span><span>These features are a prerequisite, and I'd argue only a fraction of the necessary ones, for us to fully move from chatting with AI agents to directing AI agents. What do you think?</span></span></div>
</div>
<div class="longform-unstyled" style="caret-color: rgb(0, 0, 0); color: rgba(0, 0, 0, 1); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0; text-transform: none; white-space: normal; widows: 2; word-spacing: 0; text-decoration-line: none; text-decoration-style: solid; font-size: 17px; line-height: 28px; margin-bottom: 28px; margin-top: 0">
<div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" style="overflow: hidden; padding-bottom: 0; padding-top: 0; position: relative; white-space: pre-wrap; direction: ltr; text-align: left"><span><span>You can download Clairvoyance here: </span></span>
<div class="css-g5y9jx r-1loqt21 r-1471scf r-o7ynqc r-6416eg r-1ny4l3l" style="align-content: flex-start; align-items: stretch; background-color: rgba(0, 0, 0, 0); border: 0 solid rgba(0, 0, 0, 1); box-sizing: border-box; display: inline; flex-basis: auto; flex-direction: column; flex-shrink: 0; list-style: none; margin: 0; min-height: 0; min-width: 0; padding: 0; position: relative; text-decoration: none; z-index: 0; cursor: pointer; outline-style: none; transition-property: background-color, box-shadow; transition-duration: 0.2s"><span><span></span></span><a href="http://www.clairvoyanceai.com/download" rel="noopener noreferrer">www.clairvoyanceai.com/download</a></div>
</div>
</div>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/542139/moving-from-chatting-with-ai-to-directing-it</guid><link>https://littletinyfrogs.com/article/542139/moving-from-chatting-with-ai-to-directing-it</link><pubDate>Sun, 13 Sep 2026 12:40:00 AM -0400</pubDate><pubDateParsed>2026-09-13T13:40:00</pubDateParsed><title>Moving from chatting with AI to directing it</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/542131</comments><description><![CDATA[<p>Greetings!</p>
<p>Version 0.83 of our new desktop manage for orchestrating AI agents to do work on your machine for you is now available.&nbsp; Here are some screenshots highlight the work.</p>
<p>First fun little thing:&nbsp; The common AI jobs artifact now includes a Game Maker.&nbsp; Just describe what you want, and it will go make it.</p>
<p><img src="https://cdn.stardock.us/forums/0/0/1/3a6b648b-5de3-4682-abd5-8a476ecbb803.png" alt="" width="578" height="313" loading="lazy"></p>
<p>&nbsp;</p>
<p>Next up is the main (and admittedly less sexy) attraction: Data management.&nbsp;&nbsp;</p>
<p>Some of you may be old enough to remember when IBM, Microsoft, and Apple were chasing the holy grail of "Information at your fingertips".&nbsp; IBM and Apple had Taligent, Microsoft had Cairo (WinFS).&nbsp;&nbsp;</p>
<p>The idea was to componentize things so that you could work on your data in a much more intelligent way rather than loading gigantic, bloated apps.&nbsp; As you probably can guess, by the huge apps you are stuck using today, this failed.</p>
<p>The reason componentized apps (OpenDoc, COM, OLE, etc.) failed was because the first step was that data had to have a rich "metadata" wrapper around it.&nbsp; Data had to know what could be done with it.&nbsp; And shockingly, it was expected that humans would do most of this classifying by hand.&nbsp; &nbsp;Unshockingly, they did not.</p>
<p>Now, fast-forward to 2026 where Windows search is still terrible. You have to remember whether the piece of data you need is in a Teams message, Sharepoint, OneDrive, Documents, some "appdata" thing, Dropbox, Google Drive, Slack, Discord, etc.&nbsp; &nbsp;&nbsp;</p>
<p>The problem isn't that that the data is spread out.&nbsp; The problem is that there is no nothing keeping track of this.&nbsp; That is where Clairvoyance comes in.</p>
<p>Now, on the surface, Clairvoyance might just look like a worldclass AI agent orchestrator that bundles a great mark-down editor, mindmap app and code editor.&nbsp; And it does do that.&nbsp; But those features are prerequisites for the main event:&nbsp; Total Information Awareness.</p>
<p>Clairvoyance doesn't run in the cloud. It's on your machine at your command.&nbsp; And it can use AI to catalog all your files and it doesn't care where they are located.&nbsp; That is the goal anyway.</p>
<p>The first step is getting that Metadata set up.&nbsp; &nbsp;Users create workspaces and order an agent to catalog it.</p>
<p><img src="https://cdn.stardock.us/forums/0/0/1/78cafd80-552f-4738-b65a-823211968933.png" alt="" width="556" height="301" loading="lazy"></p>
<p><img src="https://cdn.stardock.us/forums/0/0/1/95bcc6c7-739d-4195-b2d2-eb45d74131ac.png" alt="" width="470" height="600" loading="lazy"></p>
<p>So AI will go through your files and add the metadata.&nbsp; Here's an example.&nbsp; Now, the metadata isn't really for our benefit.&nbsp; It's for search and AI to be able to know the relationships for.</p>
<p>Version 0.83 of Clairvoyance also adds "Deep Search" which lets people find this stuff.</p>
<p><img src="https://cdn.stardock.us/forums/0/0/1/322be390-2729-4a9f-884e-9e838605fa11.png" alt="" width="527" height="285" loading="lazy"></p>
<p>At Stardock, most of our data is spread between Google Docs, Dropbox, OneDrive and Sharepoint.</p>
<p>So the goal here is to have agents classify all this stuff and then instantly find it.&nbsp; And I mean instant (because metadata is basically nothing compared to searching a file).&nbsp;</p>
<p>The tricky part has been and continues to be getting all the different types of files classified.&nbsp; For instance, Adobe Premiere has one way of doing it and Excel has a different way.&nbsp;&nbsp;</p>
<p>The benefits are speed, less memory usage, and great at finding your stuff.&nbsp;</p>
<p>It's a lot of unglamorous work, especially making sure that the local AIs are able to do this seamlessly for users (because most of you are probably a: Sick of hearing AI hype and b: uninterested in having to know what "parameters" and "quantize" and other terms mean).</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/542131/clairvoyance-083</guid><link>https://littletinyfrogs.com/article/542131/clairvoyance-083</link><pubDate>Thu, 06 Aug 2026 12:46:00 PM -0400</pubDate><pubDateParsed>2026-08-06T09:46:00</pubDateParsed><title>Clairvoyance 0.83</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/542065</comments><description><![CDATA[<p>Greetings!</p>
<p>Over the coming months you are going to see a gradual evolution to WinCustomize as we begin to feature more and more creations that were AI assisted.</p>
<p>We now have an application called <a href="https://www.clairvoyanceai.com/app/download?utm_source=wincustomize&amp;utm_medium=referral&amp;utm_campaign=newcustomization" rel="noopener noreferrer">Clairvoyance</a>&nbsp;that makes it easy for users to create all kinds of amazing things.&nbsp; &nbsp;We have made a gallery that is gradually being rolled out to the public:&nbsp;<a href="https://www.clairvoyanceai.com/gallery/" rel="noopener noreferrer">Exhibit Gallery</a>&nbsp; Everything you could do with DesktopX by hand can now be made by its successor, Clairvoyance.&nbsp;&nbsp;<br><br>Games. Widgets. Wallpapers. Cool visualizations. You name it.&nbsp; Here are a few of mine:</p>
<p><a href="https://www.clairvoyanceai.com/gallery/exhibit/the-meadow-of-wind" rel="noopener noreferrer">Meadow of the Wind</a></p>
<p><img src="https://cdn.stardock.us/forums/0/0/1/c7d91771-bd72-4b03-a8c8-0346860d606b.png" alt="" width="281" height="108"></p>
<p>Just a little open world meadow you can walk around in.</p>
<p>A frog simulator:<br><img src="https://cdn.stardock.us/forums/0/0/1/6dfa35ea-62be-4b38-8e7e-7a5c13077b1c.png" alt="" width="296" height="234"></p>
<p><a href="https://www.clairvoyanceai.com/gallery/exhibit/frog-pond-ecosystem" rel="noopener noreferrer">Frog Simulator</a></p>
<p><img src="https://cdn.stardock.us/forums/0/0/1/bdf4b7de-50a4-464b-a514-c1295020379c.png" alt="" width="303" height="167"></p>
<p><a href="https://www.clairvoyanceai.com/gallery/exhibit/sculptgl-3d-sculpting-tool" rel="noopener noreferrer">Little Sculptor</a><br><br>So come check it out.&nbsp; We'll be merging Clairvoyance stuff into WinCustomize asap.</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/542065/clairvoyance-gallery</guid><link>https://littletinyfrogs.com/article/542065/clairvoyance-gallery</link><pubDate>Fri, 04 Sep 2026 3:26:49 PM -0400</pubDate><pubDateParsed>2026-09-04T15:26:49-04:00</pubDateParsed><title>Clairvoyance Gallery</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/541963</comments><description><![CDATA[<p><span style="color: rgba(41, 42, 46, 1); font-family: Atlassian Sans, ui-sans-serif, -apple-system, BlinkMacSystemFont, Segoe UI, Ubuntu, Helvetica Neue, sans-serif"><h3>Elemental: Dev Journal - Growing Pains</h3><p local-id="f1bacdd994c9">June was pretty rough for this game. At some point, we don't know when, there was what we think was an OS update that slightly changed the way the game's audio system integrates with the OS, which resulted in what seemed to be (but weren't) random crashes.</p><p local-id="547b69bc05da">So what happened?</p><p local-id="109de3fc58d0">In the game there are WAV files and MP3 files, and previously, for the last 15 years anyway, if a file name had a typo or something the game would just silently fail and go to the next one. So a given sound effect or track of music would try to play, and if the file wasn't there or the file name was not the right case, it would either not play or just skip to the next track.</p><p local-id="72343fcbb1b7">But then in June this stopped being the case, and the game would either plain crash or the music would do something funky (like go into a loop) and then crash.</p><p local-id="dbb42c9dc387">This issue mostly happened if you were playing as one of the Empires. That's why there was some consternation in the forums and Discord, where someone would complain about random crashes and others would say &quot;well, it's rock solid for me.&quot; In truth, they were both right. If you were playing as the Kingdom, it probably worked. If you were playing as one of the Empires, you probably got crashes at seemingly random intervals.</p><p local-id="58945db8646b">To address this, we've been updating the game in two ways. First, we hardened the calls so they no longer rely on the underlying sound libraries to fail gracefully, for example when a file is named &quot;WarDrums.mp3&quot; on disk but referenced as &quot;Wardrums.mp3&quot; in XML. Second, we fixed a lot of the missing tracks, so if you play the game, especially as an Empire, you will probably hear a lot of sounds and tracks that are &quot;new&quot; but were always there.</p><p local-id="fc7df52483b4">Needless to say, it didn't help the game's review scores, and it's just another blip in the game's technical history of being a very big-scope game made by a lot of very young (back in 2008 anyway) developers.</p><h2 local-id="9847ad0f855a" id="Elemental:DevJournal-GrowingPains-Makingituptoplayers">Making it up to players</h2><p local-id="a388653249ef">So besides fixing the problem, we also moved up the release of some of the additional Sorcerer King quests. In version 1.3 you will see a lot of new quests.</p><span class="confluence-embedded-file-wrapper image-center-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-external-resource image-center" alt="image-1783615706568.png" width="690" src="https://www.clairvoyanceai.com/api/share/IB_vuu2nd8UW/images/0d05e4392c885dcee2b1e181a8ad78f2.png" data-image-src="https://www.clairvoyanceai.com/api/share/IB_vuu2nd8UW/images/0d05e4392c885dcee2b1e181a8ad78f2.png" loading="lazy"></span><p local-id="99e6a2273d26">We also moved up the release date of v1.3 from August into July. We expect to have a preview build up by the end of this week.</p><p local-id="49d9b9d62651">Version 1.3 has a loot balance pass across the board that we think players will like a lot. It also adds a new tactical battle tooltip that shows what effects, abilities, and tactical items a given unit has on them, so players can make better decisions about who to target. This feature has me excited because now I want to give bandits and other enemies interesting items to make use of (at least a health potion or the occasional scroll, for instance).</p><span class="confluence-embedded-file-wrapper image-center-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-external-resource image-center" alt="image-1783615746897.png" width="690" src="https://www.clairvoyanceai.com/api/share/IB_vuu2nd8UW/images/1ad159285bca384af3c43afb6e0c9239.png" data-image-src="https://www.clairvoyanceai.com/api/share/IB_vuu2nd8UW/images/1ad159285bca384af3c43afb6e0c9239.png" loading="lazy"></span><p local-id="d68d376a21d3">So there you have it. Once v1.3 is out, we'll be moving on to v1.4. Let us know in the comments what you'd like to see next.</p></span></p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/541963/elemental-dev-journal-31-growing-pains</guid><link>https://littletinyfrogs.com/article/541963/elemental-dev-journal-31-growing-pains</link><pubDate>Wed, 15 Jul 2026 8:46:32 AM -0400</pubDate><pubDateParsed>2026-07-15T08:46:32-04:00</pubDateParsed><title>Elemental: Dev Journal #31: Growing Pains</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/541657</comments><description><![CDATA[<p><p local-id="c96dbfc46df2">Treasures of the Magi is the first DLC for Elemental: Reforged. It adds a host of new items, armor, weapons, potions, and other gear, along with a handful of new lairs, quests, and monsters.</p><p local-id="ef40b11ce47a">Two of my favorite additions are the Mage Wands and the Shapeshifting Potions. But players will almost immediately notice the new items and lairs that help bring fresh life to the game, especially for those who previously played Fallen Enchantress.</p><p local-id="9604b0bc255a">While the general improvements coming with version 1.1 will probably get the most attention thanks to the major performance boost, along with broad improvements to balance, stability, AI, and overall polish, we think Treasures of the Magi will be something most players will really enjoy.</p><h2 local-id="25567edf9983" id="Elemental:DevJournal29:TreasuresoftheMagi-TheBackground"><strong>The Background</strong></h2><p local-id="4377cea22b32">We’ve discussed the history of Elemental before, but as a quick recap: the Elemental games - War of Magic, Fallen Enchantress, and Sorcerer King, which Reforged remasters - take place during the Third Age of Elemental, shortly after the Cataclysm. The world is beginning to recover, but civilization is still only barely returning. That’s why the land is filled with thugs, bandits, and other dangers; nature abhors a vacuum.</p><p local-id="5639d1854747">But the First Age of Elemental took place during the Age of the Magi. Before the Shards, magic permeated the world, and some people were especially gifted in wielding it. The most powerful of these became known as the Magi, and they crafted many incredible artifacts that were lost during the Cataclysm.</p><p local-id="f464e6bce306">When the Titans came, the Magi hid their Treasuress and placed them under the protection of their constructs: golems. Golems were something we always wanted to explore more deeply in the original games because they were such an important part of the setting’s backstory. Their role was somewhat akin to familiars in other fantasy worlds. They were a major part of Magi society and power.</p><p local-id="8b261bddebab">As a result, this expansion introduces many new golems, most of them guarding some of the game’s more powerful Treasuress.</p><p local-id="f240ed1b3799">By the time of the Fallen Enchantress, upheaval across the world has caused some of the vaults lost during the Cataclysm to become accessible once again.</p><p local-id="5ff140be5477">And now you get to benefit from that. If you dare.</p><h2 local-id="37eb46a94481" id="Elemental:DevJournal29:TreasuresoftheMagi-Inaction"><strong>In action</strong></h2><p local-id="5259a3382269">Here’s a case where I have a potion of Ogre form.  </p><p local-id="83c7bef4812a" /><span class="confluence-embedded-file-wrapper image-center-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image image-center" alt="image-20260519-161625.png" width="495" loading="lazy" src="https://stardock.atlassian.net/wiki/download/thumbnails/3544023170/image-20260519-161625.png?version=1&amp;modificationDate=1779305000122&amp;cacheVersion=1&amp;api=v2&amp;width=495&amp;height=272" data-image-src="https://stardock.atlassian.net/wiki/download/attachments/3544023170/image-20260519-161625.png?version=1&amp;modificationDate=1779305000122&amp;cacheVersion=1&amp;api=v2" data-height="1484" data-width="2698" data-unresolved-comment-count="0" data-linked-resource-id="3544023193" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image-20260519-161625.png" data-base-url="https://stardock.atlassian.net/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="3544023170" data-linked-resource-container-version="4" data-media-id="875fba2e-0aff-4d87-86a7-1188fd2f3dbd" data-media-type="file" srcset="https://stardock.atlassian.net/wiki/download/thumbnails/3544023170/image-20260519-161625.png?version=1&amp;modificationDate=1779305000122&amp;cacheVersion=1&amp;api=v2&amp;width=990&amp;height=544 2x, https://stardock.atlassian.net/wiki/download/thumbnails/3544023170/image-20260519-161625.png?version=1&amp;modificationDate=1779305000122&amp;cacheVersion=1&amp;api=v2&amp;width=495&amp;height=272 1x"></span><span class="confluence-embedded-file-wrapper image-center-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image image-center" alt="image-20260519-161653.png" width="500" loading="lazy" src="https://stardock.atlassian.net/wiki/download/thumbnails/3544023170/image-20260519-161653.png?version=1&amp;modificationDate=1779304999788&amp;cacheVersion=1&amp;api=v2&amp;width=500&amp;height=312" data-image-src="https://stardock.atlassian.net/wiki/download/attachments/3544023170/image-20260519-161653.png?version=1&amp;modificationDate=1779304999788&amp;cacheVersion=1&amp;api=v2" data-height="698" data-width="1116" data-unresolved-comment-count="0" data-linked-resource-id="3544023190" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image-20260519-161653.png" data-base-url="https://stardock.atlassian.net/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="3544023170" data-linked-resource-container-version="4" data-media-id="e8ff2829-ec9e-4126-b736-5cd2166c2828" data-media-type="file" srcset="https://stardock.atlassian.net/wiki/download/thumbnails/3544023170/image-20260519-161653.png?version=1&amp;modificationDate=1779304999788&amp;cacheVersion=1&amp;api=v2&amp;width=1000&amp;height=624 2x, https://stardock.atlassian.net/wiki/download/thumbnails/3544023170/image-20260519-161653.png?version=1&amp;modificationDate=1779304999788&amp;cacheVersion=1&amp;api=v2&amp;width=500&amp;height=312 1x"></span><p local-id="4afae0ecfb1f">Not so tough now, eh?</p><p local-id="20ffa501d75a">Here is a case where you discover a Treasures guarded by golems. This will not end well.</p><p local-id="6fc028e61e7c" /><span class="confluence-embedded-file-wrapper image-center-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image image-center" alt="image-20260519-162327.png" width="553" loading="lazy" src="https://stardock.atlassian.net/wiki/download/thumbnails/3544023170/image-20260519-162327.png?version=1&amp;modificationDate=1779304999787&amp;cacheVersion=1&amp;api=v2&amp;width=553&amp;height=408" data-image-src="https://stardock.atlassian.net/wiki/download/attachments/3544023170/image-20260519-162327.png?version=1&amp;modificationDate=1779304999787&amp;cacheVersion=1&amp;api=v2" data-height="929" data-width="1257" data-unresolved-comment-count="0" data-linked-resource-id="3544023187" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image-20260519-162327.png" data-base-url="https://stardock.atlassian.net/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="3544023170" data-linked-resource-container-version="4" data-media-id="43ade24f-84d3-4d02-9329-c59a09d54f3f" data-media-type="file" srcset="https://stardock.atlassian.net/wiki/download/thumbnails/3544023170/image-20260519-162327.png?version=1&amp;modificationDate=1779304999787&amp;cacheVersion=1&amp;api=v2&amp;width=1106&amp;height=816 2x, https://stardock.atlassian.net/wiki/download/thumbnails/3544023170/image-20260519-162327.png?version=1&amp;modificationDate=1779304999787&amp;cacheVersion=1&amp;api=v2&amp;width=553&amp;height=408 1x"></span><p local-id="efa2e628d0d5">Over the course of the game, you will find a lot of new loot.  We put in the effort to make sure this loot wasn’t simply like what already exists but with a different stat.   We wanted to make sure these items delivered interesting choices.</p><p local-id="117453c50210">My particular bugaboo was that I felt like there weren’t enough interesting early game swords.  It always felt weird that I would get super excited about getting a “training sword” because that was basically the only sword I was going to get that was better than the one I started with until I got late in the game.  </p><span class="confluence-embedded-file-wrapper image-center-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image image-center" alt="image-20260519-164514.png" width="631" loading="lazy" src="https://stardock.atlassian.net/wiki/download/thumbnails/3544023170/image-20260519-164514.png?version=1&amp;modificationDate=1779304999787&amp;cacheVersion=1&amp;api=v2&amp;width=631&amp;height=446" data-image-src="https://stardock.atlassian.net/wiki/download/attachments/3544023170/image-20260519-164514.png?version=1&amp;modificationDate=1779304999787&amp;cacheVersion=1&amp;api=v2" data-height="1079" data-width="1524" data-unresolved-comment-count="0" data-linked-resource-id="3544023184" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image-20260519-164514.png" data-base-url="https://stardock.atlassian.net/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="3544023170" data-linked-resource-container-version="4" data-media-id="c62ebdad-7686-4681-82ed-6e9b137ed5c3" data-media-type="file" srcset="https://stardock.atlassian.net/wiki/download/thumbnails/3544023170/image-20260519-164514.png?version=1&amp;modificationDate=1779304999787&amp;cacheVersion=1&amp;api=v2&amp;width=1262&amp;height=892 2x, https://stardock.atlassian.net/wiki/download/thumbnails/3544023170/image-20260519-164514.png?version=1&amp;modificationDate=1779304999787&amp;cacheVersion=1&amp;api=v2&amp;width=631&amp;height=446 1x"></span><p local-id="1bd8e797cd8b">We’re pretty excited about Treasures of the Magi. We hope you like it as much as we liked making and “Testing” it. Let us know what you think.</p><p local-id="828b4c5f664c" /><p local-id="e2b90a4e4a6b" /><p local-id="0e671e7bfac6" /><p local-id="73770a413875" /></p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/541657/dev-journal-29-treasures-of-the-magi</guid><link>https://littletinyfrogs.com/article/541657/dev-journal-29-treasures-of-the-magi</link><pubDate>Thu, 21 May 2026 8:00:00 AM -0400</pubDate><pubDateParsed>2026-05-21T08:00:00-04:00</pubDateParsed><title>Dev Journal 29: Treasures of the Magi</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/541616</comments><description><![CDATA[<p><span class="cf0"><h1 local-id="2523acd01794" id="Elemental:DevJournal28:Version1.1preview-DevJournal#28:APreviewofv1.1">Dev Journal #28: A Preview of v1.1</h1><p local-id="8894fcf6c970">When we shipped 1.0.3, the team sat down and made a list of the things that were nagging us. Not big design questions. Not roadmap items. Just the stuff that, after a long play session, you start to feel. A few systems were slower than they had any right to be. Some encounters didn't reward you the way they should. The item pool felt thin in some places and oversaturated in others. A handful of bugs had been on the &quot;we'll get to it&quot; list for too long.</p><p local-id="be4e6dd8ff15">v1.1 is the result of getting to it.</p><p local-id="f563ca14ead4">This isn't a feature release. It's the kind of update that makes the version of the game you already own feel better to play. Here is what is in it.</p><p local-id="367cf9505dc3">Now, before I start, I have a minor rant about AI I want to get off my chest.   I write these by hand. I enjoy writing them.  But every app I use now, every editor, etc. offers to edit it and as soon as I let it, in come the em-dashes and the stupid, pithy, punchy writing style.  It’s what’s ruining YouTube.  My kingdom for something that is better than a spell checker but won’t turn my writing into AI slop.  Ok, rant over. Let’s keep going.</p><hr local-id="4651e3ef-a38a-4c3b-8f35-265ba29c6e3c"/><h2 local-id="0c47516b18cb" id="Elemental:DevJournal28:Version1.1preview-MoreItems,BetterItems">More Items, Better Items</h2><p local-id="cdb7e976e884">One of the things that has bothered me for a while is that loot in Elemental was a little predictable. By the end of a few games, you knew most of what you were going to find. That is a problem in a game built around exploration and reward.</p><p local-id="43b51e23f76f">The good news is that we did not need to invent new art to fix it. Stardock has been making fantasy games for over twenty years, and the art vault is enormous. Swords, axes, staves, helms, cloaks, rings, amulets, trinkets, oddities. A lot of it is genuinely great work that just never made it into Reforged because the original Elemental shipped with a smaller item set.</p><p local-id="d54961cc12b3">In v1.1 we have uplifted a substantial chunk of that vault into the game. New weapons. New armor. New accessories. New crafting outputs. The variety is not just visual either -- most of these come with their own effects, and we tried to give each one a reason to exist rather than being a stat bump over the last thing you found.</p><p local-id="1cabe378a55c">A few things I want to call out:</p><ul local-id="e6d93072-f050-419e-b76e-2d402f15d692"><li local-id="ea967139-7803-4b5e-ae65-a69de99d84f1"><p local-id="bfde3ef6c934"><strong>More tiers in the middle.</strong> A common complaint was that you would find a starter sword, then a great sword, with not much in between. We have filled in the middle of the curve so progression feels more continuous.</p></li><li local-id="c14e7e42-68b7-45fb-8710-d99f67e6e1bf"><p local-id="3a4fddc7f073"><strong>More flavor at the high end.</strong> Late-game items lean harder into doing something interesting rather than just adding numbers. Following our internal rule that items should do one thing -- sometimes two -- and do it well.  See those em-dashes?  I did that.  Sorry.  Moving on.</p></li><li local-id="79519455-1af9-4a3b-a5de-d525c0e5cf81"><p local-id="cf6f29b07be8"><strong>More reasons to open every ruin.</strong> The pool of possible rewards is wider, so the ruin you ignored last game might be the one with the thing you actually wanted this game.</p></li></ul><span class="confluence-embedded-file-wrapper image-center-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image image-center" alt="image-20260513-205448.png" width="897" loading="lazy" src="https://stardock.atlassian.net/wiki/download/thumbnails/3524264168/image-20260513-205448.png?version=1&amp;modificationDate=1778781136249&amp;cacheVersion=1&amp;api=v2&amp;width=897&amp;height=468" data-image-src="https://stardock.atlassian.net/wiki/download/attachments/3524264168/image-20260513-205448.png?version=1&amp;modificationDate=1778781136249&amp;cacheVersion=1&amp;api=v2" data-height="884" data-width="1692" data-unresolved-comment-count="0" data-linked-resource-id="3524264182" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image-20260513-205448.png" data-base-url="https://stardock.atlassian.net/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="3524264168" data-linked-resource-container-version="3" data-media-id="908732cf-a4b3-4ce9-b6a3-eba1bfca3ea1" data-media-type="file" srcset="https://stardock.atlassian.net/wiki/download/thumbnails/3524264168/image-20260513-205448.png?version=1&amp;modificationDate=1778781136249&amp;cacheVersion=1&amp;api=v2&amp;width=1794&amp;height=936 2x, https://stardock.atlassian.net/wiki/download/thumbnails/3524264168/image-20260513-205448.png?version=1&amp;modificationDate=1778781136249&amp;cacheVersion=1&amp;api=v2&amp;width=897&amp;height=468 1x"></span><p local-id="67e63d263815" /><h2 local-id="dd395972474e" id="Elemental:DevJournal28:Version1.1preview-FewerItemsYouAlreadyHaveTooManyOf">Fewer Items You Already Have Too Many Of</h2><p local-id="ed2dcdbc103d">The other half of that conversation: variety only matters if the existing pool is not crowding it out.</p><p local-id="9c76c659f910">If you played a few games of 1.0.3, you noticed it. Tilda Herbs everywhere. Splintered Staves on what felt like every other monster. Guiding Spears stacking up from goodie huts. Those drops were not bugs exactly…the likelihood values were just too high, on too many sources, all at once.</p><p local-id="2b3dd10e2a6c">So we did the audit. For v1.1:</p><ul local-id="43320fb4-527e-4f37-8ab7-5ea3ccf0c5ed"><li local-id="2eee6b4d-fec9-40c1-ba24-702c0ab109bd"><p local-id="451bc4fd8726"><strong>Tilda Herbs drop rate is roughly halved.</strong> 36 monster treasure entries got rebalanced. The average likelihood went from 42 down to 21. They still drop. They just no longer take over your inventory.</p></li><li local-id="dc75cf95-3e4c-42f7-bf3a-51ce33bbde04"><p local-id="68bbe3035593"><strong>Splintered Staff drop rate is roughly halved.</strong> 21 monster treasure entries rebalanced, average likelihood 40 down to 20. The +15 Dodge accessory remains a great early-game find, but you should not be equipping four of them on the same team anymore.</p></li><li local-id="ad69fa78-23df-4524-9ec0-46aaebb8b653"><p local-id="195f72895b04"><strong>Goodie hut spear oversaturation</strong> is on the list for a follow-up: the root cause sits in the goodie hut rolling code rather than in the drop tables themselves, and we want to fix it properly rather than paper over it.</p></li></ul><p local-id="44e41e39255a">We also did a pass on item descriptions. Some inherited from FE:LH had unfilled template tokens or missing words. The Hunter's Short Sword, for example, has been sitting there reading <em>&quot;The was discontinued when much worse things than bears began killing the warriors&quot;</em> is now fixed.</p><h2 local-id="26464b410b28" id="Elemental:DevJournal28:Version1.1preview-Performance">Performance</h2><p local-id="168afe5a74eb">The other thing the team has been heads-down on is performance. Elemental is a game where, by turn 200, a lot is going on. Dozens of cities, hundreds of units, an AI thinking about all of it, a tactical battle system sitting in the wings, and a world simulating itself underneath you.</p><p local-id="ccce43fb8b1b">We went through the parts of that pipeline that were costing us the most and tightened them up.   Where you’ll notice this stuff the most is when you zoom out and see the cloth map.  The cloth map was doing a lot of calculations.  </p><p local-id="49421a82014b">The short version: turns are faster, battles load quicker, and the late game does not grind the way it used to on modest hardware.  It wasn’t GPU, it was pure CPU stuff.  </p><h2 local-id="5253ffa459db" id="Elemental:DevJournal28:Version1.1preview-BugFixing,BigandSmall">Bug Fixing, Big and Small</h2><p local-id="508327bdf370">Some of these you noticed. Some you did not.</p><p local-id="9081ecc8bfaf">The big ones:</p><ul local-id="21dda67db5fc"><li local-id="bb5df22cc7ab"><p local-id="4c9bb2586ea2"><strong>Horse and warg counts now work.</strong> The top bar was showing you a stable; the unit-training screen said you had zero. Both were right. The data was desynced. Fixed.</p></li><li local-id="3361b0d27d49"><p local-id="dd1961105e90"><strong>Units no longer render one tile offset from where they actually are.</strong> You can retire the &quot;click the unit in the panel, then right-click to snap it back&quot; workaround.</p></li><li local-id="9d8dbd9fba41"><p local-id="8476a527c6de"><strong>Map seeds are honored on the new-game screen.</strong> Type a seed, get that seed.</p></li><li local-id="54aed63338f5"><p local-id="7c6be355b380"><strong>Two tactical autoresolve crashes</strong> in the post-battle elimination path, both with surgical fixes.</p></li><li local-id="0c9e761e497c"><p local-id="1ebd8d851fa3"><strong>Bishop's Ring works.</strong> Two empty stub definitions at the bottom of CoreSpells.xml and CoreUnitStats.xml were silently overwriting the real spell and stat. Last-write-wins is a brutal rule when the last write is empty. The ring now charges on melee hits and releases the charges as healing.</p></li></ul><p local-id="41e550045d14">The small ones: dozens. Tooltip fixes. UI alignment. Spells that did not match their descriptions. AI decisions that did not make sense in specific edge cases. Audio cues firing at the wrong moment. Cropped portraits on four golem variants because they were sharing a Stone Golem Hero camera framed for a much taller model. v1.1 closes a lot of tickets that have been sitting too long.</p><h2 local-id="f01457ac0024" id="Elemental:DevJournal28:Version1.1preview-Balance">Balance</h2><p local-id="499d138b5b34">Balance is the part of any strategy game that is never finished. We made passes on a few areas where things were either wrong or misleading.</p><p local-id="6bf42e25b003"><strong>Spells:</strong></p><ul local-id="a55a38fc6d81"><li local-id="4af62458f037"><p local-id="24007e48bc16"><strong>Regeneration</strong> was telling players it fully heals the target each season. It does not, and it never did at this value. It grants +4 Health Regeneration per season. Some of you reported it as broken. You were right that the description was broken, even if the spell was working as designed. New description matches reality. We may revisit the value itself. For now, we are at least no longer lying about it.</p></li><li local-id="c4baf6f3bfaf"><p local-id="3e8752bfb0e8"><strong>Elixir of Essence</strong> now works for non-sovereign champions. Previously it was sovereign-only, and when used through the found-item popup it fired twice and granted double essence. Both fixed. The same fix caught a separate bug where new army members started with HP higher than max for one turn.</p></li><li local-id="22fbceaf6684"><p local-id="be821347d273"><strong>Enchantments and city radiance</strong> now agree between UI and rules. Cities with fractional radiance below 1.0 (some campaign cities like Kilford generate 0.3) used to let you sneak exactly one enchantment in even though the UI showed no slots.</p></li><li local-id="95bb66be3718"><p local-id="d0c567f7109f"><strong>Bishop's Ring</strong>  –  See above. Charges on melee defense, releases as healing.</p></li></ul><p local-id="09342e199e58"><strong>Combat and Items:</strong></p><ul local-id="923318551670"><li local-id="7aa31f061c6b"><p local-id="62e3425888ff"><strong>Loot rebalance pass.</strong> Tilda Herbs and Splintered Staff drop rates halved across the board.</p></li><li local-id="afea63723cc5"><p local-id="7db4ed007b36"><strong>Core Armor tweak.</strong> A small but felt adjustment to base armor values.</p></li><li local-id="602dd68bda15"><p local-id="c312c271d0d3"><strong>Treasury Vault</strong> finally shows its actual percentage benefit instead of &quot;+0%&quot; in tooltips. It had been silently missing its <em>ResourceMultiplier</em> modifier.</p></li></ul><p local-id="580792a6d8a6"><strong>Economy:</strong></p><ul local-id="0e81a3f19983"><li local-id="dd068dcd702d"><p local-id="40d3d097675a"><strong>Festival</strong> now provides 40% more food, up from 10%. The improvement was always supposed to be a meaningful growth bump for a celebrating city. At 10% it was flavor.</p></li><li local-id="36ef8141e602"><p local-id="bfb8c3ef2ce3"><strong>The improvement modifier double-count bug</strong> is fixed. City Food, Gold, Mana, Production, and Storage totals are no longer counting tooltip values twice. If your economy numbers look different in v1.1, that is why. The new numbers are the correct ones.</p></li></ul><p local-id="861b465f2dbc">The goal was not to overhaul anything. It was to look at what players were actually doing, which spells nobody was casting, which improvements were quietly broken, and either fix the bug, fix the description, or fix the value.</p><hr local-id="e6c75b1a-3182-4302-8698-01f9fcb340fe"/><h2 local-id="6ca1d2c97272" id="Elemental:DevJournal28:Version1.1preview-When">When</h2><p local-id="80c2e159af4c">v1.1 will roll out as a free update for everyone who owns Reforged, and it arrives NEXT WEEK!</p><hr local-id="68e92fb5-b873-4c9c-a54f-8c3592ccea68"/><p local-id="c32014598789">As always, thank you for the feedback. Most of what is in this update came from things players brought up on the forums, in Discord, in reviews, in bug reports. We are paying attention. Not in the stalking you on your computer sort of way. I mean, not yet.  Soon. But not yet.  But we are trying our best to make sure we are adding the things you (and we) want to see to keep making the game better and better.</p><p local-id="70ea42c70a03">Stay tuned!</p></span></p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/541616/dev-journal-28-a-preview-of-v11</guid><link>https://littletinyfrogs.com/article/541616/dev-journal-28-a-preview-of-v11</link><pubDate>Fri, 15 May 2026 2:29:55 AM -0400</pubDate><pubDateParsed>2026-05-15T02:29:55-04:00</pubDateParsed><title>Dev Journal #28: A Preview of v1.1</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/541582</comments><description><![CDATA[<p>For the first time in many years, Stardock has invested in a massive upgrade to its server hardware.&nbsp; &nbsp;It's, by far, the most expensive and expansive hardware upgrade we've done.</p>
<p>&nbsp;</p>
<p>Part of it was necessitated by last year's near destruction of not just this site but all of Stardock's tech infrastructure.</p>
<p><span>About a year ago, we had an issue in our datacenter that caused many of our critical VMs to become corrupted and required us to reconstruct nearly everything from scratch.&nbsp;</span></p>
<p>Now, we had backups but it was one of those things that hadn't been fully tested because you are talking something like 36 terrabytes of data.&nbsp;&nbsp;</p>
<p>It took us awhile to recover and we didn't fully recover.&nbsp; There was loss and the recovery wiped out our IT budget for the year.</p>
<p>Now, we are in 2026 and we are looking at where things are going with WinCustomize.&nbsp; The first thing we're doing is migrating it all to the new hardware. This will happen in bits and pieces but you should notice a general speedup.</p>
<p>But the real change is going to be the complete rewrite of this site.&nbsp; It's going to look different and we are going to be changing the site's mission a bit.&nbsp; It's still about customization but the world is getting very interesting with people able to create a lot of interesting stuff.</p>
<p>I've already built a kind of test site for this.&nbsp; You can see it here.&nbsp;<a href="https://www.clairvoyanceai.com/gallery/browse?type=exhibit" target="_blank" rel="noopener noreferrer">https://www.clairvoyanceai.com/gallery/browse?type=exhibit</a>&nbsp;</p>
<p>That's just for showing off cool stuff people have made. It's not terribly applicable here since WInCustomize has always been about sharing things that others can use to customize their Windows experience in some neat way.</p>
<p>But I do think we can look forward to people being able to make DesktopX type things a lot easier and share them.&nbsp; We just need to make a new product for it (a new DesktopX basically but one that is built with today's security -- we were so native 20 years ago).&nbsp;&nbsp;</p>
<p>I'd like to get your opinions on what kinds of new things you'd like to see added here.&nbsp; We are pretty far away from the days of people making Winamp skins and icon packages. People don't do that anymore.&nbsp; &nbsp; I had thought, at one time, that maybe iPhone/Android stuff might be interesting but I never even change the wallpaper on my iPhone.</p>
<p>But I can imagine all kinds of interesting things that I might want to improve my desktop in 2026 provided it can be done without fear of malware or something getting injected.&nbsp; &nbsp;</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/541582/so-whats-next-for-wincustomize</guid><link>https://littletinyfrogs.com/article/541582/so-whats-next-for-wincustomize</link><pubDate>Wed, 13 May 2026 3:51:51 AM -0400</pubDate><pubDateParsed>2026-05-13T03:51:51-04:00</pubDateParsed><title>So what's next for WinCustomize?</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/541522</comments><description><![CDATA[<p><p local-id="92fc1440ad47">Tech trees are one of those parts of a strategy game that look obvious from the outside and turn out, every single time, to be one of the hardest things to get right. Game designers have been struggling with how to present technology research to the player since the early 90s, and three decades in, nobody has really solved it. There are good answers, there are interesting answers, and there are answers that work for one game and fall apart in another. There is no settled answer.</p><p local-id="2917c89f6b7c">As part of the work going into GalCiv IV 4.0, we have been revisiting our tech tree. The question we are sitting with is whether to redo it from scratch or to focus on making the one we have more effective. Both are real options. Both have real costs. We are not done deciding.</p><p local-id="393e26d64139">Pretty | Easy to Use | Provide Good Gameplay.</p><p local-id="d97242e810b6">Pick 2.</p><p local-id="fcb3e19c3bd2">But that doesn’t stop us from trying to have our cake and eat it too.  And of course, that means a lot of failure.  So much fail.</p><span class="confluence-embedded-file-wrapper image-center-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image image-center" alt="image-20260429-151948.png" width="471" loading="lazy" src="https://stardock.atlassian.net/wiki/download/thumbnails/3492381043/image-20260429-151948.png?version=1&amp;modificationDate=1778017031551&amp;cacheVersion=1&amp;api=v2&amp;width=471&amp;height=269" data-image-src="https://stardock.atlassian.net/wiki/download/attachments/3492381043/image-20260429-151948.png?version=1&amp;modificationDate=1778017031551&amp;cacheVersion=1&amp;api=v2" data-height="893" data-width="1558" data-unresolved-comment-count="0" data-linked-resource-id="3492381067" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image-20260429-151948.png" data-base-url="https://stardock.atlassian.net/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="3492381043" data-linked-resource-container-version="5" data-media-id="31916901-0c9d-453c-9652-054110524c35" data-media-type="file" srcset="https://stardock.atlassian.net/wiki/download/thumbnails/3492381043/image-20260429-151948.png?version=1&amp;modificationDate=1778017031551&amp;cacheVersion=1&amp;api=v2&amp;width=942&amp;height=538 2x, https://stardock.atlassian.net/wiki/download/thumbnails/3492381043/image-20260429-151948.png?version=1&amp;modificationDate=1778017031551&amp;cacheVersion=1&amp;api=v2&amp;width=471&amp;height=269 1x"></span><p local-id="42af99003098" /><h2 local-id="f9e6e859de39" id="DevJournal#116:TheTechTreeintheRoom-Whythisishardinthefirstplace">Why this is hard in the first place</h2><p local-id="e7e521c67839">A tech tree is doing more work than it looks like it is doing. It is not just a list of unlocks. It is the spine of the strategic identity of the game. The decisions you make in the first thirty turns of research are not &quot;what gets unlocked next,&quot; they are &quot;what kind of game am I playing.&quot; If your tree fails at that, no amount of balance work fixes it. If it succeeds at it, players will forgive a startling amount of imbalance.</p><p local-id="45f622208524">That is the bar. Two players in the same game, same map, same starting civ. Do they end up feeling like they played different games? If yes, the tree is doing its job. If no, what you have is a checklist with nice art on it.</p><p local-id="196ab240f2ad">Then on top of that, the tree has to be legible. It has to be plannable, at least somewhat. It has to survive 500 turns of play without becoming a chore. It has to be teachable to a new player and rewarding to a veteran. It has to scale to hundreds of nodes without turning into wallpaper.</p><p local-id="9b0cc839834b">These goals fight each other. Always.</p><h2 local-id="dc33c71acc86" id="DevJournal#116:TheTechTreeintheRoom-Howthegenrehastried">How the genre has tried</h2><p local-id="4a4c7c9290e1">Our genre has tried a bunch. Let’s take a tour.</p><p local-id="81d2b8b4f192"><strong>The Civ lattice.</strong> Directed graph, eras as horizontal bands. The thing everyone pictures when they hear &quot;tech tree.&quot; Strong theater, you really do feel like you have crossed into the Industrial Era. The weakness is that the optimal path crystallizes within months of release, and by Civ V the community had spreadsheeted out the dominant openings to the point that the lattice was largely a memorization exercise.</p><p local-id="07c830a9d5b7"><strong>Master of Orion's tier-and-drop.</strong> Each tier offered a few techs and you picked one; the rest were gone for that game. The first 4X I can think of that was honest about the fact that the <em>exclusion</em> is the choice. Two MoO games were not the same game. The cost was that a new player could lock themselves out of something critical without realizing it.</p><p local-id="18b8ad7fd5c0"><strong>Classic GalCiv parallel tracks.</strong> Our own heritage, in various forms, since GalCiv II. Military, economy, diplomacy, social, all advancing in parallel with cross-track prerequisites. It solves the &quot;tech tree is one rail&quot; problem and lets a player visibly <em>be</em> a military civ or a research civ. The honest weakness is that the tracks tend to drift toward feeling like four small linear trees that happen to share a screen.</p><p local-id="4c9dea68923c"><strong>SMAC's blind research.</strong> You set a category bias and the game picked your next tech. The most radical answer in the genre to &quot;the optimal path becomes orthodoxy,&quot; because there is no path you control. Beloved by a hardcore niche, hated by everyone who wants agency. I respect it more than any other system on this list and I would not copy it.</p><p local-id="218d947c5eb8"><strong>Stellaris's card draw.</strong> Three weighted options every time you finish a tech, drawn from a pool. The slot machine answer. The dominant build cannot exist if the build is not replicable. The cost is planning. You cannot say &quot;in twenty turns I will have X&quot; because the deck might not deal it. Some players love this. Some bounce off it in the first hour.</p><p local-id="646a3b5857c8"><strong>Beyond Earth's web.</strong> No clear forward, no era bands, total radial freedom. The designers were trying to make every game feel different by removing the spine. The community decided it removed the legibility too, and the game's reception suffered. The cautionary tale on the shelf above my desk.</p><p local-id="2ed4eb31322f"><strong>Endless Space 2's era quadrants.</strong> Four wedges per era, era-gated. A clean compromise between the Civ lattice and parallel tracks. Pretty, legible, and the era gate occasionally forces you to research something you did not want, which is good for the game even when it is annoying for the player.</p><p local-id="310adbe95bb6">Every one of these is somebody's favorite. Every one of these is somebody's most hated system. That tells you something about how unsolved the problem is.</p><h2 local-id="97ac3b9073a4" id="DevJournal#116:TheTechTreeintheRoom-Ourownscrapheap">Our own scrap heap</h2><p local-id="e1957991108a">The reason I am writing this post is that we have been building prototypes. A lot of prototypes. Most of them did not work. Showing the ones that did not work is more useful than pretending we walked straight to the right answer.</p><p local-id="dcc67c8ca638">The image at the top of this post is one of them. Here is the rest of the museum.</p><span class="confluence-embedded-file-wrapper image-center-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image image-center" alt="image-20260429-151933.png" width="753" loading="lazy" src="https://stardock.atlassian.net/wiki/download/thumbnails/3492381043/image-20260429-151933.png?version=1&amp;modificationDate=1778017031551&amp;cacheVersion=1&amp;api=v2&amp;width=753&amp;height=287" data-image-src="https://stardock.atlassian.net/wiki/download/attachments/3492381043/image-20260429-151933.png?version=1&amp;modificationDate=1778017031551&amp;cacheVersion=1&amp;api=v2" data-height="663" data-width="1740" data-unresolved-comment-count="0" data-linked-resource-id="3492381070" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="image-20260429-151933.png" data-base-url="https://stardock.atlassian.net/wiki" data-linked-resource-content-type="image/png" data-linked-resource-container-id="3492381043" data-linked-resource-container-version="5" data-media-id="c7ed3d40-161d-42be-9f91-8609b4f8f8bb" data-media-type="file" srcset="https://stardock.atlassian.net/wiki/download/thumbnails/3492381043/image-20260429-151933.png?version=1&amp;modificationDate=1778017031551&amp;cacheVersion=1&amp;api=v2&amp;width=1506&amp;height=574 2x, https://stardock.atlassian.net/wiki/download/thumbnails/3492381043/image-20260429-151933.png?version=1&amp;modificationDate=1778017031551&amp;cacheVersion=1&amp;api=v2&amp;width=753&amp;height=287 1x"></span><p local-id="21e32ed56f1d">I am going to include a link to an interactive version of each of these.  What looks pretty in a screenshot tends to fail in actual use.</p><ul local-id="1db714f9-791f-4fb9-82d6-31507cf71bf4"><li local-id="319ada10-3a65-4d15-996f-4fdb2582fd11"><p local-id="1f7eed1d9b9f"><strong>The Constellation.</strong> The picture above. A central node with category-colored hexes branching out across a starfield. Looked like the wallpaper for a sci-fi novel. Stopped being readable somewhere around thirty techs, and we have a lot more techs than thirty. <a href="https://www.clairvoyanceai.com/view/share/OLWNMjbf9bpL" local-id="6061e70d13cf" data-card-appearance="inline" class="external-link" rel="nofollow">https://www.clairvoyanceai.com/view/share/OLWNMjbf9bpL</a> </p></li><li local-id="319c3fc3-17f3-4a32-b9ad-53ab9e948535"><p local-id="1e171a83cc7d"><strong>The Radial.</strong> Circular layout, techs arranged around the rim. Easier to scan than the constellation. Harder to see how techs related to each other.</p></li><li local-id="5db2b055-828d-4908-9d2e-06eedbece248"><p local-id="95861a0c3755"><strong>The Web.</strong> Free-form graph, nodes wired by relationship rather than tier. The most expressive of the prototypes and the most chaotic to look at. Felt like the Beyond Earth lesson coming back around. <a href="https://www.clairvoyanceai.com/view/share/KQvwmm1DmS8X" local-id="7b468f27188c" data-card-appearance="inline" class="external-link" rel="nofollow">https://www.clairvoyanceai.com/view/share/KQvwmm1DmS8X</a></p></li><li local-id="7adda217-69da-4eb6-91fe-1d154519bc1f"><p local-id="0373713fcc14"><strong>The 3D Circuit.</strong> A stylized circuit board in three dimensions. I personally pushed for this one longer than I should have. It looked great in stills and was a nightmare to use. <a href="https://www.clairvoyanceai.com/view/share/e0N6XCPZ7Inf" local-id="b90985a4f178" data-card-appearance="inline" class="external-link" rel="nofollow">https://www.clairvoyanceai.com/view/share/e0N6XCPZ7Inf</a> </p></li><li local-id="3b8dc3b3-1082-484d-9d5b-7ce8cfe6ee71"><p local-id="b3d8e99d8341"><strong>The Organized Table.</strong> Rows and columns, no graph at all. The boring one. The one we had the hardest time arguing against on legibility grounds, because it was always the easiest to read. The argument against it is the argument against any pure list view: it is legible the way a spreadsheet is legible, which is not the kind of legible we want. <a href="https://www.clairvoyanceai.com/view/share/HK20lSPF7eZT" local-id="9ad575e57802" data-card-appearance="inline" class="external-link" rel="nofollow">https://www.clairvoyanceai.com/view/share/HK20lSPF7eZT</a> </p></li><li local-id="a20c32b0-ee46-433f-8875-80bd5ede01bf"><p local-id="238097ee7be4"><strong>The Hex Grid.</strong> A flat hex map of techs as tiles, with adjacency standing in for prerequisite. Felt promising for about a week. <a href="https://www.clairvoyanceai.com/view/share/aPRde_wgjEsP" local-id="a4b276cf02dc" data-card-appearance="inline" class="external-link" rel="nofollow">https://www.clairvoyanceai.com/view/share/aPRde_wgjEsP</a> </p></li></ul><p local-id="4b35e36965eb">There were others that did not survive long enough to make this list. The six above are the ones we sat with for at least a couple of weeks each.</p><p local-id="0f3c7058f088">The lesson, after a long stretch of this, is one I should have learned faster. The visualization is downstream of the structural decision. If the underlying structure is a directed graph with several hundred nodes, no amount of art direction makes it feel small. The most expressive layout for forty techs becomes unreadable at eighty and unusable at one twenty. You can hide complexity behind zoom and filtering, but hiding complexity is not the same thing as designing for it.</p><p local-id="57d7fc6f0906">The reason GalCiv has tended toward parallel tracks for twenty-plus years is not that we lacked imagination. It is that parallel tracks scale. The reason every Civilization ships with the lattice is the same reason. The reason Beyond Earth's web is the cautionary tale is that they tried to escape this and the math caught up to them.</p><h2 local-id="63325612ad46" id="DevJournal#116:TheTechTreeintheRoom-Redo,orrefine">Redo, or refine</h2><p local-id="c28f05799ada">Which brings us back to the question we are sitting with for 4.0. Do we replace the existing tech tree, or do we focus on making the one we have do its job better?</p><p local-id="3d6954b811b1">The argument for replacing it is the constellation, the radial, the web, the circuit, the table, the hex. We built six prototypes for a reason. The current tree has the four-little-linear-trees problem I mentioned earlier, and dressing that up does not make it go away.</p><p local-id="e1ec6f61c5a3">The argument for refining it is the lesson from the scrap heap. Every fancy visualization fell down at scale. The current tree, whatever its faults, scales to the size of game we ship. The risk of throwing it out and replacing it with something prettier is that we end up with our own Beyond Earth web.</p><p local-id="0da572751870">Right now I lean toward refine, with one specific structural change I have been chewing on that might do most of the work without us starting over. I am not going to commit to that here, because we are still arguing about it. If we land on something I am sure of, that will be its own dev journal.</p><p local-id="ffcb18f09015">My top complaint is that I can’t have a tech have multiple prerequisites.  It’s just virtually impossible to do that and make it work in a decent UI of any size.  </p><p local-id="f04c31d6e320">In the meantime, I wanted to put the failed attempts on the table. Some of them are pretty even when they did not work, and the road to the right answer goes through showing the wrong ones honestly.</p><p local-id="70e96f211176">If you can think of a tech tree in any game that has over 200 techs (or skills or whatever) that you liked, please leave it in the comments below. </p><p local-id="17b91efeebe2">-Brad</p></p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/541522/dev-journal-116-the-tech-tree-in-the-room</guid><link>https://littletinyfrogs.com/article/541522/dev-journal-116-the-tech-tree-in-the-room</link><pubDate>Sat, 12 Sep 2026 6:22:51 PM -0400</pubDate><pubDateParsed>2026-09-12T18:22:51-04:00</pubDateParsed><title>Dev Journal #116: The Tech Tree in the Room</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/541499</comments><description><![CDATA[<p><a href="https://www.illiteracyhasdownsides.com/p/id-still-prefer-if-stormgate-had">https://www.illiteracyhasdownsides.com/p/id-still-prefer-if-stormgate-had</a></p>
<p>found this article quite interesting.</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/541499/why-free-to-play-fails-for-rts</guid><link>https://littletinyfrogs.com/article/541499/why-free-to-play-fails-for-rts</link><pubDate>Sat, 12 Sep 2026 3:40:11 PM -0400</pubDate><pubDateParsed>2026-09-12T15:40:11-04:00</pubDateParsed><title>Why free to play fails for RTS</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/541229</comments><description><![CDATA[<p data-local-id="e29ee1f66a4f" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true" data-pm-slice="1 1 []">Lots of cool things going on. We&rsquo;ve been reading the feedback closely as well as reviewing and fixing crash reports. Your posts are extremely helpful in narrowing things down.</p>
<p data-local-id="e852dd8a0266" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">So today we want to talk about the roadmap for Elemental: Reforged. We have two years (at least) of budget now. Thank you for all your support! So let&rsquo;s dive right into the near term:</p>
<div class="tableView-content-wrap" data-prosemirror-initial-todom-render="true" data-prosemirror-content-type="node" data-prosemirror-node-name="table" data-prosemirror-node-block="true" data-pm-slice="1 1 []">
<div data-testid="table-alignment-container">
<div class="pm-table-resizer-container">
<div class="resizer-item display-handle">
<div class="pm-table-container" data-number-column="false" data-layout="align-start" data-testid="table-container">
<div class="pm-table-sticky-sentinel-top" data-testid="sticky-sentinel-top">
<div class="tableView-content-wrap" data-prosemirror-initial-todom-render="true" data-prosemirror-content-type="node" data-prosemirror-node-name="table" data-prosemirror-node-block="true" data-pm-slice="1 1 []">
<div data-testid="table-alignment-container">
<div class="pm-table-resizer-container">
<div class="resizer-item display-handle">
<div class="pm-table-container" data-number-column="false" data-layout="align-start" data-testid="table-container">
<div class="pm-table-wrapper">
<table style="height: 368px;" width="691" data-number-column="false" data-layout="align-start" data-autosize="false" data-table-local-id="5b162e7e-170f-4b94-a928-ef1523474ccc" data-table-width="1126" data-ssr-placeholder="table-5b162e7e-170f-4b94-a928-ef1523474ccc" data-ssr-placeholder-replace="table-5b162e7e-170f-4b94-a928-ef1523474ccc"><colgroup><col /><col /><col /></colgroup>
<tbody>
<tr data-local-id="92c55de097af" data-prosemirror-content-type="node" data-prosemirror-node-name="tableRow" data-prosemirror-node-block="true">
<th class="pm-table-header-content-wrap" data-colwidth="114" data-local-id="08ce4d9def1c" data-prosemirror-content-type="node" data-prosemirror-node-name="tableHeader" data-prosemirror-node-block="true">
<p data-local-id="9daf5f6d93b3" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true"><strong data-prosemirror-content-type="mark" data-prosemirror-mark-name="strong">Version</strong></p>
</th>
<th class="pm-table-header-content-wrap" data-colwidth="319" data-local-id="f830f3f63db0" data-prosemirror-content-type="node" data-prosemirror-node-name="tableHeader" data-prosemirror-node-block="true">
<p data-local-id="d302d628fda5" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true"><strong data-prosemirror-content-type="mark" data-prosemirror-mark-name="strong">What is it</strong></p>
</th>
<th class="pm-table-header-content-wrap" data-colwidth="693" data-local-id="adcbc54127d0" data-prosemirror-content-type="node" data-prosemirror-node-name="tableHeader" data-prosemirror-node-block="true">
<p data-local-id="731098b64ca0" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true"><strong data-prosemirror-content-type="mark" data-prosemirror-mark-name="strong">When is it</strong></p>
</th>
</tr>
<tr data-local-id="0a660b2aec5a" data-prosemirror-content-type="node" data-prosemirror-node-name="tableRow" data-prosemirror-node-block="true">
<td class="pm-table-cell-content-wrap" data-colwidth="114" data-local-id="e3b653c63851" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="8ac9e636c944" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">1.02</p>
</td>
<td class="pm-table-cell-content-wrap" data-colwidth="319" data-local-id="fd22b9ef5acf" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="e297a6f24b56" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Bug fixes, usability improvements, AI improvements</p>
</td>
<td class="pm-table-cell-content-wrap" data-colwidth="693" data-local-id="a4ec624767be" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="6f06bd2e0eff" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Imminent</p>
</td>
</tr>
<tr data-local-id="6836fe959665" data-prosemirror-content-type="node" data-prosemirror-node-name="tableRow" data-prosemirror-node-block="true">
<td class="pm-table-cell-content-wrap" data-colwidth="114" data-local-id="a8f3666175d2" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="b377f02fe590" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">1.1</p>
</td>
<td class="pm-table-cell-content-wrap" data-colwidth="319" data-local-id="c153e959df5c" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="0d3fa8d675f8" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">User requested features and additions, performance optimizations, any remaining stability/bugs, Modding improvements</p>
</td>
<td class="pm-table-cell-content-wrap" data-colwidth="693" data-local-id="f7193a0e0e75" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="91bf3cf2b043" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">This month</p>
</td>
</tr>
<tr data-local-id="0ff9c6c2ba4f" data-prosemirror-content-type="node" data-prosemirror-node-name="tableRow" data-prosemirror-node-block="true">
<td class="pm-table-cell-content-wrap" data-colwidth="114" data-local-id="f1c723a45ca2" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="19dcd0ed9976" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">1.2</p>
</td>
<td class="pm-table-cell-content-wrap" data-colwidth="319" data-local-id="81d9e5ad6ba5" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="70ff312c4980" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">More support for Undead, UI updates, More modding improvements, Dynasty updates</p>
</td>
<td class="pm-table-cell-content-wrap" data-colwidth="693" data-local-id="cd7f392373dd" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="e773018d5186" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">May</p>
</td>
</tr>
<tr data-local-id="17f5605b2f4b" data-prosemirror-content-type="node" data-prosemirror-node-name="tableRow" data-prosemirror-node-block="true">
<td class="pm-table-cell-content-wrap" data-colwidth="114" data-local-id="80d3606ec7bd" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="eb99350e5325" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">DLC 1</p>
</td>
<td class="pm-table-cell-content-wrap" data-colwidth="319" data-local-id="39de30a7f6c5" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="9fc98b55d141" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">More quests, goodie huts, monsters, items, equipment, monster lairs</p>
</td>
<td class="pm-table-cell-content-wrap" data-colwidth="693" data-local-id="1d7ee3dc6563" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="cc6d68025ef0" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">May</p>
</td>
</tr>
<tr data-local-id="82810c8d668a" data-prosemirror-content-type="node" data-prosemirror-node-name="tableRow" data-prosemirror-node-block="true">
<td class="pm-table-cell-content-wrap" data-colwidth="114" data-local-id="5375806f5914" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="61c1365e69e3" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">1.3</p>
</td>
<td class="pm-table-cell-content-wrap" data-colwidth="319" data-local-id="7c401036fcd3" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="5e6f0a6f123d" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">&lt;Reserved for player requests&gt;</p>
</td>
<td class="pm-table-cell-content-wrap" data-colwidth="693" data-local-id="0e0a2b042abc" data-prosemirror-content-type="node" data-prosemirror-node-name="tableCell" data-prosemirror-node-block="true">
<p data-local-id="0ed3195907ec" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">June</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="pm-table-right-border" contenteditable="false" data-testid="table-right-border">&nbsp;</div>
</div>
</div>
</div>
</div>
</div>
<p data-local-id="bc338bef7518" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true" data-pm-slice="1 1 []">Now, a lot of people online didn&rsquo;t realize that Elemental: Reforged is a remastering of a 2010 game series (War of Magic + Fallen Enchantress + Sorcerer King). While the visuals and gameplay have been enhanced, it is still very much a game from 2010. That was a very different era of gaming and there are some things we have already changed like the AI players moving from being &ldquo;good losers&rdquo; to playing to win to UI conventions that were based on people running at 1024x768 resolution.</p>
<p data-local-id="c6d879d5f4f0" data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Over time, based on player interest, we are looking to continually enhance the game. So while the game is a 2010 era game, the ENGINE is not. It is a modern engine so we can, over time continue to improve it based on what players want. You just let us know.</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/541229/elemental-dev-journal-25-spring-roadmap</guid><link>https://littletinyfrogs.com/article/541229/elemental-dev-journal-25-spring-roadmap</link><pubDate>Tue, 07 Apr 2026 8:31:54 AM -0400</pubDate><pubDateParsed>2026-04-07T08:31:54-04:00</pubDateParsed><title>Elemental Dev Journal #25: Spring Roadmap</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/537933</comments><description><![CDATA[<p><h2 id="DevJournal#3:TheGreatStringSystemOverhaul-HowFixing15-Year-OldCodeFinallyOpensElementaltotheWorld">How Fixing 15-Year-Old Code Finally Opens Elemental to the World</h2><p><strong>By Brad Wardell</strong>  <br/><strong>August 2025</strong></p><hr/><h2 id="DevJournal#3:TheGreatStringSystemOverhaul-Localization:Howtodoubleyourmarketsize">Localization: How to double your market size</h2><p>Here's a business truth that haunts game developers: English speakers represent only 40% of the strategy 4X gaming market. The other 60%? They're playing games in German, Chinese, French, Spanish, Polish, Russian, and so many others.</p><p>For 15 years, Elemental was locked out of that 60%. That was because back in 2008, when we were developing the game, we were thinking mostly retail and that meant North America.</p><p>Now, in 2025, when looking at remastering Elemental and combining FE, SK, and WOM into a single integrated game, we need to reach that other 60%. This means revisiting the way we do strings. </p><p /><h2 id="DevJournal#3:TheGreatStringSystemOverhaul-BEFORE:Hard-codedstringseverywhere">BEFORE: Hard-coded strings everywhere</h2><h3 id="DevJournal#3:TheGreatStringSystemOverhaul-Problem1:HardcodedStringsinXMLDataFiles">Problem 1: Hardcoded Strings in XML Data Files</h3><p>Every piece of game text was baked directly into the data files:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code" data-macro-id="d80b5117-6be9-4c11-b9f9-f6417ce923d2"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; gutter: false; theme: Confluence" data-theme="Confluence">&lt;!-- From CoreUnits.xml (2010) --&gt;
&lt;UnitType InternalName=&quot;Champion_Donya&quot;&gt;
    &lt;DisplayName&gt;Donya, Tinker&lt;/DisplayName&gt;
    &lt;Description&gt;Tinkers are rare crafters that can create powerful items.&lt;/Description&gt;
    &lt;BackStory&gt;In the frozen North, in a town trapped under snow for half 
    the year, Donya was born to a struggling merchant family...&lt;/BackStory&gt;
    &lt;Quote&gt;If you can dream it, I can build it!&lt;/Quote&gt;
&lt;/UnitType&gt;</pre>
</div></div><p>Want to translate this to German? You'd need to maintain completely separate XML files for every language. Change Donya's abilities? Update it in 7 different places. Don’t forget, this means breaking every mod.</p><h3 id="DevJournal#3:TheGreatStringSystemOverhaul-Problem2:Printf-StyleFormattingThatCrashesandBurns">Problem 2: Printf-Style Formatting That Crashes and Burns</h3><p>At the same time, our UI strings used printf-style formatting:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code" data-macro-id="d7f97313-d21f-409e-93c1-12ed9ed7dd09"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: cpp; gutter: false; theme: Confluence" data-theme="Confluence">// From the 2010 codebase
FormatSTLString(strMessage, 
    GetString(&quot;BattleMessage&quot;),  // &quot;%s attacks %s for %d damage&quot;
    attacker, 
    defender, 
    damage);</pre>
</div></div><p>The problems with this approach:</p><ul><li><p><strong>Type mismatches cause crashes</strong>: Pass a string where it expects a number? Crash.</p></li><li><p><strong>Translation nightmare</strong>: German might need &quot;für %d Schaden greift %s %s an&quot; (completely different order)</p></li><li><p><strong>Zero context for translators</strong>: What's the first %s? The second %s? Who knows!</p></li></ul><p /><h2 id="DevJournal#3:TheGreatStringSystemOverhaul-WhyWeStoppedAfterSorcererKing">Why We Stopped After Sorcerer King</h2><p>We released:</p><ul><li><p><strong>Elemental: War of Magic</strong> (2010) - English only</p></li><li><p><strong>Fallen Enchantress</strong> (2012) - English only</p></li><li><p><strong>Sorcerer King</strong> (2014) - English only</p></li></ul><p>Then we stopped. We had no choice. First, because these were 32-bit games and we could never fit the full game design into a single game because each one was a different aspect. Secondly, it became an ever increasing problem to have an “English only” game.</p><p /><h2 id="DevJournal#3:TheGreatStringSystemOverhaul-The2025Reforging:FixingEverything">The 2025 Reforging: Fixing Everything</h2><p>When we decided to create Elemental: Reforged, we knew this had to be fixed, but the scope was staggering:</p><h3 id="DevJournal#3:TheGreatStringSystemOverhaul-TheArchaeologicalDig:WhatWeFound">The Archaeological Dig: What We Found</h3><ul><li><p><strong>12,000+ hardcoded strings</strong> in XML files</p></li><li><p><strong>514 FormatSTLString calls</strong> with printf formatting</p></li><li><p><strong>467 broken parameter replacements</strong> (missing assignments)</p></li><li><p><strong>71 C++ files</strong> with string handling code</p></li><li><p><strong>3 competing string systems</strong> used simultaneously</p></li></ul><p>Some files were museums of bad practices:</p><ul><li><p><strong>Unit.cpp</strong>: 69 broken parameter replacements</p></li><li><p><strong>BattleEngine.cpp</strong>: All three systems in the same function</p></li><li><p><strong>ElementalUI.cpp</strong>: Calls to put %d and %s together for tooltips.</p></li></ul><h3 id="DevJournal#3:TheGreatStringSystemOverhaul-Step1:ExtractEverythingfromXML">Step 1: Extract Everything from XML</h3><p><strong>Before (2010):</strong></p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code" data-macro-id="8505430f-6a36-4432-a8bf-6a6d0459245e"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; gutter: false; theme: Confluence" data-theme="Confluence">&lt;Provides&gt;Reduces unrest in this city by 5&lt;/Provides&gt;</pre>
</div></div><p><strong>After (2025):</strong></p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code" data-macro-id="f3e9e089-9e6c-48c0-9d8e-49e3d0fc8550"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; gutter: false; theme: Confluence" data-theme="Confluence">&lt;Provides&gt;TXT_COREUNITS_REDUCES_UNREST&lt;/Provides&gt;</pre>
</div></div><p>With the actual text in Strings.xml:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code" data-macro-id="10499ab2-6f2d-40b1-9535-49a3185b4420"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; gutter: false; theme: Confluence" data-theme="Confluence">&lt;Line Key=&quot;TXT_COREUNITS_REDUCES_UNREST&quot;&gt;
    &lt;Text&gt;Reduces unrest in {CITY_NAME} by {VALUE}&lt;/Text&gt;
&lt;/Line&gt;</pre>
</div></div><h3 id="DevJournal#3:TheGreatStringSystemOverhaul-Step2:ReplacePrintfwithNamedParameters">Step 2: Replace Printf with Named Parameters</h3><p><strong>Before (2010):</strong></p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code" data-macro-id="7498992d-b833-4f82-912c-79d4e9e4ea37"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: cpp; gutter: false; theme: Confluence" data-theme="Confluence">FormatSTLString(msg, &quot;%s deals %d damage to %s&quot;, attacker, damage, target);
// Translator sees: &quot;%s deals %d damage to %s&quot; (What does %s mean?)</pre>
</div></div><p><strong>After (2025):</strong></p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code" data-macro-id="e6efedc5-33d5-4dc1-b625-4847ca784952"><div class="codeContent panelContent pdl">
<pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: cpp; gutter: false; theme: Confluence" data-theme="Confluence">str = CStringParameterReplacer::ReplaceParameter(str, _T(&quot;ATTACKER&quot;), attacker);
str = CStringParameterReplacer::ReplaceParameter(str, _T(&quot;DAMAGE&quot;), damage);
str = CStringParameterReplacer::ReplaceParameter(str, _T(&quot;TARGET&quot;), target);
// Translator sees: &quot;{ATTACKER} deals {DAMAGE} damage to {TARGET}&quot;
// And can reorder: &quot;{TARGET} nimmt {DAMAGE} Schaden von {ATTACKER}&quot;</pre>
</div></div><p /><h2 id="DevJournal#3:TheGreatStringSystemOverhaul-TheBusinessImpact:FinallyReachingtheOther60%">The Business Impact: Finally Reaching the Other 60%</h2><p>With these fixes complete:</p><p>✅ <strong>Chinese localization</strong>: Now possible (1.4 billion potential players)  <br/>✅ <strong>Japanese localization</strong>: Now possible (125 million potential players)  <br/>✅ <strong>Korean localization</strong>: Now possible (75 million potential players)  <br/>✅ <strong>European languages</strong>: Germany and France and Poland are huge markets!<br/>✅ <strong>Modding support</strong>: Community translations become feasible and modding is much more robust.</p><p /><h2 id="DevJournal#3:TheGreatStringSystemOverhaul-TheBottomLine">The Bottom Line</h2><p>Fixing this for Elemental: Reforged wasn't just about clean code - it was about bringing Elemental to a worldwide audience.</p><p>Sometimes the most important feature is invisible, but it was worth it. </p><p>Now, finally, Elemental is for everyone.</p></p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/537933/dev-journal-3-the-great-string-system-overhaul</guid><link>https://littletinyfrogs.com/article/537933/dev-journal-3-the-great-string-system-overhaul</link><pubDate>Fri, 15 Aug 2025 2:00:34 PM -0400</pubDate><pubDateParsed>2025-08-15T14:00:34-04:00</pubDateParsed><title>Dev Journal #3: The Great String System Overhaul</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/537784</comments><description><![CDATA[<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU" data-pm-slice="1 1 []">Let&rsquo;s start with where things currently stand at Stardock in our remastering and reimagining of Elemental.</p>
<ol class="DojPxwyYpx3hwuPIaJPCq">
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">We have ported the underlying engine and code base to 64-bit.</p>
</li>
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">We have upgraded the graphics engine to DirectX 11.</p>
</li>
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">We have brought over the Dynasty system from War of Magic (yes, this game had full on families, dynasties, and magical breeding).</p>
</li>
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">We have brought over the crafting system and global inventory from Sorcerer King.</p>
</li>
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">We have reexported the original textures at much higher resolutions.</p>
</li>
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">We have updated the shaders so the terrain will look a lot better.</p>
</li>
</ol>
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">Here are some in-progress examples:</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true"><img src="https://cdn.stardock.us/forums/73/67/7367586/bdd14c3b-847a-4ea3-96e7-0b1a0a2a8373.png" alt="" width="100%" /></p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true"><img src="https://cdn.stardock.us/forums/73/67/7367586/c647157b-4d93-438b-b68a-bc82c38d2f02.png" alt="" width="100%" /></p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true"><img src="https://cdn.stardock.us/forums/73/67/7367586/3aa87199-756a-4c5f-bc64-8a3ee55c4dba.png" alt="" width="100%" /></p>
<h1 data-prosemirror-content-type="node" data-prosemirror-node-name="heading" data-prosemirror-node-block="true">&nbsp;</h1>
<h1 data-prosemirror-content-type="node" data-prosemirror-node-name="heading" data-prosemirror-node-block="true">Wishlists = How much we can do.</h1>
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU" data-pm-slice="1 1 []">There is a lot of work ahead and the size of the team we get is based on a simple formula: Wishlists x $10. So for instance, if we get 50,000 wishlists, we get $500,000 to work with. In the first 48 hours, we got 7,000 wishlists, which is pretty good. That&rsquo;s $70,000 added to our budget. You can see how spreading the word on the game will be extremely helpful to us.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">&nbsp;</p>
<div class="tableView-content-wrap" data-prosemirror-initial-todom-render="true" data-prosemirror-content-type="node" data-prosemirror-node-name="table" data-prosemirror-node-block="true">
<div data-testid="table-alignment-container">
<div class="pm-table-resizer-container">
<div class="resizer-item display-handle">
<div class="pm-table-container" data-number-column="false" data-layout="align-start" data-testid="table-container"><img src="https://cdn.stardock.us/forums/73/67/7367586/e080781e-2f92-4347-a721-213cae6942f7.png" alt="" width="100%" /></div>
<div class="pm-table-container" data-number-column="false" data-layout="align-start" data-testid="table-container">&nbsp;</div>
<div class="pm-table-container" data-number-column="false" data-layout="align-start" data-testid="table-container">Now, these numbers do have an expiration date. I want to write that in case someone from the year 2043 finds this post and the game has somehow racked up wishlists made by our robot overlords. So, think of it as the wishlists we accrue before release.</div>
</div>
</div>
</div>
</div>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">We&rsquo;ve left a number of these slots open so that the community can contribute to this list and we&rsquo;ll add to it over time to keep the community informed on where things stand.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Now, let&rsquo;s take a look at some of the things we are already working on.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">&nbsp;</p>
<h2 data-prosemirror-content-type="node" data-prosemirror-node-name="heading" data-prosemirror-node-block="true">Graphics Improvements</h2>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">The graphics of this game weren&rsquo;t great in 2010. Time hasn&rsquo;t improved them. When we made the original game, we were in a constant conflict on visual style vs. memory cost vs. time to figure it out. We ultimately ran out of time and ended up with a visual look we didn&rsquo;t love. It was, however, distinct.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">We have already done the hardest part: Move the engine to 64-bit and DirectX 11.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">The next hardest bit is to port our assets to FBX so that we can work with them in modern tools. Our character models were extremely low resolution and even updating the visuals, where we could mess with the textures, is challenging if you can&rsquo;t work with it in a modern app. Games have changed a great deal, but the tools used to make them have changed even more.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn.stardock.us/forums/73/67/7367586/b95c2550-8e1f-4698-84c0-86d2f75c0b54.png" alt="" width="50%" /></p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">&nbsp;</p>
<h2 data-prosemirror-content-type="node" data-prosemirror-node-name="heading" data-prosemirror-node-block="true">Localization</h2>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">The original game was not just English only, but it was hard coded in absolutely insane ways. The actual data had the strings in them.</p>
<div class="mediaSingleView-content-wrap" data-media-vc-wrapper="true" data-prosemirror-content-type="node" data-prosemirror-node-name="mediaSingle" data-prosemirror-node-block="true">
<div class="rich-media-item mediaSingleView-content-wrap image-center" data-node-type="mediaSingle" data-layout="center" data-width="1384" data-width-type="pixel" data-media-vc-wrapper="true">
<div>
<figure class="media-single-node">
<div>
<div class="media-content-wrap">
<div title="Attachment" data-id="213d4358-22a5-4663-a7d2-4607c8c92b73" data-node-type="media" data-type="file" data-collection="contentId-2594668545" data-width="1384" data-height="162" data-alt="image-20250729-143522.png" data-context-id="2594668545" data-file-mime-type="image/png" data-file-name="image-20250729-143522.png" data-file-size="82485" data-media-trace-id="827bfec3990de08d" data-prosemirror-content-type="node" data-prosemirror-node-name="media" data-prosemirror-node-block="true"><img src="https://cdn.stardock.us/forums/73/67/7367586/d51b0f34-d9b4-458c-97e0-f369c7b1d9df.png" alt="" width="100%" /></div>
</div>
</div>
</figure>
</div>
</div>
</div>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Has to become. . .</p>
<div class="mediaSingleView-content-wrap" data-media-vc-wrapper="true" data-prosemirror-content-type="node" data-prosemirror-node-name="mediaSingle" data-prosemirror-node-block="true">
<div class="rich-media-item mediaSingleView-content-wrap image-center" data-node-type="mediaSingle" data-layout="center" data-width="1389" data-width-type="pixel" data-media-vc-wrapper="true">
<div>
<figure class="media-single-node">
<div>
<div class="media-content-wrap">
<div title="Attachment" data-id="20668911-c0f4-4a02-9e5a-ab5c922d40d3" data-node-type="media" data-type="file" data-collection="contentId-2594668545" data-width="1031" data-height="72" data-alt="image-20250729-143608.png" data-context-id="2594668545" data-file-mime-type="image/png" data-file-name="image-20250729-143608.png" data-file-size="42730" data-media-trace-id="c7d2ae8f356f3686" data-prosemirror-content-type="node" data-prosemirror-node-name="media" data-prosemirror-node-block="true"><img src="https://cdn.stardock.us/forums/73/67/7367586/15b35ed1-d8bc-4216-bed3-ec4ac4e8a37d.png" alt="" width="100%" /></div>
</div>
</div>
</figure>
</div>
</div>
</div>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">so that we can localize the text in string tables into other languages. This is a big and unsexy task, but it is a prerequisite. We plan to support English, German, Russian, Chinese, French, Italian, and Spanish for starters and would like to make it easy to add additional languages if needed.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">&nbsp;</p>
<h2 data-prosemirror-content-type="node" data-prosemirror-node-name="heading" data-prosemirror-node-block="true">Modding</h2>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Elemental was designed for modding, but it was not good at mod management. I had a ton of mods I personally made for the game that got wiped out in a later update and it was pretty annoying. I can&rsquo;t even imagine how annoying it was to others.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">This time, we&rsquo;re modernizing mod management via Steam Workshop and it will be handled in such a way that an update to the game can&rsquo;t blow away mods. Or I should say, it better work that way.</p>
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU" data-pm-slice="1 3 []">So what kinds of mods would we expect?</p>
<ol class="DojPxwyYpx3hwuPIaJPCq">
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">Maps (the game has a powerful map editor built in)</p>
</li>
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">Quests</p>
</li>
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">Items</p>
</li>
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">Tiles</p>
</li>
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">City Improvements</p>
</li>
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">Locations</p>
</li>
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">Units</p>
</li>
<li class="_1iXxYKOlzzXiVr02E7n2Fe">
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU">Campaigns</p>
</li>
</ol>
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU" data-pm-slice="1 1 []">The original design for the game envisioned players being able to share (via Impulse) &ldquo;modules&rdquo; with full adventures to the whole community. Not to mention letting modders create their own lore and even full redesigns.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn.stardock.us/forums/73/67/7367586/83c9ad28-4918-4562-ae01-d039589bbf41.png" alt="" width="75%" /></p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn.stardock.us/forums/73/67/7367586/3ce0b7e2-5e06-432d-9534-c8280219a3c3.png" alt="" width="75%" /></p>
<p class="pm_paragraph _3lnqGBzYap-Z2T81XBiBUU" data-pm-slice="1 1 []">Now, how much we can do with this depends, again, on wishlists. We will keep people up to date on where we are.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">&nbsp;</p>
<h2 data-prosemirror-content-type="node" data-prosemirror-node-name="heading" data-prosemirror-node-block="true">Your Wish is Our Command</h2>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">As the wishlist count grows, more features can be evaluated for inclusion. Please talk to the other gamers you know who remember these games fondly and find others who will enjoy them anew. Tell us what you&rsquo;d like to see. Stay tuned!</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/537784/dev-journal-2-help-shape-the-game</guid><link>https://littletinyfrogs.com/article/537784/dev-journal-2-help-shape-the-game</link><pubDate>Sat, 16 Aug 2025 9:47:14 PM -0400</pubDate><pubDateParsed>2025-08-16T21:47:14-04:00</pubDateParsed><title>Dev Journal #2: Help Shape the Game</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/537779</comments><description><![CDATA[<p>If you could list 3, and only 3 things you absolutely want in Reforged, what would they be?</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/537779/elemental-wishlist</guid><link>https://littletinyfrogs.com/article/537779/elemental-wishlist</link><pubDate>Tue, 07 Apr 2026 6:35:50 AM -0400</pubDate><pubDateParsed>2026-04-07T06:35:50-04:00</pubDateParsed><title>Elemental Wishlist</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/537703</comments><description><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<p><img src="https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/3796960/a181c314e62577111067119c3e6fea99bf221fd9/ss_a181c314e62577111067119c3e6fea99bf221fd9.1920x1080.jpg?t=1753366035" /></p>
<p>We aren't in love with this UI for the character creation screen.&nbsp; And yet we also don't want the character to be too big (the preview) because the 3D model wasn't designed to be looked at too closely.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/537703/feedback-request-character-screen</guid><link>https://littletinyfrogs.com/article/537703/feedback-request-character-screen</link><pubDate>Fri, 25 Jul 2025 10:02:55 PM -0400</pubDate><pubDateParsed>2025-07-25T07:02:55</pubDateParsed><title>Feedback Request: Character screen</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/537700</comments><description><![CDATA[<p>This is a catch all thread for discussing what's happening in Elemental this Summer.</p>
<p>The team is working on localizing the game to other languages, the new UI, an FBX exporter, and getting the features from War of Magic, Fallen Enchantress and Sorcerer King in as well as planning out the features that were part of the original game design put in.</p>
<p>So much of what we do is based on AI help.</p>
<p><img src="https://cdn.stardock.us/forums/0/0/1/e27fbecb-fa61-49a4-8fb2-550d38a48693.png" /></p>
<p>&nbsp;</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/537700/elemental-all-purpose-chat-thread-summer-2025</guid><link>https://littletinyfrogs.com/article/537700/elemental-all-purpose-chat-thread-summer-2025</link><pubDate>Thu, 07 Aug 2025 12:47:05 PM -0400</pubDate><pubDateParsed>2025-08-07T09:47:05</pubDateParsed><title>Elemental all purpose chat thread: Summer 2025</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/537697</comments><description><![CDATA[<p><iframe title='YouTube video player' width='500' height='305' src='//www.youtube.com/embed/mXwVb1eo__Y?wmode=transparent' frameborder='0' allowfullscreen></iframe></p>
<p>Hard to believe this trailer only cost $5.2 million!</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/537697/the-insane-elemental-opening-cinematic</guid><link>https://littletinyfrogs.com/article/537697/the-insane-elemental-opening-cinematic</link><pubDate>Sat, 26 Jul 2025 6:36:43 AM -0400</pubDate><pubDateParsed>2025-07-26T06:36:43-04:00</pubDateParsed><title>The insane Elemental opening cinematic!</title></item><item><author>Frogboy</author><comments>http://forums.littletinyfrogs.com/536736</comments><description><![CDATA[<h1 data-prosemirror-content-type="node" data-prosemirror-node-name="heading" data-prosemirror-node-block="true" data-pm-slice="1 1 []">Once upon a time&hellip;</h1>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">In 2008, right after we released <em>Galactic Civilizations II</em> and <em>Sins of a Solar Empire</em>, we at Stardock felt pretty good about ourselves. We had assembled an amazing team of people that could make amazing games and we thought there was nothing we couldn&rsquo;t do. Hubris attracts Nemesis.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">With space conquered, we set our eyes on making Fantasy Civilizations. It would be half Master of Magic and half what we had learned from making Sins and GalCiv. The game would be called <em data-prosemirror-content-type="mark" data-prosemirror-mark-name="em">Elemental </em>and it would be the ultimate 4X fantasy strategy game.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">We dreamed big, envisioning a game packed with depth and nuance, an expansive fantasy world filled with intriguing characters, a rich lore, and quests weaving through every corner of the map. It would combine civilization-building with deep RPG elements, unique units each carrying their own backstories and stats, and a world players could truly shape through terraforming, magical dynasties, crafting, and more.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">We wanted it all, from dynasty systems where heroes could marry, have children, and pass down traits visually and statistically, to intricate city building, powerful spells, extensive tactical combat, and robust modding tools backed by a built-in social platform for sharing creations. Heck, we even had a companion book from Random House exploring the lore. The vision was ambitious and we were excited.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">But there was one hitch. We designed Elemental to fit within the constraints of a 32-bit engine that had access to only 2GB of memory. As it turns out, trying to stuff a universe of possibilities into just 2GB is, well... challenging. We built, what we thought, was a sophisticated memory manager to deal with it, but we would still get random crashes even though we were keeping the total memory allocation well below 2GB.</p>
<h1 data-prosemirror-content-type="node" data-prosemirror-node-name="heading" data-prosemirror-node-block="true">Disaster</h1>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">We trimmed, cut, streamlined, and reshaped, trying desperately to fit this vast universe into a smaller memory footprint. When <em>Elemental: War of Magic</em> was released in 2010, it was chaos. It was heartbreaking. It simply didn&rsquo;t deliver on our dream. It very unstable and we had spent so much time trying to work around the memory issues that the game we released lacked the refinement that our players expected.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Undaunted, we learned, iterated, and adapted. Two years later, <em>Elemental: Fallen Enchantress</em> emerged&mdash;a refined, streamlined take that kept much of the strategic depth and advanced AI, delivering on many of our original promises. We gave it away, free, to everyone who bought War of Magic.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Fallen Enchantress became highly regarded among strategy fans, praised for its intelligent gameplay, engaging mechanics, and innovative features, like the ability to zoom from a richly detailed living world to an elegant, strategic cloth map &mdash; an innovation widely adopted across the genre since.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">A few years later, we delved into other aspects of our original vision with <em>Elemental: Sorcerer King</em>. This iteration emphasized a robust crafting system and compelling quest mechanics, finding its own niche audience despite stepping away from heavy strategic depth. This wasn&rsquo;t a 4X strategy game, but instead was a crafting/adventure game. Player vs. World. It was fun, but not what players expected.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Yet, Elemental remained fragmented. We had 3 different games that emphasized different aspects of the original design.</p>
<ul class="ak-ul" data-prosemirror-content-type="node" data-prosemirror-node-name="bulletList" data-prosemirror-node-block="true">
<li data-prosemirror-content-type="node" data-prosemirror-node-name="listItem" data-prosemirror-node-block="true">
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">War of Magic focused on the player using magic to shape a world.</p>
</li>
<li data-prosemirror-content-type="node" data-prosemirror-node-name="listItem" data-prosemirror-node-block="true">
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Fallen Enchantress focused on leading a fantasy civilization.</p>
</li>
<li data-prosemirror-content-type="node" data-prosemirror-node-name="listItem" data-prosemirror-node-block="true">
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Sorcerer King focused on questing and crafting.</p>
</li>
</ul>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">But none of them fully realized what <em data-prosemirror-content-type="mark" data-prosemirror-mark-name="em">Elemental</em> was supposed to be.</p>
<h1 data-prosemirror-content-type="node" data-prosemirror-node-name="heading" data-prosemirror-node-block="true">Not forgotten</h1>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">&hellip;Time</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true"><em data-prosemirror-content-type="mark" data-prosemirror-mark-name="em">Passed&hellip;</em></p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Stardock grew. We eent on to make and publish other games. We started other studios with our friends like Mohawk Games (<em>Offworld Trading Company</em>, <em>Old World</em>) and Oxide (<em>Ashes of the Singularity, Ara: History Untold</em>), but the team didn&rsquo;t forget about Elemental. We thought about it every day, even 15 years later.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Remarkably, most of the people who worked on Elemental are still at Stardock and scheduling has worked out so that we have the opportunity to bring them all back onto a single project.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">In a normal company, what we&rsquo;re doing is insane. Every person who was on Elemental back in 2008 is in a lead role now. You would have <em data-prosemirror-content-type="mark" data-prosemirror-mark-name="em">one</em> of them on a given project, not all of them on one game, but we want to do Elemental justice.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">And so here we are. We have remastered the original engine to be natively 64-bit. We&rsquo;ve updated the graphics engine to DirectX 11.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">We&rsquo;re rewriting a lot of code to bring all the pieces into a single game. The terraforming and Royal Dynasties from War of Magic, the deep unit design and Civ building from Fallen Enchantress and the crafting and quest system from Sorcerer King.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">And to be sure, this will be a fantasy 4X strategy game. Elemental was never intended &ldquo;everything to everyone&rdquo;. It&rsquo;s a fantasy civilization game in an RPG world.</p>
<h1 data-prosemirror-content-type="node" data-prosemirror-node-name="heading" data-prosemirror-node-block="true">Reforged</h1>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">So here we are, 15 years later. We&rsquo;ve been working on this for a long time and we&rsquo;re excited&nbsp;to share with you the progress we&rsquo;ve made.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">This is what Elemental is:</p>
<ul class="ak-ul" data-prosemirror-content-type="node" data-prosemirror-node-name="bulletList" data-prosemirror-node-block="true">
<li data-prosemirror-content-type="node" data-prosemirror-node-name="listItem" data-prosemirror-node-block="true">
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">A vast, procedurally generated fantasy world where every game feels fresh and distinct.</p>
</li>
<li data-prosemirror-content-type="node" data-prosemirror-node-name="listItem" data-prosemirror-node-block="true">
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">RPG-level depth where every unit has a unique story, stats, and place in your kingdom.</p>
</li>
<li data-prosemirror-content-type="node" data-prosemirror-node-name="listItem" data-prosemirror-node-block="true">
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">A sophisticated dynasty system originally dreamed up for War of Magic, allowing your characters to marry, produce heirs, and inherit traits dynamically.</p>
</li>
<li data-prosemirror-content-type="node" data-prosemirror-node-name="listItem" data-prosemirror-node-block="true">
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Rich terraforming mechanics to shape the land itself according to your strategic vision.</p>
</li>
<li data-prosemirror-content-type="node" data-prosemirror-node-name="listItem" data-prosemirror-node-block="true">
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Enhanced crafting and quests inspired by Sorcerer King, ensuring deep immersion and story-driven gameplay.</p>
</li>
<li data-prosemirror-content-type="node" data-prosemirror-node-name="listItem" data-prosemirror-node-block="true">
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Tactical combat that's engaging, strategic, and now powered by an advanced AI that makes auto-resolve battles both practical and satisfying.</p>
</li>
<li data-prosemirror-content-type="node" data-prosemirror-node-name="listItem" data-prosemirror-node-block="true">
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">A beautifully redesigned UI optimized for modern displays, razor-sharp at any resolution, fully leveraging today&rsquo;s PCs.</p>
</li>
<li data-prosemirror-content-type="node" data-prosemirror-node-name="listItem" data-prosemirror-node-block="true">
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Integrated modding tools more robust and user-friendly than ever, empowering our incredible community to expand and personalize the world.</p>
</li>
<li data-prosemirror-content-type="node" data-prosemirror-node-name="listItem" data-prosemirror-node-block="true">
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">An immersive story-driven campaign rich with lore and meaningful decisions that shape your civilization&rsquo;s destiny.</p>
</li>
</ul>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Now, we can&rsquo;t fully hide the fact that this was a game originally made 15 years ago. The art assets were made with tools made by companies that don&rsquo;t even exist anymore. But the gameplay is quite unlike anything else out there.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Elemental: Reforged is our love letter to you&mdash;our fans who've kept the dream alive. We can&rsquo;t wait for you to finally experience Elemental as it was always meant to be.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">Thank you for joining us on this incredible journey. It&rsquo;s going to be epic.</p>
<p data-prosemirror-content-type="node" data-prosemirror-node-name="paragraph" data-prosemirror-node-block="true">&mdash; Brad Wardell, Lead Designer and CEO, Stardock Entertainment</p>]]></description><guid isPermaLink="true">https://littletinyfrogs.com/article/536736/dev-journal-1-elemental-reforged</guid><link>https://littletinyfrogs.com/article/536736/dev-journal-1-elemental-reforged</link><pubDate>Thu, 31 Jul 2025 4:46:40 AM -0400</pubDate><pubDateParsed>2025-07-31T04:46:40-04:00</pubDateParsed><title>Dev Journal #1: Elemental: Reforged</title></item></channel></rss>
