Brad Wardell's Blog


Elemental: Dev Journal #31: Growing Pains

Published on Thursday, July 9, 2026 By Brad Wardell In Elemental Dev Journals

Elemental: Dev Journal - Growing Pains

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.

So what happened?

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.

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.

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 "well, it's rock solid for me." 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.

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 "WarDrums.mp3" on disk but referenced as "Wardrums.mp3" 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 "new" but were always there.

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.

Making it up to players

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.

image-1783615706568.png

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.

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).

image-1783615746897.png

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.

Dev Journal 29: Treasures of the Magi

Published on Thursday, May 21, 2026 By Brad Wardell In Elemental Dev Journals

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.

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.

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.

The Background

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.

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.

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.

As a result, this expansion introduces many new golems, most of them guarding some of the game’s more powerful Treasuress.

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.

And now you get to benefit from that. If you dare.

In action

Here’s a case where I have a potion of Ogre form.

image-20260519-161625.pngimage-20260519-161653.png

Not so tough now, eh?

Here is a case where you discover a Treasures guarded by golems. This will not end well.

image-20260519-162327.png

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.

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.

image-20260519-164514.png

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.

Dev Journal #28: A Preview of v1.1

Published on Thursday, May 14, 2026 By Brad Wardell In Elemental Dev Journals

Dev Journal #28: A Preview of v1.1

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 "we'll get to it" list for too long.

v1.1 is the result of getting to it.

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.

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.


More Items, Better Items

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.

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.

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.

A few things I want to call out:

  • More tiers in the middle. 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.

  • More flavor at the high end. 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.

  • More reasons to open every ruin. 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.

image-20260513-205448.png

Fewer Items You Already Have Too Many Of

The other half of that conversation: variety only matters if the existing pool is not crowding it out.

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.

So we did the audit. For v1.1:

  • Tilda Herbs drop rate is roughly halved. 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.

  • Splintered Staff drop rate is roughly halved. 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.

  • Goodie hut spear oversaturation 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.

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 "The was discontinued when much worse things than bears began killing the warriors" is now fixed.

Performance

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.

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.

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.

Bug Fixing, Big and Small

Some of these you noticed. Some you did not.

The big ones:

  • Horse and warg counts now work. The top bar was showing you a stable; the unit-training screen said you had zero. Both were right. The data was desynced. Fixed.

  • Units no longer render one tile offset from where they actually are. You can retire the "click the unit in the panel, then right-click to snap it back" workaround.

  • Map seeds are honored on the new-game screen. Type a seed, get that seed.

  • Two tactical autoresolve crashes in the post-battle elimination path, both with surgical fixes.

  • Bishop's Ring works. 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.

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.

Balance

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.

Spells:

  • Regeneration 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.

  • Elixir of Essence 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.

  • Enchantments and city radiance 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.

  • Bishop's Ring – See above. Charges on melee defense, releases as healing.

Combat and Items:

  • Loot rebalance pass. Tilda Herbs and Splintered Staff drop rates halved across the board.

  • Core Armor tweak. A small but felt adjustment to base armor values.

  • Treasury Vault finally shows its actual percentage benefit instead of "+0%" in tooltips. It had been silently missing its ResourceMultiplier modifier.

Economy:

  • Festival 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.

  • The improvement modifier double-count bug 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.

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.


When

v1.1 will roll out as a free update for everyone who owns Reforged, and it arrives NEXT WEEK!


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.

Stay tuned!

So what's next for WinCustomize?

Published on Tuesday, May 12, 2026 By Brad Wardell In WinCustomize Talk

For the first time in many years, Stardock has invested in a massive upgrade to its server hardware.   It's, by far, the most expensive and expansive hardware upgrade we've done.

 

Part of it was necessitated by last year's near destruction of not just this site but all of Stardock's tech infrastructure.

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. 

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.  

It took us awhile to recover and we didn't fully recover.  There was loss and the recovery wiped out our IT budget for the year.

Now, we are in 2026 and we are looking at where things are going with WinCustomize.  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.

But the real change is going to be the complete rewrite of this site.  It's going to look different and we are going to be changing the site's mission a bit.  It's still about customization but the world is getting very interesting with people able to create a lot of interesting stuff.

I've already built a kind of test site for this.  You can see it here. https://www.clairvoyanceai.com/gallery/browse?type=exhibit 

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.

But I do think we can look forward to people being able to make DesktopX type things a lot easier and share them.  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).  

I'd like to get your opinions on what kinds of new things you'd like to see added here.  We are pretty far away from the days of people making Winamp skins and icon packages. People don't do that anymore.    I had thought, at one time, that maybe iPhone/Android stuff might be interesting but I never even change the wallpaper on my iPhone.

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.   

