This week, I did some traveling leaving me with less time to work on things.

Dash effect

While traveling, I made a dash effect for when the player does a bullet redirect. It came out looking well, even if there were a few strange bugs!

Just some minor issues

The effect is quite flexible. I can drag and drop it onto any AnimationPlayer node and it will work out of the box! It just needs to be set to active, which can be done in the editor or in code.

Options effect

It can be customized quite a bit to fit the needs of the project. Hopefully, I can reuse this in other projects.

I’m supposed to be done with the Bash project, but I’ve found it is a good playground to create some tools and effects.

Final effect

Updating my prototype template

Before starting the next prototype, I migrated some things from Bash into my template. I keep a private template repository with a basic functionality set up. That way I don’t have to build it all from scratch for each prototype.

It contains a few things like placeholders for a main menu, a pause menu, and a general skeleton for the game projects.

Pause / Resume sound effects

I took the pause / resume sound effects from last week’s prototype and moved them to the template.

I also fixed an issue I was having with my menu effects. I have some cool hover effects that are supposed to animate when you hover over a button that worked in the editor but not in the game.

The issue came from a misunderstanding about how to implement pausing in Godot. I was setting Engine.time_scale to 0 to cause the game to freeze. However, the side effect was that the Tweens controlling my button animations no longer worked since they too were frozen.

Turns out Godot has a much better solution for pausing. I should have googled how to pause before creating my own solution.

A simple call of get_tree().pause = true is all it takes. Apparently, all Node’s have a process_mode attribute that you can manipulate to control that node’s processing behavior.

For my use case, setting process_mode = Node.PROCESS_MODE_ALWAYS in my menus makes it so all my effects and Tweens still run as expected! Even while the rest of the game is frozen.

Button hover effects in action

Check out Godot’s docs on pausing if you’re curious:

Hooked up menu transitions

Fellow game dev @firebelly created a great godot script for animating transitions between different scenes. I forgot to hook it up for my main menu in the template so fixed that.

I still need some button click sound effects in there. It feels quite awkward to not have a sound when you click.

Start of next prototype: Smithy

For my next prototype, I thought it’d be cool to make a game about being a blacksmith. The main idea is you’d forge weapons and sell them in your shop. The main mechanic would revolve around shaping a piece of steel into the shape of your weapon. Just like a real blacksmith! The better job you do the more you can sell it for.

Inspiration

I thought this might be tricky but had an idea to implement it. However, after struggling for a few days on it, I couldn’t implement it how I wanted.

I stepped back and focused on just getting something simple together to showcase the idea and get something working.

Smithing basic concept

At the moment, this on its own is not fun. I debate if this is just because I haven’t spent enough time on the idea and didn’t implement it the way I wanted. I’d add an anvil that you’d need to position the weapon on as well as implement heating up the metal to make different parts of it to be more or less receptible to being shaped.

I have a better idea of how this could be implemented but I’m not sure if it’s worth pursuing. We’ll see if I continue to work on the idea.

That’s it! If you enjoyed reading consider subscribing! See ya next time!

Save your spot in the upcoming beta!

I'm still working on my game but when I'm ready to invite playtesters you'll be the first to hear! I'll also send out an update roughly once a month about recent development.

If that sounds interesting, submit your email below!