KovaaK's - KovaaK
We are happy to announce the launch of KovaaK 2.0 - The Meta! This year of development has been heavily focused on a new guided training mode of the game, which involved creating new Trainer systems and integrating them the Sandbox functionality into it.

There are a handful of known issues that we are working on resolving in the short term, but workaround are available on this Google Doc - please bear with us!

Trainer
The Trainer is what you will see on the front page of the game when you first run it, and the general idea is that we want to provide game-specific guided training with dynamic difficulty adjustments to adapt to players combined with a progression of levels that go through different skills. Right now we support a subset of weapons from Fortnite and Overwatch, and we have one training tree (Flicking) with plans to add two more (Tracking and Scoping) in coming weeks/months. The skill trees have been designed so that we can continue to add games and weapons without too much of a headache.

Sandbox
The Sandbox is what people have come to know as KovaaK’s FPS Aim Trainer—the collection of user-made scenarios on the Workshop that are made up of collections of profiles. At this point the Sandbox is largely the same as the product that exists on Steam plus a few QOL improvements and a variety of profile additions to expand upon capabilities. We have plans to completely overhaul the UI/UX of the Sandbox, add Playlists of scenarios—and plenty more.

QOL
We’ve made some initial QoL improvements:
  • Scenario Caching: After the list of scenarios is downloaded from Steam, the client will now keep a cache of that for 24 hours (by default). The duration can be changed under Game Options -> Main. Clicking the refresh button on the Scenario Browser will manually force a cache refresh.
  • Pause menus are cached between pausing, which results in much quicker pausing and profile manipulations in the scenario editor. Note that the Game Options menu still takes a little bit longer to load since it generates a tab for every weapon profile that the game is aware of.
New Options
  • Hide Gibs option added under Game Options -> Visuals
  • Scenario Cache Duration added under Game Options -> Main. This specifies the number of hours that Workshop scenarios are kept until the game has to download a fresh list.
  • Reload Sounds were added as an option per-weapon.
  • There are now three types of Shoot Sounds:
    1. Shoot Sounds: played when the weapon fires a shot, or played on loop when shooting if a shoot released sound is specified.
    2. Shoot Pressed Sounds: played when the input for shoot is pressed.
    3. Shoot Released Sounds: played when the input for shoot is released, and also
      immediately stops any Shoot Sound in progress. Thus, you can choose a very long .ogg file for the Shoot Sound of a weapon to play while fire is held, then specify a Shoot Released sound and have it prematurely end the Shoot Sound when fire is released.
  • If a weapon profile is set to use a different weapon profile while ADSing, these sounds can be modified in the ADS weapon profile’s preferences and will apply correctly.
  • Most selectable sounds now allow for multiple entries, which means that when a sound would be played it will choose a random one within that list to play. This applies to: Kill Confirmed Sound, Spawn Sound, Shoot Sounds, Hit Sounds, Reload Sounds, and Miss Sounds.

Dodge Profiles
  • Waypoints: Bots and can now be configured to follow waypoint paths on a map from spawn. The waypoint movement is applied as a single direction key the bot holds down after considering every other movement/dodge behavior associated with it, so if you have bots toggling forward/back and left/right, they will still attempt to follow those inputs but have the single input held that gets the bot closest to the waypoint.
    Target entities from Reflex maps can be set to have a “String32 name <waypoint name>”, and PlayerSpawn entities from Reflex maps can be set to have a “String32 path <waypoint name>,<waypoint name>,<waypoint name>“. Additionally, the PlayerSpawn can specify “Bool8 loopingPath 1“ to make the bot continue to go back to the first waypoint after the last one. Some of these lines have to be added manually with a text editor to the .map file (sorry, slightly inconvenient).
  • Bot Dodge Profiles then have a “Waypoint Logic” variable that can be set to:
    • Ignore (don’t chase waypoints)
    • Follow Until Combat (chase until it finds a non-teammate target)
    • Follow Aim At Target (chase waypoints while aiming/shooting at non-teammate targets)
    • Follow Aim At Waypoint (chase waypoints and completely ignore any other characters)
  • Waypoint Turn Rate that specifies in degrees per second how quickly the bots turn. This only applies when bots are aiming at waypoints.
  • TargetStrafeReaction has a new option: Player Can Shoot Soon. When this is selected and the player is using a weapon that shoots slower than every 400ms, the dodge profile tells the bot to change his strafing direction a short time before the player will be able to shoot again. Associated variables:
    • MinTimeBeforeShot & MaxTimeBeforeShot: <X> seconds before the player can shoot again, change strafing direction. Again, requires that the player is using a weapon that shoots every .4 seconds or slower, like a shotgun/rocket launcher.
    • Ignore Shot Chance: 0 = always try to trigger just before the player can shoot again, 0.75 = shrug it off 3/4 of the time.

