Defentures - defense mid-core game. Lead your dwarves, help them to reach treasures. Choose their tiers, use magic and upgrade global skills.

Classic battle mechanics

Fight with hordes of enemies in the spirit of old computer strategies and favorite flash defense games.

Active Background
Each location has its own mechanic. Brave amazons hide in the forest, the leader of the wolf pack is seated on the rocky ledge. Use all possible resources.

Flexible upgrade warriors in battle
Pump your dwarves as you like. Adjust to the incoming wave of enemies. Do you want dwarf thief? Do you want a master of swords with crit hits? Or maybe a golem summoner? No problem!

In guilds, you can receive special assignments with new mechanics. Do you want to lead the orcs? Or become a magister of magic? Well, or to rob caravans?

System of global skills
In addition to dwarf upgrades in the locations, you have various permanent skills.
To open them you will have to prove worthy in battles. And for the most interesting will have to sweat in guilds. Calling meteor showers or being a berserker is not easy.

A new approach to battles.

Unlike similar games, where the whole battle is focused at one point of the screen, I introduced a system to block the movement of the soldiers. A dwarf with a goblin is fighting 1 to 1. A dwarf with a huge 5 to 1. If the dwarves or enemies are too many, they go ahead to defeat the base sooner.

Flexible complexity system
Think tactics, calculate every action or relax and pile on the enemy, choose only you.


Download NowName your own price

Click download now to get access to the following files:

logo.png 412 kB

Development log


Log in with to leave a comment.

really needs music and more sound effects as well as a completed level screen

Absolutely agree with you about music. Now we are looking for composer.

What about sound effects, I thought that they are quite good now and I did not plan to add something else, perhaps more sounds for the UI.

What do you advise to add to sound effects?

Completed level screen is really bad now.  For webGL version I think to improve by current graphic. For PC version we will redraw this screen.

Oh yeah cool, I hope you find a great composer for this game! sound effects sound good also what do you mean the Completed level screen is really bad now and redrawing the screen? also can you make the game rescale to full window size? I have added your game to my gaming application called Gamer World (new UI is coming soon) so you will see your game on the new UI when released :D

It's a gaming application for awesome web games like yours and will be similar to steam but a mix of, game jolt but better as games on the application perform much better and best of all it's a open source platform for all operating systems.

(1 edit)

I mean that  completed level window in our game isn't good and we will work on it. It's not the final version.

I'm not sure I can do  full window size now.
This will entail a change in aspect, the result will be cropped sprites in the game.
It will also affect the image quality or the performance of the game. We can only do this closer to the release on the PC.

It requires tests and tweaks and now we need to finish the webGL version of game.

Will be following your portal.

Ahh I see. I hope we can work together, Gamer world gives web devs a instant way to give gamers there games without the dev needing to download or compile new versions since it's web based on a multi-platform gaming application and it also comes with a news section for game news so if you have any news updates please let me know. :)

Apparently I can only download a 412kb .png file. I assume you uploaded the wrong thing?

Hi! Aleccia Rosewater

You can download this logo. If you want to play the game, you can play it on this site. Now we haven't standalone version. It will be available in next 7-10 month.


Too many dwarves with SWORDS, not enough dwarves with AXES. You can go ahead and think a Dwarf with an Axe or a Hammer is cliche but literally ANYTHING with a sword is worse.

There are four types of gnomes, each one opens gradually. The gnome with a hammer opens at 6th level, which is not available in the current version. The full version of the game will be released in 3-4 weeks.


"Gnome" ?

I mean dwarf, of course


Actually here's a good video that analyzes dwarven weapons in fantasy settings 


I'm having trouble unlocking the mages, what exactly am I supposed to do with the obelisk? 

You should click on obelisk, and remember the sequence in which the runes light up.

Then repeat this sequence with the mouse.

if you make a mistake, the sequence will reboot


I think there is potential weak spot for your game from point of view of plot. Dwarves fight against many different enemies: goblins, bandits, witches, spiders, bats, etc (add giant octopus who attacks only dwarves to this list). And I'm sure than in new levels there will be even more diverse enemies. This begs question: why are so different enemies acting against dwarves? It looks like almost the whole world hates dwarves.

