1. Elemental: Reforged
  2. News

Elemental: Reforged News

Dev Journal #18: Dynasties in Beta 2

[p]For those of you just joining us, Elemental: Reforged is a remastering and reimagining of the previous Elemental games all rolled into a single game.[/p][p]Specifically: Elemental: War of Magic, Elemental: Fallen Enchantress and Elemental: Sorcerer King.[/p][p]We are using Fallen Enchantress as the starting point for Beta 1. We ported it to 64-bit and gave it a new graphics engine, updated visuals, the crafting system and global inventory from Sorcerer King, and a lot of new quests, spells, goodie huts, monsters, etc. that were in War of Magic but had to be taken out due to memory constraints.[/p][p]Now it’s time for Beta 2.[/p][p]Beta 2 revolves around 3 key features:[/p]
  1. [p]Localization[/p]
  2. [p]Modding[/p]
  3. [p]Dynasties[/p]
[p]Today we are going to talk about Dynasties.[/p][p][/p][h2]Your Family of Monsters[/h2][p]The dynasty system of Elemental is another case where you can see how far (too far) ahead of its time it was. Trying to fit a full blown “breeding” program complete with generated textures and blended characters (ever wanted to know what a Dwarf and Orc pairing looks like? Well we had the game for you..) for the offspring.[/p][p]…With the benefit of hindsight, it is kind of obvious why the original Elemental was such a technical disaster trying to fit all this in 32-bit. For Fallen Enchantress, we removed this system entirely. But now it’s coming back.[/p][p]Unfortunately, putting it into Elemental: Reforged isn’t just a matter of bringing in the code. The UI for the system was designed with 1024x768 displays, so we’ve been needing to redesign the whole thing. We also want to bring over the entire Dynasty system and not just the bits that were in War of Magic…[/p][p]The original design of the Dynasty system involved 3 parts:[/p]
  1. [p]The Family Tree (this made it into War of Magic)[/p]
  2. [p]Traditions (this got cut)[/p]
  3. [p]Legacies (this got cut)[/p]
[p]Mockups:[/p][p][/p][p]Beta 2 will have Traditions and Legacy disabled because these basically have to be made from scratch. They were designed, but not implemented in War of Magic. Some of you who were part of the early experience program for Elemental may recall these features discussed back in 2009.[/p][p][/p][h2]The Mechanics[/h2][p]Fame is the key currency for all this (I think we called it prestige in WOM). Arranging marriages and unlocking traditions all depend on fame. The Legacies, by contrast, are due to accomplishing various feats in a given game.[/p][p]Right now, the plan is to have BETA 2 out to everyone on December 16th, 2025. We plan to unlock Legacies and Traditions in early January when we get back from Christmas break.[/p][p]Let us know what you think in the comments below![/p]

Dev Journal #17: New vs. Remaster

[p]While this game is a remastering of the Elemental games (War of Magic + Fallen Enchantress + Sorcerer King) we are also keen to make sure there is new content for players to enjoy.[/p][p]With Beta 1 we did add a lot of new quests, units and items. But those kinds of things can be tricksy for an experienced player to know if they are new or just things that they didn’t see before.[/p][p]The improved tooltips, UI, hot keys, etc. are probably not that noticeable to someone looking for something new in the first 5 minutes of play.[/p][p][/p][p][/p][p][/p][p]So what would be something you, a player of either previous Elemental games OR other games in the genre, would like to see in the first 10 minutes of play?[/p][p] [/p][p][/p][p]I have some ideas.[/p][p]We don’t want anything on the first turn, but we do want to do more with Dynasties. So at various Fame Levels, we could bring up a Dynasty tree where you could pick traits that could affect your entire civilization. We had started this back in the original Elemental and the only bit of that left is the blood from your particular faction.[/p][p][/p][p][/p][p][/p][p]The idea is that you could pick up various traits for your entire dynasty. Some might just be a stat buff for yourself. Others might increase intelligence or bravery that would be useful for quests or in diplomacy. Fame would then only be used for this rather than giving you free champions (a dynasty choice might give you a champion but you wouldn’t just get a free champion because your fame hit some number).[/p][p]So what say you? You like this or is there a consensus on something else people would like to see in the first 15 minutes of gameplay?[/p]

Dev Journal #16: The Road to Beta 2

[p]As I write this, we’re putting together the first Preview of Beta 2. Beta 2 will have 3 major new changes:[/p]
  1. [p]Steam Workshop support for modding[/p]
  2. [p]First pass at localization[/p]
  3. [p]Dynasties[/p]
