Author Topic: Auto Fire: A turn-based roguelike car combat RPG  (Read 204 times)

PatrickLipo

  • Acolyte
  • *
  • Posts: 19
  • Game development vet in title, indie in spirit
    • View Profile
    • Vertigames
    • Email
Auto Fire: A turn-based roguelike car combat RPG
« on: March 30, 2019, 06:40:21 PM »
Auto Fire is a reinterpretation of the great auto combat games of the 1980's:  Car Wars, Autoduel, Roadwar 2000, and others.  It combines the dynamic world-generation, player advancement and careful combat planning of roguelikes, as well as the rough, outlaw environments of the Mad Max series and classic western films.  Refine your vehicle, take on missions and build a name for yourself in a world where the only way to thrive is to drive.
 
While it uses 3D and has the trappings of a real-time game, it is really a turn-based roguelike at its core.  I truly felt that this genre was the absolute best way to deliver a balance of simulation and large-scale adventure.  Thus, Auto Fire fits nearly all the Berlin Interpretation criteria (it is not ASCII of course, and the overworld gives it a bit of modality).

Get the most recent release on Itch.io



Background
This game is a labor of love...  something I've been dreaming about since I played Car Wars in the 1980's.  I've been a game developer for over 25 years now, both as a programmer and designer...  I mostly do game design these days, but I do miss programming, which has led me to work on this game over nights and weekends after I made a fairly successful prototype during 7DRL 2016

Core Movement and Combat

You can use a keypad or more traditional roguelike keys to move your car turn-by-turn, adding and further nuance:  Facing and speed.  As a vehicle with momentum to deal with, you can accelerate to increase the number of moves you can execute per second versus slower-moving opponents.  However, you must also make sure you do not lose control by depleting your grip.

Your vehicle has weapon mounts on different sides of the vehicle, as well as special systems such as minedroppers or flaming oil slicks.  Each has a cooldown and limited arcs of fire, so it's up to you to manage your facing as well as your positioning to take out enemy vehicles.



Adventure and RPG

As you progress through various desert and decaying urban environments, you acquire loot, weapons and supplies that you'll need to keep your car running.  Various tires, engines, ram plates and armor upgrades also can be recovered.  However, you'll need to hit a garage to make an upgrade, so choose well.  Eventually you will be able to purchase entirely new body styles that provide different advantages in their weapon mounting and stats.



In between combat zones (such as ruined cities and desert outposts), there is an overworld which must be traversed.  Each overworld region is controlled by a specific group or gang that will be affected by your actions, or perhaps ambush you if you draw too much attention.  However, perhaps you might discover salvage, encounter a truck caravan, or build your fame by helping a motorist in need. 



Pocketed throughout each region are the citadels, corporate-controlled pockets of civilization where the wage slaves are fed video feeds of car combat, both organized and out in the wastes.  These are safe haves where you can rest, purchase new gear, and take on missions or cargo.



It's still got a long way to go, but I'm pretty happy with where I am.  It really comes down to scraping up the time and taking the best advantage possible.  Hope you enjoy!



PatrickLipo

  • Acolyte
  • *
  • Posts: 19
  • Game development vet in title, indie in spirit
    • View Profile
    • Vertigames
    • Email
Re: Auto Fire: A turn-based roguelike car combat RPG
« Reply #1 on: March 30, 2019, 08:07:34 PM »
Also, I wanted to give thanks to Tzan for bringing me back here and giving a shout to Nookrium, who then did a great Let's Play a week back.  I want to keep delivering the updates and bring this to the level I think it can reach.

Tzan

  • Bishop
  • ***
  • Posts: 176
    • View Profile
Re: Auto Fire: A turn-based roguelike car combat RPG
« Reply #2 on: March 30, 2019, 11:38:53 PM »
You're welcome :)

PatrickLipo

  • Acolyte
  • *
  • Posts: 19
  • Game development vet in title, indie in spirit
    • View Profile
    • Vertigames
    • Email
Re: Auto Fire: A turn-based roguelike car combat RPG
« Reply #3 on: April 01, 2019, 06:27:18 AM »
Version 0.5.09 has been released!  Get it on Itch.io now!

Conditions

There's a condition system now, where entities can be stunned, set on fire, made to skid, be blind, etc, and that will last a fixed number of turns before automatically removing themselves. Nothing super fancy, but it allowed me to do stuff like cause a vehicle to spin out when it hits an oil slick.

It also allowed me to give the player's radar more functionality, because it now "paints" targets within a specific radius for a set amount of time. Ideally the player should be able to build up sustained fire on a single opponent, or race through a group (at high speed to avoid being shot) and hit everyone with a radar ping before swinging around and taking advantage of the higher hit rate (and eventually critical hits spurred by this).

There is a new icon system above vehicles to show their current conditions, which hopefully will teach players more about the advantages of speed and choosing targets.



Combat Calculations

