You are browsing as a guest. Sign up (or log in) to start making projects!

6h 27m 27s logged

Overhauled the game over screen’s aesthetic and added mouse support to the menu

Changes:

  • Changed the game over screen to better fit with the game’s aesthetic
  • Changed the font to a monospaced one

Additions:

  • Added mouse support to the menu
  • Added a spray of particles to enemies when they die
  • Added a chromatic aberration effect to enemies when they are hit

Plus quite a few bug fixes


The first change in this devlog is the game over screen, which used to look like a boring window with a restart button, but now looks like a crash screen [Image below] that uses the actual system data to display its message, via a template string and an 8 line formatting statement. I am quite proud of this one

Adding mouse support to the menu was, in a word, painful. Because I’d built my own menu system using labels instead of buttons, I had to almost completely rewrite the code to allow for conversion of a Label reference (from one of Godot’s built-in functions) to a child id (which my functions were expecting). And then I had to add some overrides to that so some labels that were not part of the menu system wouldn’t break everything.

The spray of particles from enemies when they die is one of my personal favourite effects in this game, mostly because of what I’ve learnt from it. I made the particles be text based by using a subviewport, which basically is a viewport that doesn’t display anything and can then be attached to a texture to show its contents, in this case, on the particles as they are emitted. I also made the text randomise to a 2 digit hexadecimal value - that felt suitably ‘techy’

One of the smaller features in this devlog is the font change. Instead of using Godot’s default font, I found the font used in the actual GRUB and used that instead. Where did I find this font, you ask? It came directly from my PC - I copied the file straight out of /usr/share/fonts.

And now we come to chromatic aberration which, as it turns out, is easy to implement for the whole screen, but slightly harder to make work for only a single sprite without discolouring the background. After messing around with shaders for a bit, I gave up and just made 2 versions of my enemy sprite (in red and blue) and just physically offset them in code. And it works. And, if I dare to blow my own trumpet for just a second, it looks great!


Quote of the update:

  • “Please never make me look at my menu code again.”

0
2

Comments 0

No comments yet. Be the first!