Character Profiles
  • TerminalVelocity: This variable may be set to a positive value to apply a maximum velocity for falling characters, or 0 for same behavior as before.
  • CharacterModel: We’ve added cosmetic animated humanoid models that can optionally be shown on top of characters. They are set to automatically scale according to the existing character bounding boxes, so the visuals of the character model are cosmetic only (You don’t have to worry about unlucky instances of shooting between legs). When a Character Model is specified, you can also choose to show the main bounding box as a wireframe, or hide it entirely.
    • CharacterSkin: There are a few character skins included for specific models, and we will be adding more as time goes on.
  • ViewBob: When the player lands on the ground after jumping, apply a small down&up visual of the camera shifting. The time, angle adjustment, and camera Z offset can be specified, as well as whether player shots are affected by this or if it’s cosmetic only.
  • Two new flyer modes of movement:
    • IsFlyer=true and FlightObeysPitch=false, in which holding jump will immediately set vertical velocity to the FlightVelocityUp variable, and holding crouch will immediately set vertical velocity to the FlightVelocityDown × -1 variable. Looking up and down has no effect on the angle of flight, and this acts more like a simple jetpack (with the addition of crouch sending the character down).
    • IsFlyer=true and FlightObeysPitch=true, in which looking up or down while holding forward also affects vertical flight. In this mode, holding jump or crouch will apply those velocities 90° up or down from the facing camera angle. So if you look straight up and hold forward, you fly up. If you look straight up and hold crouch, you move “forward” to an observer.
  • Note that if you are configuring flying bots to follow waypoints at different elevations, you probably want to set them to IsFlyer=true, FlightObeysPitch=true, and make their waypoint logic “Follow Aim At Waypoint”.

Weapon Profiles
  • 1st and 3rd person Weapon Models
    • WeaponModel (first person)
    • WeaponSkin (first person): Note, alternate weapon skins are temporarily disabled.
    • WeaponAnimation (first person): can be set to Primary, Secondary, Charging, or None. Some weapons have different primary and secondary animations, some have charging animations. Intended use is primary animation on left click and a secondary animation on a weapon ability.
    • 3rdPersonWeaponModel
    • 3rdPersonWeaponSkin
  • Incremental Reload: Option to make the weapon reload bullets to the magazine over time instead of a full reload at the end of the time line.
    • ReloadStartupTime: Delay between reload activated (reload press or weapon ran out of ammo) and begin of Incremental Reload
    • ReloadLoopTime: Amount of time between each instance of adding ammo to the weapon
    • AmmoReloadedPerLoop: How much ammo is added every loop
    • ReloadEndTime: After the incremental reload ends, how much time until the weapon can shoot again
    • CancelReloadWithShoot: Whether reload can be manually cancelled in the middle of looping to get back to shooting early.
  • ProjectileVisualOffset: Where to spawn the projectile visual. This does not affect the source of damage, so it can look like shots are going through walls when they really aren't. Recommended values of 0.
  • SpreadDecayDelay: After firing a shot, how long until "-Spread/Sec" kicks in.
  • ReloadBeforeRecovery: When the player runs out of ammo, force the reload to start immediately, or wait until <time between shots> passes. Default for old scenarios/weapons is true, default for newly created weapon profiles will be false (true maintains compatibility with existing content, but recommend setting false to match most games)
  • New particle variables - All old particle variables were using UE4 Enums, which were more effort to maintain than they were worth, so I added string-based particle variables. If an old weapon profile is read that uses the old variables, the correct value will be read for the new variables. A fair bit of new particle effects have been added to each of these.

Bot Profiles
  • AbilityUseTimer: Previously, bots were configured to check whether they should use abilities every 0.1 seconds. Now you are free to set how often bots try to use abilities.
  • UseAbilityFrequency, UseAbilityFreqMinTime, and UseAbilityFreqMaxTime: These "frequency" variables allow bots to go in and out of states of whether they are allowed to use any abilities or not. Every [min to max] period of time they will re-evaluate whether they can use abilities based on the frequency listed.
  • Show Laser Pointer: If checked, a laser will be projected forward from the bot to show where they are aiming.
    • LaserRGB: Color of laser
    • LaserAlpha: Transparency of Laser. 1 = fully opaque, 0 = fully invisible.

