DevLog #7 – A real-time strategy tower offense game
Last week I released an alpha build of my new game Destroy The Monoliths. Today, I’m happy to share an update! Version 0.2 is now available on itch.io and it comes with a few important changes. Let’s talk about that in this devlog!
Reworking the offensive mechanics
Destroy The Monoliths is a real-time strategy game that has some tower defense vibes. But the main focus, as emphasized by the title, is offensive. However, this aspect the game needed more work. I was not very happy with the current system and the player feedback I got after the alpha release confirmed this feeling. Attacking the monoliths was very frustrating and not very fun. You had to frequently shoot with your shields on and retreat, or just assault and die repeatedly. The main issue comes from the instant retaliation from the monoliths. I added this after the pre-alpha to prevent players from destroying monoliths too quickly. Giving some attack power to the monoliths was actually an interesting idea, but it turns out to be a bad fit for this game. So I decided to try another solution. Let’s review the changes and their consequences!
I removed the instant retaliation and also the health regeneration. Damaging a monolith still triggers additional enemies to spawn however. But this defense feature alone is not enough. So, what is the solution to prevent payers from destroying monoliths very fast? I gave them a lot of health. A whole lot. Like 1.5M+ points. The initial player DPS with the laser bullets is 400 damage per second. That means you need to shoot at it for more than an hour to destroy one monolith. This takes indeed a lot of time, problem solved.
Wait. But how do we win the game then? Shooting monoliths for hours seems very boring. Yes, and that’s the point: players are not supposed to attack monoliths anymore. The game now displays the exact health value of monoliths so you can see how little damage you make to them. I think the player will understand very quickly this is not the right move. But who will destroy the monoliths if not the player? Simple answer: turrets.
This is now a tower offense game
The game had tower defense vibes because you can build turrets to defend your base. But I think I should push this aspect further. Destroy The Monoliths is a building game. You mine resources and then build turrets. You build turrets to defend your base because you want to be able to respawn and mine more resources. But you now also build turrets to attack because you want to stop definitely the enemy waves and remove the need for defense before the map runs out of resources. The core actions in this game are mining and building. Sure you can attack enemies to assist your turrets but this is a secondary mechanic.
So this game is about building turrets to besiege monoliths. This is a tower offense! I added a very special building, the neutronic bomber, that specifically targets monoliths. And it does an insane amount of damage. But it will still take time to destroy the monoliths because they have a lot of HP. In the meantime, you need other turrets to take care of the enemies spawned and make sure the bombers stay protected. How you lay out your siege bases is up to you, that’s where the strategy comes in. Just be careful: neutronic bombers are expensive and loosing a few of them could be a major setback.
What about temporary upgrades?
The goal of temporary upgrades was to allow the player to gradually scale until being powerful enough to take the monoliths down. Obviously, with the new attack mechanics, temporary upgrades make no sense anymore. So I removed them. XP level-ups will occur a bit less often, but you will each time get a new technology to choose. Besides, I decided to partition the options instead of mixing them all. The HUD now shows if your next XP level will offer a new building, weapon or relic.
I hope you will like these changes. From my play-testing, I feel they make the game more enjoyable and unique. The hook appears clearer: Destroy The Monoliths is a real-time strategy tower offense game where you mine resources and build turrets to besiege monoliths that otherwise keep spawning ever more enemies.
The update is available on itch.io. You can read the full changelog below. Please give it a try and send me your feedback! I want to make sure the core gameplay is robust and fun before starting to work on secondary features and expanding the amount of content available.
Thanks for reading, and see you next time for another devlog!
Full changelog (Alpha v0.2)
- Rework of the offensive mechanics (see details in the post above)
- Removal of temporary upgrades
- Added a halo at the feet of the player to have an additional health indicator in the middle of the screen and complement the one at the bottom-left of the HUD.
- The player now dashes towards the aiming direction instead of the current velocity direction. This allows to instantly change direction with a dash move no matter the ground friction.
- Added a sound alarm and a brief message overlay to notify when the Core is attacked
- Added a few more information in the buildings description panel (e.g. status effect turrets now display their reload duration).
- Player XP level is now capped at a certain level + some HUD tweaks for the XP display
- Monoliths start to spawn enemies more progressively instead of all at the same time
- Revamped liquid mercury texture so that it contrasts better with the ground
- Fixed buildings reloading status not being saved properly, which caused all buildings to become synchronized at the load of a savegame
- Tweaked enemies death sound
- Some enemies now directly target the last entity (player or building) who attacked the monolith is spawning them
- Now displaying monolith health values
- Some tweaks to the campaign select screen
- The player status panel can now be accessed while choosing a new technology
- Improved map type and biome icons
- Tweaked the buildings range halo to be more visible even on frost maps
- Fixed some mistakes in the translations
- Various small bug fixes
Hello again! I just tried out the newest alpha for around four hours, and the new direction is neat, but I think it still needs some tuning. To be clear, I’m having a good time trying these out and will continue to do so! I think the idea is cool and am both enjoying seeing the progress as you work on it, as well as looking forward to where it’ll end up. I’m better at giving (what I hope is constructive) criticism than specific praise, and I hope that it continues to be helpful. Here are some things I noted while playing:
– The gameplay feels pretty slow with the latest update. The neutronic bombers take a really long time to kill monoliths, even with 5 or 6. A quick calculation I did showed that a single bomber takes over 30 minutes to destroy a single monolith. You mention that the tower-offense change was to remove the tedium of manually attacking the monoliths, but now, even with a bunch of setup, it takes significantly longer to take down a monolith than before.
– Having cleared the initial one-monolith sector and three more three-monolith sectors, I’m reluctant to continue at the moment, considering each level took more than 45 minutes on average for just three monoliths. Trying to “rush” a monolith by starting with one or two bombers only lead to my defeat, so I don’t really see a way around it currently. The gameplay loop (shoot blocks for resources, build base defense, repeat, eventually build monolith offense, hang out or mine resources while you wait for each monolith to go down) currently lacks the diversity to justify such long level playtimes, in my opinion.
– Sometimes the starting weapon stops hitting blocks right in front of you, This happens maybe 1% of the time at most, but during early stages, it’s noticeable because of how much mining you have to do. I haven’t figured out what triggers this yet. Moving the cursor or the player resolves it. I’ve had something similar happen with the laser, but only once.
– The weapons you unlock right after the starting weapon (shells, shotgun, sonic shove) all feel weaker than the starting weapon, and I end up not ever using them. I only switch weapons once I get the bouncing laser, then I use that pretty much exclusively.
– Enemies spawned in response to bombers (or other building, I suppose) attempt to travel directly to the attacking building, pathing around obstructions and ignoring everything else. This makes it really easy to just build laser turrets and/or force fields to lead them through a maze of death, and never have to worry about the laser turrets (or bombers) taking damage. Changing this will probably also require making the monoliths easier to kill, otherwise the difficult will jump way up. Perhaps this is intended behavior, because it does allow some tower-defense style play. It’s enjoyable to watch swarms of enemies get chewed up without fighting back, even if it’s not super challenging.
– Monoliths stop spawning enemies in response to attacks eventually, after a few waves of rocket/roller-bomb/fast types. This makes them trivial to defeat if you can keep your base alive and wait it out.
– I died on the third level I tried, a three-monolith desert map with relatively scarce resources. This type of setup was very difficult. I built two bombers to attack a monolith near my base early on, but too many enemies were attacking from all directions, and I couldn’t prevent those bombers, and eventually my base, from being destroyed. This was the only time I felt pressured, but it turned into feeling like there was nothing I could do but lose.
– I can build any building above water, despite the description of the dock implying that it needs to be built first before building can happen. Same for mercury.
– Mercury tiles are hard to see behind diggable tiles (they look the same as empty tiles), which makes navigating through areas that haven’t been cleared out a bit frustrating sometimes.
– Once, I saw some enemies idling outside a force field, seemingly having tried to get to some neutronic bombers and given up.
– The repair towers were really an MVP on the last level I played, keeping force fields around my base defense turrets topped up without me having to run around repairing/replacing things. Nice!
– On a desert map, I had to mine out a very large area around my base. When returning to collect resources, I would have to spend a lot of time rolling around (through sand…) to collect all the resources that had rolled off to the edge of cleared area. This felt tedious, and if there isn’t already one (that I didn’t get far enough to unlock), a building that picks up resources in an area would be cool.
– Deconstructing a group of attack turrets and force fields is pretty tedious. Unlike building, where you can hold shift to build again, every deconstruct requires selecting the building while close enough, hitting tab, then clicking “Destroy”. Not until the last monolith on just one or two maps did I feel like I might have had enough resources to leave an inactive attack base standing and build another at a different monolith. Streamlining the resource reclamation process would help the new offensive-base gameplay in my opinion.
– Along those lines as well, only getting 50% resources back stings a bit when you’re deconstructing your bombers and other turrets after defeating a monolith. Often, for me, it meant I had to go mine more resources before I could attack the next monolith, which dampened the excitement of finishing one off. I don’t have a great solution to this, since giving back full resources feels like it could also unbalance things in the player’s favor even more.
– Conversely, deconstructing heavily damaged buildings and rebuilding them is cheaper than repairing. Reducing the amount of resources the player gets from deconstruction as buildings take more damage seems like it would be fair.
Thanks again for making this game, and I’m looking forward to the next update!
Hello AJ, thanks for your support and your detailed feedback, it is very valuable to me! I’m glad you enjoy the game and I like reading your suggestions! Here are specific answers to some of the points you mentioned.
I agree that the pacing needs more work. Currently I’m wondering about the campaign mechanics. Maybe the game would be more interesting with single runs and a permanent meta progression system. There could be a single unlimited game file and a menu to customize the run (map type, biome, size, number of monoliths, etc). I think most tower defense games use this kind of mechanics, while campaigns are mostly found in RTS. Since Destroy The Monoliths takes inspiration from both genres, I’m not sure which way to go. Would people play a 16 missions long campaign and still start a new one afterwards? Would the game feel boring with less roguelike elements and a fixed meta tech tree? There are a lot of possibilities, and I’m curious to read your opinion on this topic.
I also noticed this bug. All the block are actually the same physical object and I use the collision position and normal vector to determine which block was hit. But sometimes the computation is off, probably because of a weird collision angle. The bug is hard to replicate so I’m not sure how to fix this yet, but it’s on my to-do list.
I like the shells because the AoE damage allows to mine a lot faster, but I agree the shotung and sonic weapons are quite useless. Maybe I could add unique special effects to make them more interesting.
This is intended. To keep the defense vibe and the challenge, maybe a simple tweak can do the trick: half of the enemies spawned could attack the bombers, while the other half behave as regular enemies and attack the first turret in their path.
This is a bug, monoliths are supposed to keep spawning enemies forever.
Maps with few resources are hard to balance, I could increase the ore generation rate. Also, I’m thinking about adding buildings to help with the mining, for instance to turn stone blocks into ore blocks, generate artificial ore blocks, etc.
This is intended. Since docks are free, I made it so that buildings automatically place necessary docks underneath them. I think it would be tedious otherwise. Maybe I could add this information in the dock description to make it clearer.
Is this specific to mercury tiles or does it also apply to water tiles? Is this due to a lack of visual contrast?
I’m thinking about tweaking the generation to avoid 1×1 liquid areas, I feel they are hard to see and frustrating to move around.
There is currently no building with this effect, but I like the idea, I will add it! Also, I need to add a magnet relic that increases the pick up range of the player.
I can add a keyboard shortcut for that, I agree it would help a lot.
This is a good idea to have the amount of resources back proportional to the building health. Also I think giving 100% back is maybe not that unbalanced, I will try it out. As soon as there are enemies with ranged attacks, buildings rarely keep their full health anyway.
Thanks again for your feedback!
Hi again! Life has been busy so it took me a while to reply.
First a few quick responses to various points:
I’ll try the shells for clearing blocks – I hadn’t really tried them with that much, but it does make sense that the AOE makes it more efficient.
Nice idea for having some proportion of enemies spawned for monolith defense be “free agents” the rest “attacker hunters” – I think this will feel good and bump the challenge up.
The way auto-docks work makes sense to me now, I think it would feel like busywork if the player had to build them individually before placing a building.
I noticed the issue with navigating mostly with single mercury tiles, perhaps they’re a bit harder to see than water tiles. I think reducing or preventing single-tile water/mercury would help quite a bit, as I have also found them a bit frustrating for navigation even without the occlusion issue.
All the other specifics you mentioned sounds great!
On to the meatier design/balance stuff:
Choosing between roguelike and fixed progression does feel like a tradeoff – with roguelike you get more replayability, but I feel like it may be harder to balancexi for fun/difficulty. Many classic roguelikes (including Rogue, hah!) are punishingly difficult, and while I haven’t really gotten into them for that reason, there’s definitiely a (small) audience for that. Something I’ve seen in other strategy games is a branching tech tree, where the player has some number of choice points where they can unlock one branch of the tree or another, but not both. That’ll mean that players will likely want to play again to try different branches or combinations that were inaccessible before.
Some sort of meta progression between entire runs might be interesting too – maybe the first few missions are challenging on the first playthrough, and the next few are nearly impossible, but in doing them you unlock a few meta-upgrades that follow you to your next run, letting you get a bit further. That would likely make finishing the game a lot more rewarding, too. It would add design complexity though, since it feels like you’d need some kind of meta-XP to spend on meta unlocks, which is both a separate system to balance, as well as needing to be balanced with the existing progression system and gameplay in general. On top of all that, it would probably be necessary to scale the enemies too, and not just in amount, so provide a challenge ramp for a player that’s unlocking new tools.
This is tricky stuff and I definitely don’t have any easy answers! I wish you luck and look forward to playing the next version!
I agree that roguelikes can be very punishing. I’m trying to go for something in-between: challenging but still fun. It takes some iterations to get the balance right but we’ll get there!
The idea of a branching tree is interesting, I’ve seen that in some games too (for example Dome Keeper recently). I am personally not a huge fan of it though. I am always a bit tempted to choose the same branch every time, either because one better fits my playstyle or because it is clearly stronger than the other… On the contrary, a roguelike approach can force players to adapt to equipment they would never pick willingly, which pushes them out of their comfort zone and makes winning even more satisfying in the end. But maybe it could be interesting to have a hybrid approach, I will have to think about it!
I’ve always been a bit skeptical about Rogue Legacy-style meta-upgrades because I feel it is less engaging to play when you already know that you are doomed to lose all your first runs. Without meta-upgrades, you are also very likely to lose, but at least there is a bit of hope if you have good skills, luck or even some prior knowledge of the game. For instance, I had my first victory in Faster Than Light quite early because I watched a lot of streams before playing it myself so I already knew some good strategies. While in Rogue Legacy, it doesn’t matter how skilled you are, you will lose anyway because of your starting stats, and I find that very frustrating.
Maybe I could simply provide some difficulty modes to the campaign. Winning on normal unlock hard, winning on hard unlocks super hard, etc. But each mode should have specific features otherwise it would be quite boring if it only changes some numbers. I think I will focus on polishing the standard difficulty for now and keep this idea in mind for later.
Thanks for sharing your opinion, this is interesting to read and it gives me food for thought! This is indeed tricky stuff. There are so many possible mechanics that making design decisions is probably one of the hardest parts of creating a video game. I try to make choices based on player feedback, what fits the genre and the game vision I have and what I enjoy myself as a player (and also what I already did because I would get bored during development if I do the exact same mechanics as my previous game :D).
There will be a new version coming out at the end of this week. I am experimenting with a rework of the XP system (yet again) and I also added some new content 😉