Force of Nature – 7DRL 2016 Success & Postmortem

Force of nature is a fast-paced bump-and-run combat roguelike with added mechanic where you regrow burned forest tiles to get healing (so terrain serves as somewhat limited resource).


Play in browser or download


What went good:

  • Some preparation: 1-page long feature list was prepared during a week before the start of the challenge. Also, I extracted level generation, FOV/LOS and AI/pathfinding modules from some of my derelict projects.
  • Unity 2D and C#: I’m in no way professional with either, but I had absolutely no problems with getting things done the way I wanted them to be done. Also, Unity offers almost seamless ability to build your project for the variety of platforms, with most important of them being WebGL.


What went bad:

  • 64×64 tiles: They are just too big. In order to have sight range of 6 for your PC you need to have a vertical row of at least 13 tiles – which is 832 pixels, taking most of available vertical space on most popular displays (even more critical for web version). I should have gone with 48×48.
  • Balance: This is what you get by leaving important stuff until the last 2 days. Random bosses are too random and on early levels they can become almost unbeatable. Stumbling into level boss too early, combined with huge difficulty spike between levels could spell certain doom for the player early in the game. Unfortunately, most of these problems could not be guessed from calculations alone and require intensive playtesting to find.


What went ugly:

  • Hand-drawn and scanned sprites: I wanted to create a game with graphic tiles and I have absolutely no experience with digital art. So I just drew almost all the tiles and sprites on paper and scanned them.


What was left on cutting room floor:

  • Some decorations to make levels a bit less boring, like tree stumps, flowers and mushrooms.
  • “Oh shit!” active ability (either full heal or teleport to the start of the level or something like this)
  • Wearable items in the form of beads.
  • Passive ability to summon friendly mobs to assist you in combat. Not just mobs, but bees. Angry bees. SUMMONED ANGRY TROLL-EATING BEES FROM HELL. This one I miss the most.


I’m generally happy with what I managed to implement, although in the future I need to spend less time on the UI and much more on balance and content.

AutoFire v0.2 released

AutoFire032316There have been some upgrades to AutoFire since the end of 7DRL and I’ve posted a new point release on my site next to the original 7DRL version.

I had a few core things I wanted to refine and adjust from the original, particularly in the feedback department…  Since the controls for AutoFire are similar yet different from a typical roguelike, creating an experience that is easy for beginners is a continual work in progress.

In terms of driving, I simplified the grip meter to make it easier to do the “drift racing” style actions that people wanted to do, and then added new cues to help people understand their current speed.  For combat, there was a lack of understanding of when damage was being done, so I improved damage and attack feedback as well as gave users more information on the HUD about the weapons they were using.  World generation got a slight improvement, and the difficulty was increased from the admittedly easy 7DRL release as well.

Check the update out on my site if you’re interested:

AutoFire page

Changelist for v0.2:

  • UI: Grip meter no longer has two halves.
  • UI: Highlight weapon that would be fired when targeting enemy
  • UI: Display stats in the target panel of the weapon that would be fired
  • UI: Display ghost cars in quantity matching speed.  3 moves/second shows 3 ghosts.
  • UI: Improved display quality and sorting of damage text.
  • Graphics: Skids now show smoke where the player was.
  • Graphics: Changed world tiles from crates to buildings.
  • Graphics: Projectiles now visibly move from source to target.
  • Graphics: Dropped loot now slides from source to its resting point.
  • Gameplay: Added line of sight checks for player and enemy weapons.
  • Gameplay: Grip no longer goes below zero, and will start to recharge if the player faces in the move direction.
  • Gameplay: Barrels explode and damage/destroy things nearby.
  • Gameplay: Repair values of wrenches and armor patches were halved.

The Trapped Heart v1.1 released

I’ve released an update to my 7DRL The Trapped Heart. A big reason for this was to fix a bug in level generation that could sometimes leave the player starting in an unconnected area – a big problem! Beyond that I also noticed through videos of play that people really struggled to understand some of the new mechanics going on, so I’ve made some player behaviours simpler, improved the descriptions, added some UI improvements and added a series of tips on death

The death tips are pretty interesting as they depend on how you’ve been playing and what situation you die in. They also keep a track of what tips you’ve received in previous games to reinforce messages – you’ll never see the same message twice, but you might receive barely polite reminders!

