Brad Wardell's Blog


So how big do you want Stardock to get?

Published on Wednesday, February 8, 2012 By Brad Wardell In Business

I get asked this a lot. And the answer I gave most recently was “About a third smaller than it is today.”

As a statistical nut, I made a pie chart of what I spend my day doing. It was depressing.

Most of my work day is spent doing business stuff.  And the more “successful” (and I use that term with some derision these days) the worse it gets. 

Every week I can count on an hour of legal review. What kind of legal landmines do we need to watch out for now? If you’re a business, lawsuits are a constant threat. To be clear, I should say if you’re an American business since I like to pretend that other countries don’t have ridiculous, out of control, IP laws.

Then there’s accounting. Oh, is there. When there’s tens of millions of dollars going in and out a year, you have to be particularly careful that there isn’t (there is) massive waste going on. As a start-up, I used to track every penny because that’s all we had – pennies.  That’s impossible now and that’s where you learn, after the fact, that we spent $20k on some pointless crap or waste $10k a year on aborted business trips can add up.  A larger company would have a dedicated CFO. But we’re not large enough to justify that. And it turns out I’m a remarkably good bean counter.

Then there’s the interpersonal stuff.  This is, by far, my least favorite part. It’s worse than lawsuits, lawyers, accountants, or even insurance compliance. People. They’re complicated. And it’s never ending.  I like people, individually. But you get enough of them together and they’ll form cliques and from vapor will come interoffice politics.

The interpersonal stuff ultimate leads to some percentage of people loathing everything the management team does because, to them, it seems stupid. When running a business or writing code, often your choices are picking amongst the least stupid option. It’s still stupid, it’s just less stupid than the alternative. But to someone who’s not familiar or experienced with such a situation, all they see is that “the boss” (or their manager) is some sort of idiot.

For these reasons, I definitely don’t dream of having a large company. A small, well run, fun company is much more desirable. 

Luckily, Stardock is a pretty fun place to work. We have a good time and make great stuff.  But it would be easier to keep it that way if it were a bit smaller.  We’re not laying anyone off or anything like that.  We tend to take the long-view approach (next year will be the 20th year since we incorporated). A few small super-teams can do amazing things – without the headaches.

Stack Exchange and Jeff Atwood

Published on Wednesday, February 8, 2012 By Brad Wardell In Business

I was somewhat bummed to read on Coding Horror that Jeff Atwood is leaving the Stack Exchange.   As many of you know, we are pretty religious readers of Coding Horror and Joel on Software.

Jeff’s blog had come up quite a bit recently as we are in the process of coming up with new coding standards here at work.  More specifically, his recent blog on anti-aliasing was a major inspiration for doing “spot antialising” in Elemental: Fallen Enchantress (the idea is to do anti-aliasing very selectively where it counts without it affecting performance).

In his farewell blog, he mentioned some of his reasons for stepping down. Reasons that were very familiar and close to home.  I hope Jeff is able to continue blogging on occasion. I will miss his insight tremendously.

AI Wars: February Edition

Published on Saturday, February 4, 2012 By Brad Wardell In Elemental Dev Journals

Internal build 0.78 is the first build that the full strategic AI has been checked in. From then on, it’ll be balancing it based on play testing and listening to players discuss how they beat it. But feature wise, the AI can now fully play the game with one exception – we don’t let the AI win via the master quest.  But it will try to win through other means if you have it selected.

The next public build will be where we begin the tactical AI implementation. We’ve been writing the APIs for tactical battles for months but we haven’t made use of them  yet since we first have to decide how tactical battles are typically fought. That is, knowing the rules is only part of the challenge.

AI Wars: Let it begin. LET IT BEGIN!

To see how effective the AI is at decimating each other, we put a ton of them on a small map. Specifically, small map, 18 players.

image

I, on the other hand, will be going out of my way to kill them all quickly.

As you read this, please understand, I’m not trying to play the game.  I am trying to win the game as efficiently and, truth be told, as cheaply as possible. Any scummy tactic I can find I’m going to use. 

It’s a three way battle: FE’s AI vs. My cheese vs. Kael’s design.

So let’s the cheesing begin…

Since I am scum..

