Check out my new game on itch => Rogue vs Evil <=

Dungeon Mercenary

Dungeon Mercenary is a dungeon crawler game where levels are randomly generated, meaning you never get to play the same game twice. For the moment, it is in ASCII art: there are no graphics: a wall is displayed '#', the player is displayed '@', a goblin is displayed 'g', etc. Don't run away: your imagination will do the job. Once you're accustomed (and believe me, it's quick!), you'll enjoy it as much as a graphical game; because hey we did not stop reading books when movies were invented!

Dungeon Mercenary is designed to be easily understandable but hard to master, as you'll need to die a few times before being able to reach the dungeon's middle depths. To beat the dungeon, you'll need to learn when it is wise to dash to flee, when you should try a special attack to try slithing a monster's throat in one turn, how to lure monsters into traps, etc. Then, only the bravest mercenaries will succeed in winning the game… Good luck!

  • Desktop version (Windows): download the game at the bottom of this page. Extract it and launch DungeonMercenary.exe.
  • Desktop version (Mac, Linux): download the game at the bottom of this page. If you don't have it (but it's likely you do), install the Java Runtime Environment (JRE) for your platform and you'll be ready to execute the game by double clicking on the file dm-18-04-30.jar (or right-click on it, Open with Java Runtime Environment; or issue java -jar dm-18-04-30.jar in a terminal).

How to play:

  • You start at the dungeon's depth 1. The goal is to travel all the way down to depth 14 and exit via the arch there.
  • To move: use the arrow keys or the vim keys (hjkl and yubn), or click where you want to go.
  • To interact with an item, click on its icon in the inventory (on the screen's right); or toggle the inventory: press 'i'; or click on the 'Inventory' label.
  • To drink a potion, either go through the inventory (press 'i') and select the potion; or press 'q' to open the Quaff menu.
  • To throw an item (potion, bomb, etc.), either go through the inventory (press 'i') and select the item; or press 't' to open the Throw menu.
  • To cast a spell, either go through the inventory (press 'i') and select the spell; or press 'c' to open the Cast menu, or use the spell's shortcut shown below the inventory (one of F1 → F12).
  • To drop an item, either go through the inventory (press 'i') and select the item; or press 'd' to open the Drop menu.
  • To zoom in/out: press '+' or '-'
  • To perform a dash move: press Shift while moving
  • To perform a special attack: press Alt while attacking. If you wield only one weapon or has only one weapon with a special attack (dagger, falchion, small axe, or sword); pressing any Alt key works. If you wield two weapons with special attacks, right Alt triggers the special attack of the weapon in your right hand, left Alt triggers the special attack of the weapon in your left hand.
  • To push/pull one or more barrels: press Ctrl while moving. Use them to block monsters, create traps, etc.
  • In the inventory and other menus, entries are bound to key shortcuts: the character with a different color. You can also click on entries or type Enter. You can always return to the previous menu by selecting Cancel or pressing Backspace (or the mouse Previous button, if any). You can also change the current entry using arrows (including Page Down/Page Up) and use Tab to cycle through entries.
  • When throwing an item or casting a spell move the cursor with the move keys (arrows or vim keys) or the mouse. To perform the throw, press Enter or the mouse's left click. Pressing Escape or Backspace or the mouse's right button (or pressing the Cancel Throw button at the top) will cancel the throw.
  • To open the main menu while in-game: scroll down or up, or press Backspace, or press Escape (desktop only for the latter).
  • To wait a turn: press 'z' or Numpad 5.
  • To explore the map around you: click and drag

Changes in last release on April 30th, 2018:

The goal of this release was to better balance the game (making it harder mostly!) and to have more interesting content, monsters-wise and room-wise. I hope you'll enjoy it!

New features: Gameplay

  • Items:
    • Added the Drain Magic spell
    • Added the Many Colors potion
    • Added the Poison Immunity potion
    • Added the Stone Heart potion
    • Made the Great Axe and the Warhammer two-handed
    • Shields offer extra protection against ranged attacks (aka bows, crossbows, etc. (see newly introduced monsters below))
  • Monsters:

    In this release I've added monsters with new abilities as well as ranged attackers. New abilities are all well distinct and ranged weapons have different stats (need to aim or not, reload time) so that all monsters feel unique. In addition, thanks to the addition of locked prisonner rooms (see below), you'll now be able to have allies fighting with you.

    • Added the Bounty Huntress that has a new spell: h
    • Added the Cerberus: C
    • Added the Chaos Dancer that has a special move: ç
    • Added the Chaos Dwarf Handgunner that wields a musket: ẁ
    • Added the Death Mage that has a new spell: @
    • Added the Fairy (a rare ally): f
    • Added the Gargoyle that flyes: ģ
    • Added the Ghoul: ġ
    • Added the Goblin Archer that wields a bow: g, video
    • Replaced the Goblin Leader by the Goblin Mechanic: g
    • Added the Knight (κ) and the Blue Knight (κ) that have a special move: video
    • Added the almighty Lich that has a new spell: L
    • Added the Master of Rats that has a new spell and a new passive ability: @
    • Added the Ogre Artilleryman that wields a canon: Ò
    • Added the Orc Crossbowman that wields a crossbow: ò
    • Added the Pink Archer (rare) that wields a runic long bow: à
    • Added the Poisonous Worm: w, video
    • Added Totems that have new passive abilities: ‡
    • Added the Unicorn (a rare ally): Ú
    Adult dragons can now be spawned in the last two levels, whereas they could previously only appear in the dragon's den level (where they were sleepy). En route to the Dragonslayer achievement if you dare try it!
  • Dungeons:
    • Added statues: screenshot 1, screenshot 2, and screenshot 3.
    • Added new special rooms
    • Added multiple special rooms/quests interacting with statues: quest+statue 1, quest+statue 2.
    • Added poisonous areas: video. This one was on my TODO list almost from the first release :-)
    • Locked rooms can now sometimes be opened with a key which is in the level.
  • Levels are smaller
    • At depth 1, it is now 40x25 instead of 60x30; and complexity (number of rooms and connections) was decreased.
    • At depth 2, it is now 45x25 instead of 60x30; and complexity (number of rooms and connections) was decreased a bit.
    • At depth 3 and more, it is now 50x25 instead of 60x30 (except for the forest levels that were smaller already (40x40)).
    It may not seem like a big change, but it is: it makes levels more than 25% smaller.
  • Monsters can now drink and throw potions.
  • Monsters can now throw bombs.
  • Items may be burned down.