Download for Win/OSX/Linux through

The game has turned out to be a lot more challenging for people than expected, yet I personally find it to be way too easy! I’ll see how people find the difficulty once people play it more with the clear tips.

I’d like to do more on the story side but that’ll probably wait for a while.

Full change list for v1.1:

* New: Dungeon name announced on entry
* New: Particle effect to show when slowed
* New: Tooltip on player to show current abilities and status
* New: Pause upon death to make death situation clearer
* New: Tips on death based on gameplay
* Bugfix: All levels now assured to be connected
* Bugfix: Various typos and poor descriptions corrected
* Gameplay: Changed arcing to attack a wider range of targets
* Gameplay: Changed earthquake to be more symmetrical
* Gameplay: Tweaked Bro-Knight summons
* UI: Changed text colours to be more readable
* UI: Updated help text to make clearer
* UI: Changed descriptions of air magic to be more consistent
* UI: Changed shield appearance to be more symmetrical
* UI: Tweaked title screen image
* Performance: Reduce particle count on shields

Switch Hook – 7DRL 2016 Success

You can download Switch Hook from (I can’t insert widget here for some reason).

In the game you control a hero equipped with a switch hook. This fancy device lets you switch places with monsters dealing them some damage on the way. When there are few monsters on a level and they are weak and slow, you can use the hook like a ranged weapon without much thought, but later in the game you’ll need to choose a right target each turn and use walls, columns and passages to avoid enemies’ attacks. There are 20 tiny levels and 8 types of monsters in the game. All monsters except basic “undead warriors” have some uniques features, for example some of them can’t be damaged by the hook and others explode when they die.


I keep tinkering with the game and since the first release some cosmetic features were added: a title screen, sound effects, saving and loading etc. I’m going to try to publish Android and iOS versions, although I haven’t yet managed to run it on iPhone :-/

sc0 sc1 sc2 sc3

Here is a nice video created by Rogueliker:

The Prancing Bard – Day 7 & Success


Day 5 & Day 6 I was off for work.

On Day 7 I included a very basic Highscore Mode, where you just fight monsters until they can overwhelm you and your highscore gets saved with your name. Very simple mode, pretty difficult, as monsters swarm you eventually and for moving in a pattern is less and less space. The implementation is quite rough code-wise, the highscore .txt file can be edited with notepad, but it does the job.

I realized on the last day, that all my mechanics with finding a notes in the melody of the world is relying on identifying colors. As colorblindness in not particularly rare, I added a switch to change the colored notes to colored alphabetic characters. I hope this makes things easier and it reveals by the way how the game mechanism is setup in the code: every note is a string a,b,c,… and the melody of the world is a string and the bard song is also a string.

if bard_song in melody: … pretty simple

Several dictionaries translate ‘a’ to ‘purple note’ then.

Last but not least I switched from py2exe to pyinstaller for generating an executable and pyinstaller is very nice once it runs.

I am happy to have succeeded! Version 1.0 was having a misdirected control scheme, as the Numpad input had a conflict with the 123qweasd input I envisioned. Therefor, I changed to the unusual wersdfxcv control scheme for laptop people and lefties (plus regular vi-kes). The very reason I did not go for extending wasd to qweasdyxc was, that I have a German keyboard and this pattern and vi-keys suffer from y/z-switch. v 1.1 should also have one crash less on level 4.

I am very happy to announce v 1.1 as my official 7DRL-entry, everything else will be added as post-7drl updates to a seperate version. (sound is a popular request)

Download The Prancing Bard v1.1 7DRL here.

Find it on RogueBasin here.

Discuss on the reddit 7drl megathread.

Or give feedback in the roguetemple forums.

The Prancing Bard used REXPaint a lot.

Find my 7drl week in tweets @Nicol_Bolas #7drl.

Play notes while you move and chime into the melody of the world to unleash the harp of the storms.

Fight your way through 5 stages to defeat the cyclops or strive for the highscore in an endless stream of foes.

* Movement patterns have to be matched with the streaming notes to unleash magic
* ASCII graphics and effects
* 5 stages with monsters
* Defeat the Boss to move to the next stage
* Endless mode for highscores
* Colorblind option