Ahaha, it's a hard to be a dwarf)
But actually In DarkBrotherhood guild you will play for enemies. And goblins will fight with bandits, bandits will fight with spiders even bandits will fight with bandits! 
In this guild you can also play against dwarfs))

(2 edits)

It would be fun, but I don't see how it resolves this problem. Actually, it makes it even worse: if many forces, that aren't friends with each other and aren't controlled from the same center fight against the same enemy,  then most likely, this enemy is some kind of an imperialist bastard who wants to take over the world. It would imply that the dwarves are agressors, that the dwarves are bad guys. 

The previous answer I wanted to say that everyone is fighting against everyone. Sometimes enemies become allies. But still, each race protects its territory from any other races. But since we act out precisely for the dwarves, we see everything that happens from their side.
If the main role were spiders, we would have thought that they were a universal evil)


Okay, so we have grimdark setting where every side is an imperialist scum that tries to take over the world. Again, it doesn't help. The fact that everyone is an imperialist scum does NOT make dwarves less guilty. Even if there is war of all against all, they could just defend their homeland, instead of invading territory of other fractions (for example, the spiders have nothing to do with invasion of goblins. And place where the spiders live is clearly not homeland of dwarves).

Then I have a good question for you, what will help?)

Dwarfs simply go to the mountain for gold, and the enemies do not allow them to pass and reach treasures.

(3 edits) (+1)


0.I can't read tips during loading mission of game because it loads too fast. Consider adding "press any key to continue".

1.Skill for figthers "Ignore frozen enemy", so use of corresponding bonus would allow them to reach enemy base quickly.

2.I noticed that shooters, when there are many of them, tend to overdamage enemies. I.e. when they shoot at the same time they shoot the same target more times than enough to kill it. While other enemies nearby, thanks to their luck, stay alive. Maybe you could fix it (so no enemy would be overdamaged. And consequently, it will lead to enemies receiving more total damage), or make special skill "Coordinated attack" for it.

3.Some missions for guilds are quite fun. Please, consider adding ability to play them again, even without getting reward.

4.Display time left for calling wolf pack leader for help again, rolling stone again, etc.

5.Display time left before a player would be able to call the next wave.

6.Make prices in the shop to adjust automatically (Ideally it will make prices more fair, prevent overreliance on some bonuses, almost non-existent use of other bonuses and motivate player to win missions that are most difficult for him/her). It could work like this: Each time player buys one bonus the price for said bonus goes up . Each time hard battle was won without use of said bonus its price will go down (of course there must be limit, like minimum price equal to 1 crystall. I doubt that you will want zero and negative prices). Of course the trick question is "What to count as hard battle?". Probably you could make your game automatically collect data (personally for each player. So prices in the shop will look differently for each player) about numbers of wins (for each mission type) on maximum level of difficulty.  Then the game would mark top five (or maybe other number, like seven or three) missions with the lowest numbers of wins (zero number of wins for fresh missions would be counted too) and tell the player that if s/he will win any of them, then prices for any unused bonuses will go down. If too many missions have equally low win count (Like maybe this specific player have never played any mission on the hardest difficulty), then top five missions are selected randomly among them. Possible pitfalls: If you will consider implementing this mechanism, then please make sure that the game doesn't count missions that are not playable yet on hardest difficulty (either because their levels are not implemented yet or player didn't reach them yet or player have never played on said level even once, so the highest level of difficulty is not avaiable yet).

Hi, sorry for late answer.

0,1. I will think about it.

