7drl

New Site - Old Games Back Up

I finally uploaded my redesign of heroicfisticuffs.com and have started restoring some of my older games. First up are roguelikes from the 2012 and 2015 7-Day roguelike challenges, all browser-based and utilizing the amazing rot.js library.

RoboCaptain

RoboCaptain specializes in ranged combat and power-management similar the old X-Wing games. Looking back at it now it is pretty rough, but also very complete and still fun, which is saying something.

Heavy Axe

Heavy Axe is a small-scale classic roguelike featuring extremely tactical combat. Journey through the temple to slay the gods themselves, using a massively heavy axe. Moving with the Axe drains stamina, and stamina determines damage, so moves must be planned carefully to avoid running into an unkillable foe.

 Next up will be Dungeon Dual. This one is a bit trickier since I need to get the co-op engine running again as well as a django server that powered the leaderboard and login process.

Let me know if you run into any trouble playing either game.

Tank Control - A 2018 7DRL Success

My 2018 7DRL – Tank Control – was a success. You can play it on itch.io.

In TANK CONTROL you command a stolen Leopard 2A tank. Your enemies want it back.
Your mission is to navigate dangerous terrain and rescue as many civilians from the area as possible and deliver them to various checkpoints. 
You will utilize your overwhelming firepower against your adversaries, which are numerous. Combat uses classic turn-based roguelike mechanics, so positioning the direction of both your tank and your weapon will be critical.
7DRL Note: I did not build this entire game + engine in seven days! I am using first and foremost the amazing rot.js library (as per usual), and have forked the engine and other elements from  hardpointe.

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.