Brad Wardell's Blog


The Official Post your Save Game Thread

Published on Monday, October 4, 2010 By Brad Wardell In War of Magic

For those of you who are late game feel free to post in this thread a Dropbox link to saved game adn I'll try it out.

From your saved games, I can see how other players play the game and use this information for everything from game balance, AI improvements, performance optimizations.

Most of the reason why Galactic Civilizations II has good AI is because of players sending me their saved games and explaining their strategies.

Galactic Civilizations II news!

Published on Saturday, October 2, 2010 By Brad Wardell In GalCiv II News

For the past year we've been pretty focused on getting Elemental: War of Magic released.  With its release, our minds are turning back towards Galactic Civilizations to see what we can do.  Awhile back I made a journal asking users what small updates people would like to see and lots of users came through with great suggestions.  So we're going to be starting to look through those to see what's next on the agenda.

For those wondering about a future Galactic Civilizations III, right now, our plans for now will be to continuesupporting the existing Galactic Civilizations II -- no GalCiv III is in the works right now.  

 

Elemental v1.09 change log

Published on Thursday, September 30, 2010 By Brad Wardell In Elemental Dev Journals

We expect to make this available either this evening or tomorrow.  Here’s what’s new:

---------------------------------------------------
----------- Elemental v1.09 Change Log  -----------
---------------------------------------------------