2. Now they aim in one nearest enemy. If they overdamage it and there is somebody in area, they will without aiming make damage to it. Otherwise cooldown timers sets to 0. (I'll check it, may be there is a bug in this scheme). As for visual aiming at different enemies at once, it is much harder to do it, so it will be introduced at the last moment.

3. Yes, I also want to do this. I want to make the ability to play mission again, and also mark passed difficulty. 

4. What do you think the best method to show time left for active background (wolf, rolling stone)?

6.I like your idea about dynamic price at shop. It would hard to implement this. Also there is a chance that player can cheat the game.


"What do you think the best method to show time left for active background (wolf, rolling stone)?"

Probably floating text that moves with camera. So a player wouldn't need to have his/her eyes constantly glued to place where wolf/stone/etc should be. Beside, speical audio effect to indicate that wolf/stone/etc became avaiable would be helpfull too.

"Also there is a chance that player can cheat the game."

Of course. By the way, it's why I susggested number of wins, instead of win/lose ratio (otherwise a player would be able to cheat by allowing enemies to kill him). But the same logic is applied to any code. A player with some hacker skills can find a bug and use it to cheat the game. But would you give up? "I can't write perfect code, thus I should just give up". I don't think so, most likely you would just change your code. You can use the same approach in proposed price mechanism. If you will discover (or a player will discover and inform you) way to cheat it, then you can always just change how the price mechanism works. Or even return to static prices, if you decide that you can't fix it.

Another advantage of dynamic prices: As a developer you can include new bonus (or remove/change old one) without need to carefully recalculate static prices. 

P.S. Among with cheating, there is another possible problem with dynamic prices: Price adjustment takes time. Considering relatively small amount of missions (18 missions total. 19 if we count bonus mission with the giant green ogre.) prices must adjust quickly enough (probably giving ability to replay guild missions and make them able to influence the prices will ease this problem a little.).

 Floating text that moves with camera - it's easy. I will make it.

I did not say that I will not try to mage dynamic prices) 

But firstly I should finish core game. I have a deadline to 10 of December to make version 1.0

1.0 is 10 levels. 40-50 guild-mission. Also I need to do new trailer. Make with compositor 5 soundtracks. And make with narrative designer new descriptions. 


"But firstly I should finish core game. I have a deadline to 10 of December to make version 1.0

1.0 is 10 levels. 40-50 guild-mission"

Sounds good. More missions would allow more time for price mechanism to adjust prices.

"I think I can change price each battle. But also I will make sure that there are victories in different locations and modes, so that the player cannot lower prices with the help of a particular easy mission.

So if player won several times in a row one level I will not lower prices."

I see problems with such approach. 

Firstly, there will be no way to lower prices once player won all missions.

Secondly, if you will punish winning several times in row, then players will easily bypass it by letting enemy kill them after each victory.  And if you will use limit like "If you won 3 times, no matter if in row or not, then prices won't be lowered next time", then it would be bad too, because isolated number of wins isn't indicator of difficulty. Maybe a player was able to win this specific mission 3 times (NOT in row), but was able to win other missions 10 times (NOT in row) or even more.  Compared with number of wins of other missions, this mission probably is more difficult.

Hm, yes you are right. So I need to think about this mechanic in detail.

I think I can change price each battle. But also I will make sure that there are victories in different locations and modes, so that the player cannot lower prices with the help of a particular easy mission.

So if player won several times in a row one level I will not lower prices.

(2 edits) (+1)

My jaw dropped on the floor when I saw THIS. (7 ogres, part of them overlap)

For crying out loud, it's THE FIRST LEVEL (although on maximum difficulty. The objective is to reach the base of the enemy)!!! And I clearly don't remember these guys when I played the same scenario on maximum difficulty

In this mode you must reach enemy base during the long wave (80-100 seconds)

In the end of wave going unkillable portion of enemies. The main idea that you should win before this unkillable enemies come. 
If they come, you almost guaranteed to lose. So it works like a timer.

Overlaping would fix in future, it is problem for all units

(1 edit) (+1)

What if I kill said "unkillable enemies" with meteor bonus(es)?

"Overlaping would fix in future, it is problem for all units"

What do you mean by overlapping?

P.S. Okay, I tried to kill the ogres with two meteor bonuses. It worked, I won! Probably you should make endless flow of strong enemies if you want it to work as timer.

Units consist of several sprites and sometimes they fall into each other.

 "What if I kill said "unkillable enemies" with meteor bonus(es)?"

I think about this. There is two variant:

1. Make endless unkillable enemies in the end of wave, that guaranteed destroy player base.