Dev Journal #116: The Tech Tree in the Room

Published on Thursday, May 7, 2026 By Brad Wardell In GalCiv IV Dev Journals

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.

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.

Pretty | Easy to Use | Provide Good Gameplay.

Pick 2.

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.

image-20260429-151948.png

Why this is hard in the first place

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 "what gets unlocked next," they are "what kind of game am I playing." 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.

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.

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.

These goals fight each other. Always.

How the genre has tried

Our genre has tried a bunch. Let’s take a tour.

The Civ lattice. Directed graph, eras as horizontal bands. The thing everyone pictures when they hear "tech tree." 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.

Master of Orion's tier-and-drop. 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 exclusion 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.

Classic GalCiv parallel tracks. Our own heritage, in various forms, since GalCiv II. Military, economy, diplomacy, social, all advancing in parallel with cross-track prerequisites. It solves the "tech tree is one rail" problem and lets a player visibly be 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.

SMAC's blind research. You set a category bias and the game picked your next tech. The most radical answer in the genre to "the optimal path becomes orthodoxy," 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.

Stellaris's card draw. 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 "in twenty turns I will have X" because the deck might not deal it. Some players love this. Some bounce off it in the first hour.

Beyond Earth's web. 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.

Endless Space 2's era quadrants. 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.

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.

Our own scrap heap

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.

The image at the top of this post is one of them. Here is the rest of the museum.

image-20260429-151933.png

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.

  • The Constellation. 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. https://www.clairvoyanceai.com/view/share/OLWNMjbf9bpL

  • The Radial. Circular layout, techs arranged around the rim. Easier to scan than the constellation. Harder to see how techs related to each other.

  • The Web. 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. https://www.clairvoyanceai.com/view/share/KQvwmm1DmS8X

  • The 3D Circuit. 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. https://www.clairvoyanceai.com/view/share/e0N6XCPZ7Inf

  • The Organized Table. 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. https://www.clairvoyanceai.com/view/share/HK20lSPF7eZT

  • The Hex Grid. A flat hex map of techs as tiles, with adjacency standing in for prerequisite. Felt promising for about a week. https://www.clairvoyanceai.com/view/share/aPRde_wgjEsP

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.

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.

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.

Redo, or refine

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?

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.

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.

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.

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.

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.

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.

-Brad

Elemental Dev Journal #25: Spring Roadmap

Published on Thursday, April 2, 2026 By Brad Wardell In Elemental Dev Journals

Lots of cool things going on. We’ve been reading the feedback closely as well as reviewing and fixing crash reports. Your posts are extremely helpful in narrowing things down.

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’s dive right into the near term:

Version

What is it

When is it

1.02

Bug fixes, usability improvements, AI improvements

Imminent

1.1

User requested features and additions, performance optimizations, any remaining stability/bugs, Modding improvements

This month

1.2

More support for Undead, UI updates, More modding improvements, Dynasty updates

May

DLC 1

More quests, goodie huts, monsters, items, equipment, monster lairs

May

1.3

<Reserved for player requests>

June

 

Now, a lot of people online didn’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 “good losers” to playing to win to UI conventions that were based on people running at 1024x768 resolution.

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.

Dev Journal #3: The Great String System Overhaul

Published on Thursday, August 7, 2025 By Brad Wardell In Elemental Dev Journals

How Fixing 15-Year-Old Code Finally Opens Elemental to the World

By Brad Wardell
August 2025


Localization: How to double your market size

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.

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.

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.

BEFORE: Hard-coded strings everywhere

Problem 1: Hardcoded Strings in XML Data Files

Every piece of game text was baked directly into the data files:

<!-- From CoreUnits.xml (2010) -->
<UnitType InternalName="Champion_Donya">
    <DisplayName>Donya, Tinker</DisplayName>
    <Description>Tinkers are rare crafters that can create powerful items.</Description>
    <BackStory>In the frozen North, in a town trapped under snow for half 
    the year, Donya was born to a struggling merchant family...</BackStory>
    <Quote>If you can dream it, I can build it!</Quote>
</UnitType>

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.

Problem 2: Printf-Style Formatting That Crashes and Burns

At the same time, our UI strings used printf-style formatting:

// From the 2010 codebase
FormatSTLString(strMessage, 
    GetString("BattleMessage"),  // "%s attacks %s for %d damage"
    attacker, 
    defender, 
    damage);

The problems with this approach:

  • Type mismatches cause crashes: Pass a string where it expects a number? Crash.

  • Translation nightmare: German might need "für %d Schaden greift %s %s an" (completely different order)

  • Zero context for translators: What's the first %s? The second %s? Who knows!