Aim Profiles
  • AimingStyle: Original, or Sniper. Sniper is a style the locks onto the player over time and begins shooting when it is close enough. When the player isn’t in line of sight, the bot will scan in figure-eights around the player. Adds the following variables associated with the aiming style:
    • Scan Speed Multiplier: How quickly the bot follows a figure-eight path around the player when the player is not in line of sight.
    • Max Seek Pitch: How far vertically (in degrees) the bot will aim up or down along his figure 8.
    • Max Seek Yaw: How far horizontally (in degrees) the bot will aim left or right along his figure 8.
    • Aiming Speed: How quickly the bot will converge his crosshair onto his intended target (either the figure-eight or the player when in LOS)
    • Min & Max Shoot Delay: After the player is in the Shoot FOV of the bot, how long until the bot fires?

Upcoming/Works in Progress
  • A large art pass is almost complete, which will further increase performance in the Trainer
  • We have two tracking levels ready for production to wire up
  • We have ideas for a “learning to aim” trainer design that focuses on proper mouse control from point A to point B with vertical angles
  • Sandbox UI/UX Overhaul plans are complete, and implementation will begin soon
  • Design spec for the Sandbox Playlist feature is complete

For folks who have their skilltree unlocked:
  1. Level 5 is pretty broken/rough around the edges. Proceed with caution.
  2. Level 7 isn’t quite functional (We’re working on it!). The player is supposed to be able to move, but a last-minute map change gave the player concrete shoes. So the level isn’t quite as fun/interesting. Levels 7.5 to 7.7 are particularly troublesome (geometry is behind you). And, the Level 7 Combine is broken/incomplete.
Jun 26, 2019
KovaaK's - KovaaK
1.0.8.0 Changes:

QOL:
  • Added a spot at the top of the Leaderboards that shows the number of score entries and median score.
  • Added progress bar to indicate how far the game is along in caching scenario data from the Steam Workshop when it's first run.
  • Made modifications to the way tooltips for the scenario browser are handled. The end result is that the scenario browser should load a good bit faster when you pause the game.

Profile stuff:
  • Added a Character Profile option to invert the logic for "Blocked FOV spawn". This enables scenario authors to force enemies to spawn in front of the player, which may be desired to cut down on RNG for tracking scenarios.
  • Added a new Scenario option for Movement-Based Scoring that rewards points for having the player rhythmically changing directions of movement, according to rules defined below.

When the player moves Left or Right, a bar in the UI begins filling, then changing to the other direction gives points and depletes the bar. The bar has three sections that represent the multiplier on score that the player will receive. The amount of points rewarded is "time spent moving in that direction" * "multiplier for the duration".

As an example, the default time values are set to 0.25, 0.5, 0.75 and the default values for multipliers are 1, 2, 3; This means if the player spent between 0-0.25 seconds in one direction and changed, the time he was moving is multiplied by 1 and added to his score. If he spent between 0.25-0.5 seconds before changing directions then the time is multiplied by 2 and added to his score. If he spent between 0.5 and 0.75 seconds before changing directions then the time is multiplied by 3 and added to his score. If the player goes longer than 0.75 seconds in the same direction, it still only counts as 0.75 seconds. This gives the player an incentive to go the full 0.5-0.75 seconds then change direction, but letting the bar go entirely full not desired.
Jun 4, 2019
KovaaK's - KovaaK
Hey guys - Under normal circumstances of this game's development I'd be adding more features to profiles, fixing up the UI, and making the game more awesome to give you guys more options in your training. But as some of you know from the tweet back in January, I'm working full time with The Meta on the "2.0" version of this game with slightly different focus. Unfortunately, we're still decently far away from release and can't share details/spoilers quite yet. So our plan between now and the release of 2.0 is to trickle in a few high-impact but low-cost features that expand the possibilities for scenario authors.

So the patch that I just put on Steam does the following:
  • Updated "Fortnite" FOV option to the way Fortnite is handling FOV now (16ML9, in FILM notation)
  • Added "Fortnite Legacy" as an FOV option that does it the way Fortnite used to (16MI9, in FILM notation)
  • Added Spawn Offset X & Y for character profiles so that scenario authors can do more cool stuff. Think stuff like Snake Tiles, but in more dimensions :)