2. Give possibility to kill this unkillable portion of enemies with bonuses as now. Because if player use bonuses in the beginning of wave most likely he will win. So what's the difference when he use this bonuses)

It will be great if you have any idea how to improve this mode.

(2 edits) (+1)

1.On the second thought, endless wave of strong enemies doesn't look as good as I thought. If you want to kill player for sure, then why don't you just implement good old timer and make the game say "you lost" when time is up? (Of course you also would need to show the time left during the game). Besides, some players will be upset/angry when in vain attempt to stop the unstoppable wave they will spend their bonuses, especially expensive ones.

2.Related note: for such missions currently the game says that a player must reach the base of enemy in order to win. But it's only half of truth. Player can win just by destroying all enemies, without reaching the enemy base. Probably you could either add this additional winning condition into description or change code to prevent winning when all enemies are exterminated, but the base is not yet reached.

I like idea about showing the timer. 
I don't implement good old timer because I want to add visual explanation of why a player loses. So I think I make timer + endless wave + hide bonuses when strong enemy come.


The game freezes when I try to play the seventh level.

I forget to show limitation window. In current demo build this level is unavailable. It may become available later. 


Great game with really amazing art, I love the idea and the execution. I can think of two things that would make it better - a more intuitive login system and better grammar.

Thank you. 

This is early demo, so grammar would be absolutely rewrite. I also change login system, but it take time.


How exactly does this login system work? For some reason I keep losing my save

Do you save your old login?

Now you should just go to settings. Click on new login, change it to old. Click Ok. Click Set. Wait 3-5 seconds. Then refresh page.


ok. I didn't realize you had to refresh the page

I just fixed several bugs and updated build. Now all work better in all browsers. But you should enter your login again. 


By default our chest capacity is 200 units of gold. But if money bonus is used OR if next wave is started early we can get more than 200 units of gold stored. Is it a bug or a feature?

It's a feature)

it makes the bonus more powerful as well as motivates to call the wave earlier.

(1 edit) (+1)

In "Emerland forest" I spent money bonuses before starting the first wave in order to get rid of the debt even before the battle started. The game displayed positive number of money, yet after the first wave started I was in debt again =( I think it's a bug.

You are absolutely right this is a bug. Thank you!

Updated build will be in two hours.

So I updated build, you can try it. I added new skill according to your idea. It's will be great if your give feedback. Also please check if new build works in FireFox.


Alas, but the lake of the good and evil still doesn't work in Firefox. Have you considered possibility that it has something to do with graphics? Like maybe Chromium is able to use hardware acceleration, while for some reasons Firefox uses software rendering here and here. Probably something graphically fancy happens on said level, something that was NOT used on the first and the second level. 

No, level 3 doesn't use any specific graphics.

But good news!) I update Firefox and clear cache and get the same bug))

So I will trying to understand problem.

Problem was in method that start octopus tentacle Idle sound. I don't clearly understand why it breaks game, because several units use this methods and work perfect. 

So now 3rd level works in Firefox)

I confirm, the level works now. (Although considering problems that it created you probably should rename it into "The lake of the Absolute Evil" =) ).

But I catched bug when I was playing the first mission of the thief guild. The game shown me message full of programmer mumbo-jumbo and then froze.