image

So the other players are out there happily exploring the world. Getting gear, probably training pioneers with dreams of expanding their empires.

What they’re really doing is starting my cities for me because while they’re out, I’m going to take their cities.

So…

What should we do about that? What should they do to stop me?

Here’s the data we have to work with:

  1. It knows I’m the aggressor
  2. It knows what turn it is
  3. It knows whether I’m a Kingdom or Empire
  4. It knows my power rating.

What sort of evil should we inject into the function above?

Getting ganged up on

image

To answer some of the things above, we can create some interesting consequences that will help “mix things up”.

image

For example, I can take advantage of the ideological differences between Kingdoms and Empires.  So if I’m a Kingdom and I attack another Kingdom, that’s a big deal.   Or I can make it a big deal if I attack early depending on the faction traits.  For example, a player with a Diplomatic trait might freak out a lot more if I go and attack someone early on.

FE coding from the trenches

Published on Wednesday, February 1, 2012 By Brad Wardell In FE Beta

Based on a lot of the posts I read, I think some people have an overestimation of my involvement in FE. 

On the one hand, I am definitely spending a lot more time on Fallen Enchantress than I ever got to with WOM. But on the other, I'm not that involved on the design part. I give lots of suggestions and ideas but it's Derek's call.

The biggest design problem with WOM is that it started out, in my mind, as MOM2 and then morphed into trying to be all things to all people and ended up not being very good at anything. As you read the suggestions in this forum, you can see how quickly the game would be destroyed if we tried to implement even a fraction of the suggestions.  And yet, if I were the lead designer, I would probably have tried to have a bunch of the ideas implemented because I'm not a game designer, I'm a game player and I love most of the suggestions I read.  But being a game designer means making choices and explicitly deciding not being all things to all people.

My focus on FE is on the code. I don't override Derek on design and he doesn't override me on development requirements.

So here's a quick update on the coding parts:

1. We've made great strides on improving the memory foot print.  This won't mean anything for 80% of you but for people running Windows XP, it's a big deal.

2. The strategic AI is significantly better in our internal build now.  It will surrender now if its situation is hopeless.  

3. The tactical AI is starting to get some love. I'm awaiting an API that will let the AI look at upcoming spells (like fireballs) that are in the queue so it can counter spell it.

4. There's been a lot of gameplay changes that I won't go into but I think people will be pleased with.

5. The stability should be substantially better. Keep crash reports coming in.  It's amazing how different systems will expose different flaws in the code.

6. Performance, especially late game, is massssiiiiivvveeelly better. Night and day.  One badly written function that gets called a lot can do real harm.

7. The next beta, Beta 1B (so still beta 1 series) is expected to be out a week from tomorrow. But we may delay it if necessary depending on how the team is feeling about stability, visuals, and balance.

8. The FE specific art is now being integrated (the terrain was still from WOM in Beta 1, beta 1B will have a somewhat different look).

9. I am hoping that beta 1B will reach release level quality in terms of stability, performance, and memory usage. It'll be a big deal (and something that absolutely should be reported) if it crashes on anyone.

10. Game within a game is still a pain in the rear. 

11. Sound system got a lot of coding love this week.

12. While multiplayer won't be in FE 1.0, we've been making the internals much more effective for handling it in a possible future update (i.e. more event driven stuff).  MP support is high on our list of things we want after release.

13. Garbage collection has been moved into its own thread so that it doesn't interfere with the smoothness of the game.

14. Modding will likely be officially sanctions starting with beta 2.

15. Lots of music and sound stuff going in.

Good unit names

Published on Tuesday, January 31, 2012 By Brad Wardell In Fallen Enchantress

Brain storming time!

 

I'm trying to come up with cool names for the AI to refer to their various units as well as suggested names for human players.

I have names like Oath Keepers and Sentinels but this is an area where I think it might be fun to try to include some names the players.  

I miss useful skins

Published on Monday, January 30, 2012 By Brad Wardell In Skinning

Years ago, WindowBlinds skins could add new features to the title bar.  I miss that.  I wouldn't mess with MP3 controls but I'd probably go for special controls or a search bar. 

 

Double kill

