Heroic Fisticuffs!

Here's a place where I talk about games, applications, websites, and other things that I make for fun. Mostly roguelikes. And pirates. And robots. Since my domain is hard to spell you probably came here on purpose.

Initial gameplay coming together

Have been making steady progress on the core gameplay elements of hardpointe. I do feel like the end result is even a little bit.. fun? (Shocking to me most of all)

Here's a longer-play gif of the game in action, with slightly less-embarrassing colors.

Current feature list:

  • All six initial powers:
    • Shield
    • Heavy Axe
    • Booster/Charge Attack (was originally jet pack?)
    • Cloak
    • Phasewalk (not sure if this one will make the cut)
    • Hack (turn enemies into allies)
  • One-off weapons (take up power slots but limited/non-rechargeable ammo)
  • Various combat effects:
    • Stun
    • Knockback (concussive)
    • EMP blast (in progress)
  • Enemy behaviors:
    • Basic melee
    • Keeps distance (ranged attack)
    • Explodes on death
    • Attacks in packs
    • Uses / recharges shield (in progress)
  • Terrain:
    • Chasms (if knocked into one you or enemies drop to the next level)
  • Combat mechanics:
    • Wall-smash
    • Corpse-tossing (heave enemy remains into other enemies)
  • Items:
    • Grenades (simple damage & effects)
    • Nanotech Cores (effects like acid and health - so far)

Whew. Seems a lot longer when I type it out. Stay tuned. 

Return of Heavy Axe

A lot of the powers/abilities in hardpointe are my favorite recycled bits from previous 7-Day Roguelikes. My favorite by far was my 2015 entry: Heavy Axe.

In any event, after some only minor tweaking to the pathfinding code, I now have a 'Heavy Axe' ability in hardpointe that functions much the same: a unique item gets thrown across the map. Use the power again to "recall" the axe, which will travel back to you and smash into any enemies along the way.

I also put a few more gifs on this Sharing Saturday thread on /r/roguelikedev if you want to see more!

Hardpointe Development Principles

I recently ready a blog post called The Slow Application Development Methodology that got me thinking about what I enjoy about hobby roguelike development, but also some frustrating parts of dealing with my own limited productivity.

Here are some brief design development principles for my current project, in the hopes stating them publicly will help me stick to them. These principles come from experience over the course of many 7-Day Roguelike Challenges (both successes and failures) and most importantly, learning my own weaknesses.

  1. Make a game YOU want to play
  2. You are not building a roguelike engine
    (no, seriously..)
  3. Don't reinvent the wheel (ROT.js is your friend)
  4. Work on small chunks at a time - no grandiose leaps into refactoring hell
  5. You really, really, really aren't building a roguelike engine
  6. Aim for a solid 'coffee break' game worth of content.
  7. When you have something that's not embarrassing to play, get some feedback from real users
  8. Expand core gameplay only after #6 is done
Looking to have #7 done by the end of this month.. we'll see! In the meantime, here is some more gameplay. I have 4 working powers, and have completely rebuilt the menu system so that it is super-easy to drop in new interfaces. This is the kind of thing that is boring to code but will make future features so much easier to add.

Hardpointe Updates

Slow but steady progress on hardpointe. While trying really hard not to fall into premature optimization, I did find myself running into a common problem that I have with animation and rot.js (javascript in general). One of the comments in that thread was to use postal.js, which seemed like overkill at first but is actually working extremely well.

At this point, the entire game is event driven, which makes inserting animation or other events in between gameplay super easy.

Here's the latest gameplay, showing one of my favorite attacks, the charge (aka rocket punch). I'm leaving aside decisions on damage aside for now, but probably they will be more lethal.

The overall idea is that the player will not have access to a lot of (direct) ranged attacks. So your best strategy will be to get up close and personal quickly, and then either (a) kill everyone in a few turns (you only have 3 hp or so), or (b) escape.

Hardpointe, a failed 7DRL

Hi everyone. Been a while.

As with every year since... 2010? I entered the Seven Day Roguelike Challenge. I thought I had enough old code lying around and enough free time to punch out something playable, but decided to pull the plug on day 5.5.

Since then, the idea has really stuck in my head and it's a great excuse to kick some of the rust off of my lackluster coding abilities. I've written this one in TypeScript, which is a joy to use along with the VS Code IDE. It makes coding for short periods of time actually possible since it takes almost no time to get back into the "flow". And of course as per usual I am using the amazing ROT.js library.

In any event, here's what the game looks like so far:
I have a few design principals for this game, called "hardpointe":
1. Tactical combat built from fun mechanics
2. Interesting enemies, with behaviors that match their abilities
3. No numbers over 3
4. Minimal buttons/input keys (4b: playable with a gamepad)

The main idea is to have the player build up a small set of powers across a restricted (3-4) number of "systems", which can be activated with limited resources. Think Mega Man but with less recharging. As close to a "one hit point" system as I can manage. Right now 3 health feels right. Enemies have 1 or 2 health. The goal will be to destroy as many as possible without getting hit by chaining together attacks, abilities, and escape mechanics.

Right now all I have is a wall-smash, which I find very satisfying. Enemies have 2 health, and the player typically does 1 damage. But, if you attack "into" a wall you will deal 2 damage and can use this tactic to take enemies out before they have a chance to scratch you.

More to come. Meanwhile go and play my favorite 2017 7DRL so far: Woozoolike.

Heavy Axe - 2015 7DRL Success

Too tired to post much at the moment, but I call this year's 7DRL a success!

It is a "small scale classic roguelike with extreme tactical combat".

Here is the game!
Here is the relevant reddit thread on /r/roguelikes.

Here's a screenshot:

Here's a gameplay video:

Good night and best of luck to all other challenge participants!

Precipice - Sketch to Final Game

One thing that made this ProcJam different from other game jams was the amount of planning I did beforehand. Here's a sketch of what Precipice looked like before the jam:

And here's what I ended up with:

Pretty good, I think! Most of the powers are in there. I think when I was designing the game I didn't realize quite how quickly the abyss would swallow up the entire level. Because of this, certain features like the ground giving way underneath you even while resting (!!!) had to change. The 'grapple' ability was just too dangerous to use for adjacent monsters, so I turned it into a Teleport/Swap ability that works from anywhere in the map. This makes for a kind of cool situation where you can get yourself into a really dangerous spot, and then swap with an enemy and watch them fall, while you escape to safety.

Thank you to everyone who has played it so far -- I've gotten a lot of positive feedback about the game! If you feel like dropping me a line with comments, bugs, suggestions, etc... please feel free!