[p]Let’s see where we’re at.[/p][p][/p][h2]Localization[/h2][p][/p][p]For Beta 2, we are going to focus on 3 languages: French, German and Spanish. This is because they don’t h ave as many unique characters as say Russian or Chinese. Baby steps.[/p][p]For Beta 3, the focus is going to be on Russian, Chinese, Japanese, Korean, Polish, Portuguese, along with other languages based on popular demand.[/p][p]Preview 1 of Beta 2 won’t automatically launch the game in a player’s language. That is because while we have localized the game, the amount of bugs due to cut off text is just too much to have it default to this.[/p][p]Case in point:[/p][p][/p][p]See the title? It’s cut off. We need to update the screen to give it more space.[/p][p][/p][p][/p][p][/p][h2]Modding[/h2][p]On the modding side, not much is going to be in Preview 1. It’s been set up so that I can now start to upload mods. But the way it’s going to work for Beta 2 is that you’ll be able to make a mod, press a button to get the file dialog box to upload it, put in some tags and it’ll go into the correct area. We’ll be iterating on this so that it’s easy to manage these mods as we suspect there’s going to be a lot of them.[/p][p][/p][h2]Dynasties[/h2][p]Dynasties aren’t in Preview 1, they missed it by “that much”. This is because of a design change we made. As some people have noticed, we actually are ending up with too many champions in the game. We really need to get the Essence system in. That’s the 0 you see at the top of the screen. Hint: It shouldn’t be 0.[/p][p]The way it’s supposed to work is that you, the player, start with about 10 essence. When you recruit a champion you have to imbue them with your power. This is what lets them be champions and not just regular soldiers. Similarly, while your dynasty will produce children with their own traits and such, turning them into an in-game champion will cost 1 essence. Now, through the course of the game, there will be other things to spend essence on as well as other things that can increase essence, but this mechanic is intended to prevent…um…breeding an army. 🙂[/p][p][/p][h2]Final Touches on Preview 1[/h2][p]We are still putting in final touches for Preview 1. Right now, the focus is on making the game less buggy and the localization and modding. There’s a lot of AI work and balancing work to do. Thanks to your feedback we know exactly what needs to be done.[/p][p]Stay tuned![/p]

Dev Journal #15: So viele Sprachen

[p]The original Elemental: War of Magic was not just “English-only”. It was hard coded into English in such a way to make it nearly impossible to localize it. Under the covers, the game and the underlying engine, Kumquat, uses char * everywhere. This means that all text is byte-oriented, single-code unit that only works nicely with ASCII. Even German is tough because of ä ö ü ß and so on.[/p][p]And our code is full of toupper(myText) which can only handle A-Z. The code was full of sprintf().[/p][p][/p][p][/p][p]In short, localizing this game has been a monumental effort. Let me walk you through it.[/p][p][/p][h2]Step 1: You have to get the strings out of the C++ code as well as the data code.[/h2][p]This involves going through hundreds of thousands of lines of code and finding where we inserted things like “It smells kind of bad” right inside a C++ file or a .XML data file and then putting it in a string table like this:[/p][p][c] Banner of the Brave [/c][/p][p][/p][h2]Step 2: You have to deal with variables[/h2][p]So we used sprintf all over the place in C++. That means the code assumed that variables would be in a certain order and in a certain format, but different languages have different grammars, so you can’t assume “Must have a Intelligent stat value of 3.1” will be in that order. Lots of languages would have that flipped.[/p][p]So you have to develop a system in which you have variable replacement and, again, go through the hundreds of thousands of lines of code and find every place we did that.[/p][p][c] Must have a {STAT_NAME} stat value of {FLOAT_0} [/c][/p][p]And if you’ve played the game, you have probably seen places where we at least got the string into a table but we didn’t put in the variable replacement code.[/p][p][/p][h2]Step 3: You have to switch from char* to Unicode-safe text[/h2][p]Oof. This has been hard. This means every UI element, tooltip, error message, status line, etc. has to be found and redone in a new set of engine APIs don’t rely on char*.[/p][p][/p][h2]Step 4: You have to choose fonts that can actually render these characters[/h2][p]Our original fonts supported just a few hundred types of characters. But it doesn’t have all of the aforementioned German characters or French and don’t get me started on Polish, Russian, Chinese, Japanese, Korean, etc.[/p][p]And there was a reason why we couldn’t have even think of doing this back in 2010. These character atlases consume hundreds of megabytes of memory.[/p][p][/p][h2]Step 5: You have to update your controls to handle very long words[/h2][p]I don’t just mean German. Chinese and other languages don’t have spaces which is a giant challenge for an engine that relies on word-wrapping via a space to solve all its problems.[/p][p]你好欢迎来到这里[/p][p]This has no spaces but is a full sentence “Hello, welcome here.”[/p][p]Not to mention four-character idioms, different metaphors for strength, bravery, luck, misfortune. In a fantasy game, there’s a lot of nuance and thus you can’t just randomly add spacing to fix your word wrapping issues.[/p][p][/p][h2]Step 6: Grammar Rules[/h2][p]Gendered Nouns, Plurals, where articles need to be placed. We probably won’t make it to this step but instead leave that to modders (language packs will be in the Steam Workshop for those who want to improve on what we do).[/p][p]So if you see a character say Hallo, ich bin sehr glücklich für das Essen machen in der groß Haus heute! We’ll do our best to fix that since German is one of the officially supported languages.[/p][p]But on the other hand, if you’re Greek, you can happily write «Γεια, εγώ είμαι πολύ χαρούμενος για το φαγητό να κάνω στο μεγάλο σπίτι σήμερα!» knowing that you are truly showing the world your expertise in Greek…[/p][p][/p][h2]Where we are at now[/h2][p]So we’re pretty close to having a Preview ready to go up. The current plan is to go up next week with Preview 1 of Beta 2 which will have the initial Steam Workshop modding support and our first crude stab at English, French, German, Spanish.[/p][p]We plan to put up an Italian language pack on Steam Workshop as a demonstration on how to make your own language packs to share.[/p][p]As soon as we are confident that we have Unicode working decently then we will start adding Chinese, Russian, Polish, Japanese, Korean.[/p][p]The Dynasty System has been ported but it needs more work. It might be ready by next week, but it’s going to be tight. We’re adding arranged marriages to make it a little more fun and we’re working on having genetically passable traits to characters besides just the usual. We figure if we’re going to have Dynasties we should really open it up.[/p][p]We also have a lot of documentation to do. For example, let’s say you want to make a quest. How do you test it? We need to have ways to make it easy for people to try out their stuff (like having a fun map where you put your whole campaign on to try it out).[/p][p][/p][p][/p][h2]Final Thoughts[/h2][p]We are so grateful to you guys. It has been really fun working on this with you.[/p][p]It still blows my mind that after 15 years, we have the opportunity to revisit all this. It’s pretty crazy to think that the same individual who coded the original Dynasty system in 2008/2009 is now able to bring it to fruition. She’s also the one who is looking at getting tooltips within tooltips in there and will be one of the people making the text customization so us old guys can read the text easier.[/p][p]Similarly, the UI in Reforged is the same artist who made the original UI in War of Magic, Fallen Enchantress and GalCiv III/GalCiv IV. We have purposely kept the UI pretty toned down so that it’s easy to make changes to it. The UI will be moddable too btw. It’s just PNGs and a text file for layout.[/p][p]More to come. Stay tuned![/p]