Published on Monday, January 30, 2012 By Brad Wardell In Elemental Dev Journals

So I was trying to figure out why AI players dropped like flies in the game.

The reason is a bit funny.  So, a sovereign goes and gets killed by a monster. The monster has targeted that unit. The unit isn’t dead (it’s a sovereign) but merely transported home to its capital. Monster follows and double kills sovereign – and city he’s in. Game over.

0.77 Development blog

Published on Sunday, January 29, 2012 By Brad Wardell In Elemental Dev Journals

Warning: If you’re not into game development, you will probably find this entry very boring.

While I wait for my items to sell on the Galactic Trade Market in SWTOR, I am also working on Elemental: Fallen Enchantress.

At this point, we have the largest beta group any Stardock game has ever had.  Tens of thousands of you now have in your hands the first beta of Fallen Enchantress.  The goal of this is to help us eliminate instability, identify late-game performance issues, find out how people play the game and evaluate balance, user interface quirks, and overall “fun”.

Introductions

To get started, I should introduce some of our key players. 

Myself, I’m Brad Wardell. My day job is President & CEO of Stardock Corp. which has two entities attached to it – Stardock Software (which makes our consumer software and enterprise software which has historically been what pays the bills) and Stardock Entertainment (Which makes the games).  A year ago, there was a third business unit called Impulse, Inc. which took care of digitally distributing our games and apps as well as those for third parties. We sold this unit to GameStop last year and as a result, I have enough available time to be talking to you and actually being involved in the game development process.  While Stardock has been actively looking to recruit a lead developer (hint hint), it was decided internally that as of November 1, 2011 I would step in to take on the role of Lead Developer on Fallen Enchantress.  My particular specialty is multithreaded software development. 

The true key to Fallen Enchantress’s fun factor has been Derek “Kael” Paxton. He was the author of the well known Fall From Heaven mod for Civilization IV.  He is the one that has brought design discipline to the team.  That means making choices. Fallen Enchantress is first and foremost a strategy game in which the world itself is your first enemy to be dealt with before you can even think of dealing with your other foes.  Besides being the designer, he is also the Project Manager (in game speak “Producer”). Nothing goes in without his approval and this disciplined approach is main reason that the beta you see before you is as good as it is.

We also have a number of Stardock veterans from Galactic Civilizations II on Fallen Enchantress.  My friends Jesse “CodeCritter” Brindle, Cari “Elf” Begle, and Paul “Mormegil” Boyer are all well known to our community.  Jesse and Cari didn’t get to have much time on War of Magic as they were mostly involved on Impulse related projects.  I’ve asked Jesse to take the lead on graphics performance and Cari is helping across the board on game play coding.  The amazing art you see in the game is a combination of Leo (no cool handle) and Mormegil.  They’ve been asked to enliven the world environment (i.e. eradicate the “blah” remnants from WOM).

That’s just a few of the people involved, there’s another dozen+ others but these are the people who get to hear my whining and complaining the most. Smile

Whining and complaining

My job is to try to execute as best I can on Derek’s design.  On some things, I take care of directly.  On other things, I have to complain to Jesse or Cari or Paul (mostly poor Paul). 

So what are some of the things we complain about?

Examples: Why do the mountains not look that distinct? The interface requires me to move my mouse too much around. It takes too many clicks to add improvements. The late game turn performance is slow. The AI needs better units to choose from. The land needs more variance. The world needs more distinction between things I care about and background. The quests need more hand holding. The sound effects are repetitive and horrible. The music doesn’t seem to progress in tempo. I need more spells. And on…and on….and on…

Which brings us to this blog

If you’ve managed to survive this long into this entry, today I’m going to play on a large map with a gazillion players. I am going to play at Normal difficulty and I’m going to try to make the game get as slow as I possibly can.  I am going to try to crash the game.  I am going to wreck this game. That’s my job.

And you, the victim of this blog, will get to see the crashes, the stupid mistakes I find in my code, and my griping on balance, user interface, music, etc.).

A word of caution

If you aren’t in the beta, please understand, my job here is to criticize the game.  My critique of Galactic Civilizations II, which I designed, was that it was essentially a soulless piece of crap with shoddy AI, terrible carpal-tunnel UI, mindless clickfest. And that’s a game that got a 93 metacritic score.  So you can imagine what my critiques of the beta of this game are.  

