Tag Archives: Unity

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.

Auto Fire v0.6.05: Advancing the Experience

It’s been a few weeks since the SIX update, and there’s a lot of meaty gameplay work to show off.  Ammo! Maneuvers! Slo mo visuals! Better ramming!

Slo Moooooo

  • One of the biggest issues of having a turn-based game with realtime visuals is that a lot of the time people don’t grok that the game is waiting for their next input.
    • As a way to get around this, I added a slowdown when the game is waiting for player input. 
    • As a delightful side effect, it looks pretty damn cool. 
  • Had to move a number of UI inputs to use unscaled time so it ignores slomo. I might have missed a few, so will be on the lookout.
  • Made a bunch of UI effects use unscaled time so they play at a normal rate even during slowmo.
  • Fixed camera and a bunch of other elements that slowed down inappropriately during slowmo

Special Maneuvers

  • Special maneuvers appear as “equipment” (currently occupying gadget slot 3), but are eventually going to be baked into specific vehicle chassis, which allow you to take special actions in a crisis.
    • This means that different vehicles will help with different playstyles.
  • The first special maneuver is the Ram Piston
    • This maneuver launches the car forward 2-4 tiles within a set arc and rams an enemy out of the way.
    • You can also use it to get out of a jam by launching to an empty tile.
    • It has a cooldown and also uses gas as its ammo, which you can find out in the field or purchase at a garage.

Resources as Ammo

  • Players have always been able to collect gas, ordnance and parts around the battlefield.  These items are now used as ammunition for some weapons and equipment.
    • Mines and rockets use ordnance
    • Ram piston, flamers and flaming oil takes gas.
  • Many weapons do not require ammo (just a cooldown), so ammo-consuming equipment will be stronger for its limitation.
  • When you highlight a weapon, it should explicitly say the ammo it uses, if any.
    • If you’re out of ammo, hopefully it will be very easy to see and understand.
    • There is a dry-fire sound when out of ammo. 
  • All game hints are now moved to middle-screen and important information such as being out of ammo also appears in that space as needed.
  • Now that ordnance and gas are much more needed by players, I added significantly more drops of them to the loot lists.
    • Loot dropped from cars and crates now has a new definition type, so every drop won’t have 5-6 items in them (it was just out of control)

Ramming

  • Ramming something at a high enough speed will now knock it to the side rather than stop you dead.  It’s far more fun.
  • The mass of an opponent or object now matters more. Your speed and your mass is factored against their mass.
    • NOTE:  More will happen with this in the future, since relative speed and resultant velocity aren’t all factored as they should.

Additional Targeting Changes

  • Area-effect weapons such as rockets, shotguns and flamers can now be aimed at the ground if you want to position their blast for maximum effect.
  • Some weapons and abilities now have a minimum range.
    • Rockets have a min range of 2. 
    • Multifire rockets have a min range of 3.

User Interface

  • Updated the position of resources in the HUD.
  • Revised frames in HUD to use a superthin frame.
  • Updated skid meter and needle, and repositioned turn pips.
  • Boost hint only appears when at max safe speed now.
  • Cleaned up the UI camera for inventory and garage. It’s not blurry anymore. 
  • Fixed broken portrait from game startup.

Audio

  • Revised the collision sound (hated the old one).
  • Added a new wood break and revised rock break sounds.

General

  • Edited the speed lines for movement and ram tile with a new graphic.
  • Fixed some rare crashes

Auto Fire v0.6.01: Objective Pointers!

As the Space Marine once said:

Hell, it’s about time.

A small update coming down the pike today, but one big one comes along for the ride.  Objective pointers!  When a boss appears, the game will help guide you to the opponent, and once the boss is destroyed, you will be pointed to the exit.  It’s a frequently-requested feature, and it will only get more robust as time goes on.

Change list

  • Objective pointer appears when boss appears and then the exit gets a pointer when the boss is dead.
  • Game doesn’t slow down quite as long when an enemy dies, and it doesn’t slow down at all if the victim is offscreen.
  • Rebuild some shader files to reduce hitches.
  • Visual quality defaults to Very High rather than Very Low(!).  (Auto Fire is 3D but it’s not that taxing on your machine…)

Bug fixes

  • Fixed the spacing for the inventory/buy/sell screens a little, and a few other quirks.
  • The loadout and settings screens had some fixes to make them more usable with a keyboard.
  • Fixed some things interfering with the cargo screen when used with a mouse.
  • Fixed some bugs when using the repair screen.
  • Removed a rare combat result in the loot crate encounter for the time being.  (Caused you to get stuck in the encounter popup)