I was able to complete the first mission of guild of thieves (seems like the bug doesn't happen constantly). This being said, I can't collect its reward. I'm in the same situation with guild of mages, by the way. I completed their mission, yet can't get the reward.      

Can you describe the problem in more detail?
I am testing in firefox. I took the first mission for the magicians, passed it, then I went to the guild window and getreward button was on, I click and everything is ok.

As I understand, when you complete mission and go to guild window getreward button is not active , yes?

P.S. You forgot to fix description of the Armor spell, it still mentions duration.

I think your browser loads assets from cache, because I update skill description and I see new description when I run game.

(1 edit)

Upgrade of "Armor Spell" does not work. I checked duration of the spell with stopwatch, it turned out to be 10 seconds even if I upgraded it to last 45 seconds.

This is mistake in the description, thanks.

Now it give 45 percentage of armor and doesn't influence on time.

For example: 200 input damage with 45 armor becomes 110 damage.

(1 edit) (+1)


Tomorrow I will update build.

Because doesn't support saves along different builds, please go now to settings in game and copy your login(I am wildly sorry you have to rewrite login by hand) and save it somewhere. In next build you can input your login and load your saves.


This game is pretty fun and good to pass time. It would be great if there was a download option for playing it offline 

Thank you, hawkseye17!

Now I focus on testing the online version. Standalone version will be available later.

(1 edit)

Suggestion: give the shooters some common sense. Namely, make them smart enough that they would try to hide behind backs of fighters, instead of bravely marching to their doom. For example, if fighters are ahead of them, then they could run to support them. If fighters are BEHIND them, then they could slow down (or even stand for while) in order to let the fighters to catch up.

I think it's a good idea!

But this behavior is actually part of the gameplay. Some tasks are built purely on this behavior of shooters.

The idea of slowing down can be introduced as an additional skill, similar to increasing the speed of movement of a swordsman. This will be a pretty strong relief of the game, as the shooters will increase their survival. 

I will work on it.

Now if you want to make shooters more viable you can use their BackJump skill (it opens on 3rd level)

If enemy tries to attack the shooter, shooter will shoot in enemy and jumps back.

I think that all the troops die a bit too quickly. I can understand shooters being fragile but maybe make them go down in 2 hits. Melee warriors also should be just a bit more resilient too. Nothing major

Shooters go down in 2hits while ArmorSpell working.

This is intentional, so that the superiority of the improved warriors is noticeable.
Normal swordman can get 60 damage and inflict 10dps
The maximum upgraded sworman can get 150 damage and inflict 40dps, and upgraded Armor Spell greatly increases survivability and give them invulnerability for 8 sec.


Game freezes on "Lake of Good and Evil" level.

Hi, roboq6!

Can you describe the problem in more detail?
Does the game freeze immediately after starting a level or on a particular wave? or when the level is loading?
After reloading the page the problem persists?
What browser are you using?


The game works for few moments when the level loaded, but then freezes. It happens before any wave. My browser is Firefox Quantum 63. My OS is Debian Linux 9. I have videocard from Intel. Both OS and the Web Browser are 64-bit.

>After reloading the page the problem persists?


(1 edit)

roboq6, looks very strange. On Mac and Windows all works fine, but I never tested it on Linux. 

You can try to clear browser cache. 

You can also try to use another browser (to use current saves in another browser, go to game settings -> copy login -> go to game in another brother -> go to setting s-> input old login -> click set -> refresh game)

In few days I try to test it on Linux.

(1 edit) (+1)

Bad news: I was unable to copy-paste my login. For some strange reasons the clipboard just ignores all attempts to cut or paste from/in the game.

Good news: I started the game from the scratch in another browser called Chromium (Opensource fork of Google Chrome) and was able to beat level "The lake of Good and Evil" without any problems. The version of Chromium is 69.0.3497.92

It's really good news! I am very pleased that you did not abandon the game and solved the problem. Have a nice game)

What about copy-past as it turns out it is limitation of all browsers. But there is several methods to fix it. So I fixit in next build.

(1 edit) (+2)

I have the same issue. I am Windows and using Firefox also... you start the level and the whole game just freezes after the level loads. No buttons can be pushed and it even crashed the tab. Reloading doesn't work. I can't play any further :/

By any chance, do you have Intel videocard?

I will update build in next 2 days.

But cause doesn't supports saves along different builds, you should copy login (each symbol by hand) from game setting and save it. Then after build updates enter your login in setting. Sorry for this disadvantage.

Also may be clear cache or browser update can help.

I fixed this bug. Now all work perfect. Thank you for feedback.




Dude, lol! That's great! I didn't think that my game could cause so much emotions)))
It is a pity that in the last seconds you didnโ€™t press the continue button, then a huge boss would appeared, Iโ€™m already presenting your reaction to it. Ha ha. I hope you will continue))

And also deer on the second level is clickable just like other background objects)

It really is my pleasure to a play this game. Thank you so much for allowing me to do so. I plan to play any more updates, and all I ask is for any tips that you think would bring a larger audience to my lets plays.