A key lesson learned from WOM is that if you get too close to the project to the point you’re playing it non-stop and making a lot of the content is that you lose objectivity. I actually thought WOM was a great game when it shipped. Then I took a short vacation, came back, played it and went “Oh, Dear, God. What hath we done?”  Lesson learned, don’t do 100+ hours a week for 3 months and don’t confuse the fun you have making the game with the fun playing the game.

Anyway, point being: I’m going to be flaming the game throughout this journal. The goal is to make the BETA version better so that when people get the final version it is the awesome game people are looking for.

Let the Butchering Begin…

First, I’m going to see if I can cheese up a custom sovereign and faction…

image

Like all good hearted people, I wish that all races were Smurf-Like…

I’m going to play 18 other players…

image

Expert Tip:

Fallen Enchantress defaults to running at your desktop resolution. If you are going to be playing a long game, I recommend lowering your desktop resolution to maximize performance.

The Game Starts

image

I am already regretting choosing deep blue as my color.

Complaint 1: Champions vs. Everyone else

It’s a fine line. You want champions to matter but you don’t want to make it about collecting champions and steam rolling. The basic problem I see is that champions have too much base HP imo.  We used to have it a lot less but then they were pointless. So it’s something we’re placing with.

Complaint 2: UI of the research window

image

If you don’t actually click on the graphic, it won’t switch tabs. This creates a little fatigue after several hours.  The graphic itself is transparent so I go code hunting…

image

Complaint 3: Long end game turn lengths

There is an inncoulous check for city contiguity that gets very expensive late game which I’ve changed to only care about if it’s humans since the AI just uses the auto place system anyway. This little tweak just reduced the turn times by 75%.

Complaint 4: Frame rate when lots of stuff on screen

This might as well be a complaint about reality. You want to see lots of stuff but you don’t want to pay the price.  Well, I don’t want to pay the price but I still want to see lots of stuff.

But the human eye is easily tricked.  It’s just a matter of giving the illusion that the player is seeing the same lots of stuff as they zoom out.  Unfortunately, I know zilch on DirectX programming. So I’m just kind of going through the code and trying to learn it on the fly to see if I can help in this area.

image

My first attempt at reducing the number of things being painted.  On the one hand, the frame rate is really high…

Too extreme. Now, I’m learning this with you right now (on a weekday, I’d just bug Jesse or someone).

image

So there is our start. 25fps.

image

Reducing the number of children to 1 gives us..1fps. A dead end. Oh and I lost my UI.

Trying to crash the game: Tips and tricks

Under the covers, the game revolves around having a ton of things going on at once. I hate “Please wait…” screens. To eliminate that, we use threads. Lots and lots of threads. And it can be tricky with so many different hardware configs. 

The best way to get the game to crash is to have it autosave every turn and try clicking on the UI everywhere. That’ll expose if someone accidentally tried to directly update the UI rather than sending a message request to update the UI.

That is, you can’t just say MySoldier->SetMovesLeft(defaultamount) and in that call have it update the UI right there. It needs to send a message to the UI and then be processed.

The best testers for this are people with crappy computers and terrible OSes (single core, Windows XP users).  We don’t officially support single core CPU’s because they’re so old but their terrible performance helps us find bugs.

Complaint 5: The world needs more…umph

This is one of my main gripes.  A long time ago, the goal of the look of the game was a kind of cell-shaded look. This evolved into Illustrated look. But illustrated doesn’t need to mean desaturated and brown.

Now, mind you, I’m no artist. But just playing around with Photoshop I got this (barren land):

image

So in the above picture, I took the dullest looking area and tweaked it.  Tell me what you think. I don’t have an artistic eye.

image

Here’s a starting location.

image

 

image

Desert

image

Fallen lands

image

Like I said, I’m not an artist so I just messed with the textures. But I’ll pass these ideas on to the art team to see what they think.

image

Here I messed with the color of the water.

image

Sunday

I went through the comments. My work on FE revolves around coding, not game design – other than making suggestions. I did pass on ideas to Derek.