As usual, it’s freeeeeeee on Itch.io.

Auto Fire v0.5.15: Overworld Overlords

When expanding the feature set of Auto Fire,  an important element was to finally make the overworld play more of a role in the game.  As a first step, the badlands now have roaming gangs that run convoys from place to place (having an agenda that will grow over time).  These clouds of dust have an unknown number of cars in them, and eventually they will hold a variety of characters within, including lone drivers, hit squads, innocent settlers and good ol’ cargo convoys. 

Each roaming enemy gang has a generated miniboss that runs it.  If they see you, they’ll interrupt what they’re doing and come after you.  If they reach you you’ll be dragged into full combat with their crew… but if you take down the boss you’ll earn yourself some extra fame.  Make sure you defeat them or they’ll come back to haunt you…

Some other changes with this build:

Overworld

  • Created overworld bosses (as described above).  These roam the world using a FSM via the Unity Animator (unorthodox but seems to work fine).
  • Added a lot of infrastructure to make free bosses and track the player’s kills in each faction.
  • Bosses now have a “spotted” shout that occurs both in the overworld and in combat.

Controls

  • Cleaned up the UI for weapon aiming.  The player can’t accidentally advance the clock by targeting empty ground.
  • Buffer keystrokes now so that the player cannot target when the enemy is still in the middle of its move.  The result was a bunch of misses due to bad UI… Ugh it was driving me nuts! Fixed now, yay!

Combat

  • Revised the combat hit resolution from an older system, which was Diablo-like (and tended to create more misses and less impact due to bonuses), to one that is more of an opposed roll with positive and negative modifiers (more like D&D).  It creates a more distinct feel to good and bad weapons and situations.
  • The new equation:
    • Attack Rating (AR) = accruacy + gunnery
    • Defense Rating (DR) = rangeMult(1) * range + speedMult(2) * speedAboveOne + defenseVal
    • Bonus = paintBonus + sustainedBonus – targetingPenalty
    • Hit chance = 100% + (AR – DR + bonusMult(2) * bonus) * 10%
  • Junkthrower is more powerful, which makes the starting Stallion less terrible to use.
  • Turned down the difficulty of some boss encounters, since they were a brutal step above regular cars to fight.

Systems

  • Minor Unity and API upgrades.

Auto Fire v0.5.13: To Everything Turn, Turn, Turn

A really quick update today. The update that applies a new turn system with more reinforced simulation updates is now live. To reinforce this system, I was pretty aggressive:

I pushed the turn thing pretty hard. Some changes include:

  1. An action counter in the lower left that tells you how many actions you’ve got and used.
  2. I finally got the hang of Amplify shaders and used them to project vehicle silhouettes in front of the player’s car replace the player’s arrow-based speed indicators at its rear. These silhouettes help indicate how far you’ll move that turn.
  3. Weapons and equipment now recharge on the turn boundaries. It doesn’t mean cooldowns are exactly X turns (yet) but I round the recharge so it always arrives on the turn.
  4. Since the turn is more important, I play a low-volume snare drumbeat on the turn. That might be too damn much… I like it because it drives home the concept, but it’s a bit noisy. We’ll see about this one.

Check out the new build on Itch as always!

BIG WEEK! Big Week!

This has been an exciting week for me… As Hidden Path puts the final digital shrinkwrap on my most recent VR title Raccoon Lagoon, I’m bidding the classic nine-to-five a temporary adieu. As of yesterday, I’ve started focusing my full attention on Auto Fire! It is my hope to get it into solid, pro-tier shape over the summer, and see what happens!

In celebration of this moment, I’ve put together an early trailer, complete with some pro-tier voice acting:

Auto Fire needs a lot of work yet. I need to make the interface more approachable, flesh out the content, and improve the basic art so that the game starts turning heads. I need to deliver on the fantasy of driving a combat car… that’s skidding, shooting, hauling convoys, maybe even launching from jumps? The possibilities are endless!

Adding gamepad support should help people get comfortable with it quickly, and improving the mouse interface will hopefully do the same. Anything that helps people ramp up and be gripped by the promise of a muscle car bristling with chromed-out weapons.