New features: UI

Gameplay Bugfixes

  • Monsters do not forget so easily their target when not in sight (aka "doors aren't so powerful anymore").
  • Corrected that spells of foo slaying were affecting all monsters. Oops.
  • When fiddling with an item (pushing it with a force spell, teleporting it) in a treasure room, the other items now vanish; to nerf Conjurors of Cheap Tricks.
  • Dragons more often use their breath attack.
  • Fixed that you could interact with items (such as drinking a potion) while paralysed.

Gameplay Changes

  • The Quietus spell has been made less powerful: when you kill an enemy with it, you suffer as many damage as the target. The spell won't kill you though: it leaves you at one hit point if the target has more hit points than you. Thanks Lici for discussing this matter.
  • The Raise Skeleton spell has been made less powerful: you can now control at most three skeletons per level of the spell (so three skeletons at level 1, then six, etc.) In addition, killed skeletons (as well as all monsters animated purely by magic) do not leave a corpse anymore, meaning you cannot raise a corpse from the dead twice. Thanks Lici for discussing this matter.
  • Monsters animated purely by magic (gargoyles, golems, skeletons, and totems) are immune to poison, quietus, and vampirism.
  • Changed rings of awareness so that awareness extends to 2 cells * awareness level instead of (sight distance) + (3 cells (awareness level)). It is more akin to brogue's awareness now.
  • The Negation potion now drains spells of monsters instead of removing the spells altogether. This departs from brogue and hereby makes the potion less powerful.
  • Reduced chances of having an altar in a level, from 12% to 7%.
  • Made chaos altar provide a +2 runic boost instead of +3 (recall that the trade-off when activating a chaos altar is that the concerned item becomes cursed).
  • Increased cooldown of dashing and special attack, from 5 turns to 8 turns.