I kind of went off track by playing around with the art stuff for fun.

I rewrote one of the city functions to hopefully improve performance. There is that little…stutter I see when I place an improvement.  I also made it so that you can double click on an improvement in the build menu and have it auto place it.

Champion Stacking

One of the things humans do in the game is they just toss all their champions in one stack. This isn’t surprising, it is a good strategy with the way the game is currently set up.

One of the things on Derek’s list has been to split experience up amongst the units in the group (rather than all the units simply getting all of it). It was supposed to be in Beta 1 but just didn’t get done. In hindsight, I wish I had gotten this in sooner because the champion stacking combined with this creates a real imbalance.

image

It’s in now though.

image

More playing around with the art.

Trying to figure out why sounds cut out.  The state of sound drivers on the PC is deplorable (outside the really mainstream brands – that is what you’re really paying for, quality drivers).  But we can program things to work around driver issues.

Debugging

Why does god hate me?

image

Yea, I know how that feels.

Elemental: Fallen Enchantress 0.76 Brief Walkthru

Published on Thursday, January 26, 2012 By Brad Wardell In Elemental Dev Journals

Greetings!  Over the next day, tens of thousands of new beta testers will be added to the Fallen Enchantress beta.

Elemental: Fallen Enchantress is a turn-based strategy game in which the player takes on the role of a powerful Sorcerer called a Channeler. As one of the very few beings in the world who are capable of channeling magic through the various elemental shards, you have become leader of a people who hope you to lead them to building a great civilization.

Here, I’ll walk you through the few turns and for those familiar with War of Magic, I’ll try to find some way to tie the two together (they’re drastically different but they’re both fantasy strategy games).

In the beginning…

image

The first question is, who are you?

You can choose amongst existing sovereigns or create your own. Balon is a character I made who is an adventurer gifted with magical power.

image

The second question is, where are you.

This is where you set up the world conditions for yourself.  Maps are randomly generated so you will never see that map again. Ever. The World difficulty determines how aggressive monsters are and how powerful they will become.

image

You can also choose which opponents you will have to play against.  Your opponents races include Trogs (think Urakai Orcs from LOTR), Urxen (Goblin like creatures), Quendar (essentially evil elves), Amarian (essentially good elves), Ironeers (dwarves), Wraiths, and more.  This is a screen that is still a work in progress (since I’m having to explain in text here more about the factions than is displayed).

One criticism of WOM (which I agree with) is that the distinctions between the factions aren’t great enough. This is something we’re working on, particularly in helping make clear that the name of the faction is not the race.  I.e. in LOTR, the Kingdom of Gondor doesn’t mean that they’re Gondorians, they’re men. So we have some work to do here.

You can have up to 32 players in a game regardless of map size. It all depends on what kind of game you want to play.

You can also choose what victory conditions that shall be active:

Conquest, Diplomatic (ally with everyone), Master Quest (complete the master quest), Spell of Making (cast the spell of making which requires a ton of mana and magic knowledge).

After that, you’re ready to go.

The lands

image

So the game comes up with a backstory for my character (since I didn’t type one in myself because I’m dangerously lazy).

image

When the player enters the world, they’re alone. When you decide to settle your first city, you’ll want to find a location that has good food and production potential. This is represented by grain and materials which are displayed either by mousing over the Settle button or clicking on the terrain detail button in the top right of the screen.

image

These numbers look at all nearby tiles to give a summary of just how much food and material are in the surrounding countryside.

Once I settle, I start to go out and explore the world, gather loot, recruiting allies, fighting monsters.

The Monsters

To be candid, the world wants to kill you. It will try hard to kill you.

For thousands of years, there were great civilizations across the world. But that’s all gone now. And various creatures have settled in to the places that civilized beings once dwelt. You will have to build your empire by making it safe for people to live in it.

The further you travel from your starting location, the more dangerous they get. Worse, the longer they hang around, the more powerful they become.

image

Loot

One of my personal favorite features of Fallen Enchantress is the loot. Exploring the world, going on quests, fighting monsters, etc. will result in you gathering a lot lf loot.

image

