Skip to main content

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

Great work! The gameplay works well and I've managed to survive for ~10 min, with a good progression of the difficulty IMO. Congrats on some really good pixel art and animation work!

I did have some technical issues due to some methods being called on "previously freed instances" in Godot, which can lead to outright crashes of the game if not handled properly in a release build. I sent a PR with a stopgap solution :) As a general rule you should make sure to review and fix any errors that are raised in the debugger while playtesting the game, as any unhandled error in a debug build can mean a crash in an optimized release build (which trades safety checks for performance).

Thanks for playing!  I think I still need to work on the difficulty curve a bit but I'm glad you liked it!.

When did you encounter the bugs?  I wasn't getting any errors or warnings in the editor.  The only thing that is a lil sketchy is in the title screen, I am using the get_tree().create_timer() method instead of timers (which I am going to change) which I put a bandaid patch on which seemed to fix it.

The game crashed right on the main menu for me after some time (due to the issue in the rocket bullet script), and if I started the game quickly enough to prevent that, it would crash due to the `Global.Base` being an invalid instance.

Godot has this tricky behavior where a node freed with `queue_free()` does not assign its previous references to `null`, but to something called a "previously freed instance". That doesn't evaluate as `false` when you do `if target:`, and thus it would then try to call methods on the previously freed instance, triggering errors (in debug mode) or crashes (in release mode).

I suggest you give it a run with Godot 3.2.4 beta 3 which does a better job at reporting these issues than 3.2.3 stable.