Other Enhancements, Fixes, and Changes

  • When playing on itch.io or schplaf.org, achievements and highscores are now shown and recorded during the current session.
  • The "You've achieved some achievement" panel doesn't block input handling anymore: you can continue playing while it is fadeing out.
  • Support for German has been removed as it didn't receive an update since its introduction and was missing a hell of content.
  • Corrected that flying monsters wouldn't go over deep water.
  • Common actions always receive the same keybinding in menus: apply, drop, describe, equip, unequip. Thanks Lici for suggesting it.
  • Shallow water has been made easier to distinguish from deep water: beforeafter
  • Corrected that walking monsters pushed into deep water wouldn't move anymore.
  • Flying monsters now swoop through chasms either to hunt you down (enemies) or come along (allies).
  • Fixed that waiting with NumPad 5 was waiting two turns on every keystroke. Thanks VedVid for pointing it out and helping me narrow it down.
  • Fixed that item on floor wasn't picked up when swapping position with an ally.

Tiny Bugfixes and Changes

  • Corrected various incorrect colorings when being colorblind (awareness effect, underwater overlay, etc.).
  • Removed usages of "damages" in description of spells.
  • Corrected that description of boost of protection spell was incorrect.
  • Do not crash when window is made absurdly small.
  • Correct that clicking in the "sentences panel" atop the map was handled as going down instead of going up.
  • Correct that dash was triggering when both requesting to pull/push barrels (whereas there were none) and dashing (i.e. pressing Ctrl and Shift at the same time).
  • Changed toughness color from this color to this color, because the initial color was inadequate for the light of totems of toughness.
  • Corrected that damages from breath of blue baby dragons wasn't reduced neither by protection, nor armor, nor toughness.
  • Corrected that durations of spells was off by one (a +n duration spell (paralysis, slowness, etc.) would last n-1 turns).
  • Changed the ogre and orc shamans to dark blue (like the kobold wizard) for consistency. For consistency, changed the ogre shaman symbol's to Ò and the orc shaman's symbol to ò.
  • Colors in the status panel (the bottom panel) are better managed, in particular contrast of text of effect (whose background is a duration bar or a health bar) has been increased.
  • When poisoned and poison will kill you, health bar is decorated with poisoned to death.
  • Tombs and benchs are now destroyed by dynamite bombs.
  • The goblin queen and the goblin king deal more damage.
  • A confirmation dialog opens when doing a negative thing at an ally (throwing a bomb for example) or doing a positive thing to an enemy (healing it for example).
  • Firebolt, slaying spells, and dragon breath do not lock the game anymore when happening not in sight. As a result, the game is smoother when an ally dragon is battling (throwing firebolts, breathing, etc.) enemies but you can't see it.
  • Game menus with scrollbars now have a border (previously they were not mixing well, but it is fixed now), to look better.
  • Corrected that animation of barrel explosion was shown even if not in sight.
  • Corrected that animation of the sword's special attack was happening on the attacker's cell, whereas it was expected to happen on the attacked monster's cell.
  • When having a spell more than once with different levels, the levels are shown in the inventory: disambiguation.
  • Made game smoother when picking up an item in a choice treasure room (disappearing animation runs concurrently with the player's move).
  • Made locked doors more visible in "mud" and "forest" levels.
  • Show a "cooldown finished" animation when boosting a spell that was cooldowning.

Features

  • Different style of levels, from classic dungeons to open areas; featuring different color themes: grey castle theme, snow theme, mud theme, a forest theme, etc.
  • Different kind of weapons, armors, shields, potions, bombs, rings, and spells. So you may either play a warrior or a spellcaster, depending on your items and your taste.
  • Equipment crafting via runics (vampirism, orc'n gobs slaying, force, etc.), allowing you to balance your loot and your style.
  • Special areas: "red carpet" areas, cemeteries, goblin throne rooms, the wizard's office, the dragons' nest, closing rooms, choice treasure rooms, malevolent crosses, trapped corridors, etc.
  • Means to tune your equipment: altars and forges.
  • Monsters, from the usual fantasy world (goblin, orcs, kobolds, uruk-hais, etc.), including ninjas! (who doesn't love ninjas ?)
  • Classes: Conjuror of Cheap Tricks, Filth Assassin, Mage Wannabe, Necromander, etc. Classes in Dungeon Mercenary do not have special traits or abilities, they simply consist of a specific set of starting equipment. They allow to test the game's variety faster than what random generation of dungeons and items usually permits.
  • Achievements and High Scores: either in the standalone desktop version or integrated within GameJolt.
  • Dash moves and special attacks. Used wisely, they'll save your life more than once; or can even be at the core of your gameplay (double dagger ninja anyone?)!
  • A User Interface that does its best to help newcomers. For example by highlighting the focused monster (1 and 2), previewing the beam of a spell, animating the effect of potions: health potion and life potion, etc.
  • Beautiful ASCII; gradual Field Of View, animated water, etc.

Troubleshooting

  • Windows
    • If the game doesn't start, it likely means its launcher crashes very early on. I would really like what is going on in this case: to help me, you should launch Dungeon Mercenary from a shortcut, adding -c --console -v to its starting parameters (see it pictured here, it's really quick: create shortcut/right click/add the flag/relaunch). Once this is done, please send me a screenshot of the terminal that showed up. There'll be valuable information in it.
  • Firefox
    • If the game's loading bar stays stuck (geeks: see java.lang.UnsupportedOperationException: typed arrays not supported in the javascript console): you're affected by a Firefox bug. The only workaround I know is to use Google Chrome.
  • Google Chrome on Linux
    • If the game doesn't show up and a message Your browser doesn't seem to support WebGL is printed, turn WebGL on.
  • Flash: you don't like it ? Well neither do I! The game actually doesn't need Flash for the moment, because it is for sound support; and there's no sound yet... Hence flash blockers, welcome :-)
  • If you have another problem, drop me a line (see contact below).

Changelog

You can checkout the changelog of all versions on the game's website.

Roadmap

If you want to help Dungeon Mercenary's development, you can make a donation (donations/ads revenues (GameJolt, Kongregate) received since January 2016: 23€).

Here's the roadmap:

  • Short term goal is to integrate documentation in the game, so that you have details of what items and monsters do. In progress: check it out. Done in January 2016. Since then, this was further improved: the descriptions of items is shown when hovering over them or when using the explore mode ('x')(June 2017). It was further improved for monsters in September 2017, showing their damages, spells, etc: pic.
  • Short term goal is to add new terrains. I first envision water, because it is easy to do and I have a nice rendering for it. Water got done in early February 2016, it's there; but there are no waterborn monsters yet.
  • Short term goal is to add special rooms (treasure rooms first I suppose) This got done: altars were the first step in this direction, since I wrote room-finding algorithm for them, red carpet areas were the second one, and cemeteries are yet another special areas. Since then, there are even more special areas (in June 2017): closing rooms, choice treasure rooms, etc. And then even more rooms were added in the April 2018 release: rooms with statues, poisonous areas
  • Short term goal is to allow more choice in the use of runics. For that, I plan to implement ways to sell/trade your runics, either with neutral merchants (for trading/buying) or forges (for crafting). I've done forges to reuse/exchange runics. They pave the way to more uses of the boost runic, as it's now easier to obtain them (you can transmute any runic to a boost runic). More boost runics pave the way to boostable spellbooks The spells system, that integrates with runics, has been implemented in June 2017.
  • Mid term goal is to finish the Android version. This got delayed, as I wanted to have a complete game before releasing on Android and I feel there'll be no players anyway.
  • Long term goal is to pay a pixel art artist, to have a version with flat 2D graphics (à la zelda). The game is designed in such a way that this is a small move from ASCII rendering.

Along the goals, I'll progressively add content (monsters, special rooms, terrain, etc.). One thing I'd love to see: ranged weapons, because limited ammo + the need to reload creates very interesting strategies in turn by turn games (ever gunned down a herd of zombies in Cataclysm DDA ?) Throwing bombs is the first step in this direction, since I had to code the UI for throwing/firing.

The founding principle in upcoming developments: keep the game tight. Put differently: do not spam poorly integrated content and keep bugs away.

Contact

Dungeon Mercenary is regularly updated (see the history of versions). You can follow its development in various manners (the twitter account being the central place):

I can be reached at hgamesdeveloper@spam_trap.com, replacing spam_trap by gmail. Please submit bugs if you find any (with a screenshot demonstrating the problem, if that's possible), suggestions, or just leave me a kind word (it's a sure way to boot my motivation!) :-)

Download

Download NowName your own price

Click download now to get access to the following files:

dm-18-04-30-windows64.zip 50 MB
dm-18-04-30-windows32.zip 57 MB
dm-18-04-30-mac.zip 48 MB
dm-18-04-30.jar 12 MB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

(+1)

Nice little game, Those teleporting creatures can be annoying if I dont have a bomb :D. I have a question is there any stealth aspect to this? I see that theres vision and such but is there a "sneak attack" damage?

Thanks Hectic. There is no stealth aspect for the player, solely the distance of your vision may vary - as you've seen - and this distance is used for throwing stuff and casting some spells, so the longer the better (no pun intended :-). The only stealth aspect is that, if a goblin ninja attacks you - while not being revealed yet - he'll hit automatically.

(+1)

You should make it so the Dragonist class has a "Tame Dragon" move where he attempts to tame the baby dragon as long as it is within the normal field of view, and can only be upgraded with boost tunics, because it says that the Dragonist "Walks the dangerous path of taming dragons." which implies that it is possible to tame dragons.

This is an excellent idea! I'm working on my next game where there will be a tree of skills (as in Diablo 2 for example) and this makes sense in the list of skills. Or else for long I've been thinking of "domination" spell that lets the player try to turn wounded enemies into allies, and the dragonist could have a bonus when using it on dragons.. Thanks for the suggestion :-)

