Icebreak by tylerstraub
Icebreak: An action-puzzle WEGO game
Fight, blow up, and rebuild! Endless waves of enemies have come to attack your lonely iceberg in the middle of the sea and it's up to you to hold them off. Plan out your moves, navigate the thinning ice, and see how long you can protect your iceberg!

Controls
Move: Arrow keys or WASD
Push: Z or I
Put down bomb: X or O
Rebuild broken ice: C or P
Restart: R
Quit: Escape
Gameplay
Enemies will push you if you run into their area of attack, but you can push them as well if need be. Push kills give you +1 to both bombs and rebuilds.

Place bombs to destroy multiple enemies at once. Combo multiple enemies with 1 bomb to multiply the points earned!

See how high of a score you can get, or how many moves you can make!
Enemies
Grunt

The most common enemy. Moves left, right, up, or down. Harder to push than you'd think! Take down a group with a single bomb to effectively handle them.
Bishop

Much like the chess piece it is named after, the bishop only moves diagonally. Use the bishop's limited movement to earn some push kills and bolster your bomb/rebuild stash!
Tank

The tank acts as a heavier, stronger grunt. Not only will his pushes send you further, but you'll want to get rid of him quick, as he actually breaks the ice as well!
Development
Written entirely in C++ and SDL2, with help from the cute_sound library. Sounds created in Bfxr and sprites drawn in Aseprite.
Post-release update 1 (4/4/22)
- Fixed bug where rebuilt tiles couldn't be walked on
- Fixed crash related to pushing entities
Post-release update 2 (4/9/22)
- Fixed bug where bomb wouldn't hurt player
| Link | https://tylerstraub.itch.io/icebreak |
| Link | https://github.com/tylerastraub/LD50 |
| Original URL | https://ldjam.com/events/ludum-dare/50/icebreak |
Ratings
| Overall | 245th | 3.55⭐ | 32🧑⚖️ |
| Fun | 210th | 3.567⭐ | 32🧑⚖️ |
| Innovation | 195th | 3.567⭐ | 32🧑⚖️ |
| Theme | 265th | 3.717⭐ | 32🧑⚖️ |
| Graphics | 90th | 4.067⭐ | 32🧑⚖️ |
| Audio | 321th | 3.133⭐ | 32🧑⚖️ |
| Humor | 256th | 2.921⭐ | 21🧑⚖️ |
| Mood | 411th | 3⭐ | 31🧑⚖️ |
| Given | 23🗳️ | 32🗨️ |
Oh, and extra props for making this with C++ and SDL. Always inspiring to see that these days!
The graphics were simple but very effective, the entire game had this retro arcade/NES vibe going for it.
The mechanics were surprisingly deep for how simple the concept is! Rebuilding, dropping bombs, pushing, outwitting the opponents - very nice! I'm super impressed.
I only have two things I would personally change:
- I would love to get some points when an enemy falls into a hole! My favorite thing to do was just walk around and create treacherous paths with the hopes they would fall in :laughing:
- Sometimes the AI seems unpredictable, like I'm not always sure where they are going to move and what square i am going to end up on if i get hit.
Two very small things. Grain of salt, they are just my opinions.
This was a kickass game!
@william-corrin Thanks for the comment! Unfortunately the pathfinding algorithm I used (breadth-first) was a little random in how the enemy chose to proceed, so as a result it wasn't super predictable. In the future I would probably make it clear what the enemy's next move would be to help with this. Again, really appreciate the feedback.
@6smith I try B)
Still, very neat design and very well done!
But, I was having a hard time actually _enjoy_ the game because of its difficulty and minor problems. Maybe I was doing something wrong but after I pushed a Grunt once, I was not able to push it again ever because of our relative position and its movements. It also felt strange that when I was next to an enemy I was able to turn to it with WASD and then push it, but when I wanted to turn to a hole in the ice to fix it, I just walked into my death.
I still liked it overall and I think this gameplay has potential.
Also the game would profit a lot from some lil' soundtrack imo
I wasn't spectacularly good but I found out that enemies would freeze if I broke the ice in a complete row if the enemies were on the other side. This helped me crowd control a little because only half of the new enemies would be relevant for me. On the downside I lost a lot of space to move, but that was a good tradeoff because it turned out that I wasn't really good at strategizing what I could do in order to get rid of the monsters. The bishops were somewhat manageable because I could try and move straight towards them and then push them into a hole or off the map.

Some bits where I see improvement potential: I thought it would have been nice if I could have moved without having to wait for the next monster to finish falling. I assume you did not want to break the game's turn system, but I maybe you could have delayed the monster's first move by one turn, which would have allowed the player to move during the drop. Might not have solved the problem but mitigated it. To me, that micro-pause was enough to break the flow a bit.
Then again, I should probably have thought more about my move instead of playing intuitively. Maybe having move indicators for the monsters would have helped me get into a more strategic mindset. Even if you didn't want to show the exact next move, I think adding some arrows that indicate all the different ways a monster could move, including what that meant for you, might have made the game a bit more predictable and strategic. The way it is, invited me to just move around willy-nilly I was often surprised when a monster killed me.
A shame you didn't add some music, that would have been a nice addition to the atmosphere. And if composition is not your thing, then maybe some audio generator ambient noises like wind would have fit the atmosphere of the game.
One minor quirk that I sometimes see with games published on itch: It is always recommendable to put just a single executable in your zip file, because otherwise the game cannot be downloaded via the itch client. I use the client a lot and often just drop games that don't download properly. Yours looked interesting enough to warrant the manual download. I get that it would be a decision between supporting the itch client or having multiple resolution exes in one directoy, but I wanted to mention that this was a thing.
Overall a nice entry, I had fun playing it.
Your feedback in regards to strategy and knowing how enemies would act is fairly common and certainly something I’d work on in the future.
The enemy spawn time was a critique another friend had who played the first version, I messed around with decreasing the spawn time but then they fell too fast. In the future I would find a different method to spawn enemies and make it clear they just spawned - again very limited by time here unfortunately.
Finally, sorry about all the files in the zip, but again I didn’t have time to figure out a static build, plus I didn’t know about that limitation of the itch.io client (or that there even was one).
The only inconsistence I experienced was that if I am near the monster I can press the arrow key to face him and then push him away. BUT if I want to repair a hole that is sideways from me, I have to step away and then go back facing it directly. And only then I could apply repair action. Instead of turning in-place as being near the monsters (which doesn't even consume and turn) and pushing them away.
I get it, it somewhat makes sense thematically, but somewhat inconsistent. Noticed I was always asking my brain if can turn in place here, or do I need to move away and come back.