I just played through it and thought it's pretty good and a solid foundation to build upon.
I didn't mind the music, it worked well with the graphic style. I thought the music was a bit simple, but I didn't notice that it was AI generated when I was playing, though I haven't really listened to many AI generated chip tunes... maybe it's more noticeable to other people?
The graphics were cute and vibrant, easy to distinguish what is important and what is a not, and I didn't notice any gameplay related glitches while playing.
Some constructive critique that I can offer (hopefully it comes across as constructive) are:
The movement feels quite stiff compared to how the music and graphics suggest they should feel... Maybe some sort of easing into the running velocity would help? I noticed that tapping a direction to slightly adjust your position felt very stiff and made it hard to make small adjustments.
It looks a little like you're handling your player velocity for walking a bit like:
if (input_right) player.velocity.x = running_speed*delta_time;
Is this correct? If so; it lacks "damping", which can lead to a very stiff ON/OFF feeling to movement. If you look up something like "2D platformer velocity damping delta time tutorial" (without quotes), you'll probably find a lot of differing ways of implementing it. I'd love to be more helpful, but I'd have to see how your player input relates to velocity if I was going to make any really helpful suggestions.
It seems odd that when you're in water; the controls change. I'm guessing it's the kind of thing that I'd eventually adjust to after playing a few water levels, but it felt odd that the jump button becomes disabled once you're in water and you now navigate like a top down game. I think I was expecting something more like a Mario game, where you jump to swim and avoid sinking. Probably not a big thing, but I thought I'd mention it.
The last thing I observed that I thought was a bit jarring was the jellyfish. I think they're the only fleshy entity that can't be harmed, but can harm you. I think it would make more sense if they were little spiked orbs, like Navel mines, but then again; since there are bombs in the game, it would probably be confusing if they didn't explode. Once again; not a big thing, I just found it a little jarring.
Good stuff. I'm interested to see the final product. Best of luck :)
Hey there,
Thanks so much for taking the time to play and share your thoughts. It means a lot to be getting more eyes on the game, and your feedback is super helpful.
I completely agree about the movement feeling stiff — right now it’s very much “on/off,” and easing or damping would definitely help smooth things out. I’ve been building on top of a base player template that another developer released as a resource, and while I’ve already layered on a lot of new mechanics, refining the movement should be very doable. Another tester also mentioned that both the player and enemies might be a little too fast, so combining some slowdown with velocity damping should go a long way toward making everything feel less frantic and more responsive.
I am thinking that damping could enhance certain stage types, like ice levels, where the floor should feel more slippery compared to regular ground. That could add some nice variety and polish especially if the character takes more time to speed up or slow down on a slippery surface.
Really appreciate you highlighting these areas, and I’ll keep working on tightening things up. Thanks again for the thoughtful feedback — it’s exactly the kind of perspective that helps push the project forward!
No problem; the game’s quite fun so it was a pleasure to play test.
I was originally going to suggest some quick code to allow some easing in and out of the velocity while running, but it’s actually better if you’re willing to research damping because it does really help simulate friction, so you’d be able to set a number for air friction, water friction and different numbers for specific blocks the player collides with, like ice or grass.
I haven’t touched Game Maker in years, so I don’t know if there is just an internal function for handling this, or if you have to code it yourself, but even if you have to code it yourself; it will probably come down to a “lerp” function (Linear interpolation) and looking up something like “frame rate independent damping”. It’s not as complicated as it sounds and it’s super useful because you’ll probably use it in a ton of future projects.
I’m glad you enjoyed testing this game! It’s been a very fun project to work on not only to have fun, but also to try to figure out GML (game maker language).
Indeed it was lerping! My copter enemy already used that for its movement so that is what I just added to the player:
I haven’t posted an updated version yet, but I’ve already added velocity /damping to an unposted version of the game! The way that my character base was set up made it pretty easy to layer that in. I may also do velocity updates to the bomb dropper flying enemy as it kind of felt jerky as well without it.
The only hurdle that I have been running into with this game overall is some strange behavior with sub pixel rendering. Since this is actually an 180x180 px game with a viewport of 540x540 it doesn’t seem to do well rendering sprites if there are sub pixel values (seems like they end up showing sprites distorted with some pixels looking halved or jittery)
It’s been an ongoing challenge to solve. Tried drawing the sprites rounded to the nearest integer, but that can cause visual issues like the sprite vibrating between two whole number positions if the sprite is actually at a sub pixel value. Also have tried upscaling the application surface to 340x340 from 180x180 to attempt to hide some of those visual issues (since I’m theory the game would be rendered at a higher resolution) and then making the viewport 540x540, but that didn’t seem to fix it. Ultimately I’m trying to avoid having to upscale all of my game assets.
Hopefully I can figure this out.
Following up on this to let you know that I managed to incorporate the slippery ice physics in addition to the damping player movement (both on land and in the water)! That was a great suggestion. It even helped with introducing a new gameplay mechanic and a new level in the game.
General thank you to you and everyone who continues to offer ideas and feedback. it is always super appreciated.