Sounds great! Make sure it's like this game in terms of where to play because I don't have enough computer space to download... and I'm poor, so I can't buy it... but this is a really great game, and I think it's cool that all of the different tiles and characters are represented by keyboard characters of varying colors.

It's unclear whether my next game will support ASCII rendering (keyboard character graphics) as I'm focusing on the tiles display. But there are a ton of games with ASCII graphics (akin "roguelike"), for example check out brogue: https://sites.google.com/site/broguegame/ or Sil: http://www.amirrorclear.net/flowers/game/sil/ They do not require expensive hardware nor disk space! And they are really awesome games (check out "cataclysm DDA" too for a zombie setting).

can you make a level editor for this game? it would be so good to make a level!

(1 edit)

Actually there are 3 hardcoded maps that are simply loaded from text files:

There is no way to plug other maps right now but it wouldn't be too much work.

And I guess there are open source maps editors to which I could plug too, it's just hasn't been high on my priority list :-(

I would recommend it because it can really open up more stuff to implement. for example there could be a share function and a map viewer plus player and even item creator and monster creator! it can open up games like these cuz there are alot of elements in games like these like monsters chests the rooms that has special things that happen and even more! they could even have floors! you could make something like a trelly (yeah i said trelly) to show people when stuff is  planned and what is currently is being worked on and more! ...i think thats enough of over genius ideas that i have no idea if it is genius ideas for one day....i made a fool of myself

I agree it would open up many possibilities! Because of how the game is coded, it wouldn't be possible to add monsters or items, it would only be possible to modify the existing ones; but that would be nice already. It'd also require extra work to be able to load those maps from the game (such as a menu to load a list of maps, to do kind of a campaign), but nothing difficult.

ok i hope to see this game grow! this game is beautiful never give up

Glad to hear it, thanks for the support :-)