Here I got a skullcap from a ruin, an arctic wolf cloak from a traveling merchant, a telescope from a destroyed caravan I came across and a backpack from a the stomach of something I really don’t want to talk about.

image

And even though it’s a little thing, the things you equip will show up on the map even though this isn’t an RPG, it’s a strategy game. Hence, every unit in the game, and there can and will be thousands of them depending on the map, can look different.

Your Empire is more than your cities

One to emphasize is that it’s not as much about having lots of cities but rather having lots of territory. Anything in your territory can be made use of and will build up the closest city it is to (even if it were on the other side of the world).  The goal here is so that late game, you’re not wrestling with dozens of cities but instead a handful of really good ones.

There are still advantages to having lots of cities too but it is very viable to have a few, very powerful, cities.

BTW, here’s what things start to look at if you wander too far away from your starting location…

image

 

Battles

Early on, battles are a pretty small affair. Most of our screenshots of battles are from early stages of the game. Later on, they get much bigger.

image

The battle system is fairly straight forward (at least to understand it) but has a lot of nuance.

First, you have initiative. This determines how often that particular unit moves.

Next, you have accuracy, this is put up against the other unit’s dodge. If your accuracy roll beats their dodge roll, you hit.

Next, is damage, Balon here has a War Hammer which does 11 Blunt damage. Luckily, Ash Serpent here has no particular defense against blunt weapons (but has a general defense of 4).

image

As a quasi-Fire elemental, he is very vulnerable to cold. Hence, if I had a weapon that did cold damage, it would be doubled against him. He is also immune to poison and fire which, this early on, means little since I don’t have anything that good to attack him with.

Magic

So I’m in a battle with the Ignys and I do have one decent spell…

image

But…unfortunately, it does fire damage.  Feel free to cast it, it won’t do anything to the Ash serpent because it’s immune to fire.

But anyway, after killing the creature the old fashion way, I am ready to start getting my magic mojo going.

Magic comes from the elemental shards that are spread across the world.  If you build a shard shrine on them, their power begins to flow into you (channel you might even say).  You, in turn, can bind your champions to you by Imbuing them with some of your magical essence. Thus, what magical knowledge they have becomes yours to use and this is how you learn most of your spells.

Use your spells to buff your units, cities and wreak havoc on your enemies.

From here, it’s up to you. Feel free to ask questions in this thread. We still have months of work ahead of us.

The plague expands

Published on Thursday, January 26, 2012 By Brad Wardell In Elemental Dev Journals

Greetings!

imageToday Beta 1A (0.76) of Elemental: Fallen Enchantress.  This beta has been made available to everyone who purchased Elemental: War of Magic before November 1, 2010.

The feedback from beta 1 has been very positive and also very helpful. We’ve still got a lot of work ahead of us but it’s good to know that we’re on the right track.

There’s been a lot of changes made to 0.76 which can read below.  We won’t be tipping our hand on what new things we’ll be adding but I think players will be pleased with some of the additions we’ll be making.

The next planned update (beta 1B) will be roughly two weeks from now when it’ll get opened up to everyone who purchased War of Magic in 2010 or earlier.

Also, please vote in the survey if you have the beta to give us an overall idea of how you’re feeling about the beta.

Full Change log:

Download:

