Boiler Room Defense by cerno-b

On a derelict spaceship, a rusty old maintenance bot must defend itself against hordes of attackers.
Each hit makes the bot lose more and more control over the ship's central heating which causes ice crystals to grow on the walls of the ship. How long will you survive before turning into a chunk of ice?
Try to rise to the top on the Highscore Board.
How to Play
- You are invincible except when you crash into the ice. Then you die.
- Each time you are hit, the ice blocks grow.
- You cannot win, but you can try to beat the high score.
Issues - If you enter a long-ish high score name, the score will be cut off (sorry) - There is a minor memory leak in the Game Over screen. It's not a big issue, just don't keep the high score table open for hours, mkay?
Tools used - Coding: Gamemaker 1.4 - Graphics: Aseprite - Palette: Dawnbringer's 32 - Music: Bosca Ceoil - Sound Effects: Chiptone - Audio post-processing and fly buzzing recording: Reaper

Disclaimer:
I started with an preconfigured GameMaker project I made (nothing fancy, just a few useful functions set up): https://github.com/Cerno-b/gamemakerstartupproject
For the online scoreboard, I followed PeliStar's tutorial: https://forum.yoyogames.com/index.php?threads/online-highscores.4291/
Time Lapse Video
Watch me make the game in 15 minutes:
https://www.youtube.com/watch?v=nwfYEpBVX3k
Post-mortem
https://ldjam.com/events/ludum-dare/40/boiler-room-defense/a-much-too-long-and-detailed-post-mortem
| Windows | https://cerno.itch.io/boiler-room-defense |
| HTML5 (web) | http://pancakeelement.de/public/ld40_game/index.html |
| Source code | https://cerno.itch.io/boiler-room-defense |
| Original URL | https://ldjam.com/events/ludum-dare/40/boiler-room-defense |
Ratings
| Overall | 88th | 3.833⭐ | 89🧑⚖️ |
| Fun | 84th | 3.856⭐ | 89🧑⚖️ |
| Innovation | 99th | 3.718⭐ | 89🧑⚖️ |
| Theme | 58th | 4.153⭐ | 90🧑⚖️ |
| Graphics | 203th | 3.644⭐ | 89🧑⚖️ |
| Audio | 134th | 3.524⭐ | 84🧑⚖️ |
| Humor | 361th | 2.588⭐ | 70🧑⚖️ |
| Mood | 251th | 3.25⭐ | 86🧑⚖️ |
| Given | 54🗳️ | 82🗨️ |
@ham-and-swiss Great job! I'm not telling you my secret strategy... yet.
@hizrok: Glad you like it. I think I should have communicated this better: Your character has no health. you only die when you crash into the ice. But when you get hit, the ice blocks grow. Having duplicates in the leaderboards is intentional, although having a lot of different people on the list would probably have been better. I'm going to write a note for the next time.
The control is made very smooth. The game is in fast pace so it's really hard to stop. I can tell the moving pattern of the enemies are well tuned, making the gameplay challenging.
If there's something to improve, I would say it's the graphics. I saw another game where bullets gets bounce at the border, in which it use lighting and particle system to make flying bullets really fascinating. (But probably since you are using game maker that may not be that easy).
The gameplay was fun and interesting as well. I'm curious how much time you allotted for playtesting because that's something I may have wanted to put more time into for my game. It seems like having a good difficulty ramp is an important part of these never ending games (you don't want the ice to decay so fast that you last forever or alternatively have the ice grow so fast you get soul-crushingly beaten every round). I think you managed to find the perfect spot where you play the round just the right amount of time with the right level of difficulty to make it interesting.
Also big props for having a scoreboard! If/when I do another game I should try my hand at including one.
Edit: Yessss High score! :D
I definitely was a little unclear on a few things early - like I thought the green buzzy things were points I was supposed to get, when they were enemies out to get me, and it took me a little bit to understand the relationship between missing shots, ice, and getting hit.
But wow, once I got it I had a lot of fun. It's tough! You have to move around a lot, but not too much, and you have to shoot the enemies, but don't miss! I decided to cheat the system by sitting there without ever shooting once and letting the swarm build up. In my mind there would be fifty enemies filling the screen and only THEN would I shoot. But the game was resilient to this attack: it only spawned a reasonable number, and then when I did fire my first shot I missed and the ice that was created was ENORMOUS because I'd been hit fifty times by then. Awesome!
My strategy going in later was to AVOID PICKUPS. Those things are like death, because they make you fill the screen with ice. You have to be surgical. I stayed near the center, tried to stick and move. Often I would just take the damage from the last few green buzzy flies instead of attacking them.
As my doom approached on this final good run, it got really tense. I was operating in TINY spaces, and starting to rely on a new layer of rules I didn't fully grasp yet, which is when ice gets deleted to turn into powerups or flies. Never totally grasped that, but I was certainly glad for the space opening up!
So more ice, worse, more enemies, worse, and most surprisingly, more of my own bullets, worse.
I also appreciated the nice animations, art, and sound, plus the responsive control scheme (altho maybe just a tiny bit TOO responsive, when I was first learning I crashed right into ice before I learned to stay in the center).
Great realization of the theme in a well-done action game here. Strong entry.
@shrekshao The two games use fundamentally different visual styles, but I agree that I could have put a little more time into visual effects. I had plans for doing better enemy animations, but didn't make it on time.
@gamepopper Huh, I never noticed the delay. Maybe because the shot gets fired on the button press but people are used to see an effect for mouse actions on the button release?
@chipmonkey Thanks for the detailed feedback and congratulations on getting first place. I'm super glad you liked the pacing, as this has been a weak point for me in previous LDs. Strangely enough, I didn't plan much time for playtesting and balancing. I was trying to get the core mechanics done on day 1 and do graphics, sound etc on day 2. That way I could find out early what is fun and what isn't and tune the game little by little in between coding sessions. It also gives me the chance to play the game from a fresh perspective after half a day of drawing and making audio. Hint: If you want to add a scoreboard, definitely get familiar with how to do it before attempting it in LD. I've never done this before and it took me 6 hours until I had it running in GameMaker. It was worth it, but next time, I'll be better prepared.
@jjjjason I'm happy that you liked the music, I struggled a lot with what tool to use and still think it's a weaker aspect of the game, so it makes me glad that other people think differently.
@pkenney Thanks for your extensive play report and congratulations on making it to the highscore list. I think you figured out all the nooks and crannies of the game. I'm super happy that you spent so much time with it.
Thanks everyone, this means a lot!
More variety / bosses in the waves would be good though . I liked the bees !!!!
Having a leader board was a real nice addition too. Makes you want to keep playing! Even the music became quite enjoyable despite initially seeming a bit too harsh. This is a sold effort, congratulations! Check out ours as well: https://ldjam.com/events/ludum-dare/40/$53149
:)
Really nice thought!
I don't know if was my computer's problem but the game suddenly started to go slow.
The itch link of my game is available again, by the way.
I really enjoyed the fluidity of the controls. I'm also really impressed that you managed to get a high score system in place for the jam! Well done!
Edit: I tried to upload an improved web version. It still has some slowdown during the smartbomb shot but it should be a bit better. If possible, please consider playing the executable version
The board has become pretty elite by now, so it's not that easy to get on it. There are some specific strategies required to break into the current list.
Some hints: Avoid the powerups most of the time. Sometimes the forward spread shot is helpful but know when to use it. The smartbomb is usually not useful at all. The machine gun has no real disadvantages though. If you collect a powerup that you don't want, it may pay off to wait until another one comes around even if you soak up a few bullets on the way. Don't feel obligated to shoot if it makes your life worse.
Then you have to find a balance between getting hit and not missing your targets too much. It's okay to wait a bit until multiple enemies accumulate and then start shooting them. Even if you miss one, you may just hit another one nearby.
The flies bring good points because there are so many. Here the forward spread shot is actually helpful. If a fly hits you, you won't get any points and the ice will grow.
This is a bit of a cheap trick but it's a viable strategy. If only one or two enemies are left in the current wave, you can simply wait and avoid their attacks (especially useful for the flies). That way, extras will spawn which will clear up the playing field. Just be sure you're skillful enough to avoid the attacks or the ice blocks will grow so large that a few missed shots will waste all your effort.
That's all the strategies that I was able to figure out. Let me know whether you discover any more.
I think a hilarious consequence was that I knew full well the powerups were bad for me, but I used them all the time cuz it felt to good to shoot. Devious design there and great job all around :)
The music is super catchy, and the graphics serve their purpose perfectly fine.
A great entry overall!
I didn't read the description, so the first time that I died I didn't know what had killed me. I experimented in my second run (standing still and getting hit) to figure out that enemy shots make the ice larger and touching ice instantly kills me.
Firing the 360 degree gun seems really bad for the player, and I accidentally picked it up a couple of times. Luckily it goes away if I find an alternative weapon. I liked that the other powerups were helpful but still came at a cost.
I didn't figure out what occasionally thaws the ice, but my guess is that it's either timed or after killing some number of enemies.
I think an interesting variant would be if instead of instantly killing me, the ice was just a solid object that I can collide with (but enemies can still go through it) and I lose if I get squished between two pieces of ice. Basically that would prevent accidental deaths but still kill you once the majority of the screen is ice.
Another thing that felt weird was that when the ice is large enough, a wave of spread shot bullets can freeze on each other as soon as one of them hits a wall. I think that it might be better if shots that are fired at the same time cannot hit each other.
Graphics style could be a little more consistent, but that's just nitpicking. I love the overall appearance of the game.
@wafiqsha That shouldn't be the case, but it's something I wish I had communicated more clearly. Listen closely to a "ping" sound, that's when you are hit and that's when the ice grows.
@almost I realized that the shots can stick together and kill you instantly. I didn't think it would be such a great deal, but I agree that I should have found a better way to do this. Congrats on third place!
@phi Wow, thank you, i'm thrilled that you actually enjoyed the game so much. Graphics are one of my weaker skills, but then again, I rarely practice. Would you mind going into a bit more detail about inconsistent visuals? I'm always eager to learn and concrete examples are a great help. From my point of view, I should have improved shading in some places, especially on the character sprite, the planets and some of the background elements. I shaded the pipes close to the deadline and there just wasn't any time left for more.
@phi Thanks for the detailed input. Indeed, most of the elements are flat because I didn't have time for additional shading. I also meant to add some small backdrop animations like moving dials and such. Color palette is something I'm very inexperienced at, so I usually try to stick to Dawnbringer's 32 palette. I thought about making a game with a very limited palette, like 16 or even 4 colors. The shadow was actually really cheap. I put the pipes on a separate layer, filled them with black and moved it a few pixels to the bottom and to the side. I made a timelapse video if you're interested (see the description above)
I think the sprites could have been something that better represented the gameplay (it's a bit weird that a boiler would be shooting ice), but that's a fairly minor criticism. Nice job!
The only thing I was not very fond of were the movement patterns of the enemies, especially the enemy ships, but I guess if they were easier/somewhat more predictable to hit, than it would take forever to build up the ice.
Funnily enough I had a similar idea at the start with my game but I decided I wanted more freedom of movement and cause more chaos as the game went on instead. Brilliant execution tho! :clap:
I like that your bullets clutter up the edges of your screen over time and turn into deadly hazards. :thumbsup:
Come check out my game if you like!
https://ldjam.com/events/ludum-dare/40/virus-detected
I am impressed. And congratulation.
The different enemy and the boost made it quite enjoyable. I didn't notice that my bullet created ice at first.
Last thing, seems like I encountered a bug where my bullets would transform into ice as soon as I fired despite not touching anything. Anyway really good entry overall!
That's less of a bug and more of a game mechanic quirk. The problem is that if the ice blocks grow larger, then when firing a rapid succession of shots, they will be located so close together that they immediately form a chain of ice blocks that kills you instantly. Not sure how I could have prevented that. Maybe by making the ice blocks small on impact but they quickly grow to their final size.
I may try changing that for a post-compo version, but I think the problem may be that the ice on the wall does not accumulate as fast with this method.
Still going even after the Jam finished. I am impressed.
Thanks a lot for taking the time!