More little changes like this will come as time goes on, but the big changes will happen with 2.0. I can't wait to share more!
Feb 8, 2019
KovaaK's - KovaaK
1.0.7 Changes:

  • Updated Unreal Engine version from 4.19 to 4.21. This resolves the long standing memory leak due to drawing 2d things in 3d space (such as the floating combat text), and makes the game start on the primary monitor for all users.
  • Fixed the "shotbug" where longer up-times of the game resulted in deviations to fully automatic weapon DPS.
  • Added "Switch Time Reduction" to Weapon Profiles, which allows characters to change weapon before the current weapon is ready to fire again. Example: 0.8 secs between shots for a weapon with the new variable set to 0.5 means that 0.3 seconds after shooting the weapon, your character is allowed to change to another weapon.
  • Added "No Dodging" and "No Aiming" as Bot AI options (which entirely blocks AI Dodging and Aiming from occurring, for performance reasons)
  • Separated Burst functionality into the new burst variable. Made Charge work with burst. Stuff like Zenyatta's right click is now possible. Also, I believe I made it so any existing Burst weapons were properly converted to the new variables...
  • Made scenario browser not automatically filter on each text change (user has to press enter or change focus). Back when there were only 30 scenarios on the workshop, filtering each key press happened much faster...
  • Fixed "My Scenario" bug when editing scenarios, hopefully.
  • Fixed exploit for scenarios that are intended to lock FOV to a certain value.
  • Floating point inputs in menus will now show an extra digit of precision.
  • Limited Overshot protection to 250ms
  • Expanded range of inputs for some scenario creation variables
  • Made explosion properly use random(min,max) of flat knockback variables.
Jan 3, 2019
KovaaK's - KovaaK
1.0.6.2 Changes:
  • Added options to change Sky Color under Game Options -> Visuals
  • Added option to set custom resolution under Game options -> Video
  • Added Fortnite sensitivity dropdown options.
  • Added Weapon Profile option to block ADS/zoom while in air.
  • Added Weapon Profile options to shift 3rd person camera when you ADS.
  • Forced the player's visible weapon model to be hidden when in 3rd person.
  • Made clicking on "Cancel challenge" unconditionally show the scenario browser and session manager.
  • Fixed bug/exploit that allowed users to have extra time on certain challenges.