Dev Journal #14: In a Sea of Bugs

[p]Have you ever had a home project where you’re dealing with “imperial” units and “metric” units at the same time? The wrench looks like it will fit but it’s just…slightly different.[/p][p]That’s the world of Elemental this past week. We have War of Magic, Fallen Enchantress and Sorcerer King. Each of them have quests and goodie huts and units and 3D assets that are… almost the same, but not quite.[/p][p]Guess what happens when you have a unit with just one more animation annotation than what the system expects. It crashes. And we have had a lot of that. And, of course, with hundreds of units, many of which won’t appear in a given game, it doesn’t show up unless you are the winner of a horrible lottery. [/p][p]So, that is what we have been focused on for the past couple weeks. Fixing bugs.[/p][p][/p][p][/p][h2]Beyond Bugs[/h2][p]If Beta 1 felt a little bit like Elemental: Fallen Enchantress with slightly better visuals, Beta 1A will be the first version that starts to show some real gameplay differences. The Crafting was already in Beta 1 but now there’s a lot more to do with it. Champions are now on the map to be recruited. The AI has gotten some attention. The number of quests has more than doubled. There are a lot more items in the game. The visuals have taken a noticeable (We hope) step up. There are new units in the game. And the framerate, on the typical setup, should be substantially better as we lean into caching memory more.[/p][p]In short, while bug fixing crashes and memory leaks the game also made some substantial gameplay improvements as well.[/p][p][/p][p][/p][h2]What’s Next[/h2][p]We expect to have Beta 1B ready soon. As in, possibly next week, at least in Preview form. That will continue the bug fixing of course but also, we hope, the first signs of localization. Bad localization. Bad as in “Ich sprechen Deutsch.” But it is my understanding that people from Germania like strategy games. We’ll also be working on work for Francia, Spania and other languages that don’t involve special characters before we jump into… Russian, Chinese, Japanese, Korean, etc. Languages that won’t take kindly to char szMyMonsterString\[255];. [/p][p]Our top priorities, AFTER fixing bugs are:[/p]
  1. [p]Localization[/p]
  2. [p]Modding[/p]
  3. [p]Dynasties[/p]