Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

Nice work! Trying not to repeat things mentioned below but as mentioned, texture-filter-linear is what makes it blurry, for pixel art, nearest is what you want. You’ll end up with larger pixels but they’ll be crisp. Not mentioned, you have texture-repeat-enabled and you want that disabled for the player sprite. When it’s largest and attacks, on the back side you can see some white lines, which are the impact wrapping from the front.

You might pull the shadow into it’s own sprite so it can be hidden while jumping (or stay on the ground). You also can either keep it the same size (matching the hit box) but you might want to grow the hit box too.

Coyote time would help that jump feel better (allowing the player to jump a few frames after falling off a ledge). I think it’s good to have in every platformer but especially here where the shadow and player can mismatch.

Keep up the good work!

(7 edits)

1. Ahhh. Ok. Texture filter Nearest… Hey that worked! Thank you :D

2. Yeah, I know about the back of the player sprite.

It’s the first time I tried working with sprites, and I had issue splitting them properly. Only noticed the back of the player after crunch time, and figured it wasn’t worth to fix.

3. Yup. I agree with the shadow too. It just wasn’t prio. I barely managed to get a level in the last like hour or so >.<

4. Ah! That might be a good solution!

I wasn’t sure what would be a good way to make the jump ‘feel’ better. And my first assumption was that I did the hitbox really badly (which I kinda did).

But this might really help.

I’ll note it down to look in to!


Another thing I wanted to check was making the player faster / jump higher with size, but again, time (for testing/tweaking).

Also, other mechanics Q_Q

Also actual playtesting XD

AlsoAlso, I never managed to figure out how to ‘pause’ the game when the player falls in the hole, or hits the “end level” point - without also disabling the UI

FWIW, get_tree().paused = true/false and, critically, in the Node section, make sure your pause menu is either Paused or Always it can run while paused. I have global.gd autoload with a toggle_pause function (it’s _ready() sets itself to Always).

Another thing to be careful of, make sure you manage tween and timer process mode too. If you use get_tree().create_timer(), since it’s part of the scene tree, it always runs by default vs create_tween() inside of a node, which inherits it’s parent process state so generally behave correctly. At least I think it’s this way, might be the reverse.

(2 edits)

get_tree().paused = true …

make sure your pause menu is either Paused or Always

That’s what I tried. But I must have made a mistake somewhere.

It wasn’t working immediately, so I forced myself to not get hung-up on it, and try work on other parts.

I guess now’s a good time as any to try fiddle/tinker to see what I might have done wrong.