(2 edits)

1. what exatly does using 2 wepons do?

i know u can use one of their special attacks by pressing alt (left or right determines which special attack will use)

but in normal attacks, do u deal damage from both weapons?

2. what does slowness do? it reduces speed by 50% for 2 turns

but what is speed?

3. there are runics on the shield that activate when u block the attack

the sword has parry

does parry and shield stack?

4. what's the difference between "parry" (sword) and "contact hit probability"? (shield)

1. Yes wielding two weapons means you deal damage from both weapons.

2. Speed is the speed with which you and the monsters take turns. Most monsters have the same speed as you, which means it is alternatively your turn to do an action and then the monsters' turn. When slowed down, you're at half speed meaning you play a turn every two monsters' turn. Note that this is a simplistic explanation, the game uses a scheduler; which means any kind of interleaving is possible, but this is what happens most of the time.

3. Yes parry and shield stack.

4. Both parry and shields are modifiers to contact hit probability (although shields also modify ranged hit probability), i.e. they decrease likeliness of being hit.

(1 edit)

i have a few questions

1. why did u make this game?

2. which programming language did u use?

3. are u a developer or do u study it as a hobby?

4. and last but not least...

would u allow me to help u? as a developer 

i have a lot of free time

1. I made this game because I wanted to play such a game :-)

