Anyways, here's what's new in 0.9.49:
-Fixed dragon's lighting in final cutscene
-Fixed gaps between tabs and menu on recruit screen
-Show reward screen after final battle
-Made sure bonus battles are fixed
-Fixed dark status showing incorreclty
-Fixed recruit screen offset glitch
-Fixed broken cutscene
-Fixed battle UI glitch
-Fixed phased enemies "eating" arrows
-Fix Eztli UI offset
-Tweaked targeting options
This last one I'll mention a bit about. There were a lot of little bugs I fixed here.
First, "cargo", ie, the hit points of spawned enemies "inside" a splitter, were not being correctly accounted for under target "strong." Now a splitter with lots of cargo that's almost dead counts as being "stronger" than some other dude with more raw HP showing.
Optimize effects + armor
Next, optimize effect was handling armor in precisely the wrong way. The idea behind "optimize effect" is to make sure your attacks with status effects and special flavors are used in the best possible way, more or less. So if you've got poison, you want to hit an unpoisoned enemy, and if everything in range is poisoned, you hit the one with the least poison. Etc.
For attacks with armor break / pierce, what we did was check for enemies that have armor and favor those as those attack flavors would have no impact on unarmored enemies. The boolean was flipped the wrong way, so setting a knight to target "!" would actually make him avoid armored enemies. Fixed.
Best chance + armor
The "best chance" targeting option is for when you want to make sure you don't waste an attack on an enemy likely to dodge it, or resist the attack. This was NOT taking armor into account, only dodge, darkness, and strengths. However, when you think about it, armor is just damage resistance, so that should totally be taken into account. In 0.9.49, it does this. So if you have a berserker set to "strong" and "%", he will favor an unarmored enemy over an armored one, since more damage gets through on the unarmored.
Best chance + dark/light
Dark enemies had a lot of glitches that I fixed. Apart from visual stuff, apparently for a while now dark enemies would go from 75% chance to dodge to 100% after they had been lit up and recovered their darkness. Besides this, the "best chance" target option was not taking into account whether a dark enemy was lit up, so all of them were considered bad targets under this option.
I fixed this now, and went a little further by putting a slight thumb on the scale for when dark enemies are lit up. So, all things being equal, if there's a dark enemy that's lit up, and a normal enemy, the defender will target the dark enemy. This is because that dark cloud will go back up eventually and its a more valuable target. I thought about doing this for phasing (ie, slight targeting favor to phasing enemies when they are solid), too, but figured that would be bad because phasing usually happens in quick, tight patterns, so if you target a phased enemy, your attack could miss by the time it lands as the enemy phases out. This would be the exact *opposite* of what the "best chance" target option is supposed to do - avoid wasting attacks.
The slight target bias towards dark creeps that are lit up is just a 10% weight, so it will only apply when all other targeting considerations things are equal.
Some testers had complained that targeting bosses was kind of complicated. "Strong" is a good way to target them, especially stationary ones like Zelemir and Eztli, but this keeps you from being able to target normal "strong" enemies, such as cultists and splitters. What I came up with was a special targeting option that only shows up in boss battles. This looks like a skull, and it's pressed by default. When it's down it means, "allow the boss to be targeted." When it's up it means "ignore the boss unless there's other targets."
So by default it's the regular targeting behavior - the boss is an enemy like any other. If it's off, the boss has the absolute lowest priority before any other targeting settings are considered.
Save settings feedback
When my wife was playing the game, she was always getting confused as to whether her current targeting settings for a defender were saved or not. So, if the current targeting settings are not the same as the ones that have been saved for that defender, the save button will turn dark red. When they're saved, it becomes blue. When you change options, it will update this so you always know what the settings situation is. Hopefully that should be a nice help.
How targeting works
Also, a quick explanation of how the targeting logic works. The entire thing works by comparing newly available targets to your defender's current best one. It does this whenever a new enemy enters range and/or an attack becomes available. So, if I can accurately say "yes A is a better target than B given these target settings" than the whole thing Just Works(TM).
The algorithm goes through a series of checks, trying to see if it has enough info to determine whether A or B is better. If they're equal under that check's criteria, it continues to the next one.
- Code: Select all
If "target_boss" is off -> Is A or B a boss? -> Favor whichever one isn't
If "target_chance" ->Favor whichever has least chance to dodge, resist, and armor-absorb my attack
If "target_effect" -> If my attack has flavors -> Favor whichever has the least of my flavors affecting it right now
If we haven't found a target yet, go by default target setting. (Fast/Strong/Weak/First/Last,etc)
"target_cheap" and "target_bulldog" don't enter into this because they do other things.
This has some interesting emergent properties. Since this check is done on an A vs. B individual level, it actually sorts groups pretty effectively. So if you have some strong dark enemies that are currently unlit, and some weaker vanilla enemies, all of which with different hp due to battle damage, and you targeting options are "strong" and "best chance," you will attack the strongest non-dark enemy. This is because first all the dark enemies get eliminated whenever compared to a non-dark enemy, and when it compares two non-darks, they are equal in terms of "best chance" so it falls through and then sorts by which has the most health (since you're targeting "strong").
The question is just which order to do these in. What exactly do we want to happen when we have BOTH "!" and "%" on at once? Which is more important? I can imagine a case for both of them, but if anyone feels strongly (besides coyot, I mean, I already have his vote - effect > chance) let me know so I can think it through.
Tyvon is fixing up some of the old sprites that he wanted to give a second pass to, and I'm busy tying up the last few loose ends. Windows builds are up on the test server as I type this, both release and debug mode, and I'll get release mode builds up for Mac + Linux shortly.
We have had reports that people using Mountain Lion are getting scare screens on installing the game because Apple, in its infinite wisdom, has created a new feature called GateKeeper that won't let you install applications from shady, unverified developers like us without digging into your OS system permissions. We're not quite sure what we have to do about this - we'll be releasing with other distribution partners, so we'll talk to them if they have some pipeline for it, and if not we'll go directly through apple and get the full anal probe or whatever it takes for them to stop labeling our games as malware
Anyway, the current build fixes the worst bugs people have reported and from the looks of it the content is all there. All that's left is a few Heisenbugs I'm trying to reproduce, a short list of visual glitches, an unpolished cutscene, and some old sprites that need replacing in the final "puppet shows." Oh, and two new music tracks we need to put in. And I need to update the credits.
Bunch of little stuff, but it all adds up. It's like picking up crumbs off the floor one at a time.