Category Archives: Game Jams

Auto Fire Rides Again

I should own up to not finishing my 7-Day Roguelike challenge this year…  it was tough to admit defeat after two fairly successful years in a row.  I had started up the Jam with plans to take last year’s 7DRL code and work in a campaign and convoy mechanics, as a way to prove out some things that I’d been considering for Auto Fire.  However, I found it nothing but discouraging to work on such old decrepit code, trying to make something for a game that was so much farther along.

In the end it just made me want to push towards realizing those ideas in the current codebase of Auto Fire instead.  Sooooo…  I’d been working on tying up loose ends and prepping the driving feel and visuals of Auto Fire.  Take a quick look:

Next up are my plans for improving the inventory and rounding out the campaign into a compelling loop.  It should provide some much-needed depth, which will make me more happy to share my work more widely once it’s in.  Wish me luck!

7DRL 2017: Day 1

7DRL Challenge Day 1: Unfortunately GDC lay me flat on my back for five days straight through the weekend, so I’m getting a really late start on my challenge. I guess I’m be aiming for submission late Sunday to get as many hours logged as possible.

Today I was able to re-acquaint myself with the ugly-ass 7DRL 2016 codebase and temp sprites. <Shudder> All I had time for was to start working on road generation and take a step in the direction of transforming my combat movement into strafes, accelerations and so on. Still got lots of work to do. Still, fun to see things moving forward.

7DRL 2017: Westbound and Down

This is my third 7DRL, and this year I’m hoping to kill two birds with one stone by exploring some alternate gameplay concepts I first explored in last year’s entry, Auto FireAuto Fire introduced car combat and exploration of a (poorly-rendered) cityscape and in the ensuing year has been extended to 3D, with richer generation, an overworld countryside, and a variety of superior UI and tools.  None of which I’m going to use this week, see below.

This year, with Westbound and Down, I want to explore some of the “Convoy” style aspirations that I have yet to put into Auto Fire…  Traveling from town to town and taking on cargo missions between outpost cities in a post-apocalyptic western U.S.  Instead of exploration combat, the player must drive “blocker” for a convoy of trucks that is continually harassed by bandits and other road hazards.  Upgrade your car and convoy vehicles, hire drivers, maintain your stock of ammo and fuel, and take on loads with higher risks for greater rewards.

The tough part of this year is that even though I’ve progressed quite a bit with Auto Fire’s codebase over the last year…  in the spirit of making this a fresh 7-day effort, I’m working from the code from 2016’s 7DRL and seeing what I can construct within those confines.  I hope to create an alternate movement model (forced directional movement, with most of the maneuvering involving lane-changes and acceleration/deceleration), a regional highway map, a cargo quest structure, some interfaces for cargo and hireling loadout, and hopefully some FTL-style dialogue encounters which could lead to bonus salvage or ambush.  That’s a fair amount of stuff, but I’m hoping I’ve got enough to build from…  and if I have to hack up my code a bit to try something, that’s okay, I can take any successes and work them into Auto Fire later, hopefully the “right way”. 🙂

Skate Knight Update

(Formerly Cardinal Cell)

Quick update for now:  Over the past month I’ve been getting a lot of base functionality in:

  • Dwarves knock enemies around in addition to stunning them.
  • Items and monsters are flung from the sides of the screen at Stage start.
  • Bonus gold is awarded for kill chains.
  • The gold collected is tallied at the end of a level and each survivor grants a gold bonus.
  • The player earns stars based on the amount of gold collected.
  • The moon arcs over the sky from the start to the end of the night, because that is the length of our hero’s prison sentence.
  • I can lay out a custom level for each individual venue, with 12 “hour” stages each now.  The player can select from a set in the main menu and try for a high score in each.

Forgive the temp sprites…  We’re still nailing the look.

Some work in progress

The Power of Art

I had a lot of fun last weekend with my game Cardinal Cell.  It was pretty fun in the end but it was ugly enough to make babies cry because I cobbled together the art on my own.  I could have maybe increased the quality another quarter-point on my own before finishing off the 48 hours…  I could have chosen a style.  I could have smoothed out the busy textures.  However, I was focused on closing the book with features-features-features.

I’m pretty confident that it was a mistake on my part…  while I go through other people’s games I constantly have to tell myself to not let an ugly game influence my assessment of its fun… or let a pretty game get away with dull gameplay.  Maybe it’s not fair, but that’s the way the world works.  Those of us with weaker art skills have a challenge to overcome.

Because the game looked so bad I did a quick reskin this weekend to use some pixel art and audio that I had handy.  I think the gameplay stands well on its own, but the revamp makes a difference in my opinion.  A friend offered up some real art and we’re going to rebrand it as…  wait for it… Skate Knight.

If you’re interested in seeing what a few hours of stock graphics and sounds can do for a game, check out the game on below.


Break for Ludum Dare 37

In a frenzied less-than-48 hours I cobbled together an entry into this weekend’s Ludum Dare.  I’d been wanting to play with the idea of fantasy battles using the mechanics of 2048.  The result isn’t pretty, but I do Ludum Dares primarily so I can doodle on an idea without giving a damn about how ugly it comes out. 🙂


After a night of heavy drinking in a foreign land, you are captured by local law enforcement and forced to stand trial for heinous crimes you have no memory of.   You are sentenced to 24 hours in the CARDINAL CELL. If you survive, you will be set free.   The help of your former drinking buddies is the only assistance you can hope for… because the Constable is rounding them up and throwing them in after you.