Fallen Enchantress Beta 1 patch 1 (version 0.76) is available for download from the Stardock store.  You should find a patch update if you already have the game installed (so you don't have redownload the whole game).  Players installing for the first time will need to apply the "Full Beta" download and then download and install the "Beta Update".

https://store.stardock.com/myaccount/products


Features:

+ Added Edge Scrolling (defaults to on, can be disabled in game options)

Bugs:

+ Fixed an issue that kept players with captured drake and forest drake lairs from being able to train them

+ Added temp tile designs for Drake camps, Forest Drake camps, Mercenary camps, Naja camps, Ogre camps, Ophidian camps, Troll camps and Wilding camps

+ Naja, Ogres and Ophidians are now recruited as single units.

+ Fixed an issue that was causing swamps in the players ZoC to look like forests.

+ Fixed a lost device crash in desktop mode.

+ Fixed an issue with the arena tactical battle arena.

+ Fixed a crash attempting to fill the environment map if the sectormapper isnt initiated.

+ Fixed a bug with the Run Wild (Varkana's) quest.

+ Ring of Storms isn't available for unit design anymore.

+ Fixed a bug with Mantle of Oceans that was causing it to increase tactical spell cost instead of decrease it.

+ Fixed Throwing Knives.

+ Fixed the Powerful custom faction ability.

+ No more pauses when Air Elementals cast spells.

+ No more pauses when Troll Shamans cas spells.

+ Fixed bug where if a leader of an army was killed, their surviving sub units were not reformed into a new army, which was manifested as if you killed the leader in an army, but ended up losing the battle, the entire other army still died.

+ Fixed an issue that allows the build button to work on resources that are outside of your ZoC.

+ Fixed an issue with a conversation tag from Resoln to Yithril.

+ Fixed an issue with a conversation tag from Gilden to Resoln.

+ Fixed AI bug where pioneers would never look for a city unless they had escorts, even if the destination area is safe

+ Fixed bug where AI would declare war on players it has never met

+ Got rid of several repetiative debug messages.

+ Fixed crash bug that would occasionally occur on loading a saved game

+ Optimized load save game code to reduce big game loading times from >2 minutes to <30 seconds

+ Fixed crash bug where unit stats were being modified by multiple threads at once

+ Fixed crash bug where modifiers were being modified by multiple threads at once

+ Removed critical seciton around GetHarvestPerTurn() that caused deadlocks

+ ProcessEvents only occurs every other frame to improve framerate (this should be followed-up with more cleaning of the event queue)

+ Auto Saving now has a Debug.err message around it so we can easily tell if a crash occurred during autosave

+ Fixed bug that caused turns to get stuck on occasion

+ UpdatePioneerImpAssociatedCities() moved to a background thread so that late game animation remains smooth

+ Fixed crash bug related to Pioneer Improvements being reassociated

+ Fixed bug that caused AI to cast strategic spells from the main game thread

+ Fixed AI bug where it would send a pioneer unit to a location too close to a city and try to build there and get stuck

+ More cowbell

+ Fixed crash bug where background thread was trying to update the UI

+ Fixed crash bug related to a unit being added to a city in multiple threads at once.

+ Fixed crash bug related to a unit being clicked on in a city at the same time as a background thread was accessing the unit

+ Moved Increment Hitpoints to the top of the event list because it's one of the most common events (performance)

+ Rewrote OnEndGame() to clean up data more cleanly

+ Fixed deadlock related to GetCityByIndex()

+ Fixed deadlock related to GetCityCount()

+ Fixed AI bug where it would go to a quest location that has already been visited

+ Fixed a missing tile design for the clay quarry

+ Fixed the clay quarry so it correctly gives a material

+ Fixed the empty lairs on the Northern Waste wildland

+ Fixed some empty lairs on the Burning Lands wildland

+ Fixed memory leaks

+ Fixed the white particle effects in the Fog of War

+ Torax's head trophy will now correctly increase the gildar of your city

+ Fixed an issue that was keeping you from casting tactical spells if you didnt have the original mana cost (you couldnt cast fireball for 15 mana with bonuses if you didnt have 30 mana because its original mana cost is 30)

+ Fixed an issue that was keeping army bonuses form being applied unless it was from the armies leader

+ Fixed a hung tactical battle issue when an ai opponent couldnt get to an enemy

+ Fixed a hung tactical battle issue when an ai archer tried to make a melee attack

Balance:

+ Regeneration also works in tactical combat (instead of just on the world map).

+ Magical Bows are more common as loot drops.

+ You can recruit more darkling and wilding warriors from those lairs

+ You can design units with Ignys Bows now with Arcane Weaponry (and archer will upgrade to them).

+ Giant Form and Growth can only be cast on sovereigns or champions.

+ Berserker's Axe reduced from 20 Attack to 10.

+ Berserker's Broadsword reduced from 22 Attack to 11.

+ Made the following level changes to monsters:

Abeix: 15 -> 18
Ashwake Dragon: 10 -> 15
Clambercoil Dragon: 7 -> 12
Delin: 15 -> 19
Drake: 8 -> 11
Fell Dragon: 9 -> 13
Forest Drake: 6 -> 9
Giant Rock Spider: 6 -> 8
Hoarder Spider: 8 -> 10
Morian: 15 -> 19
River Slag: 5 -> 9
Sarog: 12 -> 17
Shrill Lord: 9 -> 12
Slag: 7 -> 10
Storm Dragon: 9 -> 13
Torax: 15 -> 18
Vetrar: 15 -> 20

+ Might now gives +3 Attack instead of +1 Attack per Level

+ Discipline is now a custom sovereign ability

+ Verga starts with Discipline instead of Might

+ Increased the XP needed between levels

+ The Hallowed Rite trait is only available to Resoln (or custom factions using the Wraith race)

+ Caravans are limited per city.  2 become available with Trading, an additional one is added with economics

+ Road Warriors faction trait is renamed Legacy of Serrane and it also grants an additional Caravan per city

+ Champions get injuries if they fall in combat (even if you win the battle)

+ Warrior Temple and Warrior College are both 1 per Faction

+ Late game tech costs reduced

+ Many Mid/Late game Improvement costs increased

+ Ice Elementals can cast Slow

+ Apothecaries produce 3 research per material instead of 1

+ Lightning Pike doesn't require metal to produce (crystal cost increased)

+ Boreal Blade doesn't require metal to produce (crystal cost increased)

+ Maul gives -4 Accuracy per strike instead of -3

+ Merchants reduced from +3 Gildar per season to +2

+ Added a Research cost modifier by map size (tiny is 0.7, small 0.9, medium 1.0 and large 1.1)

+ Reduced Tech Cost Percentage Increase Per Tech from 10% to 5%

+ Town Hall moved form city level 3 to 4

+ Almshouse produces Diplomatic Capital instead of reducing Unrest

+ Hedge Walls and Wooden Walls require city level 3, Forts and Castles requires city level 4, Fortresses require city level 5

+ Theater is limited to 1 per Faction

+ Arena is limited to 1 per Faction

+ Watermills only give +2 Production per Material instead of +5.

Cosmetic:

+ Added a description tag to the Adventurer ability

+ Added icons for the Horn of Sarog, Fist of Vetrar and the Eye of Abeix trophies

+ Fixed a minor word wrapping issue with the civics ability

+ Tarth males cant wear the ladies satin shirts anymore

+ Fixed a missing cloth map icon with the Rats Nest

+ Made the prisoner quest text more clear.

+ Fixed a text overlap issue on the Unit screen.

+ New shield idle for the equipment screens (so it doesn't obscure the characters face).

+ Clarified the description text on the infirmary.

+ Fixed a typo in the Vetrar conversation

+ Fixed a typo int he Slave Lord ability

+ Added a "+x research" to goodie huts that give you research, before it was hard to tell what they were doing

+ Notification stay maximized for 15 seconds instead of 3

AI:

+ AI less aggressive in dealing with trespassers on its territory

+ AI more aggressive about recruiting champions

+ AI Scouts will now move towards unrecruited champions that it finds to recruit them

+ AI less cautious about going on quests

+ AI will defend its bigger cities better

+ AI handles strategic spells much more intelligently

+ AI sovereign will cast spells that only can be cast on champions

 

Update #1: Hot Patch (Data update – these get streamed to you when you load up the game automatically.):

+ Acrobat ability gives +4 dex instead of +1 dex / level

+ Fixed the Lucky faction ability

+ Added a cost to the Endless Legion faction ability

+ Reduced the likelihood of getting Path levelup abilities

+ Fixed the Quick faction ability

+ Fixed the Vulnerable faction ability

+ Fixed the Weak faction ability

+ Corrected the description on the Wealthy faction ability

+ Telescopes aren't available for unit design anymore

+ Fixed a type in the growth potion description

+ Salted pork now correctly heals 8 damage

+ Corrected the description on the Blight scroll

+ Fixed an issue allowing Csilla, Irdael and Norak to get Acrobat twice

+ Increased the amount of XP required per level (especialy at higher levels)

+ Halved the amount of the players Dexterity that feeds into Dodge

+ Increased Tech Cost Percentage Increase Per Tech from 5% to 10%