Oct 16, 2018
KovaaK's - KovaaK
1.0.6 Changes:
  • Added scenario scoring option for "Score per distance traveled". Scenario authors can now provide incentive for players to move around while aiming!
  • Added options for third person camera under Character->Main for scenario authors.
  • Added Weapon option for "Force First Person In ADS" to make otherwise third-person characters go to first person when zooming in. This defaults to on.
  • Exposed a third friction-related variable for character physics (linear decrease in velocity over time on the ground). Also renamed the other two to hopefully be more descriptive.
  • Updated default list of Favorite Scenarios for new users (Added Tile Frenzy & Mini, Ascended Tracking v2, 1wall5targets pasu, Cata Plasma Long Strafes, and Thin Aiming Long - check these out if you haven't yet!).
  • Fixed Zoom FOV and Sensitivity Scaling inconsistencies (Weapons with 0.0 time to zoom in were not reading the right variables).
  • Re-did code around spawning bots for challenges so that it shouldn't be possible to end up with more bots in the challenge than intended. They also no longer reset their velocity and health a split second after spawning.
  • Re-did code for challenge timer so that it uses some different methods. There was something weird going on for people who played the game for a _very_ long time that resulted in the challenge countdown going slower than it should.
  • Respawning clears stun.
  • Respawning blocks "bogo jump" until you let go of jump and press again.
  • Made Challenge Timer more precise when it is down to the last 10 seconds.
  • Removed "ADS/Zoom" text from hotbar when the character you are playing doesn't have any weapons capable of zooming.
  • Added option to hide UI element for remaining time on challenge.
  • Added vertical spawn offset for character profiles.

Note:
The Paladins and UE4 sensitivity scales are inaccurate. When I first implemented Paladins sens, I was unaware that the game's yaw/sensitivity was dependent on FOV. I plan on eventually changing the sensitivity options in this game to allow for custom yaws, and I encourage people to use https://github.com/KovaaK/SensitivityMatcher/releases/latest to figure out how to convert sensitivity between games!
KovaaK's - KovaaK
I've been digging into this hitching issue that some users are experiencing in the game. I now know for a fact that the old version of UE4 (4.18) works perfectly fine, and the instant I upgrade to the current version (4.19), hitching starts to happen. So something changed in the engine, and I have no idea what. Using the profiling/statistics features of the engine shows me that there is a specific function of the engine that is causing the problems, but it's nothing I have control over. And using Process Hacker shows that every hitch is caused by hundreds of thousands of page faults (where the game tries to access memory that it hasn't mapped yet). So it's something to do with memory management, but I'm re-using actors/assets everywhere I can be, and it wasn't a problem in 4.18...

So why don't I just downgrade from 4.19 to 4.18? Unfortunately, UE4 does not allow developers to downgrade engine versions. I do have an old copy of the project from just before I upgraded from 4.18 to 4.19, which is the game version 1.0.3. So for those of you who are having hitching issues, I've uploaded that old build on Steam under the "1.0.3 - Old version" build. If you go to the Betas tab of the game, you can opt into that. Notably, leaderboards will be missing from that version, but there shouldn't be any hitching problems. See the previous patch notes listing for what changed in 1.0.4 and 1.0.5 - those features will be missing from this build. That said, the 1.0.3 build is in shipping configuration for improved performance.

Going forward, I will resolve this issue with the latest build of the game one way or another. Of course I'm hoping a UE4 patch to 4.19 comes out that just resolves it (would be really nice since I'm still working 60hrs/week at my day job), but I'll continue to investigate every option available to me. Sorry for the inconvenience to those affected!
KovaaK's - KovaaK
1.0.5:
The biggest change this patch is improved performance. Previously some systems had hitching that was occurring at various frequencies, and this should fix the majority of it.

  • Officially moved from "Development" build configuration to "Shipping" build config. There are some trade-offs, and I've been debating on doing this for a while. At this point, I've decided it is worth the jump.
  • This comes with much improved performance across the board. FPS averages will be higher, and the engine's garbage collection should be less intrusive in causing frame drops/hitching.
  • The folder that the engine uses for configuration files and save has been relocated. I have a script that will run once to relocate your config files from the old folder (\SteamApps\common\FPSAimTrainer\) to the new folder (%localappdata%\FPSAimTrainer\). Hopefully this will be transparent to you.
  • All of your old profiles/scenarios, .ini files (including weapon settings), sounds, maps, and crosshairs will work fine and won't require any changes.
  • On the negative side, the console is gone (not that it did too much for most people, but I did add some menu options below that some were using the console for).

Other changes:
  • Scenario tooltips will now show the Steam username of who uploaded something to the workshop.
  • Added Steam Rich presence when you are playing or editing a scenario. (friends can check what you are playing/editing)
  • Set max resolution scale to 200 under Video Options.
  • Added options for AntiAliasing under Game Options -> Video
  • Added option to show/hide/move FPS counter under Game Options -> UI
  • Made the "You killed ..." text smaller and transparent.
  • Removed some defunct variables from Weapon Profiles when exporting to .wep and .sce files.
Apr 12, 2018
KovaaK's - KovaaK
I'm very happy to announce that leaderboards are officially live! There are a few other QOL changes worked in there, but the majority of the new stuff is leaderboards-related.

1.0.4 Changes:
  • Leaderboards for workshop scenarios! Clicking the podium button will now bring up the leaderboards for a scenario on the workshop (not for local files). The scoreboard also shows up when you complete a challenge.
  • When updating a scenario on the workshop, authors are given the option to "Invalidate Old Scores". When this is checked, old scores will still be on the leaderboard server, but they are either hidden or show up with an asterisk (*) depending on your preference under Game Options -> LBs. When someone plays the challenge and has a previously invalidated score, his first new score will overwrite the old one, even if the score wasn't higher (just to get a valid score on the scoreboard).
  • Clicking a user's name on the leaderboard takes you to their Steam profile.
  • Added option to show only friends on leaderboard (Game Options -> LBs tab)
  • Added choice to opt out of individual leaderboards when you go to play a scenario as a challenge.
  • Added choice to opt out of all leaderboards on Game Options -> LBs.
  • Updated UE from 4.18 to 4.19. Supposedly this comes with reduced input lag.
  • Made Sprint Ability's speed multiplier minimum 0 (was 1).
  • Modified upload/download buttons - Icon for Upload new or Download new is the old icon of a circle with a hollowed out arrow. Icon for Update or Download new version is a smaller arrow, no circle.
  • Added note on Bot Weapons tab that the weapons are pulled from the chosen Character profile.
  • Changed "ADS" hotbar text to "ADS/Zoom"
  • Forced UE4 to do Garbage Collection when you pause and just before a challenge starts. Hopefully this helps get rid of mid-challenge stutters. The previous engine timer for automatic Garbage Collection was 60 seconds, it is now 600 seconds.
  • Reworked some logic for selecting spawn spots to cause less framerate drops.
  • Fixed bug of Escape->Spacebar causing the Scenario Editor to Scenario Browser transition to occur repeatedly.
  • Changed default key bindings for weapons, abilities, and zoom to make a little more sense. (1-8 for weapons, Shift, E, Q, V for abilities, and Mouse2 for zoom).
  • Added "Reset Session" bind, default set to F3. If you are in a challenge, it restarts the challenge. If you aren't, it just resets stats/accuracy. The key shows up in the Game Options -> Key Binds menu as well. (Removed "Reset Stats" key and replaced it with this)

As I've said on the Discord Server a few times, I'm about to go into a period of overtime at my day job. I'll be working 60 hours a week for a month, followed by a week of training out of state. My development time for the game is coming to a temporary halt, but my support for it is far from over. I'll still be in the Discord server answering questions on how to make profiles/edit things and hopefully help you guys make awesome scenarios that are fun to play and great practice.

Shortly before the game launched on Steam, I sent out Steam keys to all of the pre-purchasers in emails (by the way - to newcomers wondering why so many reviews were from gifted Steam keys, this is why. There were about 380 pre-purchases from people who followed the paypal link that was on my Youtube channel). Included in the email was a survey asking what people wanted to see sooner rather than later. The top six requests were:

  1. Advanced FPS Movement Options (strafe jumping/bunnyhopping)
  2. Graph/histograph to look at your scores on challenges for trending
  3. New bot-type of recorded path (player runs along route, saves input to file, bot plays it back. Can loop or shuffle)
  4. Leaderboards for all scenarios
  5. Fake network lag
  6. FOV Scaling options

So, I've got 2/6 of those top requests implemented (FOV scaling was done in the whirlwind of programming before release, and leaderboards are live today), and the remaining 4 would also be great to have in. I'm really looking forward to having time to add those improvements!

Outside of those, I intend on continuing to add more profile customization options to make it possible to emulate more and more games. And hopefully the existing options will continue to be flexible enough to let you guys make the training scenarios that you want.

As always, thank you for your support of this project. I'm very glad it came this far, and it has been great fun making it and playing it :).
KovaaK's - KovaaK
I put out a number of patches since release, but per my habits over the last year and a half of development I was posting patch notes on the Discord Server and kind of forgot that I can also post them here. I'll try to keep that in mind in the future :D.

Anyway, here is what is new/changed:

1.0.1 Changes:

  • Made the option for hitscan/projectile visuals coming from the weapon viewmodel a setting under Game Options->Weapons instead of each weapon profile.

1.0.2 Changes:
  • Disabled Gameplay Debugger keybinding
  • Made "Hitscan Graphic Visible" a default weapon option as well as per-weapon.
  • Adjusted a few tooltips for clarity.
  • Hid download button for things you already have downloaded
  • Made the alternating border cut off before the Challenge icon (mainly so the download button colors wouldn't look shifted by the border).

1.0.3 Changes:
  • Added new character options:
    -Bounce Off Walls
    -Air Jump Extra Control (0 = no modification to horizontal velocity when air jumping. 1 = full control set to your ground velocity based on keys held. 0.5 = half and half)
    -Allow Buffered Jumps (checkbox, defaults to true to act like Quake)
    -Forward Speed Bias (when holding two movement keys that are perpendicular to each other, allows you to bias one axis)
    -Landing Speed Penalty (after landing, penalize movement speed by X amount for Y seconds)
    -Health Regen per Second & Health Regen Delay (After X seconds of not taking damage, regen Y health per 1 second)
    -Health Regained on Kill
  • UI tweaks:
    -Renamed "Auto-Scale Zoom Sens" to "Zoom Sens Auto-Scale" in Weapon options menus
    -Added tooltip to the star (favorite icon)
    -Added Favorite Icon to end challenge score
  • Added two new Circle crosshairs

...