Why We Stopped After Sorcerer King

We released:

  • Elemental: War of Magic (2010) - English only

  • Fallen Enchantress (2012) - English only

  • Sorcerer King (2014) - English only

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.

The 2025 Reforging: Fixing Everything

When we decided to create Elemental: Reforged, we knew this had to be fixed, but the scope was staggering:

The Archaeological Dig: What We Found

  • 12,000+ hardcoded strings in XML files

  • 514 FormatSTLString calls with printf formatting

  • 467 broken parameter replacements (missing assignments)

  • 71 C++ files with string handling code

  • 3 competing string systems used simultaneously

Some files were museums of bad practices:

  • Unit.cpp: 69 broken parameter replacements

  • BattleEngine.cpp: All three systems in the same function

  • ElementalUI.cpp: Calls to put %d and %s together for tooltips.

Step 1: Extract Everything from XML

Before (2010):

<Provides>Reduces unrest in this city by 5</Provides>

After (2025):

<Provides>TXT_COREUNITS_REDUCES_UNREST</Provides>

With the actual text in Strings.xml:

<Line Key="TXT_COREUNITS_REDUCES_UNREST">
    <Text>Reduces unrest in {CITY_NAME} by {VALUE}</Text>
</Line>

Step 2: Replace Printf with Named Parameters

Before (2010):

FormatSTLString(msg, "%s deals %d damage to %s", attacker, damage, target);
// Translator sees: "%s deals %d damage to %s" (What does %s mean?)

After (2025):

str = CStringParameterReplacer::ReplaceParameter(str, _T("ATTACKER"), attacker);
str = CStringParameterReplacer::ReplaceParameter(str, _T("DAMAGE"), damage);
str = CStringParameterReplacer::ReplaceParameter(str, _T("TARGET"), target);
// Translator sees: "{ATTACKER} deals {DAMAGE} damage to {TARGET}"
// And can reorder: "{TARGET} nimmt {DAMAGE} Schaden von {ATTACKER}"

The Business Impact: Finally Reaching the Other 60%

With these fixes complete:

✅ Chinese localization: Now possible (1.4 billion potential players)
✅ Japanese localization: Now possible (125 million potential players)
✅ Korean localization: Now possible (75 million potential players)
✅ European languages: Germany and France and Poland are huge markets!
✅ Modding support: Community translations become feasible and modding is much more robust.

The Bottom Line

Fixing this for Elemental: Reforged wasn't just about clean code - it was about bringing Elemental to a worldwide audience.

Sometimes the most important feature is invisible, but it was worth it.

Now, finally, Elemental is for everyone.

Dev Journal #2: Help Shape the Game

Published on Thursday, July 31, 2025 By Brad Wardell In Elemental Dev Journals

Let’s start with where things currently stand at Stardock in our remastering and reimagining of Elemental.

  1. We have ported the underlying engine and code base to 64-bit.

  2. We have upgraded the graphics engine to DirectX 11.

  3. We have brought over the Dynasty system from War of Magic (yes, this game had full on families, dynasties, and magical breeding).

  4. We have brought over the crafting system and global inventory from Sorcerer King.

  5. We have reexported the original textures at much higher resolutions.

  6. We have updated the shaders so the terrain will look a lot better.

Here are some in-progress examples:

 

Wishlists = How much we can do.

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’s $70,000 added to our budget. You can see how spreading the word on the game will be extremely helpful to us.

 

 
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.

We’ve left a number of these slots open so that the community can contribute to this list and we’ll add to it over time to keep the community informed on where things stand.

Now, let’s take a look at some of the things we are already working on.

 

Graphics Improvements

The graphics of this game weren’t great in 2010. Time hasn’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’t love. It was, however, distinct.

We have already done the hardest part: Move the engine to 64-bit and DirectX 11.

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’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.

 

Localization

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.

Has to become. . .

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.

 

Modding

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’t even imagine how annoying it was to others.

This time, we’re modernizing mod management via Steam Workshop and it will be handled in such a way that an update to the game can’t blow away mods. Or I should say, it better work that way.

So what kinds of mods would we expect?

  1. Maps (the game has a powerful map editor built in)

  2. Quests

  3. Items

  4. Tiles

  5. City Improvements

  6. Locations

  7. Units

  8. Campaigns

The original design for the game envisioned players being able to share (via Impulse) “modules” with full adventures to the whole community. Not to mention letting modders create their own lore and even full redesigns.

Now, how much we can do with this depends, again, on wishlists. We will keep people up to date on where we are.

 

Your Wish is Our Command

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’d like to see. Stay tuned!

739 pages 1 2 3 4 5 6 7 8 9 10 Next