I also did some work on the to-hit calculations... I was using a "Diablo-style" hit percentage generator that tended to not miss a lot... the greater the defense, the more the hit chance headed towards zero, but in an asymptotic fashion. What happened there was that it compressed the viable range of hits more than I would have liked. Improving or reducing your hit chances didn't really seem to have a big impact.

So, I switched back to a flat hit percentage generation where attack and defense are directly opposed totals (more like D&D or other pen-and-paper games). It seems a bit archaic, but I put the minimum hit chance at 10% and reward the player with crit bonuses if they exceed 100%... and you definitely notice if you're moving at speed and are harder to hit, or if you get a hit bonus from radar painting your target. You can read a bit more of the nerdery here.

Finally, I found a bug that was causing enemies to hit you 100% of the time no matter what your defense or how fast you go! Now moving at higher speed is significantly more meaningful.

Weapons!

I did a bit of work on weapon resolution to clean up some weirdness, as well as allow for effective area effects over various volumes. I can have weapons with blast radius at impact, cone effects, lines, and more. This gave me some vastly improved versions of scatterguns, flamers, and so on.

I also switched over my missiles to LeanTween (a great Unity package that's freeeee, although the Editor that goes with is worth throwing a few bucks at) so that I could use more sophisticated arcs (splines, eases, etc) for the projectile travel. This gave me some great drunk missiles and so on.







City Flow

A somewhat smaller bit of work but vastly important was looking into problems I was starting to see in my city layout.

A couple of years ago I put multiple months into a city generation method that took pre-crafted blocks and spliced them together, street-to-street, with props and so on. It worked pretty well... However, lately the cities seemed to have wayyyy too many skinny alleyways and dead-ends, even though I remember putting a fair amount of effort into reducing these. Worse yet, I'd started to see some passability and playability issues, which I know I did checks for. Ugh. I love dusty Mad Max wastes, but the cities are just as important a part of the game and they weren't fun.

I spent some time trying to re-learn what the hell the 2016 version of me had made. For a little bit I thought 2016 me was a bit of an idiot... but it turns out he was somewhat clever. It was 2018 me who introduced a number of bugs that caused loops to no longer form... that guy was a jerk. Specifically I had some code that overlaid roads over previously populated obstructions to create extra loops, and those no longer overlaid properly. In addition, my passability checks were not properly busting holes through the buildings and obstructions when needed.

I added a bit more two-lane roads and discouraged alleys from forming very often. In addition, I added some new block types to my definition that had fewer buildings, so some extra open spaces could be formed. I can pretty much make an infinite number of city block components, so I'll keep adding ones that give some more driving freedom.



User Interface

Most importantly, there is a new settings menu that can be accessed by hitting ESC.  You can control the music and sound effects volumes there, as well as quit the game.


Tzan

  • Bishop
  • ***
  • Posts: 176
    • View Profile
Re: Auto Fire: A turn-based roguelike car combat RPG
« Reply #4 on: April 01, 2019, 03:32:15 PM »
Nice looking missiles, I'll have to check out that LeanTween.
« Last Edit: April 01, 2019, 03:34:54 PM by Tzan »

PatrickLipo

  • Acolyte
  • *
  • Posts: 19
  • Game development vet in title, indie in spirit
    • View Profile
    • Vertigames
    • Email
Re: Auto Fire: A turn-based roguelike car combat RPG
« Reply #5 on: April 06, 2019, 05:51:59 AM »
Another week, another build update!  Welp.  I'm probably a bit too excited about having a key configuration screen, but there you go.

Some bug fixes in UI are coming in also, along with 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.

You can go get v0.5.10 right here.


PatrickLipo

  • Acolyte
  • *
  • Posts: 19
  • Game development vet in title, indie in spirit
    • View Profile
    • Vertigames
    • Email
Re: Auto Fire: A turn-based roguelike car combat RPG
« Reply #6 on: May 21, 2019, 07:15:10 AM »
Version 0.5.11 has been released! 

Oh man oh man it’s been far too long since I’ve published an update. That’s a terrible thing I don’t want to happen very often, but I started to put in the quest updates and it made sense to get a number of additional features up to snuff in support of it. 

Worse yet, I sat on a hojillion changes in my source control before I checked everything in. I think it was like a month. Work was making me a little crazy, but that’s ridiculously bad form. On the upside, this update brings about a bunch of changes in a big sweep.



My primary goal for this update was to add more exploration and stages to the boss fights and quests.  For this I needed to support better quest state reporting, and make new emplacements to fight against to draw the boss out.  Then I realized that the whole system fell apart when you left the area, so I had to improve how quests were maintained when you leave an area.  Then I realized I wasn't really saving data the way I should and basically had to improve the saves to be near-ready for cross-session saves (hopefully soon).  Then I realized that spawning emplacements in random locations was really ugly and made them hard to find, so I added a content socketing system for bosses, emplacements, loot and hazards so that their placement could be more deliberate and hand-crafted.

Quests
  • Entering a map occupied by a boss now requires the player to progress through the map and take out a number of strategic structures in order to coax the boss to face you.
  • Outpost maps are defended by armored watchtowers.
  • Ruined cities require you to take out fuel dumps.
  • The quest title is shown when entering and area, and updates are shown as the player achieves objectives.
  • The mini quest display is cleaned up and should update properly.
  • Quests are properly resumed when the player returns to a location.
  • Reviewing your quests that are in maps other than the current one is handled better.

Music
  • Added some post-apocalyptic music and a couple stingers.  Adjusted existing stingers.
  • Added dynamic music tracks for city and outpost tactical maps.
  • Dynamic music now escalates as the player takes out more emplacements and the enemy spawns get more intense, up until the boss is unleashed and the boss music is played.
  • Added boss-specific music, and adjust the intensity based on how close the boss is.

Visuals
  • Adjusted the anti-aliasing so the game isn't blurry.  Temporal anti-aliasing can cause a smearing effect might work for realistic titles but ain't great for games with precise information to dole out.



Combat/Systems
  • Added sustained fire bonuses that improve player accuracy after multiple attacks.
  • Painting an enemy with the radar will improve player accuracy against them.
  • Improved some targeting response elements by indicating which entities are people, cars, emplacements, etc.
  • Emplacements such as watchtowers have new aggro and play distinct spotted sounds.
  • Extended the aggro duration of enemies and made sure they don't lose interest in the player while still in sight.

Balance
  • Junkthrowers do 50% more damage. They were supposed to be scrub-tier weapons but they were just sooooo bad.
  • The Stallion now has a bolt rifle mounted front and two junkthrowers (one per side).  Its combat capability was depressingly terrible.
  • Mines have a lower cooldown again.
  • Significantly more cash is dropped from loot crates and enemies.  Killing a boss and getting $4 was definitely sub-awesome.
  • Zones have fewer garages.

Map Generation
  • Quest emplacements like watchtowers and fuel dumps are placed in sockets that are part of map generation.  Thus their placement is more crafted.
  • Loot crates and barrels also have specific hand-crafted sockets for various map generation tiles, for a less haphazard placement.
  • Crates are off the beaten path, sometimes in nooks or dead-ends, but generally in a place somewhat thought out.
  • Barrels are placed in clusters around road hazards, fuel stations and large wrecks.
  • Loot and barrels now have a tunable target number placed per map.  Before it was a much wilder range of possibilities.



Progression
  • Population, quest progression and entity placement is now saved when exiting and returning to a map.
  • Entities, enemies, sites and pickups now save their state (when marked to do so) when leaving and returning.
  • This is not quite all the way to full savegames, but we're very close.

UI
  • Improved the display of enemy misses somewhat.  Shots go wide and misses are pretty clear.
  • Cleaned up the "chrome" UI window borders.  They were originally photoshopped from actual chrome dashboards but that didn't scale as well as I'd like.  Buttons have their own appearance now.
  • Improved some bugs with weapon targeting and the widgets over target vehicles.
  • Can now display entities as singular or plural for quest readouts.
  • Boss and targeting popup displays are now cleaner and, well, less terrible.

Bugs
  • Fixed the handling of rotating large objects...  This means that there should no longer be any invisible barriers.
  • Improved some poorly-handled persistent effects such as oil jets and skids...  These are now handled with greater safety and more robustness.
  • Enemies no longer can get in a state of attacking inanimate objects or themselves.

Tzan

  • Bishop
  • ***
  • Posts: 176
    • View Profile
Re: Auto Fire: A turn-based roguelike car combat RPG
« Reply #7 on: May 21, 2019, 04:15:44 PM »
" attacking inanimate objects or themselves"
The wasteland is a depressing place :)


