Tag Archives: Shaders

Auto Fire v0.6.06: Perk-olation

It’s been a couple weeks since the last build, but a lot has happened due to things that I’ve wanted to get in for the Rogue Celebration 2019​, which I’ll talk about in another article.

For Auto Fire, RogueCel primarily meant that I had a lot I wanted to do in proving out playstyles.  This manifests in the player’s vehicle chassis selection…  It includes speed perks (passive effects triggered when driving at 60 MPH or higher), and special maneuvers (gas-consuming all-in-one moves that launch the vehicle to a new location and affects everything around it.

As always you can check out the state of development for free on Itch!

Explode-o-Ram Speed Perk

General Improvements

  • Cached Line of Sight: I used to do a pretty dead-simple Line of Sight test… I traced from one tile’s center to the other. Sounds simple, but there are a ton of edge cases that come about from testing that way.
    • To get it right requires a couple extra tests, primarily tracing to each far corner of the tile.
    • This allows you to see tiles that are partially obscured by walls, as well as being able to target walls themselves (such as when shooting the destructible outpost borders).
    • To reduce the load of this, I cache the results of these multiple line traces in all directions out to 15 tiles (this is tunable). That way I can look at the offset from the viewer and quickly retrieve all the tiles I need to query for blocking. Is it done in the most efficient way? Not yet, but it definitely is an improvement so far.
  • Improved item gathering: Vehicles now automatically pick up items from the ground adjacent to the vehicle, rather than requiring the radar to be used.  It feels so much better!
    • The player also automatically picks up adjacent items in the overworld!
Jet Wash Speed Perk

Gameplay Systems

  • One thing I really needed was to introduce more playstyles for players to choose from. I decided to bake in special abilities into various vehicle chassis.
    • To facilitate this, I created the ability for equipment to have passive effects when installed, and remove them when uninstalled. 
    • Effects have an ambient effect on their target, and can also trigger gameplay or visuals as a result of having triggers on its target… such as being hit, losing control, or colliding.
    • Vehicles now have two new equipment slots (which are not player-editable):  Speed Perk and Special Maneuver.  This equipment will in most cases be baked into the chassis itself when used.
    • A minimum speed can now be defined for effects, allowing for things like speed perks which trigger whenever the vehicle is traveling 60 MPH or over.
  • The stun condition keeps an AI (or player) from firing or controlling their movement until it wears off.  This means pedestrians stay in place while vehicles will continue forward at their existing speed (or until they hit something).
  • The focus condition increases the subject’s ability to hit targets and inflict crits.
  • Turret fire (the F key or the gamepad triggers) now can launch any weapon or special ability.  It also won’t attack the ground the way it used to.

Vehicle Upgrades

  • Ram Blast (Stallion):  Speed perk that triggers an explosion whenever the vehicle collides at high speed.
  • Ram Piston (Stallion):  Special maneuver that launches forward and bashes through the selected target, knocking it aside.
  • Advanced Radar (Stallion):  The Stallion has special radar that has a bigger radius than other vehicles.
  • Hyperfocus (Panther):  Speed perk that increases the hit and critical chance when at high speed.
  • Jet Thruster (Panther):  Special maneuver that launches forward and puts the car at max speed, leaving a trail of fire behind.
  • Jet Wash (Cricket):  Speed perk that stuns vehicles and foot soldiers that are passed at high speed.
  • Bootlegger (Cricket):  Special maneuver that launches forward and spins the car around, ending with a large stunning pulse.
  • Note: Special Maneuvers all consume gas!
Jet Thruster Special Maneuver

Visuals

  • Created new shader for the fog of war that scrolls and has interesting edges. 
    • This was only my second or third foray into Amplify shaders… It’s been great to be able to the work in the editor rather than have to code them, since I really did a lot of experimentation here.
    • The main goal was to create something more dynamic on edges and more particular to have fewer tiles obscured by half-opacity textures, which made things feel extra floaty and mushy on a large part of the screen.
  • Destroyed vehicles now do not fly into the air as ridiculously far.  It was fun but you often never even saw the vehicle because it flew so high.
  • Adjusted the color of the ordnance and gas can icon and model to be more prominently colored, so they are easier to spot.
  • Added glinty materials to pickups to make them catch the eye better.
    • This is mostly by cranking up the brightness of the specular in the toon shader I’m using for gameplay objects. It looks pretty nice when the objects spin.

Content

  • Adjusted the loadout of starting vehicles to match playstyles. 
  • Updated start screen to give more description of cars. 
  • Updated some tutorial text to match the new control method.
Revised fog of war using Amplify shader

Bug Fixes

  • Fixed bug with effects such as dropped items. One symptom was smoke and oil overwriting each other. This may also eliminate some of the mysterious crashes I’ve seen.
    • It turns out that in a specific case I was passing a single dictionary around for effects rather than properly instantiating it for each instance of an effect. That caused some serious weirdness, glad to have tracked that down.
  • Fixed a problem with firing while stationary, which remained in slomo during execution.
  • Changed the ragdolls for humans and dogs to move smoothly.

Audio

  • Added audio mixer slowdown when slowing down time. 
  • When destroyed vehicles are flung into the air, they now play sounds when falling to the ground.
  • Added a techy burst sound for the bootlegger.

User Interface

  • Targeting squares are more yellow now, rather than green. 
  • The (A) button prompt disappears when the player centers the gamepad stick.