2. I'm using Java as the programming language with libgdx as the graphics library and a number of my own libraries. libgdx is plain awesome for an experienced developer like me.

3. I'm doing this game on my free time but I'm a professional developer!

4.  This is very kind of you but I'm not looking for development support. I'm looking for support 1/ for translations (besides German, Italian, and French; for which I have translators already) 2/ maybe for pixelart in the near future, and 3/ for advertisement (but you did a lot commenting here already ;-)

(1 edit)

i would gladly translate to Portuguese (i'm brazilian)

in a similar topic, some of your english text is wrong

in descriptions of runics, where it describes what would happen if you applied it to each item, it says:

"...increases BY 10%..."

when it should say "increases TO 10%"

Thanks for the translation offer :-) It is noted!

Regarding the text, I believe "increase by" and "increase to" have different meanings; I use "increase by" to denote that the existing amount is increased by some additive value; whereas "increase to" would denote the total right away. I mean: 5 increased by 10 is 15, which corresponds to "increased to 15". Or did you mean that I meant "increased to" in the text ?

(1 edit)

u said about making the runic system less complicated

i don't think it is complicated at all

what is complicated is the monster "states"

infuritated... i have no idea what they do

oh, and slowness. all the time the mosnters put it on  me

Most monster states are also player states: infuriated works as if the monster had drunk a potion of fury, slowness works as if you had cast it on a monster. I feel like that there is so much in the descriptions already that I had thought this did not deserve a mention :-/

i imagined that was the case, however i never received a slowness runic. so i could never read it's description

i even thought about starting a game with the class that has it just so i could read it

(2 edits)

suggestions:

1. would be very useful a counter that says how many summons u currently have

2. show current/max health

3. spell descriptions should say their cooldown

Those are all good suggestions. I would have thought that 3. was there already ;-) At first I didn't want to overwhelm players with not-necessary numbers, that is why I had omitted health points; but I believe it is disturbing some players.

more suggestions:

1. when u see the enemies potential damage, take into consideration your damage reduction (thoughness/armor)

about this, i have a question

once, if i remember correctly, i had 9 damage reduction

when i put mouse above an enemy, it said "damage 1 to 4", however, i did take a little damage

why/how?

Because damage is never reduced below 1. In other words, if you were supposed to take some damage, you'll always at least suffer 1 damage.

what about taking into consideration your damage reduction to show the possible damage the enemy can deal?

oh, and the messages saying u received damage, could say how much it was

same for damage u do

why are some walls red?

Red walls are torches, but as you noted; it isn't explained anywhere ;-) It slightly changes the nearby lighting though.

(4 edits)

is there a way to have more than 1 save?

i would like to try other classes (i know they just change the stuff u start with) before i commit myself to the class i chose first

also, it would be nice to play different styles once in a while. but if i have to kill myself and start new game, that would suck

Unfortunately there is no way to have more than 1 save with the UI, because it required to handle user input (to name the savefile..) and it didn't yet reach the top of my priority list.

If you want to do it manually though, you can move the file  our_home_directory/.hgames/dm/save0 somewhere and restore it later on. Once this file is moved, restarting the game will change the main menu entry (Continue or New Game). Hope this helps!

maybe just do like some other games, where u have 3~save slots

If I had multiple save files, I would directly allow to name the file; it's not that much more work than having 3~ slots.

Admin

Hey, I just noticed the itch.io devlog link you have in your game description points to your dashboard, so one one else will be able to load the page!

Indeed, thanks for pointing it out! I've corrected the link. It now points to https://hgames.itch.io/dungeon-mercenary/devlog.