roguelikedev

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.