As an inaugural step for my all-in on Auto Fire, I’ve been deeply examining my turn model… something I haven’t touched in like two years. The way it used to work is that each team would execute their moves when the timeline reached it, so that if you were moving at 60 mph (3 moves per turn), and the enemy was moving at 40 mph (2 moves per turn), the simulation would resolve with:

  • You move (progressing to 0.333 seconds)
  • They move (progressing to 0.5 seconds)
  • You move (progressing to 0.666 seconds)
  • They move (progressing to 1.0 seconds)
  • You move (progressing to 1.0 seconds)

Guh. This might sound sensible if you are a realism fan, but when many entities are moving at different speeds, the turns all interleaved and the player never knew who was going to move when. It was confusing and could get frustrating as an enemy vehicle suddenly drove right into your path or out of your line of fire.

The new model is pretty simple: Each turn you execute your moves, then the rest of the world executes their moves. So in the above example, you’d get your 3 moves, then they would get their two. It’s basically X-com style, but you know what?

It ended up playing exactly the same.

Yeah, you can’t really tell there’s any difference at all, it flows great. And while I was worried that you’d be irritated by that long pause for your opponents to do their thing during your fancy driving , it actually feels a lot better than when your opponents interrupted you at odd, unpredictable times during your turn.

This is an important breakthrough because if I can make the player keenly aware of what a “turn” is, I can help them understand what acceleration does (more moves per turn) and how weapon cooldown works (most weapons can only be fired once per turn). I might not need a hojillion progress bars (a weapon is either available or not). Since the core goal is to make the game more accessible and less math-y, I’m optimistic that this is a good step that doesn’t sacrifice the core gameplay.

Finally, along with this exploration I started experimenting with better shaders using Amplify for Unity. It’s another useful step, because there will be a lot I want to convey in-world and good shader control will help me make better 3D and mouse-driven interfaces. Things are looking up!

Auto Fire v0.5.12: The Spruceining(tm)

I’ve been laying the foundation for a trailer over the last couple weeks, so most of my progress in Auto Fire has come in the form of cleanup, although there are a few gameplay tweaks, mainly to make that early experience a bit better. On the upside, there are less-soldier-y gang members, a cleaned up HUD, some new lighting and vehicle trails, check it out.

AutoFire

Starting next week, I’ll be able to work on Auto Fire full-time for a while, so prepare for some meaty updates.  The goals are to significantly improve the player movement, reveal more options when driving, and fleshing out systems that have only been teased, like a more alive overworld.

See you on the road!

Changes

  • General
    • Upgraded to Unity 2019.1, which seems to have gained a little performance.
  • UI
    • Cleaned up UI
    • The equipment quotes in the info popup are now aligned correctly
    • Revised weapon icons
    • Revised window frames, etc.
    • Removed the skid meter behind the car, since it didn’t look great.
    • The player can turn the skid meter on or off in the options screen
    • Remove random encounter dialogues until they are ready.
  • Visuals
    • Revised the road decals to make for softer edges
    • “Soldiers” are now desert warriors
    • Foot gangers now use the proper pose to match the weapon they are wielding.
    • Added headlights to the player car when in a ruined city
    • Lowered overall brightness of the city map, so that the light sources could stand out.
    • Increased the light brightness for streetlights and barrels and fire.
    • Revised the trails from the taillights of vehicles entirely.  They use a new system that makes them very smooth.
    • Improved the detection of offroad when a vehicle is driving, for visuals and gameplay ramifications
  • Audio
    • Gangers now use battle cries rather than military radio transmissions when they spot the player
    • Vehicles now rev their engine instead of honk when the spot the player
  • Balance
    • Improved the visibility of enemy cars (they were very short)
    • Increased the range of junkthrowers since they were still kind of frustrating to use.
    • Adjusted population cap to accommodate new fuel dumps and watchtowers.
    • Fuel dumps are now guarded by flamer gangers

Auto Fire v0.5.10: Quality of Life

Welp… another week, another build update.  I’m sure I’m a bit too excited about having a real honest-to-god key configuration screen, but I’ll take the little victories. Hooray for Rewired!

Some bug fixes in UI are coming in also, but more important is the fact that options screens hold settings that persist across sessions.  Yay quality of life!

Finally, the vehicle selection popup at the start gives you more information so you can pick a car that matches your playstyle.

Don’t worry, I’ll be back to the shooty-shooty kind of update next time. In the meantime you can go get v0.5.10 on Itch right here.