Click on the image to give it a shot and enjoy!  Maybe even throw me a vote… 😉

So Many Datafiles

Yes, Technical Debt is still rearing its ugly head.  One of the things that any procedurally-generated Roguelike has is a ton of different files that hold profiles that define how to generate cities, landscapes and enemy encounters.  And tables, so many randomized tables!

sceneinspectorDuring the 7DRL I found an expedient solution that worked for the challenge and a fair amount of time afterwards.  I baked data right into each Unity scene that I saved out, imagining that I could just make a scene for each type of scenario or terrain profile I wanted.  I could bake in components that had all the predefined information I needed and just load them as needed.  I could even drag-n-drop the appropriate prefabs for everything I wanted to spawn.  How simple.  Sure, it nagged at me that it wasn’t super extensible, but scenes were cheap to make and I was interested in how far it could get me.

Wellll, it turned out it was pretty far, but eventually it started to haunt me.  The more scenes there were, the harder they all were to maintain, even if all the common information was kept in Unity prefabs.  Oh god, the prefabs…  they are great sometimes, but they also can puke all over themselves if I moved files around or a metafile got invalidated somehow.  Also, any time I wanted to choose something randomly, it felt like I was writing new code to deal with it each time.

I also used the serializer for a number of structures, but there was always a desire to have more flexibility when reading data.

Anyway, I knew I needed to up my datafile game.  My friend Jim’s amazing RL Dungeonmans has something like 500+ datafiles holding anything from name generation to encounters to tile definitions, with weighted randomization tables and tables that reference other tables.  How slick!  He spent many years refining his data methods and he encouraged us to reuse his approach in our own games.

So last weekend I finally bit the bullet and built a datafile system around some of the same concepts and in the end my format is virtually the same as Dmans.  This way I can build a sector with a pretty flexible format:

defThing sector_basic
 class adSectorData
 scene Overworld

 biome Desert
 nametable sector_name_chart
 treasuretable sector_treasure_table

 music mus_desperado

 basic_city_table 1d2
 sector_outpost_chart 2d4
 sector_town_chart 2+1d3

And these tables have some handy reference capabilities (recursing through each table referenced) and weighting for randomized results:

defTable "sector_name_chart"
 #t1 "sector_place_types"
 #t2 "place_nouns"
 #t3 "sector_adjectives"

 "The [t1] of [t2]" 10
 "The [t3] [t1]" 10
 "The [t1] of [t3] [t2]" 10

defTable "sector_adjectives"
 "New" 10
 "Old" 10
 "Dry" 10
 "Frosty" 10
 "Winding" 10
 "Hewn" 10
 "Locked" 10
 "Winding" 10
 "Ancient" 10

…and bingo, my world generation becomes 10x more flexible and powerful.  I’m dyin’ to get back to the drive-shoot stuff, but this was so worth it.


Autofire: 7DRL Aftermath

It’s been a little under a week since the conclusion of the 7DRL and I’ve been excited that people have been pretty receptive to my entry, AutoFire.  I had a lot of fun making it and people seem to be having fun with it too:

PC Gamer – Free Games of the Week

car100000In the past week I’ve gotten some good feedback, some of which I’ve been able to act on.  The first bit is that folks are excited about drifting and controlled skids in the game, and I realized that by allowing players to drop below zero grip (into the red) is really punishing…  It’s very hard to regain traction without crashing.  I updated the game to not allow the grip to drop below zero, so a moment of control will allow players to get control back…  This makes it a little more about deliberately losing control and then regaining, Ridge Racer style.  This is something I want to continuously refine, and supplement with skid marks and other speed feedback.

car50000I also added a “preview” in the grip meter of how much grip you’d lose if you do a maneuver at that moment.  It’s difficult to figure out the right type of feedback for a keyboard-driven game like a Roguelike.  I wanted to keep the “one input, one turn advances” feel of a typical Roguelike, so it’s hard to give much information about what your next action will result in (without mouseover or two-step advancement) .

People also still have a little difficulty understanding the four weapon mounts and their individual cooldowns.  I added a bit of information about the weapon that would be fired when showing a viable target.  I will probably also show a prediction of the damage to be done and more on-map indications of the weapon to be fired… perhaps a change in the crosshair or displaying the weapon sprite.

car150000Some others suggested that the game was too easy, which I won’t deny.  I was pretty stingy with the drops early in development, but for the 7DRL release I worried that all the work on weapon upgrades I did wouldn’t be noticed, so it ended up pretty generous. The goal eventually is to create situations where you have to drive fast to get the extra attacks and stay alive, so it’s definitely a goal to balance things better. Once I get enemies obeying line-of-sight (haha) and reduce their hit chance firing at a high-speed target you’ll have more tools at your disposal and I can crank up the difficulty.

Some additional things to come:

  • World tiles that aren’t cobbled together from a number of sprite libraries (they were so damn ugly)
  • Competent world generation that feels like a place to drive.
  • Loot improvements such as armor patches that must be mounted on a single side, improved tires (grip) and improved engines (speed).
  • Enemy vehicles (At last! This was a painful cut for 7DRL but I ran out of time)

Not to mention an actual adventuring environment with areas to advance through, assassination contracts, vehicle gangs, and so on. So much to do!