Something to think about adding:
When you save the state of a map when the player leaves and the map isnt cleared.
You could also record the game time when leaving.
When they return you will know the elapsed time and if its been " a long time" you might respawn enemies and emplacements the longer the time away.
You could have enemies mention in text how its been a long time or a short time, if they talk.

Its "just one more thing" to add right?

Something to think about anyway.



PatrickLipo

  • Acolyte
  • *
  • Posts: 19
  • Game development vet in title, indie in spirit
    • View Profile
    • Vertigames
    • Email
Re: Auto Fire: A turn-based roguelike car combat RPG
« Reply #8 on: May 21, 2019, 04:21:40 PM »
Good suggestion.  I'm happy having the maps not reset at all (haha) but yeah I want the outposts and cities to have some meta simulation.  Each locale is controlled by a specific boss who is a member of one of the existing gangs, so I'm hoping to get some evolution in the state of each locale and faction over time.  Taking note of time is great, and even more so I want to make angering a gang or boss to have lingering consequences.

Tzan

  • Bishop
  • ***
  • Posts: 176
    • View Profile
Re: Auto Fire: A turn-based roguelike car combat RPG
« Reply #9 on: May 21, 2019, 04:36:42 PM »
Respawning an area partly over time is a style thing.
Letting the players keep 100% of their progress is fine too.