More difficulty changes!
Difficulty Curve
Up until this point, the difficulty curve based on time was linear. This meant that every X seconds, the difficulty increased by Y. There were other factors that could boost difficulty (headshots, combos, long shots, etc), but for the most part the time is the biggest contributor to everyone's game. While I have control of what enemies begin spawning when, most other aspects of difficulty are simple formulas.
For instance, enemy speed is BaseSpeed * (1 + Difficulty/200) This is a very linear formula, and because of this I don't have too much control on how it ramps up.
Because there are a number of formulas like this in the game that affect different aspects, it is much easier to adjust how the difficulty changes over time (which will affect all these formulas the same way) than to go through and try to tweak each formula individually.
Here is the first pass at the Difficulty-over-time curve.
Now at first glance this seems weird, but you have to take a look at the Y Axis. The X-Axis is difficulty, the Y-Axis is a multiplier. Instead of being linear, the difficulty-by-time formula now looks like this:Difficulty = CurrentDifficulty + (1second/15)*EvaluateCurve(x=CurrentDifficulty)
Basically, the current difficulty affects how fast/slow the difficulty is increasing. The outcome is a quick ramp to 15 to get you situated, then a slow down of increase to 20, and a much longer 20 - 50 experience (which is most players comfort zone based on current data). Then if you pass that the difficulty begins to rise faster, up to 100, at which point it levels back off to normal.
Hopefully this will give most players a comfortable play experience, but for those who are good enough to make it through, it will more quickly ramp back up to a challenging level. I'm very interested in hearing feedback about it.
Fireball Ability
Another fairly common issue people have been having is with the fireball Orb ability. I think a lot of it stems from the fact that you spend 95% of the game honing a single skill (Archery) and then the game asks you to use a completely different one (throwing an object) as a core gameplay mechanic. The intent of the orbs is to be used situationally or as a last resort, hence the long cooldown. This gives you even less opportunities to hone the skill.
Instead of trying to adjust how the mechanic works, in this patch I'm trying to make the ability much more forgiving, so I've increased its blast radius by 4x which will make it so that most throws should do something to the enemy force.
Attacking Enemies
The final big change is to enemies that are attacking the gate. I've seen a number of posts about this, and is something I've seen myself as I play. Which is that enemies attacking a gate seem much harder to hit than ones that are running. Very counter intuitive. I think it's because of the dramatic animations that the enemies have for attacking, which makes their heads/torsos move around much more than when they are running. Regardless of the reason, it just doesn't feel nearly as satisfying to shoot at them and have your arrow miss by inches.
To fix this I've implemented a new system which will hopefully improve the situation. Now while enemies are attacking a gate, their hitboxes are 25% larger. This sounds like more than it actually is, because each collider is scaled individually, leading to more overlap, and netting a increased volume of less than 25%. But you should still be able to feel the difference :)
Other Changes
- Cave is now also 45 second light, 30 second hectic to align with other zones
- Removed difficulty jump when closing gate.
- Embedded arrows can now be picked up by the player
- Charging enemy max speed reduced by 15%
- Adjusted 'Final Stand' spawn points in single player
Bug Fixes
- Fixed error with glove fading
- Fixed bow aiming error
- Fixed error for enemies when joining a multiplayer game
- Fixed time-warp sphere in multiplayer
Edit: 0.30.6a
Uploaded a quick update that fixed error when enemy attacking that may have caused many issues (gate not breaking correctly -> enemies not spawning correctly)
However, people who haven't gotten the updated patch and are the host of a multiplayer game can still break the game for those who have updated. Should sort itself out in an hour or so when everyone gets the update :)