* Gameplay / Balance *
+ AI sovereigns take more care about where they are doing their attacking
+ Added code so that AIBasic is smarter about attacking units in cities
+ ‘Equipment Cache’ goodie hut now hands out cloth armor, instead of the patchwork armor that should not be in the game anymore
+ You can no longer train *groups* of Dragons, Catapults, or Giant Demons
+ New option: Players can choose not to have monsters spawn
+ New option: Players can disable minor factions
+ Loot given by monsters increased
+ Fixed bug where some AI-controlled caravans that had already established trade routes would wander off those routes while delivering their stuff at a city
+ Fixed a bug where caravan pathfinding through territory owned by anyone other than their owner would still have a penalty, even through caravans can always move freely through any territory
+ Changed dynasty kids to determine their essence based on the BASE essence of their parents (ignoring equipment, player ability bonuses, etc.)  This should keep kids from double-dipping from things like player-wide essence bonuses and keep their max mana at more reasonable levels
+ fixed several armor and special ability xml issues (that were either pointed out on the forums or that I discovered while fixing others)
***********
* Battles *
+ The starting side in a tactical battle is now chosen randomly. The attacker and the defender have an equal chance to go first. This is a short-term change. In the longer term, we are moving to an initiative system (individual units moving based on their combat speed rather than each side taking a turn together).
+ Added shorter animations for bow attacks and spell attacks
+ Fixed a divide by zero error in spell damage.
+ Fixed some logic to determine whether or not a tactical unit was moving.
+ Added code to make sure a unit cancels its destination when it skips a turn.
+ Added some additional checks to skip turn logic in tacatical battles to stop a turn from being skipped in the middle of other actions.
+ Fix to be sure ranged attacks don't always do max damage in tactical battles.
+ Fix to experience display for battles, and fixed a bug where auto resolve was only rewarding experience for killing the leader unit.
+ The AI does not take its first turn immediately after the window loads. This will prevent cases where the AI takes its turn before the window finishes rendering.
+ Fixed a spell type tag for Quicken (now shows up in Tactical Battles)
+ Fixed an issue where a single unit might lose its mana after attacking and killing a defending team.
+ Added the UsableInBattle tag for item types, will help to determine if an item should be displayed during a tactical battle. This defaults to FALSE.
+ Items in a tactical battle will now properly stack in the UI.
******
* UI *
+ NEW! City List window which can be brought up via a tab on the kingdom screen
- this will list all your current cities, along with vital information about resource, training, and building being done there (ie: it's a city spreadsheet)
+ New icons hooked up for sovereign talents
+ Got rid of trailing decimal zeros for the global resource pool tooltips, to clean up the display of resources that are always integers
+ Fixed bug where the global resources for a player didn't refresh when a city was lost through razing until the next turn
+ Tweaked the spell info card to get the stats to show up in the grey bar at the bottom of the info card, and to support multiple text entries of varying sizes
+ Item Shop now shows change in Combat Speed, Defense, and Attack for the highlighted item
+ Message Box input field now limited to 20 chars
+ Made auto-select next moveable unit code not select caravans
+ Fixed City HUDs clipping at the end (now they all get rounded edges)
***************************
* Performance / Stability *
+ Moved clean up code around so that game within a game cleans up better
+ Fixed mem leak in Trigger Manager, city wall nodes, destination and selection cursors for destroyed objects
+ Removed code in CTreeGraphic that was causing a leak on Win7-64.
+ Fixed big leak in DecalGraphicGraphicManager where every decal in the game was leaking on Win7-64bit when starting a new game within a game
+ Fixed leak in CUnitSceneViewWindow (which is used on lots of screens)
+ Fixed random crash in kingdom screen with the filling of the Lore Book
+ Tile Designs now flush out the graphics for their "base graphic" (the one that the graphic instances use to render) once the instances for that base graphic are released
+ Fixed crash if a spellcaster ever had to cancel more than one enchantment at a time from losing 2 or more available enchantment slots
+ Fixed memory leak in UnitAnimationHelper that caused unit gfx to leak after the unit was destroyed
+ Fixed memory leak in TreeGraphic that caused tree batches to leak on game within a game or destruction of the forest object
*************
* Bug Fixes *
+ Fixed bug where mini map would sometimes not update itself after starting a new game from within a game
+ Hooked up renaming cities and units to use events (for MP)
+ Fixed cheat flag bug where you could go into the enchants tab for any unit and cancel their enchantments, whether that unit belonged to you or not even when cheat flag was not used.
+ Fixed bug where destination cursor would disappear if the unit it belonged to was off-screen
+ Added support for Resource modifier types in unit ability bonus options to be taken into account in what resources a unit always provides, without needing to be stationed in a city
+ Fixed Bug When reload a game with Wild Shard Improvements, the game now properly relinks them to their resource hoards (fixed issue where destroyed shrines would not regenerate shard resource)
+ Fixed particle effect render order on main map screen for better visuals
+ Fixed graphical bug where mounted units in an army did not scale properly
+ CalculateAbilities now uses champions for ability modifiers (this fixes NPCs that should give bonuses but didn’t, such as ‘Royalty’)
+ Fixed bug where the NPC AI player would spawn new NPCs based off of the unit types of dynasty kids.  This would cause champions wandering around with the same name, and with baby portraits if they hadn't grown up yet.
+ Attacking cities or lone improvements while in attack cursor mode now works properly in all cases
- hooked up the cursor to change to the crossed swords at the right time for cities/improvements when one of your units is selected
+ Fixed comment in CityLevelUpBonuses.xml that caused malformed xml
+ Fixed merge error in QuestUnits.xml for Talax
+ Fixed end tags in CoreCityWalls
+ Fixed game modifiers and ending tag after Magnar_Staff in CoreSpecialWeapons.xml
+ Fixed end tag for Thumb in SpecialUnitProps.xml
+ Fixed comments in UnitSoundPacks.xml
+ note: thanks to ‘kenata’ and ‘heavenfall’ for helping us hunt down those above XML issues down and pointing us to some cool data checking tools


***********
* Modding *

+ Tile Editor: Fixed bug where large silhouette figure would render in the middle of a tile design when placing pedestrians
+ Map Editor: when using the creature placement tool, defaults to giving the creature a random wander radius, which can be changed with the tool's third spinner in the bottom left corner
- Also changed the wander radius 0 item to say "Don't Wander" instead, does what the default used to do, cause the unit to not even go into auto-patrol mode
+ Added new data def type, CSpellResourceCost, which can be used in spell def xml to specify resource costs on casting a spell, as well as any persistent maintenance costs if this spell is an enchantment
- <PerTurn> tag used in the SpellResourceCost xml object to say whether the cost is deducted at time of casting (Per-Turn is 0), or if it is a continued maintenance cost that exists as long as the spell is in effect through an enchantment (Per-Turn is non-zero)
- Note: maintenance resource costs can only be per-turn if the spell is an enchantment; there's no one-time cut to per-turn resource production from an instant, non-enchantment spell
- Here's an example of some xml to put in a spell def, making this spell cost 5 metal immediately when cast, and having a maintenance cost of 1 material per turn until the enchantment is cancelled:
<SpellResourceCost>
<Resource>Metal</Resource>
<Amount>5</Amount>
</SpellResourceCost>
<SpellResourceCost>
<Resource>Materials</Resource>
<Amount>1</Amount>
<PerTurn>1</PerTurn>
</SpellResourceCost>
+ MODs folders now creatured for the user in their My Games/Elemental folder
+ Fixed Bug: Quests read in from XML (after loading the Data.zip) no longer override QuestDefIDs
+ Images and models now read in from the Mods/GFX folder properly
+ Mods are now enabled by default in Prefs.ini
+ Overlay: Implement tile upload/download

***************
* Multiplayer *
+ Added code to prefer a random map that supports the max players
+ Cloud saving/loading enabled
+ AI opponents enabled
+ Added handling for if firewall is turned off
+ Added check for if player is disconnected before starting turn timer when the end turn is requested
+ Added check to prevent player from going to multiplayer menu if it's still checking for an update

We are still deciding whether we are going to flag multiplayer as “beta” or release for this build. It’s a subjective call but given recent events we are tending to try to be extra careful on this determinations so that the unwary do not encounter unexpected behavior.

A little bit about me (for what it's worth)

Published on Tuesday, September 28, 2010 By Brad Wardell In War of Magic

I was chatting with a friend of mine yesterday about what we like to do.  He likes to design games and make mods and such.

For me, I'm in it for the community. To be honest, I'm in it for you guys.  The only coding part I enjoy is the AI. I don't like designing games really. I write design documents and such for our games but I don't enjoy it. It's a chore.  I'm mainly interested in participating on the forums and talking to other gamers.

Elemental's initial release was, as we all know, something of a disaster. It wasn't intentional. We thought it was ready. People really have no idea how crazy it is to release a brand new game in 2010 onto the PC -- especially if you're making your own engine. So much of my original design for Elemental had to be modified to deal with engine limitations and the like. It almost makes me miss DOS. (who remembers monkeying around with QEMM386?).  

But we're with you guys for years to come.  We're not a publicly traded company.  I'm the only stockholder. I'm glad we've been able to start bringing back people we laid off. The Elemental team is actually larger right now than it was during peak development.  But why? It's because of you guys. Elemental: War of Magic will never make big bucks. That original PC Gamer UK article killed us commercially - before a single review hit. But it doesn't matter. 

Even as I type this, the whole team is working on all kinds of interesting things. Cloud saving for multiplayer games. New modding features for cloud uploads. I spent the day monkeying around with the AI (I found out an interesting thing for other developers reading this - edit and continue in visual studio does not work if you're running it on an external drive). 

What got me into writing software in the first place was the community aspects. I like making stuff with other people. Our most popular consumer product, WindowBlinds, is all about making stuff with the community.  Over the next several years, I'm excited to see how various versions of Elemental grow and change. I'd like to see the game broken up into DLLs so that people can mod not just with Python but with C++ too (Civ V's SDK can do this btw).  

For those of you not into game development, you'd be surprised how close knit our industry is.  That's why we get upset when people rip on Civilization V.  These are our friends. It hurts us when people criticize Civilization V. You might as well be ripping on us directly. The distinction between Civ V or AOW or FFH 2 or Elemental -- to us -- is very blurred.  Many of you would be shocked about how close we all are. I think people often mistake the PC TBS game industry for other "big" industries. It's not like that. It's a handful of people across the board. Behind the scenes, all of us hang out in the virtual sense. Yes, Jon, Kael, Soren, etc. We're all friends in varying degrees in real life.

Anyway, my main point is that our primary motivation on these games is you guys. Not your money (though we need it obviously to keep making stuff) but your comradery. If I had my way, I'd make a game based on a Wiki page from the community. People who know me can tell you that I really have no ego to bruise. I have a lot of OTHER failings (I'm ridiculously obtuse) but there's no idea, big or small, that I'm not interested in. I think of the community as part of our team.

Too much of our industry, IMO, is based on "cranking out the game" and moving on.  But not all of us are this way.  I pushed back a future GalCiv sequel to make sure we do right by you guys. It's not about the money. It's the principle. It's the community. It's you guys.

 

 

 

Lot of interesting stuff going on

Published on Monday, September 27, 2010 By Brad Wardell In Elemental Dev Journals

So right now the team is working on getting v1.09 of Elemental out this week.  I’ve been working on the AI which continues to generate a considerable amount of pain for me but it’s getting better but as I’ve gotten better at the game I’ve found it very problematic at certain things.

What I’m working on tonight is a detailed user manual update that will be based on v1.1 of the game (global mana and population as a resource).  Population as a resource was something discussed in the beta a lot and was one of the core design elements of the game got lost because, at the time, the engine didn’t support non-storable resources (i.e. resources that are calculated each turn).

Playing Civilization V

I’ve been playing a lot of Civilization 5 recently. I am enjoying it quite a bit and I really really wish the Civ and Elemental communities would cease sniping at each other.  It may seem hard to understand this but Stardock and Firaxis are on the same side.  We’re not competitors. We’re friends. I think I can safely say that we want Civilization V to succeed and Firaxis wants Elemental to succeed. What neither of us want is for everyone to just throw their hands up and decide that Elemental II/Civilization VI should be a first person action game.

Anyway, my point is, please don’t use our forums to criticize Civilization V. Given the state Elemental launched in, it makes us wince (glass houses, stones, etc.). But flaming Civilization V is about the same as flaming Elemental to us. They’re our friends. Please back off.

Elemental UI

Now, a lo of people have been talking about the original Elemental PAX Beta UI:

Kingdom_Scout_influence_Wide

 

Kingdom_Scott_City_Wide

So why did we change from that to our current UI?

There were a lot of reasons but a big one was, at the time we had to do a UI, performance. These are development journals so one assumes some of you guys like technical details. But basically, at the time we had to finalize our UI, we couldn’t support having a context-sensitive detached UI like this (the highlighted object would bring up a context-sensitive mini UI where the current item was).  It also required 1280x1024 which  we weren’t prepared to require as our minimum resolution.

After Elemental: War of Magic, we’ll be able to reevaluate what the engine can support.

Other Ramblings

So v1.09 is still mostly about bug fixing, memory optimization, etc.  A broken API got fixed that made the AI considerably better but it’s still way way too unaggressive.  Having a non-cheating AI kind of stinks sometimes because the AI doesn’t usually know how weak your cities are.  In GalCiv, the AI could come up near your planets and see how poorly defended. But the same technique fails in Elemental because they don’t get close enough to your cities to see how weak they are and then coordinate.  So it’s something I’m still trying to deal with. But if anyone wondered why the AI wasn’t “aggressive” enough now you know. It’s something I’m painfully aware of. 

Demo version

The demo version won’t come out until v1.1 and will be based on that.

Best Buy and Walmart content

v1.09 will also coincide with the special content for people who bought the game as Best Buy or Walmart. They get their own special quests.  That said, we will be providing this content for free to all users 90 days after their availability to those users (they paid for them so don’t feel like you missed out).

Similarly, if you bought the book Elemental: Destiny’s Embers, the full map of Anthys, will be released this week for those who bought the book.

image

The book is at a bookstore near you. We’re pretty happy how it turned out and the book takes place 800 years AFTER the War of Magic so you can get some hints and allusions to things coming up in the game world over the next several years.

Thursday musings

Published on Thursday, September 23, 2010 By Brad Wardell In Elemental Dev Journals

Greetings!

v1.09 work

The team is hard at work this week on v1.09 which we expect to put out next week. It’s mostly fixes, memory optimization, performance optimization and hopefully some updated AI stuff from me.

v1.1 development

At the same time, we’ve been combing the forums and looking at all the suggestions to see the game from different perspectives. A lot of these ideas are going to make it into the first major game play update (v1.1) which will also serve as the basis of the demo version.

The biggest changes, as previously discussed, is making mana global rather than a per unit.  This has been one of the most challenging issues both in terms of balance and AI programming (since players could imbue heroes and then have each of them had their own mana pool and enchantment slots).  The global mana system is a lot closer to our original concept and that of Master of Magic, our original inspiration. Summoned units will have a mana maint rather than using an “enchantment slot”. Once you have such a concept in there, we can start to look at things such as cast times (spells that take N turns to cast, counter-spells, etc. for the future).

The other modification is returning population back towards a resource. Ironically, population is supposed to be a resource now but it is currently treated like metal and materials – you can spend population on troops but they come right back ala GalCiv II.  This is something we’re addressing with v1.1.  You’re essentially going to be having to choose between guns and butter (or swords and butter in this case) on what to do with your population.  

This will allow us to cut down on the special resources since now success in the game is much more dependent on player skill rather than luck of the resource distribution (we’ll still have cool resources, they’ll just be rarer and be more like their original intent – cool stuff you occasionally see).

There’s a lot of other changes scheduled for v1.1 which I’ll get into as we get closer but we wanted to give you a general idea on what we’re doing there.

Stepping Back

One of the internal changes going on is that I’ve moved back towards my traditional role as a executive producer / AI coder rather than as a general programmer (which is what I did throughout Elemental).  We’re expanding the Elemental team (in terms of personnel) starting next week to make up for my changed role (so I’ll take on the same role in Elemental going forward that I did in Sins of a Solar Empire, Demigod, and GalCiv II where I’m providing feedback, design help, or more depending on what’s needed) except for the added part of AI programming which I will be spending a lot of time on.

I’ll still be out on the forums and such but you’ll be seeing a lot more Stardock people posting journals, especially as more mod tools get released since they’ll be the ones explaining how they work.

The Expansion Talk

I want to address one issue that there’s been a lot of misunderstanding about.  Today, we have Elemental: War of Magic.  While v1.1 will be making a lot of major changes to the game play, it’s still fundamentally the same game.

What we are interested in doing in the future is making more radical changes to the game design based on a lot of hard knocks we’ve picked up recently. But we want to make sure that players who enjoy Elemental: War of Magic v1.1 can continue to play that game with that design and get support for it going forward. 

So we’re going to branch in two directions starting with v1.1. One branch will continue forward with v1.2, v1.3, and so on.  The other branch will become an expansion with some pretty radical changes to the core design. It’ll include Book 2 and a lot of content too but our main concern and the reason we’re calling it an “expansion” is simply because we don’t want to “bait and switch” the people playing Elemental: War of Magic.  This micro-expansion will be free to everyone who has Elemental so players can go back and forth between the two and play the version of Elemental they want.

At some future point, we’ll then do a second micro-expansion which will add Book 3 and be more of a typical expansion.  If you’ve ever played any of the Sins of a Solar Empire micro-expansions you get an idea of what we’re doing.  Except here, like with Dark Avatar and Twilight of the Arnor, we’ll be also adding new story-driven content as well.  This will also be free to people who currently have Elemental as a token of thanks for sticking by us.

Hopefully that clears up any misunderstandings on the expansions.

In terms of details of each expansion, we’ll provide a lot more detail as it becomes more relevant.  For now, our primary focus is on Elemental: War of Magic and making sure our customers are taken care of.  So we want to stick to talking about what we’re delivering in the near term rather than talk about futures.

Have a great night!

Elemental: Post-Release Update Schedule

Published on Tuesday, September 21, 2010 By Brad Wardell In War of Magic

Here's our schedule for updates to Elemental for the remainder of 2010. This schedule is subject to change and will be refreshed as we near the end of the year to detail updates for 1Q2011.

v1.09

  • Memory Optimizations
  • AI Updates
  • Bug fixes
  • Performance improvements
  • Minor balance tweaks
  • Due: September 30, 2010

v1.1

  • New Magic System based on a shared mana pool.
  • Refresh of all magical spells
  • Major AI Update
  • New global resource: Specialist Slots (allows more choices between guns and butter for players)
  • Refreshed User Interface
  • Due: October

v1.A (Expansion 1)

  • New Combat System (To Hit stat with damage being rolled separately, lots of other changes)
  • New Tactical Battle System (removal of action points, combat speed determines initiative and how many times a unit gets to perform an action in a given tactical turn)
  • Tutorial
  • Visual Overhaul
  • Lots of other goodies which we'll discuss later
  • Due: End of November
  • Free to everyone who buys Elemental: War of Magic

V1.B (Expansion 2)

  • Due: 1Q2011
  • Free to everyone who buys Elemental: War of Magic by October 31

Beyond v1.B:

  • Regular updates are scheduled (budgeted) for v1.x of Elemental for calendar year 2011.

This is by no means a complete schedule as minor updates may occur in-between these milestone builds.